Получение процента сходства двух текстов - PullRequest
4 голосов
/ 07 марта 2011

Мне нужно получить оценку сходства между текстами, когда один находится внутри второго.

Например:

Text1: aaa bbb ccc ddd eee
Text2: bbb ccc

Мне нужно что-то, что говорит мне, что Text2на 100% внутри Text1.Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 07 марта 2011

В зависимости от того, что вы хотите, вы можете попробовать

  • длина самой длинной общей подпоследовательности обоих текстов, разделенная на длину текста2
  • или длину самой длинной смежной подпоследовательности обоих текстов, также разделеннаябыть длина текста2

Оба даст вам 1, если текст полностью внутри text1 и 0, если они не имеют общего символа.

0 голосов
/ 08 марта 2011
0 голосов
/ 08 марта 2011

Вы не Lucene, чтобы получить сходство между текстами. Существует несколько доступных мер в зависимости от длины текста, типа строк и т. Д., И вам нужно будет поэкспериментировать, чтобы получить наилучшие результаты.

AОчень хорошая и всеобъемлющая коллекция алгоритмов доступна на SimMetrics - это библиотека F / OSS, которая предлагает обширную коллекцию алгоритмов подобия и соответствующих им функций стоимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...