/ Модель

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

Контекст
512 токенов
Параметры
136 млн
Архитектура
bert · dense

ner_news_portuguese

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

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

377скачиваний за 30 дней10лайковвеса обновлены13 сен 2021

Бенчмарки

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

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

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

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

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

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

monilouise/ner_news_portuguese — дообученная версия BERTimbau для распознавания именованных сущностей в португалоязычных новостях. Модель относит токены к четырём классам: PERSON, ORGANIZATION, PUBLIC INSTITUTION и LOCAL, то есть распознаёт людей, организации, государственные учреждения и места. Архитектура — BERT для классификации токенов; размер составляет 136,1 млн параметров, длина контекста — до 512 токенов. Доступны веса PyTorch и Flax.

Модель предназначена для извлечения сущностей из новостных текстов, в частности материалов о мошенничестве и коррупции. В README приведены результаты оценки: accuracy 0,98, precision 0,86, recall 0,91 и F1 0,88. Обучение проводилось на корпусе примерно из 180 новостных статей, поэтому качество на других жанрах и типах текста может отличаться. Лицензия в предоставленных данных не указана.

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

  • извлечение имён людей из новостных статей на португальском языке
  • поиск организаций в публикациях о мошенничестве и коррупции
  • распознавание государственных учреждений в новостях
  • выделение упомянутых в статьях мест

Ограничения

Модель обучена на корпусе примерно из 180 новостных статей и ориентирована на сущности в новостях о мошенничестве и коррупции; качество на других текстах может отличаться. В README приведены метрики accuracy 0,98, precision 0,86, recall 0,91 и F1 0,88.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

RiskData Brazilian Portuguese NER

Model description

This is a finetunned version from [Neuralmind BERTimbau] (https://github.com/neuralmind-ai/portuguese-bert/blob/master/README.md) for Portuguese language.

Intended uses & limitations

How to use

from transformers import BertForTokenClassification, DistilBertTokenizerFast, pipeline
model = BertForTokenClassification.from_pretrained('monilouise/ner_pt_br')
tokenizer = DistilBertTokenizerFast.from_pretrained('neuralmind/bert-base-portuguese-cased'
                                                    , model_max_length=512
                                                    , do_lower_case=False
                                                    )
nlp = pipeline('ner', model=model, tokenizer=tokenizer, grouped_entities=True)
result = nlp("O Tribunal de Contas da União é localizado em Brasília e foi fundado por Rui Barbosa.")

Limitations and bias

  • The finetunned model was trained on a corpus with around 180 news articles crawled from Google News. The original project's purpose was to recognize named entities in news related to fraud and corruption, classifying these entities in four classes: PERSON, ORGANIZATION, PUBLIC INSITUITION and LOCAL (PESSOA, ORGANIZAÇÃO, INSTITUIÇÃO PÚBLICA and LOCAL).

Training procedure

Eval results

accuracy: 0.98, precision: 0.86 recall: 0.91 f1: 0.88

The score was calculated using this code:

    def align_predictions(predictions: np.ndarray, label_ids: np.ndarray) -> Tuple[List[int], List[int]]:
        preds = np.argmax(predictions, axis=2)
        batch_size, seq_len = preds.shape
        out_label_list = [[] for _ in range(batch_size)]
        preds_list = [[] for _ in range(batch_size)]

        for i in range(batch_size):
            for j in range(seq_len):
                if label_ids[i, j] != nn.CrossEntropyLoss().ignore_index:
                    out_label_list[i].append(id2tag[label_ids[i][j]])
                    preds_list[i].append(id2tag[preds[i][j]])

        return preds_list, out_label_list

    def compute_metrics(p: EvalPrediction) -> Dict:
        preds_list, out_label_list = align_predictions(p.predictions, p.label_ids)
        return {
            "accuracy_score": accuracy_score(out_label_list, preds_list),
            "precision": precision_score(out_label_list, preds_list),
            "recall": recall_score(out_label_list, preds_list),
            "f1": f1_score(out_label_list, preds_list),
        }

BibTeX entry and citation info

For further information about BERTimbau language model:

@inproceedings{souza2020bertimbau,
    author    = {Souza, F{\'a}bio and Nogueira, Rodrigo and Lotufo, Roberto},
    title     = {{BERT}imbau: pretrained {BERT} models for {B}razilian {P}ortuguese},
    booktitle = {9th Brazilian Conference on Intelligent Systems, {BRACIS}, Rio Grande do Sul, Brazil, October 20-23 (to appear)},
    year      = {2020}
}

@article{souza2019portuguese,
    title={Portuguese Named Entity Recognition using BERT-CRF},
    author={Souza, F{\'a}bio and Nogueira, Rodrigo and Lotufo, Roberto},
    journal={arXiv preprint arXiv:1909.10649},
    url={http://arxiv.org/abs/1909.10649},
    year={2019}
}

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

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

GPU в ailist

Универсальный рантайм · token-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForTokenClassification
Ревизия весов
3d99719

0 моделей