Doccano: Запрос функции: вывод уровня токена

Созданный на 3 окт. 2019  ·  4Комментарии  ·  Источник: doccano/doccano

Описание функции

doccano в настоящее время выводит только аннотации на уровне персонажей. Однако некоторые рабочие процессы, используемые для НЛП, требуют ввода в виде списков слов и списка меток токенов:

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']

В более раннем выпуске (№7) упоминается, что это было сделано таким образом из-за того, что некоторые языки не разделены пробелами. Я думаю, было бы хорошо иметь возможность, и пользователи, которые аннотируют языки, разделенные пробелами, могут использовать ее для беспрепятственного ввода в свой рабочий процесс.

Пример взят из: https://github.com/microsoft/nlp/blob/master/examples/ named_entity_recognition/ner_wikigold_bert.ipynb

feature request

Самый полезный комментарий

У меня есть план создать новый пакет Python с именем doccano-transformer .
Он преобразует аннотированные документы в другие форматы, такие как https://github.com/chakki-works/doccano/issues/362 , https://github.com/chakki-works/doccano/issues/454 и так далее. Итак, вывод уровня токена должен быть включен в doccano-transformer .

Все 4 Комментарий

Всем привет! Я написал нечто подобное для себя, и я хотел бы внести свой вклад в PR :) Однако я не уверен, как обращаться с неправильно маркированными токенами. А именно, что если токен был помечен только частично? Для своих целей я распечатываю неверно маркированный токен, который является предупреждением для пользователя скрипта, и отбрасываю аннотацию токена, но в производственной среде это не выход.

Другое дело, каким должен быть токен «не-сущности»? 'O' ? Затем мы должны запретить пользователю добавлять такую ​​метку, которая может ввести в заблуждение некоторых людей. Или, может быть, нам стоит создать форму, в которой пользователь сам может предоставить токен? Или оставьте поле пустым?

Я думаю, что эта функция - отличная просьба, но мы должны договориться, как именно с этим справиться: smile: Я хотел бы прочитать ваши предложения

У меня есть план создать новый пакет Python с именем doccano-transformer .
Он преобразует аннотированные документы в другие форматы, такие как https://github.com/chakki-works/doccano/issues/362 , https://github.com/chakki-works/doccano/issues/454 и так далее. Итак, вывод уровня токена должен быть включен в doccano-transformer .

Есть обновления по этому поводу? Я хотел бы импортировать набор данных просто как .txt (в котором каждая строка представляет собой предложение):

George Washington went to Washington.
Sam Houston stayed home.

... и экспортируйте его (после аннотирования) следующим образом, также в .txt:

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

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

Другими словами, экспорт в широко известном формате аннотаций IOB. Поэтому для этого Doccano должен автоматически знать, что если аннотированный объект содержит более 1 токена, он должен быть аннотирован метками B (начало) и I (внутри). Кроме того, существуют более сложные схемы аннотаций, помимо IOB, такие как BIOES. Здесь S (single) используется для представления фрагмента, содержащего один токен. Схема аннотации BIOES приведет к следующему:

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

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

Было бы здорово, если бы я мог экспортировать аннотированные наборы данных в форматах IOB или BIOES (или других). Многие современные библиотеки для NER требуют аннотации на уровне токенов для обучения моделей (Flair от Zalando, Transformers от HuggingFace, ...).

Мы выпустили доккано-трансформер . Он поддерживает преобразование данных. В настоящее время поддерживаемые задачи называются распознаванием сущностей, а поддерживаемые форматы - CoNLL2003 и spaCy.

У нас есть план по расширению задач и форматов.
Пожалуйста, с нетерпением ждите этого.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги