2

Я планирую использовать метод Named Entity Recognition (NER), чтобы идентифицировать имена людей (большинство из которых являются индийскими именами) из заданного текста. Я уже исследовал модель НЭР на основе CRF из Стэнфордской НЛП, однако она не совсем точна в признании индийских имен. Поэтому я решил создать свою собственную модель NER через контролируемое обучение. У меня есть справедливое представление о том, как создать собственную модель NER, используя STF-систему Stanford NER CRF, но создание большого учебного корпуса с ручной аннотацией - это то, чего я бы хотел избежать, поскольку это огромные усилия для человека и, во-вторых, получение разнообразных имен людей из разных государств Индии также является проблемой. Может ли кто-нибудь предложить какой-либо автоматизированный/программный способ подготовки маркированного учебного корпуса с именами не менее 100 тыс. Индийских?
Я уже изучал Facebook и LinkedIn API, но не нашел способ извлечь 100 000 номеров полного имени пользователя из данного места (например, в Индию).Модель NER для распознавания индийских имен

ответ

5

Я закончил тем, что делал следующее создать NER модель для идентификации индийских имен. Это может быть полезно для тех, кто ищет создание пользовательской модели NER для распознавания имен неанглийских людей, поскольку большинство общедоступных моделей NER, например, из Стэнфордской НЛП, прошли обучение с использованием английских имен и, следовательно, более точны при определении английского языка (например, Британский/Американский).

  1. Найди индийскую знаменитость с учетной записью Twitter и имея огромное количество подписчиков в Твиттере (для моего случая я выбрал Сачина Тендулкара).
  2. Создайте программу на выбранном вами языке, чтобы позвонить в REST API Twitter (GET followers/list), чтобы получить имена всех последователей знаменитости и сохранить их в файле. Мы можем с уверенностью предположить, что большинство последователей будут индейцами. Обратите внимание, что существует предел скорости API (30 запросов за 15-минутное окно), поэтому для его обработки необходимо создать программу. В нашем случае мы разработали программу как службу Windows, которая работает каждые 15 минут.
  3. Поскольку некоторые имена пользователей Twitter не могут быть действительными именами людей, рекомендуется добавить некоторую логику на основе правил (например, RegEx) для фильтрации, по-видимому, реальных имен и добавления только файлов в файл.
  4. После создания файла с реальными именами создайте другую программу для создания файла данных обучения, содержащего эти имена, помеченные/аннотированные как PERSON, а также имена не-сущностей, аннотированные как OTHER. Если вы используете Stanford NER CRF Classifier, программа должна сгенерировать файл обучения (TSV), имеющий два столбца - один, содержащий слово (токен), и второй столбец, в котором упоминается метка.
  5. После тренировки тела генерируется программно, вы можете следовать ссылке ниже, чтобы создать свою собственную модель NER признать индийские имена: http://nlp.stanford.edu/software/crf-faq.shtml#a
+1

Хотя вышеизложенное имело смысл на момент написания, и теперь тоже люди, которые хотят начать быстро, могут получить горстку имен отсюда. Https://archive.org/details/india-names-dataset – Thomas

+0

Это было бы потрясающе если вы загрузили корпус на github. :) Спасибо за подсказки. –

0

Предложение: вы можете попытаться использовать версию Википедии в Индии для обучения или создать автоматический справочник.

Я не знаю, является ли это эффективным/быстрым решением, но многие исследования используют Википедию и его полуструктурированный контент (например, каждая страница аннотируется несколькими категориями).

Вы можете взглянуть на эти статьи, чтобы найти интересную идею для вас: https://scholar.google.fr/scholar?q=named+entity+recognition+using+wikipedia&btnG=&hl=fr&as_sdt=0%2C5

+0

Спасибо за ваше предложение. Я посмотрю. Тем не менее, я не уверен, что можно программно извлечь не менее 100 тыс. Разных индийских имен из Википедии. – fuzzygeek

4

Этого сайт сделал это для нас Он обеспечивает решением для эти проблемы: Проблемы в индийском языке NER Индийские языки относятся к нескольким языковым семьям, основными из которых являются индоевропейские языки, индоарийский и дравидийский языки. Проблемы в NER возникают из-за нескольких факторов.Некоторые из основных факторов перечислены ниже Морфологически богатые - идентификация корня затруднена, требуется использование морфологических анализаторов Отсутствие возможности капитализации. На английском языке капитализация является одной из основных особенностей, тогда как ее нет на индийских языках Ambiguity - двусмысленность между обычными и собственными существительными. Например: общие слова, такие как «Roja», что означает «Розовый цветок», это имя человека. . Изменения в заклинаниях. В веб-данных мы обнаруживаем, что разные люди заклинают одно и то же лицо по-разному - например: у тамильского человека имя -Roja написано как «Роза», «Роя». Предоставляется весь корпус.

Named Entity Recognition for Indian Languages and English

удачи для получения паролей для почтовых файлов!

ура!

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