diff options
| author | ab <abdullah_ahmed@brown.edu> | 2019-08-06 16:01:57 -0400 |
|---|---|---|
| committer | ab <abdullah_ahmed@brown.edu> | 2019-08-06 16:01:57 -0400 |
| commit | 06b59a4ec2f1871846696da22928fc7d54ae02d6 (patch) | |
| tree | 8aab4903259bc1ccd892125cf927d774e5b5fe45 /src/server/Recommender.ts | |
| parent | a8a3af0193cc423fc7b0cff4ca9ff1a9074a7998 (diff) | |
word2vec is functional
Diffstat (limited to 'src/server/Recommender.ts')
| -rw-r--r-- | src/server/Recommender.ts | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/server/Recommender.ts b/src/server/Recommender.ts index 6d9ca6486..3c71f3aa1 100644 --- a/src/server/Recommender.ts +++ b/src/server/Recommender.ts @@ -3,25 +3,27 @@ var w2v = require('word2vec'); export class Recommender { private _model: any; + static Instance: Recommender; constructor() { console.log("creating recommender..."); + Recommender.Instance = this; } - public loadModel(): Promise<any> { + private loadModel(): Promise<any> { let self = this; return new Promise(res => { w2v.loadModel("./node_modules/word2vec/vectors.txt", function (err: any, model: any) { - console.log(err); - console.log(model); self._model = model; - console.log(model.similarity('father', 'mother')); res(model); }); }); } - public testModel() { + public async testModel() { + if (!this._model) { + await this.loadModel(); + } if (this._model) { let similarity = this._model.similarity('father', 'mother'); console.log(similarity); @@ -30,4 +32,22 @@ export class Recommender { console.log("model not found :("); } } + + public async testInstance(text: string) { + if (!this._model) { + await this.loadModel(); + } + console.log(text); + } + + public async vectorize(text: string[]) { + if (!this._model) { + await this.loadModel(); + } + if (this._model) { + let word_vecs = this._model.getVectors(text); + console.log(word_vecs[0]); + return word_vecs; + } + } } |
