Doccano: Solicitação de recurso: saída de nível de token

Criado em 3 out. 2019  ·  4Comentários  ·  Fonte: doccano/doccano

Descrição do recurso

doccano atualmente exibe apenas anotações em nível de caractere. No entanto, alguns fluxos de trabalho usados ​​para PNL requerem entrada como listas de palavras e lista de rótulos de tokens:

Sample sentence: 
['Two', ',', 'Samsung', 'based', ',', 'electronic', 'cash', 'registers', 'were', 'reconstructed', 'in', 'order', 'to', 'expand', 'their', 'functions', 'and', 'adapt', 'them', 'for', 'networking', '.']

Sample sentence labels: 
['O', 'O', 'I-ORG', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O']

É mencionado em uma edição anterior (# 7) que isso foi feito assim devido ao fato de que algumas linguagens não são separadas por espaço. Acho que seria bom ter a opção e os usuários de fazer anotações em linguagens separadas por espaço podem usar isso para uma entrada contínua em seu fluxo de trabalho.

Exemplo retirado de: https://github.com/microsoft/nlp/blob/master/examples/named_entity_recognition/ner_wikigold_bert.ipynb

feature request

Comentários muito úteis

Tenho um plano para criar um novo pacote Python denominado doccano-transformer .
Ele transformará documentos anotados em outros formatos, como https://github.com/chakki-works/doccano/issues/362 , https://github.com/chakki-works/doccano/issues/454 e assim por diante. Portanto, a saída do nível do token deve ser incluída em doccano-transformer .

Todos 4 comentários

Olá! Escrevi algo semelhante para mim e adoraria contribuir com RP :) No entanto, não tenho certeza de como lidar com tokens mal rotulados. Ou seja, e se um token foi marcado apenas parcialmente? Para meus próprios objetivos, imprimo o token com rótulo incorreto, que é um aviso para o usuário de um script, e elimino a anotação do token, mas em uma produção isso não é um caminho a percorrer.

A outra coisa é: o que deve ser um token de "não entidade"? 'O' ? Então, devemos evitar que o usuário adicione esse rótulo, o que pode ser enganoso para algumas pessoas. Ou talvez devêssemos criar o formulário onde o próprio usuário pode fornecer o token? Ou deixe em branco?

Acho que essa solicitação de recurso é ótima, mas devemos concordar como exatamente lidar com isso: sorria: eu adoraria ler suas sugestões

Tenho um plano para criar um novo pacote Python denominado doccano-transformer .
Ele transformará documentos anotados em outros formatos, como https://github.com/chakki-works/doccano/issues/362 , https://github.com/chakki-works/doccano/issues/454 e assim por diante. Portanto, a saída do nível do token deve ser incluída em doccano-transformer .

Alguma atualização sobre isso? Eu gostaria de importar um conjunto de dados simplesmente como .txt (em que cada linha é uma frase):

George Washington went to Washington.
Sam Houston stayed home.

... e exporte-o (após anotação) da seguinte forma, também em um .txt:

George B-PER
Washington I-PER
went O
to O
Washington B-LOC

Sam B-PER
Houston I-PER
stayed O
home O

Em outras palavras, exporte no conhecido formato de anotação IOB. Portanto, para isso, Doccano deve saber automaticamente que se uma entidade anotada compreende mais de 1 token deve ser anotada com os rótulos B (início) e I (dentro). Além disso, existem esquemas de anotação mais sofisticados além do IOB, como BIOES. Aqui, S (único) é usado para representar um trecho contendo um único token. O esquema de anotação BIOES resultaria no seguinte:

George B-PER
Washington E-PER
went O
to O
Washington S-LOC

Sam B-PER
Houston E-PER
stayed O
home O

Seria incrível se eu pudesse exportar conjuntos de dados anotados nos formatos IOB ou BIOES (ou outros). Muitas bibliotecas de última geração para NER requerem anotação em nível de token para treinar modelos (Flair de Zalando, Transformers de HuggingFace, ...).

Lançamos doccano-transformer . Ele oferece suporte à transformação de dados. Atualmente, as tarefas com suporte são chamadas de reconhecimento de entidade e os formatos com suporte são CoNLL2003 e spaCy.

Temos um plano para estender tarefas e formatos.
Por favor, aguarde por isso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

callmeashish picture callmeashish  ·  3Comentários

dveselov picture dveselov  ·  4Comentários

JordanSimba picture JordanSimba  ·  4Comentários

BrambleXu picture BrambleXu  ·  4Comentários

rebby123 picture rebby123  ·  3Comentários