cpdoc / dhbb-nlp

processamentos DHBB
Other
5 stars 2 forks source link

outras ferramentas #62

Open arademaker opened 3 years ago

arademaker commented 3 years ago

Precisamos testar outras ferramentas. Hoje usamos

  1. openNLP para segmentação sentenças
  2. punkt (Haskell implementation, testando) para segmentação sentenças
  3. udpipe 1.X para analise de sentenças

A vantagem das ferramentas acimna é que sabemos não apenas usar mas treina-las com nossos dados (1 e 3 acima). Mas precisamos avaliar outras ferramentas.

https://stanfordnlp.github.io/stanza/index.html

No root do diretório cpdoc que tenho, onde abaixo clono os repositórios daqui, fiz:

% python3 -m venv venv
% source venv/bin/activate
% pip install --upgrade pip
% pip install stanza
% python

Depois no prompt do Python:

>>> import stanza
>>> stanza.download('pt')
...
>>> nlp = stanza.Pipeline('pt')
... (notem que os modelos foram treinados com o corpus Bosque)
>>> doc = nlp("«José Machado Coelho de Castro» nasceu em Lorena (SP).")
>>> doc
....

Depois seguindo instruções de https://stanfordnlp.github.io/stanza/data_conversion.html#conll-to-python-object, parece que seria fácil produzir um arquivo conllu:

>>> type(doc)
<class 'stanza.models.common.doc.Document'>
>>> dicts = doc.to_dict()
>>> conll = CoNLL.convert_dict(dicts)
>>> conll
...

Precisamos de um script python no src que leia um arquivo raw, use o Stanza para produzir um arquivo conllu.

arademaker commented 3 years ago

De acordo com https://link.springer.com/article/10.1007/s42600-020-00067-7 parece que vale a pena conhecer

https://github.com/flairNLP/flair

Não apenas para POS tagging mas também para NER

vcvpaiva commented 3 years ago

Seria muito melhor se a gente pudesse usar um NER open source pra esse projeto!

e seria muito bom tambem se esse NER modulo e o modulo de datas pudessem ser facilmente trocados e mudados de ordem. quanto mais plug-and-play esse pipeline puder ser, muito melhor.