有人能指出openNLP NameFinder模块使用的算法吗?代码很复杂,只有很少的文档记录,并且将其作为黑匣子(提供默认模型)使用给我的印象是它主要是启发式的。以下是一些输入和输出示例:
输入:
约翰·史密斯很沮丧。
约翰·史密斯很沮丧。
巴拉克·奥巴马感到沮丧。
乌戈·查韦斯很沮丧。(不再)
杰夫·阿特伍德很沮丧。
刘冰对openNLP NER模块感到失望。
诺姆·乔姆斯基对这个世界感到沮丧。
杰登·史密斯很沮丧。
史密斯·杰登很沮丧。
Lady Gaga很沮丧。
加加感到沮丧。
嘎嘎夫人很沮丧。
杰登很沮丧。
刘先生很沮丧。
输出(我将菱形改为方括号):
约翰·史密斯感到沮丧。
约翰·史密斯很沮丧。
巴拉克·奥巴马(Barak Obama)感到沮丧。
乌戈·查韦斯很沮丧。(不再)
杰夫·阿特伍德(Jeff Atwood)感到沮丧。
刘冰对openNLP NER模块感到失望。
诺姆·乔姆斯基对这个世界感到沮丧。
杰登[开始:人]史密斯[结束]感到沮丧。
[START:person]史密斯[END][START:person]杰登[END]感到沮丧。
Lady Gaga很沮丧。
加加感到沮丧。
嘎嘎夫人很沮丧。
杰登很沮丧。
刘先生很沮丧。
该模型似乎只是简单地学习在训练数据中注释的固定名称列表,并允许一些平铺和组合。两个值得注意的例子是:
-
另外,斯坦福大学和UIUC NER系统都表现得更好,有一些有趣但离题的细微差异(这个问题太长了)
顾名思义,NameFinderME使用最大熵模型。这是关于ME的开创性论文。
如果OpenNLP的性能不符合您的要求,并且您不能使用斯坦福大学或UIUC NERs,我建议您使用CRF尝试Mallet。这个示例代码应该可以帮助您开始。
我知道Apache OpenNLP使用MaxEnt模型作为其NER标记器。但是Apache OpenNLP在运行其命名实体识别(NER)模型时(默认情况下)使用了哪些功能?以及我们如何在OpenNLP(Java实现)中合并/自定义新功能?
我目前正在从事一个java web服务器项目,该项目需要使用自然语言处理,特别是实体识别(Entity Recognition,NER)。 我在java中使用OpenNLP,因为添加自定义训练数据很容易。它工作得很好。 然而,我还需要能够提取实体内部的实体(嵌套命名实体识别)。我试着在OpenNLP中这样做,但我遇到了解析错误。所以我猜OpenNLP很遗憾不支持嵌套实体。 下面是一个我需要解析的示
我正在使用OpenNLP模型进行名称实体识别。 我正在传递句子,我想在其中识别单词。Open NLP需要一个String[]变量,因此我将String拆分为用空格分隔的单词。 我面临着识别日期的问题。例如,如果字符串包含日期:2012年1月7日,我将字符串拆分为单词,“7”、“1”和“2012”将被分隔为3个不同的单词。虽然它们被识别为日期,但这3个不同的标记对我来说没有意义进行进一步处理。我怎么
问题内容: 好的,我有以下代码来训练来自OpenNLP的NER标识符 我不知道我是否做错了什么,如果缺少什么,但是分类不起作用。我认为train.txt错误。 *发生 *的错误 是所有令牌仅被分类为一种类型。 我的train.txt数据类似于以下示例,但是条目的变化和数量更多。另一件事是,我每次都从文本中逐字逐句地查找,而不是所有标记。 有人可以证明我做错了吗? 问题答案: 您的训练数据不正确。
我正在尝试阿尔巴尼亚语的OpenNLP。为此,我正在使用OPenNLP并尝试用阿尔巴尼亚语构建人员、位置和组织实体识别的模型。我正在构建我自己的语料库,但我需要一位Open NLP专家来确认我以下疑问:1-我是否应该为每个模型构建一个单独的语料库,例如,对于人构建一个只有标签存在的语料库?2-是否可以在相同的语料库中标记人员、位置和组织,并使用它来训练能够提取所有三种实体类型的单个模型?3-是否有
我正在使用命名实体重新识别器查看斯坦福corenlp。我有不同类型的输入文本,我需要将其标记到我自己的实体中。所以我开始训练我自己的模型,但它似乎不起作用。 例如:我的输入文本字符串是“关于丰田陆地巡洋舰1956-1987黄金投资组合的49篇杂志文章之书”http://t.co/EqxmY1VmLg http://t.co/F0Vefuoj9Q" 我通过这些例子来训练自己的模型,只寻找一些我感兴趣