В любом случае я могу загрузить модель, обученную в eBrevia, в CoreNLP или Spacy? - PullRequest
0 голосов
/ 03 октября 2019

У меня есть обученная модель для распознавания имен (NER) из eBrevia. Мне интересно, есть ли способ, которым я могу загрузить его в CoreNLP или Spacy, используя Python или Java программно.

Редактировать: Если предварительно обученная модель представляет собой модель рассола, могу ли я использовать Corenlp или Spacy для ее загрузки?

Заранее спасибо!

1 Ответ

0 голосов
/ 03 октября 2019

С помощью spaCy (Python) вы сможете написать собственный компонент и внедрить в него оболочку для текущей модели NER. Пользовательские компоненты всегда принимают doc в качестве входных данных, изменяют его и возвращают. Это позволяет объединять как пользовательские, так и готовые компоненты.

Например, если ваша модель NER принимает в качестве входных данных список токенов и возвращает список их BILUO-тегов , вы можете обернуть эту модель следующим образом:

from spacy.gold import offsets_from_biluo_tags

def custom_ner_wrapper(doc):
    words = [token.text for token in doc]
    custom_entities = your_custom_ner_model(words)    
    doc.ents = spans_from_biluo_tags(doc, custom_entities)    
    return doc

Как только вы определили этот пользовательский компонент конвейера с именем custom_ner_wrapper, вы должны добавить его в свой nlp конвейер следующим образом:

nlp.add_pipe(custom_ner_wrapper)

Более подробную информацию можно найти здесь: https://spacy.io/usage/processing-pipelines#wrapping-models-libraries

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...