Знаете ли вы, где я могу найти объяснение на высоком уровне алгоритма Lucene Similarity Class. Я хотел бы понять это, не расшифровывая все математические и термины, связанные с поиском и индексацией.Высокое объяснение класса сходства для Lucene?
ответ
Lucene's встроенный Similarity
- довольно стандартный алгоритм подсчета очков "Inverse Document Frequency". Статья в Википедии краткая, но охватывает основы. Книга Lucene in Action более детально описывает формулу Луцены; он не полностью отражает текущую формулу Луцен, но объясняются все основные понятия.
В первую очередь, оценка изменяется в зависимости от количества раз, что термин происходит в текущем документе (The термина частоте), и обратно с числом раз термин происходит во всех документах (частота документа) , Другие факторы в формуле вторичны, корректируя оценку, пытаясь сделать оценки разных запросов сопоставимыми друг с другом.
Подумайте о каждом документе и термине поиска в качестве вектора, координаты которого представляют собой некоторую меру того, насколько важно каждое слово во всем корпусе документов относится к этому конкретному документу или поисковому запросу. Сходство говорит о расстоянии между двумя разными векторами.
Скажите, что ваш корпус нормализован, чтобы игнорировать некоторые термины, тогда документ, состоящий только из этих терминов, будет расположен в начале графика всех ваших документов в векторном пространстве, определенном вашим корпусом. Каждый документ, содержащий некоторые другие термины, представляет собой точку в пространстве, координаты которой определяются значением этого термина в документе относительно этого термина в корпусе. Два документа (или документ и поиск), координаты которых сближают их «точки», более похожи друг на друга, чем те, у которых координаты, которые помещают свои «точки» дальше друг от друга.
Как упоминалось erickson в Lucene - это сходство с косинусом. Периодичность - частота обратного документа (TF-IDF). Представьте, что в запросе и в документе есть два пакета терминов. Это измерение совпадает только с точными терминами и в контексте включает их семантические веса. Термины с очень часто встречающимся случаем имеют меньший вес (значимость), потому что вы можете найти их во множестве документов. Но серьезная проблема в том, что я вижу, что сходство с косинусом TF-IDF не настолько устойчиво к более противоречивым данным, когда вам нужно вычислить сходство между запросами и документом, более надежными, например. орфографические и фонетические ошибки. Потому что слова должны иметь точное соответствие.
-1 В книге говорится меньше, чем у JavaDocs, поэтому не беспокойтесь о покупке. –