Простой НЛП: Как использовать Ngram, чтобы сделать сходство слов? - PullRequest
1 голос
/ 15 марта 2010

Слышал, что Google использует до 7 граммов для сравнения семантического сходства. Я заинтересован в поиске слов, которые похожи по контексту (например, кошка и собака), и мне было интересно, как я могу вычислить сходство двух слов в n-граммовой модели, учитывая, что n> 2.

Так что, в основном, дан текст, типа «привет, меня зовут бла-бла. Я люблю кошек», и я генерирую набор из 3 граммов выше:

[('привет', 'мой', 'имя'), ('меня зовут'), («имя», «это», «бла»), («есть», «бла», «бла»), («бла», «бла», «я»), («бла», «я», «любовь»), («Я», «Любовь», «Кошки»)]

ПОЖАЛУЙСТА, НЕ ОТВЕЧАЙТЕ, ЕСЛИ ВЫ НЕ ПРЕДЛАГАЕТЕ, КАК СДЕЛАТЬ ДАННУЮ ПРОБЛЕМУ NGRAM

Какие расчеты я могу использовать, чтобы найти сходство между «котами» и «именем»? (что должно быть 0,5) Я знаю, как сделать это с биграммой, просто разделив freq (cats, name) / (freq (cats, ) + freq (name, )). Но как насчет n> 2?

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Я гуглил «сходство между триграммами» и придумал эту статью , которая разбивает слова на 3 буквенных сегмента. Я знаю, что это не совсем то, что вы ищете, но, возможно, это поможет вам достаточно.

В статье также сравниваются 2 слова на основе трехбуквенного подхода. Кажется, что сравнение должно быть между двумя поисковыми терминами, такими как «привет, меня зовут бла-бла. Я люблю кошек» и «меня зовут что-то другое. Я люблю собак». Конечно, я мало что знаю о домене, поэтому, если это неверно, мои извинения, я просто надеялся поднять мысль на ваш вопрос.

0 голосов
/ 15 марта 2010

Я не знаю, как работает Google, но одним из известных методов является вычисление совпадения в заданных словах документов. Принимая во внимание, что в Google есть все возможные документы, тогда довольно легко рассчитать тот коэффициент и вхождение слова (частоту), после чего вы можете получить коэффициент связи между словами. Это не мера сходства (например, кошка и собака), а нечто большее, словосочетание.

Посмотрите: http://en.wikipedia.org/wiki/Tf–idf

Другой подход заключается в отбрасывании интернет-документов, с акцентом только на словарные записи, было несколько попыток разобрать эти записи, чтобы создать систему «общего знания». Таким образом, вы можете получать отношения автоматически (WordNet и другие создаются вручную).

...