我正在尝试用一些不同的国家货币更新现有的spacy模型“en_core_web_sm”,例如“euro”,“rupees”,“eu”,“Rs。”,“INR”等。我怎样才能实现这一目标? spacy教程并不能帮助我,因为训练固定字符串如“马”作为“动物”似乎与我的要求不同。原因是我可以使用不同格式的货币值:“100万欧元”,“10,000卢比”,“1千卢比”等。我的样本数据集包含大约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')] }),...
]
有人可以用数据格式,培训规模或任何其他相关信息帮助我吗?
答案 0 :(得分:1)
文档中的示例应该适合您。我稍微修改了它以匹配您的变量名称。
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')