Я пытаюсь обработать CSV-файл, который содержит в каждой строке текстовое поле с названием организации и позицией человека в этой организации в виде неструктурированного текста.Это поле обычно представляет собой текстовый беспорядок:
Assoc. Research Professor Dept. Psychology Univ. California Santa Barbara
Мне нужно вывести должность и название организации.Для этой должности я использую preg_match для серии из 60 различных регулярных выражений для разных профессий, и я думаю, что она работает довольно хорошо (я предполагаю, что она ловит около 80%).Но у меня возникли проблемы с поиском названия организации.У меня есть таблица MySQL с примерно 16 000 имен организаций, для которой я могу выполнить простой preg_match, но из-за распространенных ошибок и сокращений она охватывает только около 30% организаций.Например, в моей базе данных есть
University of California Santa Barbara
Но в CSV-файле может быть любой из вариантов:
Univ Cal Santa Barbara
University Cal-Santa Barbara
University California-Santa Barbara
Cal University, Santa Barbara
Мне нужно обработать несколько сотен тысяч записей, и я не могу потратитьвремя для исправления 70% записей, которые в настоящее время обрабатываются неправильно или кропотливо, создают несколько псевдонимов для каждой организации.То, что я хотел бы иметь, - это улавливать небольшие различия (например, небольшие орфографические ошибки, дефисы и пробелы и общие сокращения), и, если совпадений пока не найдено, в идеале можно распознать название организации и создать новую запись.для этого.
- Какие библиотеки или инструменты в Python или PHP позволят выполнить сопоставление сходства, которое будет иметь более широкий охват?
- Будет ли NLTK в Python ловить орфографические ошибки?
- Можно ли использовать AlchemyAPI для ловли организаций с ошибками?До сих пор я был в состоянии использовать его только для поиска правильно написанных организаций
- Поскольку я сравниваю короткую строку (название организации) с более длинной строкой (которая включает в себя имя плюс постороннюю информацию), естьесть надежда на использование функции PHP_yxt_text?
Буду признателен за любую помощь или понимание.