Почему 'las', 'uas' и 'tags_acc' равны 0 при оценке с использованием модели NER в spacy? - PullRequest
0 голосов
/ 08 декабря 2018
import spacy
from spacy.gold import GoldParse
from spacy.scorer import Scorer
from spacy.attrs import ENT_IOB, ENT_TYPE
from spacy.tokens import Span
nlp = spacy.load('en_core_web_sm')

def evaluate(ner_model, examples):
    scorer = Scorer()
    for input_, annot in examples:
        doc_gold_text = ner_model.make_doc(input_)
        gold = GoldParse(doc_gold_text, entities=annot)
        pred_value = ner_model(input_)
        scorer.score(pred_value, gold)
    return scorer.scores

examples = [
    ('I like London and Berlin. India',   
     [(7, 13, 'GPE'), (18, 24, 'LOC')])]

ner_model = spacy.load('en_core_web_sm') 'en_core_web_sm'
results = evaluate(ner_model, examples)
results

Результаты: {'ents_f': 40.0, 'ents_p': 33.33333333333333, 'ents_r': 50.0, 'las': 0.0, 'tags_acc': 0.0, 'token_acc': 100.0, 'uas': 0.0} Почему 'las', 'uas' и 'tags_acc' равны 0 независимо от того, сколько предложений пропущено для оценки. enter code here

1 Ответ

0 голосов
/ 14 июня 2019

При оценке модели, которая обучается для NER, а не для маркировки POS или анализа зависимостей, которые определяются следующим образом: uas, las, tags_acc: UAS (оценка без маркировки) и LAS (маркированная оценка вложений) являются стандартными показателямиоценить разбор зависимостей.UAS - это доля токенов, голова которых была правильно назначена, LAS - это доля токенов, голова которых была правильно назначена с правильной меткой зависимости (субъект, объект и т. Д.).tags_acc - это точность маркировки POS.

...