У меня есть сотни строк JSON. Каждый из них содержит массив из 15-20 слов, отсортированных по некоторому заранее заданному весу. Этот вес, если это стоит отметить, представляет собой количество раз, когда эти слова встречаются в некотором фрагменте текста. Каков наилучший способ найти сходство между массивами слов, структурированных таким образом?
Первая идея, которая пришла мне в голову, заключалась в том, чтобы создать числовой хэш всех слов вместе и в основном сравнить эти значения, чтобы определить сходство. У меня это не очень получилось, так как полученные хеш-значения очень похожих строк были не очень близки. После некоторого исследования алгоритмов сравнения строк я пришел в Stackoverflow в надежде получить дополнительные рекомендации. Заранее спасибо, и, пожалуйста, дайте мне знать, если вам нужна дополнительная информация о проблеме.
Редактировать 1: Уточнение того, что я пытаюсь сделать: я хочу определить, насколько похожи два массива в соответствии со словами, которые есть у каждого из них. Я также хотел бы принять во внимание вес каждого слова в каждом массиве. Например:
var array1 = [{"word":"hill","count":5},{"word":"head","count":5}];
var array2 = [{"word":"valley","count":7},{"word":"head","count":5}];
var array3 = [{"word":"head", "count": 6}, {"word": "valley", "count": 5}];
var array4 = [{"word": "valley", "count": 7}, {"word":"head", "count": 5}];
В этом примере массив 4 и массив 2 более похожи, чем массив 2 и массив 3, потому что, несмотря на то, что оба содержат одни и те же слова, вес для них одинаков в массивах 4 и 2. Надеюсь, это немного усложняет задачу. немного легче понять. Заранее спасибо.