2013-12-05 3 views
0

Я новичок в НЛП, я хочу, чтобы найти сходство между этими двумя документамиЛучший способ найти документ сходство

Я гугле и нашел, что есть несколько способов сделать это, например,

Что такое лучший способ сделать это (я открыт для других методов тоже), в которых мы получаем высокий точность. Если в java есть некоторый API в java, пожалуйста, дайте мне знать.

ответ

3

Ответ на ваш вопрос двоякий: (a) синтаксический и (b) смысловое сходство.

Синтаксическое сходство Вы уже обнаружили Shingling, поэтому я сосредоточусь на других аспектах. В последних подходах используются модели скрытых переменных для описания синтаксических моделей. Основная идея заключается в использовании условной вероятности: P (f | f_c), где f - это некоторая функция, а f_c - ее контекст. Простейшим примером таких моделей является марковская модель со словами как функции, а предыдущие слова - как контекст. Эти модели отвечают на вопрос: * какова вероятность слова ш _ п, учитывая, что слова w1 ... ж _ п-1 возникают перед ним в документе? Этот путь приведет вас к построению language models, тем самым оценивая подобие документа на основе perplexity. Для чисто синтаксических мер сходства можно рассматривать особенности дерева разбора вместо слов.

Семантическое сходство Это гораздо сложнее, конечно. Современное состояние в этом направлении подразумевает понимание семантики распределения. Distributional semantics, по сути, говорит, что «термины, которые встречаются в подобных контекстах над большими объемами данных, должны иметь одинаковые значения». Этот подход является интенсивным с точки зрения данных. Основная идея - построить векторы «контекстов», а затем измерить сходство этих векторов.

Сходство с измерительной документацией на основе естественного языка непросто, и ответ здесь не будет справедливым, поэтому я указываю вам this ACL paper, что, на мой взгляд, обеспечивает довольно хорошую картину.

Смежные вопросы