сопоставление строк - PullRequest
0 голосов
/ 10 июля 2011

Я хочу сопоставить некоторые строки (слова) с номером. чем ближе строка, тем ближе ее значение (отображаемое число). Кроме того, при проверке позиционной комбинации букв следует влиять на отображение. Функция отображения должна быть функцией букв, позиций (комбинация, заданная позиция букв, приоритет, такой как яма и наконечник, должны быть разными), количество букв.

Ну, я бы привел несколько примеров: стартер, стартер, степлер, стартер, tstarter - это несколько слов. Эти слова имеют формат «(* optinal) sta (* opt) * er», где * обозначает какую-то переменную, в нашем случае это либо «t», либо «l» (то есть в случае стартера и стайлера). все они должны отображаться ИНДИВИДУАЛЬНО, без контекста с другим, так что их значение не имеет большой разницы. и позже, создавая группы, я могу поставить соответствующий диапазон чисел для разграничения групп.

Таким образом, при отображении строки их значения должны быть одинаковыми. Есть много слов, поэтому сравнивать друг друга было бы сложно. поэтому сопоставление с некоторым числовым значением для каждого слова независимо и помещение подобной строки (так как они имеют сходное значение) в группу, а затем нахождение этих шаблонов другими способами.

Итак, на данный момент мне нужно найти некоторые существующие методы отображения, чтобы похожие строки (я думаю, у меня есть уточнение термина «похожие» для моего контекста) имеют аналогичное значение, и эти значения должны отличаться от разнородных , пожалуйста, еще раз подчеркиваю, что число строк будет огромным, и сравнение каждой из них практически невозможно (или вычислительно дорого и очень медленно). ТАК ЧТО Я ДУМАЮ, ЧТОБЫ РАЗРАБОТАТЬ АЛГОРИТМ (принимая помощь от существующих) STRING) НА СВОЙ СВОЙ

Я вас прояснил? Пожалуйста, дайте мне идею для начала. некоторые термины для поиска и исследования.

Я думаю, что мне нужен какой-то тип хэш-функции " bad ", чтобы хэшировать строки и затем помещать их в корзину в соответствии с этим хэш-значением. по крайней мере, некоторые идеи или имена алгоритмов.

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Этот поиск в StackOverflow показывает этот вопрос о поиске групп похожих строк в большом наборе строк , который ссылается на этот статья, описывающая SimHash , которая звучит именно так, как вы хотите.

0 голосов
/ 10 июля 2011

Похоже, что лучше всего использовать известный алгоритм, такой как Расстояние Левенштейна

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