Как распознавать имена из текста, используя php

Я хочу извлечь имя (firstnames и lastnames) из текста, используя php. Пример. Из текста ниже я хочу извлечь имена (в этом случае Алине Райт и Джесси Райт)

Алин Райт – выживший рак, ампутант и новобранец. В среду вечером она начала показывать признаки того, что у нее был инсульт.

«Я начал ощущать онемение левой руки и лицевую пасть, – сказала Алине.

«Мне показалось, что у меня был инсульт».

Вот когда ее муж четыре дня, Джесси Райт, положил ее в машину и бросился в Медицинский центр Эрлангер. Райт знает чрезвычайную ситуацию. Он техником медсестры в Эрлангере.

Если вы хотите использовать именованное распознавание имен (NER) с использованием PHP, вам нужно либо обратиться к внешнему пакету NER, либо использовать онлайн- API обработки естественного языка .

APIинтерфейсы

Ниже перечислены три основных API NLP. Сложность Intelligence и Alchemy API, вероятно, будет умеренно проще использовать для новичков, чем OpenCalais.

  • Сложность Интеллект – см. Здесь пример кода помеченной тегом PHP.
  • Alchemy API – загрузите их PHP SDK здесь .
  • OpenCalais – см. Пример кода PHP здесь .

Пакеты NER

Несколько программных пакетов, которые вы можете использовать для NER:

  • Stanford CoreNLP (Java)
  • LingPipe (Java)
  • NLTK (Python)
  • OpenNLP (Java)
  • YamCha (C ++)

Из них Stanford CoreNLP, вероятно, является хорошим местом для начала. Подобно многим API NLP, он обеспечивает полный конвейер обработки для общих задач, таких как NER.

Я бы использовал идентификатор распознанного объекта. Их много на CPAN, где есть активное сообщество лингвистов.

Затем, в PHP , сделайте что-нибудь вроде:

$result = \`perl named_entity_recogniser.pl "myText"\`; 

Я написал это расширение PHP, но должен быть готов к компиляции из источника. https://github.com/rjjakes/MITIE-PHP