Qual é o chunker padrão para NLTK kit de ferramentas em Python?
Pergunta
Eu estou usando sua marcação POS padrão e padrão tokenization..and parece suficiente. Eu gostaria seu chunker padrão também.
Estou lendo o livro NLTK kit de ferramentas, mas não parece que eles têm um chunker padrão?
Solução
Você pode sair da caixa chamado chunking entidade com o método nltk.ne_chunk (). É preciso uma lista de POS marcado tuplas:
nltk.ne_chunk([('Barack', 'NNP'), ('Obama', 'NNP'), ('lives', 'NNS'), ('in', 'IN'), ('Washington', 'NNP')])
resulta em:
Tree('S', [Tree('PERSON', [('Barack', 'NNP')]), Tree('ORGANIZATION', [('Obama', 'NNP')]), ('lives', 'NNS'), ('in', 'IN'), Tree('GPE', [('Washington', 'NNP')])])
Ele identifica Barack como uma pessoa, mas Obama como uma organização. Então, não perfeito.
Outras dicas
Eu não poderia encontrar um analisador chunker default / rasa também. Embora o livro descreve como construir e um trem com exemplos de recursos. Chegando-se com recursos adicionais para obter um bom desempenho não deve ser muito difícil.
seçãoVeja o Capítulo 7 no Training Chunkers baseado em classificador .