Пометка части речи на хинди (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. мы можем ограничить слово в смысле [1]
  2. мы можем использовать вероятность с частотой для следующего слова согласно [2]
  3. мы можем попробовать обращаться со сложными словами, как указано в [3]
  4. мы можем добавить больше предложений с тегами на NLTK hindi.pos
  5. мы также можем использовать переводчик Google для перевода и получения тега
  6. Вы можете попробовать обучить данные и предсказать «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