Высокоуровневое объяснение класса сходства для Lucene? - PullRequest
7 голосов
/ 17 марта 2009

Знаете ли вы, где можно найти объяснение высокого уровня алгоритма Lucene Similarity Class . Я хотел бы понять это без необходимости расшифровывать все математические и термины, связанные с поиском и индексацией.

Ответы [ 3 ]

8 голосов
/ 17 марта 2009

Встроенный в Lucene Similarity является довольно стандартным "Инвертированным документом частоты" алгоритмом оценки. Статья в Википедии краткая, но охватывает основы. Книга Lucene in Action более детально разбивает формулу Lucene; она не идеально отражает текущую формулу Lucene, но все основные понятия объяснены.

В основном, оценка варьируется в зависимости от того, сколько раз этот термин встречается в текущем документе ( частота терминов ), а обратно в зависимости от того, сколько раз термин встречается во всех документах. ( частота документа ). Другие факторы в формуле второстепенны, корректируя оценку, пытаясь сделать оценки по различным запросам достаточно сопоставимыми друг с другом.

3 голосов
/ 17 марта 2009

Думайте о каждом документе и поисковом термине как о векторе, координаты которого представляют некоторую меру того, насколько важно каждое слово во всем корпусе документов для данного конкретного документа или поискового термина. Сходство говорит вам расстояние между двумя разными векторами.

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

1 голос
/ 23 августа 2013

Как упоминал Эриксон в Lucene, это косинусное сходство: термин частота-обратная частота документа (TF-IDF). Представьте, что у вас есть две сумки терминов в запросе и в документе. Это измерение точно соответствует только терминам, а после в контекст включается их семантически весовые коэффициенты. Термины с очень частым вхождением имеют меньший вес (важность), потому что вы можете найти их в большом количестве документов. Но серьезная проблема заключается в том, что косинусное сходство TF-IDF не столь устойчиво для более противоречивых данных, где необходимо вычислить сходство между запросом и документом, более надежным, например опечатки, опечатки и фонетические ошибки. Потому что слова должны иметь точное совпадение.

...