Пометка предложений
Пометка предложения в более широком смысле означает добавление ярлыков к глаголу, существительному и т. Д. В контексте предложения. Идентификация POS-тегов - сложный процесс. Таким образом, общая пометка POS вручную невозможна, поскольку некоторые слова могут иметь разные (неоднозначные) значения в зависимости от структуры предложения. Преобразование текста в форму списка является важным шагом перед тегированием, поскольку каждое слово в списке зацикливается и учитывается для определенного тега. Пожалуйста, ознакомьтесь с приведенным ниже кодом, чтобы лучше понять его.
import nltktext = "Hello Guru99, You have to build a very good site, and I love visiting your site."sentence = nltk.sent_tokenize(text)for sent in sentence:print(nltk.pos_tag(nltk.word_tokenize(sent)))
ВЫХОД
[('Hello', 'NNP'), ('Guru99', 'NNP'), (',', ','), ('You', 'PRP'), ('have', 'VBP'), ('build', 'VBN'), ('a', 'DT'), ('very', 'RB'), ('good', 'JJ'), ('site', 'NN'), ('and', 'CC'), ('I', 'PRP'), ('love', 'VBP'), ('visiting', 'VBG'), ('your', 'PRP$'), ('site', 'NN'), ('.', '.')]
Код Пояснение
- Код для импорта nltk (набор инструментов для естественного языка, который содержит подмодули, такие как токенизация предложения и токенизация слов.)
- Текст, теги которого должны быть напечатаны.
- Токенизация предложения
- Реализован цикл For, в котором слова токенизируются из предложения, а тег каждого слова печатается в качестве вывода.
В Corpus есть два типа POS-тегеров:
- Основанный на правилах
- Стохастические POS-тегеры
1. POS Tagger на основе правил : для слов, имеющих неоднозначное значение, применяется подход на основе правил на основе контекстной информации. Это делается путем проверки или анализа значения предыдущего или следующего слова. Информация анализируется из окружения слова или внутри него самого. Поэтому слова помечаются грамматическими правилами определенного языка, такими как использование заглавных букв и знаков препинания. например, теггер Брилла.
2.Stochastic POS Tagger: в этом методе применяются различные подходы, такие как частота или вероятность. Если слово в основном помечено определенным тегом в обучающем наборе, то в тестовом предложении ему дается этот конкретный тег. Тег слова зависит не только от своего собственного тега, но и от предыдущего тега. Этот метод не всегда точен. Другой способ - вычислить вероятность появления определенного тега в предложении. Таким образом, последний тег вычисляется путем проверки наибольшей вероятности слова с определенным тегом.
Скрытая марковская модель:
Проблемы с тегами также можно смоделировать с помощью HMM. Он рассматривает входные токены как наблюдаемую последовательность, в то время как теги считаются скрытыми состояниями, а цель состоит в том, чтобы определить последовательность скрытых состояний. Например, x = x 1 , x 2 ,…, x n, где x - последовательность токенов, а y = y 1 , y 2 , y 3 , y 4 … y n - скрытая последовательность.
Как работает модель HMM?
HMM использует распределение соединений, которое представляет собой P (x, y), где x - это входная последовательность / последовательность токенов, а y - последовательность тегов.
Последовательность тегов для x будет argmax y1… .yn p (x1, x2,… .xn, y1, y2, y3,…). Мы сгруппировали теги по тексту, но статистика таких тегов жизненно важна. Итак, следующая часть - подсчет этих тегов для статистического исследования.