/ Модель

Характеристики

Размер весов
72,9 МБ
Опубликована
2 мар 2022

upos-english-fast

Разметка токеновТекст → label3 профессии

Быстрая модель Flair размечает слова английского текста универсальными тегами частей речи.

557скачиваний за 30 дней5лайковвеса обновлены7 апр 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Это быстрая модель разметки частей речи для английского языка, поставляемая вместе с библиотекой Flair. Она предсказывает универсальные POS-теги для слов в предложении и обучена на датасете OntoNotes. Архитектура сочетает Flair embeddings и LSTM-CRF; в README указан F1-score 98,47 на OntoNotes.

Модель предназначена для морфосинтаксической разметки английского текста в NLP-конвейерах, например для подготовки корпусов и извлечения грамматических признаков. Она работает в формате PyTorch и используется через Flair. Сведения о лицензии и ограничениях применения в предоставленных материалах отсутствуют.

Сценарии применения

  • разметка частей речи в английских предложениях
  • подготовка английских корпусов для NLP
  • извлечение грамматических признаков из текста

Ограничения

Модель предназначена для английского языка и предсказывает только POS-теги. Условия лицензирования не приведены в предоставленных материалах.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

English Universal Part-of-Speech Tagging in Flair (fast model)

This is the fast universal part-of-speech tagging model for English that ships with Flair.

F1-Score: 98,47 (Ontonotes)

Predicts universal POS tags:

tagmeaning
ADJadjective
ADPadposition
ADVadverb
AUXauxiliary
CCONJcoordinating conjunction
DETdeterminer
INTJinterjection
NOUNnoun
NUMnumeral
PARTparticle
PRONpronoun
PROPNproper noun
PUNCTpunctuation
SCONJsubordinating conjunction
SYMsymbol
VERBverb
Xother

Based on Flair embeddings and LSTM-CRF.


Demo: How to use in Flair

Requires: Flair (pip install flair)

from flair.data import Sentence
from flair.models import SequenceTagger

# load tagger
tagger = SequenceTagger.load("flair/upos-english-fast")

# make example sentence
sentence = Sentence("I love Berlin.")

# predict NER tags
tagger.predict(sentence)

# print sentence
print(sentence)

# print predicted NER spans
print('The following NER tags are found:')
# iterate over entities and print
for entity in sentence.get_spans('pos'):
    print(entity)

This yields the following output:

Span [1]: "I"   [− Labels: PRON (0.9996)]
Span [2]: "love"   [− Labels: VERB (1.0)]
Span [3]: "Berlin"   [− Labels: PROPN (0.9986)]
Span [4]: "."   [− Labels: PUNCT (1.0)]

So, the word "I" is labeled as a pronoun (PRON), "love" is labeled as a verb (VERB) and "Berlin" is labeled as a proper noun (PROPN) in the sentence "I love Berlin".


Training: Script to train this model

The following Flair script was used to train this model:

from flair.data import Corpus
from flair.datasets import ColumnCorpus
from flair.embeddings import WordEmbeddings, StackedEmbeddings, FlairEmbeddings

# 1. load the corpus (Ontonotes does not ship with Flair, you need to download and reformat into a column format yourself)
corpus: Corpus = ColumnCorpus(
                "resources/tasks/onto-ner",
                column_format={0: "text", 1: "pos", 2: "upos", 3: "ner"},
                tag_to_bioes="ner",
            )

# 2. what tag do we want to predict?
tag_type = 'upos'

# 3. make the tag dictionary from the corpus
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)

# 4. initialize each embedding we use
embedding_types = [

    # contextual string embeddings, forward
    FlairEmbeddings('news-forward-fast'),

    # contextual string embeddings, backward
    FlairEmbeddings('news-backward-fast'),
]

# embedding stack consists of Flair and GloVe embeddings
embeddings = StackedEmbeddings(embeddings=embedding_types)

# 5. initialize sequence tagger
from flair.models import SequenceTagger

tagger = SequenceTagger(hidden_size=256,
                        embeddings=embeddings,
                        tag_dictionary=tag_dictionary,
                        tag_type=tag_type)

# 6. initialize trainer
from flair.trainers import ModelTrainer

trainer = ModelTrainer(tagger, corpus)

# 7. run training
trainer.train('resources/taggers/upos-english-fast',
              train_with_dev=True,
              max_epochs=150)

Cite

Please cite the following paper when using this model.

@inproceedings{akbik2018coling,
  title={Contextual String Embeddings for Sequence Labeling},
  author={Akbik, Alan and Blythe, Duncan and Vollgraf, Roland},
  booktitle = {{COLING} 2018, 27th International Conference on Computational Linguistics},
  pages     = {1638--1649},
  year      = {2018}
}

Issues?

The Flair issue tracker is available here.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели Flair требуют отдельного рантайма.

Ревизия весов
8748c22

0 моделей