Слышал, что Google использует до 7 граммов для сравнения семантического сходства. Я заинтересован в поиске слов, которые похожи по контексту (например, кошка и собака), и мне было интересно, как я могу вычислить сходство двух слов в n-граммовой модели, учитывая, что n> 2.
Так что, в основном, дан текст, типа «привет, меня зовут бла-бла. Я люблю кошек», и я генерирую набор из 3 граммов выше:
[('привет', 'мой', 'имя'),
('меня зовут'),
(«имя», «это», «бла»),
(«есть», «бла», «бла»),
(«бла», «бла», «я»),
(«бла», «я», «любовь»),
(«Я», «Любовь», «Кошки»)]
ПОЖАЛУЙСТА, НЕ ОТВЕЧАЙТЕ, ЕСЛИ ВЫ НЕ ПРЕДЛАГАЕТЕ, КАК СДЕЛАТЬ ДАННУЮ ПРОБЛЕМУ NGRAM
Какие расчеты я могу использовать, чтобы найти сходство между «котами» и «именем»? (что должно быть 0,5) Я знаю, как сделать это с биграммой, просто разделив freq (cats, name) / (freq (cats, ) + freq (name, )). Но как насчет n> 2?