Введение
Существует достаточно много решений, которые позволяют извлекать так называемые "именованные сущности" из текста - например, определять в тексте что есть обозначение места, персоны, или организации. Для примера мы возьмем python-библиотеку polyglot (она работает с распространенной версией 2.7, если есть умение готовить python3 - рекомендую пакет "natasha").
Заодно вспомним очень старую технологию Common Gateway Interface (позволяющую запускать скрипты на сервере): отметьте в управлении хостингом галку Enable CGI и разрешите запускать файлы ".py".
Установка polyglot
Зайдем в корневую директорию сайта и в поддиректории cgi-bin выполним команды:
$ PYTHONUSERBASE=`pwd`/.pip pip install --user polyglot
$ PYTHONPATH=`pwd`/.pip/lib/python2.7/site-packages ./.pip/bin/polyglot \
download embeddings2.ru ner2.ru
Код распознавания
Ради примера возьмем описание новостей из RSS-потока сайта lenta.ru. Создадим исполняемый файл скрипта:
$ touch parse.py; chmod +x parse.py
и запишем в него следующий (весьма самобъясняющий для знающих английский язык код):
Запуск и результаты
Достаточно запустить через строку браузер http://yoursite.ru/cgi-bin/parse.py, чтобы получить что-то подобное:
(на этом рисунке с мелким текстом перечислены извлеченные именованные сущности:)).
Заключение
Учтите, для выполнения словарного (с помощью polyglot) разбора на сущности может понадобится прилично ресурсов сервера, а сама точность разбора может оказаться не очень высокой. У polyglot словари размечены на основе Wikipedia. Однако для ряда автоматизированных аналитических систем уже достаточно и этого.
Помимо словарного разбора также есть и статистический, например Lingvo NER (он уже на C#).