我正在使用OpenNLP模型进行名称实体识别。
我正在传递句子,我想在其中识别单词。Open NLP需要一个String[]变量,因此我将String拆分为用空格分隔的单词。
我面临着识别日期的问题。例如,如果字符串包含日期:2012年1月7日,我将字符串拆分为单词,“7”、“1”和“2012”将被分隔为3个不同的单词。虽然它们被识别为日期,但这3个不同的标记对我来说没有意义进行进一步处理。我怎么可能拆分我的字符串,使“2012年1月2日”可以被视为一个字符串。。。2012年1月7日是一种格式。。。有时也是2012年1月7日。Date还识别我输入的时间格式:比如12:18 pm
NER时间模型无法识别12:18 pm或09:52:52的时间。。它接受什么样的时间格式?
ApacheOpenNLP日期和时间模型是统计的,从语料库中训练而来。它将从上下文中识别日期和时间,而不仅仅是从格式中。
如果您有特殊需求,可以创建自己的语料库,并培训自己的OpenNLP名称查找器模型。
OpenNLP名称查找器还支持训练时的一些自定义。也许如果您创建一个语料库,并添加一些基于正则表达式的功能,您可以改进您的结果。
有人能指出openNLP NameFinder模块使用的算法吗?代码很复杂,只有很少的文档记录,并且将其作为黑匣子(提供默认模型)使用给我的印象是它主要是启发式的。以下是一些输入和输出示例: 输入: 约翰·史密斯很沮丧。 约翰·史密斯很沮丧。 巴拉克·奥巴马感到沮丧。 乌戈·查韦斯很沮丧。(不再) 杰夫·阿特伍德很沮丧。 刘冰对openNLP NER模块感到失望。 诺姆·乔姆斯基对这个世界感到沮丧
我刚开始使用openNLP来识别名字。我使用的是open NLP附带的模型(en-ner-person.bin)。我注意到,虽然它可以识别美国、英国和欧洲的名字,但它不能识别印度或日本的名字。我的问题是(1)是否已经有模型,我可以用来识别外国名字(2)如果没有,那么我相信我将需要生成新的模型。在这种情况下,是否有一个可供我使用的copora?
我试图使用ApacheOpenNLP来识别文本中的日期实体。我创建了一个小java程序,该程序使用以下格式的一系列日期生成标记: 每个标签都是OpenNLP定义格式的句子。 我生成了大约40万条条目,并对模型进行了培训。培训结束后,我试图通过命令行使用TokenNameFinder来验证一切是否正常,但对于每个单词,我都键入finder,并将其标识为日期实体。例如,当我打字时: 我得到的是: 我想
我是文本挖掘和NLP的新手。我正在尝试使用命名实体识别(NER)(斯坦福命名实体标记)从给定文本中提取日期。我正在使用斯坦福NLPhttp://nlp.stanford.edu:8080/ner/process和GATE ANNIE中提供的在线演示http://services.gate.ac.uk/annie/ 此演示无法将完整的“上周日”、“下周一”、“本月底”、“直到本周日晚上”等文本识别为
问题内容: 好的,我有以下代码来训练来自OpenNLP的NER标识符 我不知道我是否做错了什么,如果缺少什么,但是分类不起作用。我认为train.txt错误。 *发生 *的错误 是所有令牌仅被分类为一种类型。 我的train.txt数据类似于以下示例,但是条目的变化和数量更多。另一件事是,我每次都从文本中逐字逐句地查找,而不是所有标记。 有人可以证明我做错了吗? 问题答案: 您的训练数据不正确。
我目前正在从事一个java web服务器项目,该项目需要使用自然语言处理,特别是实体识别(Entity Recognition,NER)。 我在java中使用OpenNLP,因为添加自定义训练数据很容易。它工作得很好。 然而,我还需要能够提取实体内部的实体(嵌套命名实体识别)。我试着在OpenNLP中这样做,但我遇到了解析错误。所以我猜OpenNLP很遗憾不支持嵌套实体。 下面是一个我需要解析的示