相关疑难解决方法(0)

实体提取/识别使用免费工具同时喂养Lucene指数

我目前正在调查从文本中提取人名,位置,技术词和类别的选项(来自网络的大量文章),然后这些文章将被用于Lucene/ElasticSearch索引.然后将附加信息添加为元数据,并且应该提高搜索的精度.

例如,当有人查询"检票口"时,他应该能够决定他是指板球运动还是阿帕奇项目.到目前为止,我试图自己实现这一点并取得了一些成功.现在我找到了很多工具,但我不确定它们是否适合这项任务,哪些与Lucene集成良好,或者实体提取的精度是否足够高.

我的问题:

  • 有没有人对上面列出的一些工具及其精确/召回有经验?或者,如果需要培训数据+可用.
  • 是否有文章或教程可以为每个工具开始实体提取(NER)?
  • 他们如何与Lucene整合?

以下是与该主题相关的一些问题:

lucene nlp semantic-web mahout opennlp

44
推荐指数
1
解决办法
2万
查看次数

Python中NLTK的命名实体识别.识别NE

我需要将单词分类到他们的词性中.像动词,名词,副词等.我用过

nltk.word_tokenize() #to identify word in a sentence 
nltk.pos_tag()       #to identify the parts of speech
nltk.ne_chunk()      #to identify Named entities. 
Run Code Online (Sandbox Code Playgroud)

这是一棵树.例如

>>> sentence = "I am Jhon from America"
>>> sent1 = nltk.word_tokenize(sentence )
>>> sent2 = nltk.pos_tag(sent1)
>>> sent3 =  nltk.ne_chunk(sent2, binary=True)
>>> sent3
Tree('S', [('I', 'PRP'), ('am', 'VBP'), Tree('NE', [('Jhon', 'NNP')]), ('from', 'IN'), Tree('NE', [('America', 'NNP')])])
Run Code Online (Sandbox Code Playgroud)

访问此树中的元素时,我按如下方式执行:

>>> sent3[0]
('I', 'PRP')
>>> sent3[0][0]
'I'
>>> sent3[0][1]
'PRP'
Run Code Online (Sandbox Code Playgroud)

但是在访问命名实体时:

>>> sent3[2]
Tree('NE', [('Jhon', 'NNP')])
>>> sent3[2][0]
('Jhon', 'NNP')
>>> …
Run Code Online (Sandbox Code Playgroud)

python nlp named-entity-recognition nltk

20
推荐指数
1
解决办法
1万
查看次数