POS маркиране с NLTK и разделяне в NLP (ПРИМЕРИ)

Съдържание:

Anonim

POS маркиране

POS маркирането (части от речта) е процес за маркиране на думите в текстов формат за определена част от речта въз основа на нейната дефиниция и контекст. Той е отговорен за четенето на текст на даден език и присвояването на определен знак (Части на речта) на всяка дума. Нарича се още граматично маркиране.

Нека научим с пример за част от речта на NLTK:

Вход: Всичко, което ни позволява.

Изход : [('Всичко', NN), ('до', TO), ('разрешение', VB), ('нас', PRP)]

Стъпки, включени в примера за маркиране на POS:

  • Токенизиране на текст (word_tokenize)
  • приложите pos_tag към горната стъпка, която е nltk.pos_tag (tokenize_text)

Примери за NLTK POS етикети са както по-долу:

Съкращение Значение
CC координираща връзка
CD основна цифра
DT определител
ПРЕДИ екзистенциален там
FW чужда дума
IN предлог / подчинен съюз
JJ Този NLTK POS етикет е прилагателно (голям)
JJR прилагателно, сравнително (по-голямо)
JJS прилагателно, превъзходно (най-голямо)
LS списъчен пазар
Д-р модално (може, ще)
NN съществително, единствено число (котка, дърво)
NNS съществително множествено число (бюра)
NNP собствено съществително, единствено число (sarah)
NNPS собствено съществително, множествено число (индийци или американци)
PDT предопределител (всички, и двете, наполовина)
POS притежателно окончание (родители)
PRP лично местоимение (нейното, себе си, него, себе си)
PRP $ притежателно местоимение (her, his, mine, my, our)
RB наречие (от време на време, бързо)
RBR наречие, сравнително (по-голямо)
RBS наречие, превъзходно (най-голямо)
RP частица (около)
ДА СЕ безкраен маркер (до)
UH междуметие (сбогом)
VB глагол (питам)
VBG глагол gerund (преценяване)
VBD глагол минало време (пледиран)
VBN глагол минало причастие (обединено)
VBP глагол, сегашно време не 3-то лице единствено число (обвивка)
VBZ глагол, сегашно време с 3-то лице единствено число (основи)
WDT wh-определител (това, какво)
WP wh- местоимение (кой)
WRB wh- наречие (как)

Горният списък с NLTK POS етикети съдържа всички NLTK POS етикети. NLTK POS маркер се използва за присвояване на граматическа информация за всяка дума от изречението. Инсталирането, импортирането и изтеглянето на всички пакети на POS NLTK е завършено.

Какво е парче в НЛП?

Чункирането в НЛП е процес за вземане на малки части от информацията и групирането им в големи единици. Основното използване на Chunking е създаването на групи от „съществителни фрази“. Използва се за добавяне на структура към изречението, следвайки маркиране на POS, комбинирано с регулярни изрази. Получената група думи се наричат ​​„парчета“. Нарича се още плитко разбор.

При плиткото парсиране има максимум едно ниво между корените и листата, докато дълбокото парсиране се състои от повече от едно ниво. Плиткият синтактичен анализ се нарича още лек синтаксичен анализ или късане.

Правила за късане:

Няма предварително определени правила, но можете да ги комбинирате според нуждите и изискванията.

Например трябва да маркирате съществително, глагол (минало време), прилагателно и координиращо кръстовище от изречението. Можете да използвате правилото по-долу

парче: {*** ?}

Следващата таблица показва какво означава различният символ:

Име на символа Описание
. Всеки символ с изключение на нов ред
* Съвпадение 0 или повече повторения
? Съвпадение 0 или 1 повторения

Сега нека напишем кода, за да разберем правилото по-добре

from nltk import pos_tagfrom nltk import RegexpParsertext ="learn php from guru99 and make study easy".split()print("After Split:",text)tokens_tag = pos_tag(text)print("After Token:",tokens_tag)patterns= """mychunk:{***?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Изход

After Split: ['learn', 'php', 'from', 'guru99', 'and', 'make', 'study', 'easy']After Token: [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN'), ('and', 'CC'), ('make', 'VB'), ('study', 'NN'), ('easy', 'JJ')]After Regex: chunk.RegexpParser with 1 stages:RegexpChunkParser with 1 rules:***?'>After Chunking (S(mychunk learn/JJ)(mychunk php/NN)from/IN(mychunk guru99/NN and/CC)make/VB(mychunk study/NN easy/JJ))

Заключението от горния пример за маркиране на част от реч на Python: „make“ е глагол, който не е включен в правилото, така че не е маркиран като mychunk

Използвайте случай на късане

Чанкирането се използва за откриване на обект. Обект е тази част от изречението, чрез която машината получава стойността за всяко намерение

Example:Temperature of New York.Here Temperature is the intention and New York is an entity.

С други думи, разделянето се използва като избор на подмножествата на жетоните. Моля, следвайте кода по-долу, за да разберете как разделянето се използва за избор на жетоните. В този пример ще видите графиката, която ще съответства на част от съществителна фраза. Ще напишем кода и ще нарисуваме графиката за по-добро разбиране.

Код за демонстрация на случай на употреба

import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {
?*}"cp =nltk.RegexpParser(grammar)result = cp.parse(tag)print(result)result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking

Изход :

['learn', 'php', 'from', 'guru99'] -- These are the tokens[('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN')] -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking

Графика

Графика за отрязване на съществителна фраза

От графиката можем да заключим, че „learn“ и „guru99“ са две различни лексеми, но са категоризирани като Съществителна фраза, докато жетонът „от“ не принадлежи към Съществителната фраза.

Чанкирането се използва за категоризиране на различни жетони в един и същи парче. Резултатът ще зависи от избраната граматика. Допълнително Chunking NLTK се използва за маркиране на модели и за изследване на текстови корпуси.

Обобщение

  • POS маркирането в NLTK е процес за маркиране на думите в текстов формат за определена част от речта въз основа на нейната дефиниция и контекст.
  • Някои примери за маркиране на NLTK POS са: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO и др.
  • POS тагърът се използва за присвояване на граматическа информация за всяка дума от изречението. Инсталирането, импортирането и изтеглянето на всички пакети за маркиране на част от речта с NLTK е завършено.
  • Чункирането в НЛП е процес за вземане на малки части от информацията и групирането им в големи единици.
  • Няма предварително определени правила, но можете да ги комбинирате според нуждите и изискванията.
  • Чанкирането се използва за откриване на обект. Обект е тази част от изречението, чрез която машината получава стойността за всяко намерение
  • Чанкирането се използва за категоризиране на различни жетони в един и същи парче.