如何从手动训练的 spacy 模型进行预测

how to predict from manually trained spacy model

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

有人可以帮忙吗?

TRAIN_DATA = [
    ("Uber blew through  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)

您需要将训练好的模型保存到磁盘。然后,您将使用 spacy.load("path/to/model/") 而不是 spacy.blank("en")。执行此操作后,您将能够使用您保存的模型。