Я планирую использовать метод Named Entity Recognition (NER), чтобы идентифицировать имена людей (большинство из которых являются индийскими именами) из заданного текста. Я уже исследовал модель НЭР на основе CRF из Стэнфордской НЛП, однако она не совсем точна в признании индийских имен. Поэтому я решил создать свою собственную модель NER через контролируемое обучение. У меня есть справедливое представление о том, как создать собственную модель NER, используя STF-систему Stanford NER CRF, но создание большого учебного корпуса с ручной аннотацией - это то, чего я бы хотел избежать, поскольку это огромные усилия для человека и, во-вторых, получение разнообразных имен людей из разных государств Индии также является проблемой. Может ли кто-нибудь предложить какой-либо автоматизированный/программный способ подготовки маркированного учебного корпуса с именами не менее 100 тыс. Индийских?
Я уже изучал Facebook и LinkedIn API, но не нашел способ извлечь 100 000 номеров полного имени пользователя из данного места (например, в Индию).Модель NER для распознавания индийских имен
ответ
Я закончил тем, что делал следующее создать NER модель для идентификации индийских имен. Это может быть полезно для тех, кто ищет создание пользовательской модели NER для распознавания имен неанглийских людей, поскольку большинство общедоступных моделей NER, например, из Стэнфордской НЛП, прошли обучение с использованием английских имен и, следовательно, более точны при определении английского языка (например, Британский/Американский).
- Найди индийскую знаменитость с учетной записью Twitter и имея огромное количество подписчиков в Твиттере (для моего случая я выбрал Сачина Тендулкара).
- Создайте программу на выбранном вами языке, чтобы позвонить в REST API Twitter (GET followers/list), чтобы получить имена всех последователей знаменитости и сохранить их в файле. Мы можем с уверенностью предположить, что большинство последователей будут индейцами. Обратите внимание, что существует предел скорости API (30 запросов за 15-минутное окно), поэтому для его обработки необходимо создать программу. В нашем случае мы разработали программу как службу Windows, которая работает каждые 15 минут.
- Поскольку некоторые имена пользователей Twitter не могут быть действительными именами людей, рекомендуется добавить некоторую логику на основе правил (например, RegEx) для фильтрации, по-видимому, реальных имен и добавления только файлов в файл.
- После создания файла с реальными именами создайте другую программу для создания файла данных обучения, содержащего эти имена, помеченные/аннотированные как PERSON, а также имена не-сущностей, аннотированные как OTHER. Если вы используете Stanford NER CRF Classifier, программа должна сгенерировать файл обучения (TSV), имеющий два столбца - один, содержащий слово (токен), и второй столбец, в котором упоминается метка.
- После тренировки тела генерируется программно, вы можете следовать ссылке ниже, чтобы создать свою собственную модель NER признать индийские имена: http://nlp.stanford.edu/software/crf-faq.shtml#a
Предложение: вы можете попытаться использовать версию Википедии в Индии для обучения или создать автоматический справочник.
Я не знаю, является ли это эффективным/быстрым решением, но многие исследования используют Википедию и его полуструктурированный контент (например, каждая страница аннотируется несколькими категориями).
Вы можете взглянуть на эти статьи, чтобы найти интересную идею для вас: https://scholar.google.fr/scholar?q=named+entity+recognition+using+wikipedia&btnG=&hl=fr&as_sdt=0%2C5
Спасибо за ваше предложение. Я посмотрю. Тем не менее, я не уверен, что можно программно извлечь не менее 100 тыс. Разных индийских имен из Википедии. – fuzzygeek
Этого сайт сделал это для нас Он обеспечивает решением для эти проблемы: Проблемы в индийском языке NER Индийские языки относятся к нескольким языковым семьям, основными из которых являются индоевропейские языки, индоарийский и дравидийский языки. Проблемы в NER возникают из-за нескольких факторов.Некоторые из основных факторов перечислены ниже Морфологически богатые - идентификация корня затруднена, требуется использование морфологических анализаторов Отсутствие возможности капитализации. На английском языке капитализация является одной из основных особенностей, тогда как ее нет на индийских языках Ambiguity - двусмысленность между обычными и собственными существительными. Например: общие слова, такие как «Roja», что означает «Розовый цветок», это имя человека. . Изменения в заклинаниях. В веб-данных мы обнаруживаем, что разные люди заклинают одно и то же лицо по-разному - например: у тамильского человека имя -Roja написано как «Роза», «Роя». Предоставляется весь корпус.
Named Entity Recognition for Indian Languages and English
удачи для получения паролей для почтовых файлов!
ура!
- 1. Функции распознавания именных имен (NER)
- 2. Пользовательская модель NER - FAIL
- 3. Как написать регулярное выражение для индийских имен
- 4. Настройка модели распознавания имен в Azure ML
- 5. Ранее маркированные тела NER для обучения Классификатор NER
- 6. Как «обновить» существующую модель распознавания имен имен, а не создавать с нуля?
- 7. Максимальная модель марковского энтропии для распознавания имен в Java
- 8. Преобразование XML для использования в качестве учебного набора для распознавания именных имен (NER)
- 9. поезд безжизненная модель для NER в openNLP
- 10. NLTK для распознавания именных имен
- 11. Дополнительные модели распознавания имен для Standford CoreNLP?
- 12. OpenNLP Модель распознавания сущности имени для времени и даты
- 13. Обзор распознавания имен объектов NLTK
- 14. RNN TensorFlow для распознавания имен по имени
- 15. deeplearning4j - используйте Word2Vec для распознавания имен объектов
- 16. Как читать документ для распознавания имен в OpenNLP
- 17. TTS для индийских языков
- 18. с использованием apache stanbol для распознавания имен по имени
- 19. Как настроить NER-модель с помощью nlp
- 20. Уже подготовленная модель HMM для распознавания слов
- 21. Существуют ли библиотеки C# для распознавания имен?
- 22. Поиск в Silverlight C# для распознавания имен
- 23. Как создать хорошую модель обучения NER в OpenNLP?
- 24. Как использовать Mallet для NER
- 25. Фонетический поиск для индийских языков
- 26. Как поехать в Стэнфордский NER для имен, которые включают пробелы?
- 27. Извлечение отношения из NER parse
- 28. Улучшение тегов TOS CoreNLP и тегов NER?
- 29. Поддержка нескольких индийских языков
- 30. Является ли собственная модель распознавания приемлемой?
Хотя вышеизложенное имело смысл на момент написания, и теперь тоже люди, которые хотят начать быстро, могут получить горстку имен отсюда. Https://archive.org/details/india-names-dataset – Thomas
Это было бы потрясающе если вы загрузили корпус на github. :) Спасибо за подсказки. –