如何使用Standford核心NLP for Python从一堆文件中提取一些公司的名称?
以下是我的数据示例:
“ 3Trucks Inc”(“ 3Trucks”或“ Company”)是具有技术支持的远程服务 B2B数字平台将货主与长途货运相匹配 需求和可以通过它们为他们提供服务的卡车所有者 内部开发的数字平台。3Trucks成立于2016年, 总部位于加利福尼亚,并在波士顿和 佛罗里达。他们的一些主要客户是Google,IBM和诺基亚
3Trucks成立于2010年,马克·罗伯特(Mark Robert)担任首席执行官,约翰 Mclean是合作伙伴兼CTO。'
我要输出以提取信息:
3Truck
我要输出用于关系提取:
('3truck', founded '2010'),
('John Mclean', 'Partner')
('3truck',client 'Google')
答案 0 :(得分:0)
通常,命名实体识别将用于此类应用程序,但是NER只能分类为某些类别。
from nltk import word_tokenize, pos_tag, ne_chunk
from nltk.chunk import tree2conlltags
sentence = "Mark and John are working at Google."
print(tree2conlltags(ne_chunk(pos_tag(word_tokenize(sentence))
"""[('Mark', 'NNP', 'B-PERSON'),
('and', 'CC', 'O'), ('John', 'NNP', 'B-PERSON'),
('are', 'VBP', 'O'), ('working', 'VBG', 'O'),
('at', 'IN', 'O'), ('Google', 'NNP', 'B-ORGANIZATION'),
('.', '.', 'O')] """
对于您的应用程序,您必须针对数据训练命名实体识别,您将要询问Training NER
答案 1 :(得分:0)
这很简单, 您可以使用Spacy NER(自然语言实体识别)来完成任务。它具有一组预定义的模型,可以识别不同的实体。