2013-02-14 2 views
0

После поиска в Google и StackOverflow я не мог найти какой-либо ресурс говорить о сравнении строк близости в Java, я только найти результаты о разнице между == и равно ...Сравнить Strings близость в Java

Выполните одно Вы знаете какую-либо библиотеку, позволяющую сравнить «близость» между двумя строками и дать процент близости?

Пример: автомобиль и бар очень близки, курица и собака очень разные

Идея заключается в том, чтобы иметь возможность сравнить, например, город, написанную пользователь с городами, которые у меня есть в моей базе данных, чтобы избежать дублирования данных. Например, если пользователь пишет «NewYork», я мог бы сказать ему, «Вы имеете в виду„NewYork“?

Большое спасибо :)

+0

Google для «NLP слова подобия» –

+0

спасибо за ответ, но НЛП не найти синонимы или близкие слова, анализируя смысл слова описания Wordnet:.? «WordNet® представляет собой большую лексическую базу данных английского языка. Существительные, глаголы, прилагательные и наречия сгруппированы в совокупности когнитивных синонимов (синсетов) « На самом деле, я хочу сравнить только строчные строки по символам, а не по смыслу. Любая идея? – c4k

+0

Я использовал алгоритм расстояния Левенштейна для людей, которые находят эта тема. Это не лучшее, что я думаю, но это соответствует моим потребностям. Он доступен в StringUtils. – c4k

ответ

0

Я использовал алгоритм SecondString MongeElkan, вы можете посмотреть на Lucene-х алгоритмы, а также

SecondString Link