标签: opennlp

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

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

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

我的问题:

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

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

lucene nlp semantic-web mahout opennlp

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

如何检测两个句子是否相似?

我想计算两个任意句子彼此之间的相似程度.例如:

  1. 一位数学家找到了解决问题的方法.
  2. 这个问题是由一位年轻的数学家解决的.

我可以使用标记器,词干分析器和解析器,但我不知道如何检测这些句子是否相似.

nlp similarity stanford-nlp opennlp

22
推荐指数
2
解决办法
9653
查看次数

使用Stanford NLP训练n-gram NER

最近,我一直在尝试使用Stanford Core NLP训练n-gram实体.我已经按照以下教程 - http://nlp.stanford.edu/software/crf-faq.shtml#b

有了这个,我只能指定unigram令牌及其所属的类.任何人都可以指导我,以便我可以将它扩展到n-gram.我试图从聊天数据集中提取电影名称等已知实体.

如果我错误地解释了斯坦福教程,请指导我,同样可以用于n-gram培训.

我坚持的是以下属性

#structure of your training file; this tells the classifier
#that the word is in column 0 and the correct answer is in
#column 1
map = word=0,answer=1
Run Code Online (Sandbox Code Playgroud)

例如,第一列是单词(unigram),第二列是实体

CHAPTER O
I   O
Emma    PERS
Woodhouse   PERS
Run Code Online (Sandbox Code Playgroud)

现在我需要训练像Hulk,Titanic等已知实体(比如电影名称)作为电影,这种方法很容易.但是如果我需要训练我知道你去年夏天做什么或者宝宝出去什么,最好的办法是什么?

nlp named-entity-recognition stanford-nlp named-entity-extraction opennlp

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

在opennlp中训练自己的模型

我发现很难创建自己的模型openNLP.任何人都可以告诉我,如何拥有模型.如何进行训练.

应该输入什么以及输出模型文件将存储在何处.

model file opennlp

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

如何在Java中使用OpenNLP?

我想要POStag一个英文句子并做一些处理.我想使用openNLP.我安装了它

当我执行命令

I:\Workshop\Programming\nlp\opennlp-tools-1.5.0-bin\opennlp-tools-1.5.0>java -jar opennlp-tools-1.5.0.jar POSTagger models\en-pos-maxent.bin < Text.txt
Run Code Online (Sandbox Code Playgroud)

它为Text.txt中的输入提供输出POSTagging

    Loading POS Tagger model ... done (4.009s)
My_PRP$ name_NN is_VBZ Shabab_NNP i_FW am_VBP 22_CD years_NNS old._.


Average: 66.7 sent/s
Total: 1 sent
Runtime: 0.015s
Run Code Online (Sandbox Code Playgroud)

我希望它安装得当吗?

现在我如何从java应用程序内部执行此操作?我已将openNLPtools,jwnl,maxent jar添加到项目中,但我如何调用POStagging?

java nlp pos-tagger opennlp

18
推荐指数
2
解决办法
3万
查看次数

如何在OpenNLP中创建一个良好的NER培训模型?

我刚开始使用OpenNLP.我需要创建一个简单的训练模型来识别名称实体.

在这里阅读文档https://opennlp.apache.org/docs/1.8.0/apidocs/opennlp-tools/opennlp/tools/namefind我看到这个简单的文本来训练模型:

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 .
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group .
<START:person> Rudolph Agnew <END> , 55 years old and former chairman of Consolidated Gold Fields PLC ,
    was named a director of this British industrial conglomerate .
Run Code Online (Sandbox Code Playgroud)

问题是两个:

  • 为什么我必须将这些人的姓名放在文本(短语)语境中?为什么不为每一行写一个人名?喜欢:

    <START:person> Robert <END>
    
    <START:person> Maria <END>
    
    <START:person> John <END>
    
    Run Code Online (Sandbox Code Playgroud)
  • 我怎样才能为该名称添加额外信息?例如,我想为每个名称保存信息男/女.

(我知道有些系统试图理解它读取最后一个字母,比如 …

java nlp named-entity-recognition text-mining opennlp

18
推荐指数
1
解决办法
5114
查看次数

准确度:ANNIE vs Stanford NLP与UIMA的OpenNLP

我的工作是计划使用UIMA集群来运行文档以提取命名实体,而不是.据我了解,UIMA的NLP组件很少包装.我现在已经测试了GATE一段时间了,并且相当舒服.它在正常文本上运行正常,但是当我们通过一些有代表性的测试数据运行它时,精度会下降.我们内部的文本数据有时是全部大写,有时全是小写,或者是同一文档中两者的混合.即使使用ANNIE的全部大写规则,准确性仍然有很多不足之处.我最近听说过Stanford NLP和OpenNLP,但没有时间对它们进行广泛的训练和测试.这两者在准确性方面与ANNIE相比如何?他们是否像GATE一样与UIMA合作?

提前致谢.

nlp stanford-nlp gate uima opennlp

17
推荐指数
2
解决办法
8813
查看次数

使用NLP进行句子压缩

使用机器翻译,我可以获得一个非常压缩的句子版本,例如.我真的想要一杯美味可口的咖啡将被翻译成我想要的咖啡 是否有任何NLP引擎提供这样的功能?

我得到了一些研究论文,这些论文涉及到一代句子压缩.但是有没有已实现此功能的库?

nlp nltk stanford-nlp opennlp

16
推荐指数
1
解决办法
3487
查看次数

opennlp chunker和postag结果

Java - opennlp

我是opennlp的新手,我试着分析这个句子,并且有post标签和chunk结果,但是我无法理解值的含义.是否有任何表可以解释post标签和chunk结果值的完整形式含义?

Tokens: [My, name, is, Chris, corrale, and, I, live, in, Philadelphia, USA, .]
Post Tags: [PRP$, NN, VBZ, NNP, NN, CC, PRP, VBP, IN, NNP, NNP, .]
chunk Result: [B-NP, I-NP, B-VP, B-NP, I-NP, O, B-NP, B-VP, B-PP, B-NP, I-NP, O]
Run Code Online (Sandbox Code Playgroud)

opennlp

16
推荐指数
2
解决办法
5828
查看次数

apache UIMA与Apache Opennlp有何不同

我一直在使用Apache OpenNLP进行一些功能测试,它具有Sentence检测,Tokenization,Name实体识别功能.现在,当我开始查看UIMA文档时,在UIMA主页上提到 - "语言识别"=>"语言特定分段"=>"句子边界检测"=>"实体检测(人/地名等)".

这说我可以使用UIMA完成与OpenNLP相同的任务.增加了什么功能?我是这个领域的新手,请帮助我理解两者的用途和能力.

nlp uima opennlp

14
推荐指数
1
解决办法
4056
查看次数