Active learning for Doccano, based on spacy NER.
INSTALL:
- create a
.env
file in the project root dir with a text like this:
ALLOW_SIGNUP=False
DATABASE_URL=postgres://username:password@host:5432/dbname?sslmode=disable
- run
make setup
Some dependencies it uses: gensim, compress-fasttext, spacy, django
Документация (пока что на русском).
требуемые статусы документов:
документ не размечен -> (начали разметку) ->
документ размечается -> (закончили разметку) ->
разметка подтверждёна
Поэтому, если вы не подтверждаете разметку, есть скрипт bin.fix_unapproved , его нужно один раз применить на проекты, и тогда он для каждой записи, где были какие-то аннотации, поставит статус "Approved".
Этот статус отображается значком thumbs up в списке слева: 👍
А документы, которые "в процессе разметки", отмечаются галочкой ☑️
Автоматическая разметка ставит на документ статус "документ размечается" (так устроен доккано).
Команда: .venv/bin/python -m bin.update
Аргументы:
-m MAX_UPDATE, --max_update MAX_UPDATE — сколько неподтверждённых (неразмеченных) документов обновлять
-w, --watch Watchdog: reapply the auto-labeling when adding/approving a document.
Watchdog следит, не изменилось ли количество неразмеченных документов. Если изменилось — запускает авторазметку заново.
Также авторазмеченные документы сортируются по дате модификации, самый неопределённо-размеченный документ (имеющий максимальную оценку неопределённости после разметки) имеет максимальную дату модификации. Его важнее всего доразметить.
Документы, имеющие на момент авторазметки статус "подтверждён", не обновляются при авторазметке.
.venv/bin/python -m bin.add
— добавить jsonl-документы из stdin (не делает авторазметку)
.venv/bin/python -m bin.dump
— сохранить jsonl-документы из проекта в stdout.
.venv/bin/python -m bin.del
— удалить неподтверждённые документы из базы данных.
.venv/bin/python -m bin.save_lenta
— загрузить тестовые размеченные документы из датасета lenta_ru .