2016-08-19 3 views
0

Учитывая отображаемое имя в заголовке From: письмо, я хотел бы определить, представляет ли это имя человека или что-то еще. Что-то еще часто может быть названием организации или, возможно, названием/ролью.Различают имя человека против организации

Некоторые примеры:

  • Alice Smith => имя человека
  • Google Inc. => не имя человека (это организация)
  • Amazon Customer Support => не имя человека (это название/роль)
  • технический директор => не имя человека (это название/роли)

Как я могу г Признать, является ли имя отправителя именем физического лица?


Одним из возможных подходов является использование машинного обучения и обучение классификатора. Но если я это сделаю, какие функции я должен использовать? Я читал литературу и не нашел никого, кто захваченный именно этот вопрос, хотя я видел некоторые особенности, которые были использованы для связанных с ними проблем:

  • Фраза формы «Слово Слово» или «Слово, Слово» или «Слово, Слово Письмо» или «Слово Слово Слова» или «Слово, Слово Письмо». или «Слово Письмо. Слово», скорее всего, будут именем (подумайте «Первый последний» и «Последний, Первый» и «Последний, Первый ИМ» и «Первый МИ И последний»).

  • Фраза, которая начинается с названия (г-жа, миссис, мисс, г-жа, д-р, проф., Лейтенант, сержант и т. Д.), Скорее всего, будет именем. Фраза, которая заканчивается общим суффиксом имени (младший, старший, Phd, Esq), скорее всего, будет именем. Фраза, которая заканчивается индикатором компании (Inc., Corp., Corporation), скорее всего, не является именем (это, вероятно, организация).

  • Можно скачать list наиболее часто используемых имен и фамилий из переписи населения США. Если фраза содержит одну из этих строк, это скорее будет имя. Или можно использовать существующий лексикон, например, лексиконы BaLIE или Oak.

  • Если фраза содержит слово, найденное в словаре, это скорее не имя (например, организация/название/роль).

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

  • Если слово содержит внутренний апостроф или дефис, оно скорее всего будет именем человека (например, О'Коннор, Жан-Клод).

Но я не знаю, что на самом деле сработает. Какие функции я должен использовать? В качестве альтернативы, есть ли какие-либо подготовленные классификаторы или любые отчеты о событиях, описывающие, что работает?

Я немного ознакомился с именем распознанного объекта, но это кажется более сложной проблемой.

+0

Вы можете использовать NER, его не сложно. Вы можете проверить: Пункт 5 - Именованное распознавание сущностей - http://www.nltk.org/book/ch07.html – RAVI

ответ

1

Посмотрите на OpenNLP NER Много поддержки уже есть.

Они имеют эти предварительно подготовленные модели для имен, организации, мест и т.д., here

this blog может вам начать и шагать вещи для вас.

Предварительно подготовленные модели OpenNLP очень хорошо работали для меня. Он обучается именам в США и Великобритании, поэтому он должен работать на вас. Также он основан на контексте. Он признает г-на Х, хотя модель не знает имя Х из-за приветствия.

Он хорошо зарекомендовал себя для меня. вы можете обучить свою модель, как только у вас будут хорошие данные по обучению (15000 предложений за хорошие результаты). и процесс обучения хорошо объясняется в блоге, о котором я упоминал выше.

Надеюсь, это поможет.

Смежные вопросы