У меня есть массив строк, не многие (возможно, несколько сотен), но часто долго (несколько сотен символов).
Они представляют в виде строки, обычно, ерунда и другая от другого.. но в группе тех представляют в виде строки, возможно, 5 из 300, существует большое подобие. На самом деле они - та же строка, что отличается, форматирует, пунктуация и несколько слов..
Как я могу разработать ту группу строки?
Между прочим, я пишу в рубине, но если бы ничто иное алгоритм в псевдокоде не было бы прекрасно.
спасибо
Вы можете использовать алгоритм levenshtein для этого. Вот Реализация в Ruby.
Это может быть сверхугольника и, возможно, не точным приспособленным к тому, что вы хотите добиться, но вы сможете использовать «хорьку», чтобы помочь (рубиновая версия Lucene - Full-Text Индекс / поиск API) Чтобы разобраться из пунктуации и форматирования - также, если предложения отличаются по обычным «стоп-словам» (то, а, есть ...), их можно отфильтровать.
Затем ваши поиски будут назначены веса: что дает представление о ссореемости.
http://www.davebalmain.com/ http://www.amazon.co.uk/ferret-david-balmain/dp/0596519400/ruef=sr_1_2?ie=utf8&s= kack&qid=1264751909&sr= 8-2
Есть много способов сравнить строки на предмет сходства.
Вот сайт с различными метриками сходства, который вы можете использовать.
Вот статья Википедии с различными метриками сходства, которую вы можете использовать.