Пометка части речи на хинди (POS)
Часть речи играет очень важную роль в задаче НЛП, так как важно знать, как слово используется в каждом предложении. Тэги POS используются в основном для извлечения ключевых слов, извлечения фраз, распознавания именованных сущностей и т. Д. Прежде чем перейти к тэгам POS, я предполагаю, что вы все знаете о части речи, поскольку все мы изучали грамматику в школе. Не так ли? Но в любом случае позвольте мне дать краткое объяснение по этому поводу!
Существует восемь основных частей речи: существительные (слово-имя), местоимение (заменяет существительное), прилагательные (описание слова), глаголы (слово действия), наречия (описывает глагол), предлоги (показывают отношения), союзы (соединяющее слово). ) и Междометия (Выразительное слово). Большая часть этого разделена на части. Существительное делится на существительные собственные, нарицательные, конкретные существительные и т. Д.
Напоминает школьные годы ?? Хорошо, а теперь давайте начнем с хинди.
Хинди Часть речевых тегов - это то, что люди все еще исследуют, поскольку у нас есть различные методы и библиотеки, доступные для английского текста и редко для текста на хинди. [1] Маниш и Пушпак исследовали POS-терминалы на хинди, используя простой POS-тегер на основе HMM с точностью 93,12%. в то время как [2] Нишит Джоши, Хемант Дарбари и Ити Матур также исследовали POS-терминалы на хинди, используя скрытую марковскую модель, при этом подсчет частоты двух тегов, видимых вместе в корпусе, деленный на частоту предыдущего тега, независимо видимого в корпусе. [3] S Phani Kumar Gadde, Meher Vijay Yeleti использовали теггер на основе CRF и Brants TnT (Brants, 2000), теггер на основе HMM для POS Tag на хинди, где они получили точность 94,21%.
Итак, сегодня мы будем использовать тегировщик TNT, чтобы отмечать слова на хинди!
Допустим, у нас есть текст, который нужно пометить
text = “इराक के विदेश मंत्री ने अमरीका के उस प्रस्ताव का मजाक उड़ाया है , जिसमें अमरीका ने संयुक्त राष्ट्र के प्रतिबंधों को इराकी नागरिकों के लिए कम हानिकारक बनाने के लिए कहा है ।”
Давайте воспользуемся уже размеченными данными, указанными в nltk, для обучения данных.
from nltk.tag import tnt from nltk.corpus import indian train_data = indian.tagged_sents(‘hindi.pos’) tnt_pos_tagger = tnt.TnT() tnt_pos_tagger.train(train_data)
Теперь добавим тег к тексту!
tagged_words = (tnt_pos_tagger.tag(nltk.word_tokenize(text))) print(tagged_words) [OUTPUT]: [(‘इराक’, ‘NNP’), (‘के’, ‘PREP’), (‘विदेश’, ‘NNC’), (‘मंत्री’, ‘NN’), (‘ने’, ‘PREP’), (‘अमरीका’, ‘NNP’), (‘के’, ‘PREP’), (‘उस’, ‘PRP’), (‘प्रस्ताव’, ‘NN’), (‘का’, ‘PREP’), (‘मजाक’, ‘NVB’), (‘उड़ाया’, ‘VFM’), (‘है’, ‘VAUX’), (‘,’, ‘PUNC’), (‘जिसमें’, ‘PRP’), (‘अमरीका’, ‘NNP’), (‘ने’, ‘PREP’), (‘संयुक्त’, ‘NNC’), (‘राष्ट्र’, ‘NN’), (‘के’, ‘PREP’), (‘प्रतिबंधों’, ‘NN’), (‘को’, ‘PREP’), (‘इराकी’, ‘JJ’), (‘नागरिकों’, ‘NN’), (‘के’, ‘PREP’), (‘लिए’, ‘PREP’), (‘कम’, ‘INTF’), (‘हानिकारक’, ‘JJ’), (‘बनाने’, ‘VNN’), (‘के’, ‘PREP’), (‘लिए’, ‘PREP’), (‘कहा’, ‘VFM’), (‘है’, ‘VAUX’), (‘।’, ‘PUNC’)]
Легко, правда?
Основная проблема здесь в том, что данные nltk не полны. Поэтому мы, как правило, получаем тег «Unk» большую часть времени при тегировании слов ex: (‘वाशिंग’, ‘Unk’), (‘मशीन’, ‘Unk’).
Как это преодолеть?
- мы можем ограничить слово в смысле [1]
- мы можем использовать вероятность с частотой для следующего слова согласно [2]
- мы можем попробовать обращаться со сложными словами, как указано в [3]
- мы можем добавить больше предложений с тегами на NLTK hindi.pos
- мы также можем использовать переводчик Google для перевода и получения тега
- Вы можете попробовать обучить данные и предсказать «UNK» данные с помощью SVM или HMM Tagger.
Я пробовал использовать Google Translator API для обработки тегов Unk, переводя и получая теги, а затем добавляя их в NLTK Indian Corpus, что дало довольно хороший результат. Вы можете проверить это в моем Github.
ССЫЛКА:
[1] Хинди для POS-тегов с использованием наивного стемминга: использование морфологической информации без обширных лингвистических знаний, Маниш и Пушпак https://www.cse.iitb.ac.in/~pb/papers/icon08-hindi-pos-tagger .pdf
[2] ПОЗ-ТАГГЕР НА ОСНОВЕ HMM ДЛЯ HINDI Нишита Джоши, Хеманта Дарбари и Ити Матхура. Https://airccj.org/CSCP/vol3/csit3639.pdf
[3] Улучшение статистической маркировки POS-терминалов с использованием лингвистических функций для хинди и телугу С. Фани Кумар Гадде, Мехер Виджай Йелети. Https://researchweb.iiit.ac.in/~mehervijay.yeleti/papers/icon08-pos.pdf