Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用欧洲日期修复CoreNLP语句拆分_Nlp_Date Parsing_Stanford Nlp - Fatal编程技术网

用欧洲日期修复CoreNLP语句拆分

用欧洲日期修复CoreNLP语句拆分,nlp,date-parsing,stanford-nlp,Nlp,Date Parsing,Stanford Nlp,斯坦福CoreNLP不适用于许多常见的欧洲日期格式(c.f.) 我们都知道,日期解析是一个混乱的过程,尤其是在。尽管如此,CoreNLP甚至无法处理基本的欧洲日期格式,因为它在点上的分割过于激烈 然而,日期信息通常以如下方式呈现: 第11天早上,恐怖袭击发生了。2001年9月,我的朋友瓦伦·维埃·库尔迪尼耶·弗卢格根特夫·安斯切利·恩登·塞尔布斯莫尔达滕塔滕 无论我尝试什么,CoreNLP都会将其分为: 1. Die Terroranschläge am 11. 2. September 200

斯坦福CoreNLP不适用于许多常见的欧洲日期格式(c.f.)

我们都知道,日期解析是一个混乱的过程,尤其是在。尽管如此,CoreNLP甚至无法处理基本的欧洲日期格式,因为它在点上的分割过于激烈

然而,日期信息通常以如下方式呈现:

第11天早上,恐怖袭击发生了。2001年9月,我的朋友瓦伦·维埃·库尔迪尼耶·弗卢格根特夫·安斯切利·恩登·塞尔布斯莫尔达滕塔滕

无论我尝试什么,CoreNLP都会将其分为:

1. Die Terroranschläge am 11.
2. September 2001, einem Dienstag, waren vier [...]
使CoreNLP在很大程度上无法用于德国NLP。圆点只是将其标记为序数,也就是说,这是德国书写“2001年9月11日”的方式。你还会经常看到德语中的“11.9.2001”符号,CoreNLP认为
9.
是另一个句子,也是“11.9.2001”


是否有任何钩子(例如重写某些方法)允许我定义模式,以使用自己的规则重新连接错误拆分的句子?例如,
[123]?\d\。1?\d\.
通常用于日期,并且没有几个月……

虽然这不是一个涉及CoreNLP的解决方案,但在一个无耻的自我插入中,让我宣传一下我自己的(基于Python的)分句器和单词标记器。读了这篇投诉后,我意识到我自己的分段器也不支持此功能,所以我刚刚添加了它,并将更新推送到PyPI和GitHub


我喜欢认为,一般来说,它提供了相当好的结果,并且它对欧洲特定问题有一些“专家知识”(我能流利地说西班牙语、英语和德语,并掌握了一些其他欧洲语言),所以您可能想看看。

虽然这不是涉及CoreNLP的解决方案,在一个不知羞耻的自我插件中,让我宣传我自己的(基于Python的)分句器和单词标记器。读了这篇投诉后,我意识到我自己的分段器也不支持此功能,所以我刚刚添加了它,并将更新推送到PyPI和GitHub


我喜欢认为,总体而言,它提供了相当好的结果,并且它对欧洲特定问题有一些“专家知识”(我能流利地说西班牙语、英语和德语,并掌握了一些其他欧洲语言),因此您可能想看看。

我在错误报告中发布了一个解决方法:


本质上,我将现有的
tokenizeranotator
包装为一个将点合并到上一个标记中的标记,前提是中间没有字符,并且上一个标记都是数字。这应该是合理有效的-比基于regexp的方法更有效。

我在bug报告中发布了一个解决方法:


本质上,我将现有的
tokenizeranotator
包装为一个将点合并到上一个标记中的标记,前提是中间没有字符,并且上一个标记都是数字。这应该是相当有效的-比基于regexp的方法更有效。

嗨,我会努力让它重新启动!您可以使用这种模式简单地从输入字符串中删除点。但这是一种黑客行为。我正在试验这样一种方法——现在用空格替换它们,以保持角色偏移量不变。但是如果这是由CoreNLP开箱即用支持的话会更好。我会在某个时候解决这个问题,但它需要对基于规则的分句器进行一些更改。嗨,我会努力让它重新启动!您可以使用这种模式简单地从输入字符串中删除点。但这是一种黑客行为。我正在试验这样一种方法——现在用空格替换它们,以保持角色偏移量不变。但如果CoreNLP开箱即用支持这一点会更好。我会在某个时候解决这个问题,但它需要对基于规则的句子拆分器进行一些更改。虽然这可能比正则表达式(也可以实现为线性扫描实现[作为DFA,例如RE2]更快因此,您现在将合并以数字结尾的所有句子。也许(句子结尾前的数字)在你的特定语料库中不太常见,但总的来说,这不太可能是一个好的解决方案。是的,现在可能会有误报。但我确实看到了很多这样的错误,通常错误与坏分裂对我来说更严重。我在CoreNLPs默认设置方面有很多错误,直到我对它的性能感到非常不满意为止,并且正在考虑探索替代方案。现在,这又是“足够好”了(还有一些类似的黑客)。CoreNLP的句子拆分器肯定需要更多的工作和直接评估。虽然这可能比正则表达式(也可以实现为线性扫描实现[作为DFA,例如RE2],因此不会比此解决方案慢),但您现在将合并以数字结尾的所有句子。也许(句子结尾前的数字)在你的特定语料库中不太常见,但总的来说,这不太可能是一个好的解决方案。是的,现在可能会有误报。但我确实看到了很多这样的错误,通常错误与坏分裂对我来说更严重。我在CoreNLPs默认设置方面有很多错误,直到我对它的性能感到非常不满意为止,并且正在考虑探索替代方案。现在,这又是“足够好”了(还有一些类似的黑客)。CoreNLP的分句器肯定需要更多的工作和直接的评估。