рассмотреть следующие строки:Сортировка строк на основе сходства
- он ДСО
- прощай
- привет
- = (до свидания)
- (он) (LLO)
- до свидания
- гелий
Я пытаюсь сортировать их таким образом, что подобные слова приходит вместе, я знаю
alphanumerical sorting
не вариант- удаления специальных символов
",-_ and etc
то сравнение, безусловно, полезно, но результаты не будут как я надеюсь.
Примечание:
там может быть несколько различных желанной Ouput для этого, один из которых является:
DESIRED ВЫВОД:
- привет
- он LLO
- (он) (LLO)
- гелия
- прощай
- до свидания
- = (до свидания)
поэтому мой вопрос в том, что если есть Java пакет, который сравнивает строки, и в конечном счете, сортировать их на основе в теме .
Я слышал о таких терминах, как n-gram
и skip-gram
, но не совсем понял их. Я даже не уверен, могут ли они быть полезными для меня вообще.
ОБНОВЛЕНИЕ: Обнаружение сходства, безусловно, является частью моего вопроса, но главной проблемой является сортировка.
Возможный дубликат [Сравнение строк сходства в Java] (http://stackoverflow.com/questions/955110/similarity-string-comparison -in-java) – dognose
Возможно, область, которую вы ищете, - это НЛП, обработка естественного языка, поскольку вы упоминаете 'hello' (' helium') и 'goodbye' в соединении. Алгоритм soundex установлен, но не поможет с пробелами. –
@dognose thx для ссылки, я могу видеть ее очень полезную для сравнения. но этот подход ограничивает сортировку. как его можно использовать для сортировки? – nafas