POS Tagging with NLTK and Chunking in NLP [EXEMPLOS]

POS Tagging

POS Tagging (Parts of Speech Tagging) é um processo para marcar as palavras em formato de texto para uma determinada parte de um discurso com base na sua definição e contexto. É responsável pela leitura do texto numa língua e pela atribuição de algum token específico (Partes da Fala) a cada palavra. Também é chamado de marcação gramatical.

Vamos aprender com uma Parte da Fala NLTK exemplo:

Entrada: Tudo para nos permitir.

Entrada:

Passos envolvidos no exemplo de tagging POS:

  • Tokenize text (word_tokenize)
  • aplicar pos_tag ao passo acima que é nltk.pos_tag(tokenize_text)

NLTK POS Tags Exemplos de Tags são como abaixo:

Abbreviation Meaning
CC coordenação de conjunção
CD dígito cardinal
DT determinador
EX existente ali
FW palavra externa
IN preposição/subordinada conjunção
JJJ Esta etiqueta NLTK POS é um adjectivo (grande)
JJR adjectivo, comparativo (maior)
JJS adjectivo, superlativo (maior)
LS lista de mercado
MD modal (poderia, irá)
NN nome, singular (gato, árvore)
NNS substantivo plural (escrivaninhas)
NNP substantivo de cobre, singular (sarah)
NNPS substantivo de próper, plural (índios ou americanos)
PDT predeterminador (todos, ambos, metade)
POS final possessivo (pai\’)
PRP pronome pessoal (dela, ela própria, ele próprio)
PRP$ pronome possessivo (dela, dele, meu, meu, nosso)
RB adverb (ocasionalmente, rapidamente)
RBR adverb, comparativo (maior)
RBS adverb, superlativo (maior)
RP partícula (aproximadamente)
TO infinito marcador (até)
UH interjeição (adeus)
VB verb (perguntar)
VBG verb gerúndio (julgando)
VBD verb pretérito (pleiteado)
VBN verb particípio passado (reunificado)
VBP verb, presente tenso não 3ª pessoa do singular(embrulho)
VBZ verb, presente tenso com 3ª pessoa do singular(bases)
WDT wh-determiner (que, o quê)
WP wh- pronome (quem)
WRB wh- advérbio (como)

A lista de etiquetas NLTK POS acima contém todas as etiquetas NLTK POS. O tagger NLTK POS é usado para atribuir informações gramaticais de cada palavra da frase. Instalar, Importar e baixar todos os pacotes de NLTK POS está completo.

O que é o Chunking em NLP?

Chunking em NLP é um processo para pegar pequenos pedaços de informação e agrupá-los em unidades grandes. O principal uso do Chunking é fazer grupos de “frases de substantivos”. Ele é usado para adicionar estrutura à frase, seguindo a tagging POS combinada com expressões regulares. O grupo de palavras resultante é chamado de “pedaços”. Também é chamado de parsing rasa.

Na análise rasa, há no máximo um nível entre raízes e folhas, enquanto a análise profunda compreende mais de um nível. A análise rasa também é chamada de análise leve ou análise em pedaços.

Regras para a análise de pedaços:

Não há regras pré-definidas, mas você pode combiná-las de acordo com a necessidade e a exigência.

Por exemplo, você precisa marcar substantivo, verbo (pretérito), adjetivo e junção de coordenação a partir da frase. Você pode usar a regra como abaixo

chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}

A tabela a seguir mostra o significado dos vários símbolos:

Nome do símbolo Descrição
. Cada carácter excepto nova linha
* Match 0 ou mais repetições
? Match 0 ou 1 repetições

Agora vamos escrever o código para entender melhor a regra

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:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Saída

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

A conclusão da parte acima do exemplo de Python de marcação de fala: “make” é um verbo que não está incluído na regra, portanto não é marcado como mychunk

Use Case of Chunking

Chunking é usado para detecção de entidades. Uma entidade é aquela parte da frase pela qual a máquina obtém o valor para qualquer intenção

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

Em outras palavras, o chunking é usado como seleção dos subconjuntos de fichas. Por favor, siga o código abaixo para entender como o chunking é usado para selecionar os tokens. Neste exemplo, você verá o gráfico que corresponderá a um trecho de uma frase substantivo. Iremos escrever o código e desenhar o gráfico para melhor compreensão.

Código para demonstrar caso de uso

 import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {<DT>?<JJ>*<NN>}"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 

Saída:

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

Gráfico

Gráfico de Frase do substantivo

Do gráfico, podemos concluir que “aprender” e “guru99” são dois símbolos diferentes, mas são categorizados como Frase do substantivo, enquanto o símbolo “de” não pertence à Frase do substantivo.

Chunking é usado para categorizar diferentes tokens no mesmo pedaço. O resultado dependerá da gramática que tiver sido selecionada. Mais um trecho NLTK é usado para marcar padrões e para explorar corpora de texto.

Resumo

  • POS Tagging in NLTK é um processo para marcar as palavras em formato texto para uma determinada parte de um discurso baseado na sua definição e contexto.
  • São alguns exemplos de tagging NLTK POS: CC, CD, EX, JJ, MD, NNP, PDT, PRP$, TO, etc.
  • POS tagger é usado para atribuir informação gramatical de cada palavra da frase. Instalar, Importar e baixar todos os pacotes de Part of Speech tagging com NLTK está completo.
  • Chunking em NLP é um processo para pegar pequenas informações e agrupá-las em unidades grandes.
  • Não há regras pré-definidas, mas você pode combiná-las de acordo com a necessidade e exigência.
  • Chunking é usado para detecção de entidades. Uma entidade é aquela parte da frase pela qual a máquina obtém o valor para qualquer intenção
  • Chunking é usado para categorizar diferentes fichas no mesmo pedaço.

Deixe uma resposta

O seu endereço de email não será publicado.