示例#1
0
var findTenMostSimilarWordsToWord = function(wordToCompareTo, DMapKeys, WPrimeTranspose) {
	//using cosine similarity to find 10 most similar words
	var wordSimilarity = [];
	var vectorOfWordToCompareTo = WPrimeTranspose[DMapKeys.indexOf(wordToCompareTo)];
	for(var k=0; k<DMapKeys.length; k++) {
		var word = DMapKeys[k];
		if (wordToCompareTo === word) {
			continue;
		}
		var dotProduct = math.dot(vectorOfWordToCompareTo, WPrimeTranspose[k]);
		var vectorMagnitudesMultiplied = math.hypot(vectorOfWordToCompareTo) * math.hypot(WPrimeTranspose[k]);
		var cosine = dotProduct / vectorMagnitudesMultiplied;
		wordSimilarity.push({
			word: word,
			cosineSimilarity: cosine
		});
	}
	return _.sortBy(wordSimilarity, function(item) {
		//it naturally sorts in ascending order, but I want it to sort in descending order
		return item.cosineSimilarity * -1;
	}).slice(0, 10);
}
示例#2
0
 return function (y) {
     return mathjs.dot(x, y);
 }
 (x, y, circle) => {
     const v = math.subtract([x, y], [circle.x, circle.y]);
     return math.dot(v, v) < (circle.scale * circle.r) ** 2;
 },