0

我有以下代码来创建和训练一个新的 spacy 模型。我不知道如何从新文本中预测实体?

有人可以帮忙吗?

TRAIN_DATA = [
    ("Uber blew through $1 million a week", [(0, 4, 'ORG')]),
    ("Android Pay expands to Canada", [(0, 11, 'PRODUCT'), (23, 30, 'GPE')]),
    ("Spotify steps up Asia expansion", [(0, 8, "ORG"), (17, 21, "LOC")]),
    ("Google Maps launches location sharing", [(0, 11, "PRODUCT")]),
    ("Google rebrands its business apps", [(0, 6, "ORG")]),
    ("look what i found on google!", [(21, 27, "PRODUCT")])]

nlp = spacy.blank("en")
optimizer = nlp.begin_training()
from spacy.gold import GoldParse  #<--- add this

for i in range(20):
    random.shuffle(TRAIN_DATA)
    for text, annotations in TRAIN_DATA:
        text = nlp.make_doc(text)
        gold = GoldParse(text, entities=annotations)  #<--- add this
        nlp.update([text], [gold], sgd=optimizer)
4

1 回答 1

0

您需要将训练好的模型保存到磁盘。然后,spacy.blank("en")您将使用spacy.load("path/to/model/"). 一旦你这样做,你将能够使用你保存的模型。

于 2020-06-24T19:33:12.930 回答