Мой проект импортирует большую коллекцию (+500 тыс. строк данных) из плоских файлов Excel, созданных вручную группой людей. Теперь проблема в том, что это все нужно нормализовать, для поиска клиентов. Например, поле компании будет иметь несколько вариантов написания компании и включать в себя филиалы, такие как «IBM», а затем «IBM Inc.». и "IBM Japan" и т. д. Кроме того, у меня есть названия продуктов, которые являются буквенно-цифровыми, например "A46-Rhizonme Pentahol", с которыми SOUNDEX не может справиться самостоятельно.
Я могу решить эту проблему в долгосрочной перспективе, если все вводимые данные будут осуществляться через веб-форму с автоматической подсказкой AJAX. Однако до тех пор мне все еще нужно иметь дело с массивным сбором существующих данных. Это подводит меня к тому, что я считаю хорошим процессом, основываясь на том, что я прочитал здесь:
http://msdn.microsoft.com/en-us/magazine/cc163731.aspx
Шаги для создания пользовательского поиска нечеткой логики и группировки нечеткой логики
- Пункт списка
- разбить строки на ключевые слова
- вычислить ключевое слово TF-IDF (общая частота - обратная частота документа)
- рассчитать расстояние Левенштейна между ключевыми словами
- рассчитать Soundex по доступным альфа-строкам
- определить контекст ключевых слов
- размещать ключевые слова в зависимости от контекста в отдельные таблицы БД, такие как «Компании», «Продукты», «Ингредиенты»
Я гуглил, искал StackOverflow, читал обсуждения MySQL.com и т. Д. Об этой проблеме, чтобы попытаться найти готовое решение. Любые идеи?