
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.05.2012, 14:01:53
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Всем доброго времени суток! Подскажите, какие существуют известные алгоритмы (возможно их реализации на Java) выполняющие проверку строк на похожесть? Или выявлять опечатки? Вообще исходная задача примерно следующая, есть некий набор данных, которые надо себе загружать, при этом известно, что некоторые поля, которые явно являются справочными (и его нужно вести) вводятся пользователями в ручную, как следствие в них могут быть опечатки, которые хотелось бы выявлять и бороться с ними. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:22:52
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Так сравнивать надо текст, или таки отдельные слова? Если слова, то вроде просто. Словарь, отсортировать по частоте. И по нему искать. Без ошибок. Потом с одной ошибкой. И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:23:44
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
just_vladimir, lucene смотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:33:52
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
BlazkowiczТак сравнивать надо текст, или таки отдельные слова? Если слова, то вроде просто. Словарь, отсортировать по частоте. И по нему искать. Без ошибок. Потом с одной ошибкой. И т.д. Обычно слова, словосочетания, ограничение сверху не более чем предложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:37:38
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Leonidvjust_vladimir, lucene смотрите. Вроде как не совсем то, чего бы хотелось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:42:27
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
А вообще что то подобное видимо нужно http://en.wikipedia.org/wiki/Levenshtein_distance ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 14:45:53
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
just_vladimirА вообще что то подобное видимо нужно http://en.wikipedia.org/wiki/Levenshtein_distance Да-да-да.. сидел щас вот мучительно вспоминал название, спасибо что облегчили мою участь ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 15:10:32
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
just_vladimirLeonidvjust_vladimir, lucene смотрите. Вроде как не совсем то, чего бы хотелось. Если правильно использовать, будет. http://wiki.apache.org/lucene-java/SpellChecker ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 15:14:52
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Еще должна быть связка между java и стандартными линуксовыми spell checker'ами. Можно через Eclipse на нее выйти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 15:23:35
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Leonidv, спасибо, за подсказки и за нужную часть от lucene, буду копать и в этих направлениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 15:35:15
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
http://stackoverflow.com/questions/559510/looking-for-java-spell-checker-library - посмотрите еще здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2012, 18:30:06
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
just_vladimir, ищи функцию "Расстояние Дамерау-Левинштейна". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 16:02:55
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Библиотека Apache coommons-lang, класс StringUtils, там есть LevenshteinDistance и др. Также в commons-codec есть классы для фонетики (но вроде как для английского). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 16:25:45
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Joe R, Вот только не понятно, относительно чего считать похожесть слов. Должен быть некий словарь, с которым сравнивают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 16:30:58
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Да. Дороговато выходит. Сравнивать всё-со-всем. Код: java 1. 2. 3. Код: java 1. 2. 3. Наверное должен быть какой-то индекс универсального справочника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 16:54:14
|
|||
|---|---|---|---|
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
И правд непонятно. Даже по первой букве, в общем-то, не выбрать слово. Хэш суммы тоже не посчитать. http://norvig.com/spell-correct.html - stackoverlfow сюда кинул. Там есть реализация на java. Сам не разбирался, только ссылку нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 17:24:15
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
Да думаю не так уж и много, если размерность справочника N, то сначала группируем до уникальных записей, получаем число примерно того же порядка, что и N, ну а дальше сравнение каждый с каждым уже O(n^2), и дальше если у двух групп расстояние меньше заданного, то выполняем коррекцию меньше группы до большей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2012, 17:26:27
|
|||
|---|---|---|---|
|
|||
Алгоритмы и библиотеки реализующие сравнение строк и текстов на похожесть |
|||
|
#18+
just_vladimirДа думаю не так уж и много, если размерность справочника N, то сначала группируем до уникальных записей, получаем число примерно того же порядка, что и N, ну а дальше сравнение каждый с каждым уже O(n^2), и дальше если у двух групп расстояние меньше заданного, то выполняем коррекцию меньше группы до большей. предполагаем, что в данных правильных вариантов всё таки больше, чем неправильных :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2131794]: |
0ms |
get settings: |
21ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
51ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
97ms |
get tp. blocked users: |
2ms |
| others: | 346ms |
| total: | 571ms |

| 0 / 0 |
