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.