aboutsummaryrefslogtreecommitdiff
path: root/src/server/Recommender.ts
diff options
context:
space:
mode:
authorab <abdullah_ahmed@brown.edu>2019-08-06 16:01:57 -0400
committerab <abdullah_ahmed@brown.edu>2019-08-06 16:01:57 -0400
commit06b59a4ec2f1871846696da22928fc7d54ae02d6 (patch)
tree8aab4903259bc1ccd892125cf927d774e5b5fe45 /src/server/Recommender.ts
parenta8a3af0193cc423fc7b0cff4ca9ff1a9074a7998 (diff)
word2vec is functional
Diffstat (limited to 'src/server/Recommender.ts')
-rw-r--r--src/server/Recommender.ts30
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;
+ }
+ }
}