我需要使用NLP识别一些给定的单词。 例如,
玛丽住在法国
如果我们在这里考虑给定的单词,则是澳大利亚,德国,法国。但是这句话只包括法国。
因此,在上述3个给定单词中,我需要识别的句子仅包括法国
答案 0 :(得分:0)
我会发表评论,但是我没有足够的声誉。您究竟要在这里实现什么以及您的示例的代表性如何还不清楚,请编辑您的问题以使其更清楚。
无论如何,就像Guy Coder所说的那样,如果您完全知道要查找的词,那么您根本就不需要机器学习或NLP库。但是,如果不是这种情况,并且您不知道要查找的每个示例,则以下内容可能会有所帮助:
您似乎想执行的操作是执行命名实体识别(NER),即在句子中标识命名实体(例如国家/地区)。如果是这样,简短的答案是:您不需要使用任何机器学习算法。您可以只使用一个spaCy
之类的python库,它带有预先训练的语言模型,该模型可以执行很多任务,例如NER,以提高性能。以下代码段将帮助您入门:
import spacy
nlp = spacy.load('en')
doc = nlp("Mary Lives in France")
for entity in doc.ents:
if (entity.label_ == "GPE"):
print(entity.text)
以上代码段的输出为“ France”。命名实体涵盖了许多可能的事物。在上面的代码段中,我已经过滤了地缘政治实体(GPE)。
在https://spacy.io/usage/spacy-101上了解有关spaCy
的更多信息