命名实体提取 - 货币

时间:2017-01-04 04:01:43

标签: stanford-nlp named-entity-recognition alchemyapi

我有一个非常简单的问题 - 在文本中识别货币/货币。 样本测试案例:" 零用钱每年不应超过4000卢比(100美元)。" 默认的斯坦福解析器失败 - 在线 - (使用7类模型,包括货币)http://nlp.stanford.edu:8080/ner/process - 仅适用于" $ 100"等文本。

在Alchemy演示网站上,https://alchemy-language-demo.mybluemix.net/," $ 100"被认可为实体,而" 100美元"被认可为概念 - 美元

1 个答案:

答案 0 :(得分:1)

不确定这是否在所有时间之后仍然有用,但是这里是:

我认为您有两种选择:

1)用“ $”替换“ USD”-这是一个简单的查找和替换,可以在您可能使用的任何工具中完成。

2)使用其他工具或程序。

斯坦福大学NLP很棒,但也有其他可用工具。

根据要使用的系统/语言,有许多软件包已为您完成工作。

对于Python,我建议使用SpaCy


# pip install spacy
# python -m spacy download en_core_web_sm

import spacy

# Load English tokenizer, tagger, parser, NER and word vectors

nlp = spacy.load("en_core_web_sm")

text = "Pocket money should NOT exceed INR 4000 (USD 100) per annum."

doc = nlp(text)

print("Money in USD:", [ent.lemma_ for ent in doc if ent.ent_type_ == "MONEY"])
# Money in USD: ['100']

这只是一个简单的示例,您可以找到更详细的脚本here