Полезно знать исключения (например, город под названием Мэри Сью), но конечные пользователи должны быть довольны, если ваше программное обеспечение может обработать наиболее вероятные случаи. Имена могут быть отсортированы по относительной частоте встречаемости в каждой категории: личное имя, название компании, название города. Для компаний число сотрудников может использоваться для расчета относительной вероятности. Для городов, населения.
У вас уже есть правила для проверки относительного положения строки, содержащей каждый токен?
Конечно, существует довольно много форматов визитных карточек, но если у вас есть несколько сотен образцов визитных карточек, вы сможете определить некоторые общие правила форматирования. Наличие всего лишь нескольких правил может очень помочь. Одно из правил может заключаться в том, что «80% всех карточек имеют адрес под личным именем и названием компании», хотя образец визитных карточек может не полностью отражать все возможные визитные карточки, все языки и т. Д. И т. Д., Это Начните. Даже несколько правил 50% и 80% могут упростить вашу задачу.
Вы можете придумать несколько правил, используя нелепый пример.
John Smith
Chief Operating Officer
Acme Inc.
123 Main Street
Somewhere, XZ 01010
более вероятно, чем
Somewhere, XZ
01010
John Smith
Acme Inc.
Chief Operating Officer
123 Main Street
Это говорит о том, что мы можем рассмотреть относительную Y-позицию личных имен и названий компаний относительно почтовых индексов. Хотя личное имя, должность и название компании могут следовать в любом из нескольких заказов, почтовые индексы, вероятно, будут находиться под названиями компаний. Почтовые коды будут ближе к названиям городов и т. Д.
Хотя такое слово, как «Саманта», может быть частью личного имени, названия улицы или названия компании, это, скорее всего, имя человека. Вы должны быть в состоянии найти базы данных, которые перечисляют относительную частоту имен при рождении, население городов с названием «Саманта» и количество зарегистрированных корпораций с именем «Саманта». Даже частичные базы данных были бы полезны для установления разумных предположений вероятности.
Другие возможные правила:
- Сочетание букв и цифр 5 - 7 цифр в конце строки (для текста слева направо) или в отдельной строке может представлять собой почтовый индекс.
- "Inc", "Ltd", "Corp" и другие сокращения должны увеличить вероятность того, что строка будет определена как название компании
- Личное имя может быть расположено над заголовком. (Может быть, 85% - 95% времени?)
- Номера телефонов следуют несколько ограниченному числу шаблонов и, как правило, включают символы, которых нет в почтовых индексах: "(" ")" "."
- Веб-сайты следуют общим шаблонам. Даже если есть кто-то, чье официальное имя CarolGreen.com, она, вероятно, не удивится, если ее имя будет признано веб-сайтом.
- Символ "@" почти наверняка является частью адреса электронной почты. Адрес электронной почты, вероятно, расположен в какой-то строке под именем человека, при условии, что адрес электронной почты вообще отображается.
- Некоторая информация может отсутствовать. Карта может не указывать веб-сайт. Там может быть номер телефона, но не адрес улицы. Человек может не иметь названия. Личная визитная карточка может не иметь названия компании. Скорее всего, хотя бы одна строка будет персональным именем.