Использование "нечеткого поиска" при перекрестных ссылках на данные
Мой отдел занимается сбором и отображением данных из широкого круга внутрифирменных источников для использования в интеллектуальном анализе данных / информационных панелях компаний.
Одна из больших проблем, с которыми мы сталкиваемся, - это перекрестные ссылки на названия мест в разных отделах. Мы - довольно крупная организация, и отделы с разными интересами делают свои собственные отчеты для любого местоположения. В целом, в названии EXACT много различий, которые есть в названии местоположения в отчетах по этим отделам. Например, местоположение может упоминаться как:
- Сказочный ресторан
- сказочный ресторан
- Сказочный F&B
- Когда место проходит ремонт... Сказочное кафе
- или даже Профит-центр 12345ABC
Поэтому мой вопрос заключается в том, какие наилучшие практики существуют для согласования этих имен в нашей собственной базе данных и коде? Давайте пока предположим, что мой отдел не имеет возможности объединить организацию в соответствии с единым стандартом иерархии (что было бы оптимальным решением). В настоящее время наша практика состоит в том, чтобы поддерживать постоянно растущие справочные таблицы имен местоположений, которые затем возвращаются в наш собственный стандарт именования. Это позволяет нам поддерживать историческую согласованность с нашими данными.
Возможно ли / целесообразно ли реализовать какой-то "нечеткий поиск" при перекрестных ссылках на местоположения? Например, что-то, что может игнорировать такие слова, как "the", или одинаково относиться к "cafe" и "restaurant" (основываясь на некоторой заранее определенной логике).
Я, конечно, не думаю, что мы когда-либо сможем алгоритмически учитывать ВСЕ соглашения о случайном присвоении имен, с которыми мы сталкиваемся, но достаточно ли этого, чтобы иметь возможность учитывать некоторые / большинство из них?
1 ответ
Ключевое слово - интеграция данных. retagged. Нечеткий поиск распространен в поиске информации и определенно полезен здесь. Но приведенные вами примеры могут быть слишком сложными для автоматической интеграции, вам потребуется вмешательство пользователя и надлежащая очистка данных.
Я успешно использовал нечеткое сопоставление для повторного импорта музыкальных плейлистов. Даже из интернета. Название и исполнитель обычно предоставляют достаточно данных для достаточно надежного нечеткого соответствия моей музыкальной коллекции (по крайней мере, если у меня есть песня).
Тем не менее, нечеткое сопоставление не будет надежным, если у вас будет только одно слово, как в примере с "невероятным рестораном".
Хорошее нечеткое сопоставление будет использовать основы и иметь представление об общих словах и синонимах. Так что "ресторан" и "кафе", вероятно, не будут считаться значимыми. Ключевой момент в том, чтобы иметь достаточно данных. Вероятно, одного слова будет недостаточно для определения местоположения.