Skip to content

Instantly share code, notes, and snippets.

@itayniv
Last active May 16, 2019 23:11
Show Gist options
  • Save itayniv/0f136c5748487fcc5bc210f339db16e0 to your computer and use it in GitHub Desktop.
Save itayniv/0f136c5748487fcc5bc210f339db16e0 to your computer and use it in GitHub Desktop.
function findNearestVector(vector, n = 2) {
let sentencesResults = [];
let sentences = [];
let keys = Object.keys(embedings);
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
let d = Sentence2Vec.distance(vector, embedings[key].message_embedding);
sentences.push({ wordKey: key, distance: d });
}
//sort results
sentences.sort((a, b) => {
return b.distance - a.distance;
});
//narrowdown to n results
const closeset = sentences.slice(0, n);
//fetch sentences from json
let closestKeys = Object.keys(closeset);
for (let i = 0; i < closestKeys.length; i++) {
sentencesResults.push(embedings[closeset[i].wordKey].message);
}
// return an array of similar sentences
return sentencesResults;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment