代码之家  ›  专栏  ›  技术社区  ›  Lau Kumra

如何为货币重新训练现有spacy-NER模型

  •  3
  • Lau Kumra  · 技术社区  · 7 年前

    我正在尝试用一些不同的国家货币,如“欧元”、“卢比”、“欧盟”、“卢比”、“印度卢比”等,更新现有的spacy模型“en\u core\u web\u sm”。我如何才能做到这一点?spacy教程对我帮助不大,因为将“马”等固定字符串训练为“动物”似乎与我的要求不同。原因是我可以使用不同格式的货币值:“100万欧元”、“10000卢比”、“1000卢比”等。我的样本数据集包含约1000个样本,格式如下:

    TRAIN_DATA = [      
     (" You have activated International transaction limit for Debit Card ending XXXX1137 on 2017-07-05 12:48:20.0 via NetBanking. The new limit is Rs. 250,000.00", {'entities' : [(140, 154, 'MONEY')] }),...
    ]
    

    有谁能帮我了解一下数据格式、培训规模或其他相关信息吗?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Nate Raw    7 年前

    文档中的示例应该适合您。我对它做了一些修改,以匹配变量名。

    optimizer = nlp.begin_training()
    
    for itn in range(100):
        random.shuffle(train_data)
        for raw_text, entity_offsets in TRAIN_DATA:
            doc = nlp.make_doc(raw_text)
            gold = GoldParse(doc, entities=entity_offsets)
            nlp.update([doc], [gold], drop=0.5, sgd=optimizer)
    nlp.to_disk('/model')
    

    Link to Documentation