我需要将文本拆分为句子。我目前正在使用OpenNLP的句子检测工具。我也听说过NLTK和Stanford CoreNLP工具。那里最准确的英语句子检测工具是什么?我不需要太多的NLP特征 - 只是分句/检测的好工具。什么是最准确的句子拆分开源工具?
我也听说过Lucene ......但这可能太多了。但是,如果它有一个踢屁股句子检测模块,那么我会使用它。
我需要将文本拆分为句子。我目前正在使用OpenNLP的句子检测工具。我也听说过NLTK和Stanford CoreNLP工具。那里最准确的英语句子检测工具是什么?我不需要太多的NLP特征 - 只是分句/检测的好工具。什么是最准确的句子拆分开源工具?
我也听说过Lucene ......但这可能太多了。但是,如果它有一个踢屁股句子检测模块,那么我会使用它。
检查lingpipe实施http://alias-i.com/lingpipe/docs/api/com/aliasi/sentences/IndoEuropeanSentenceModel.html
他们的模型非常强大,而且容易实现 - 在任何可能的句子分裂检查几个前/后规则(又名正则表达式)和多数民众赞成。我发现它在GATE和OpenNLP中运行得更好。
还有另外一个开源项目,它支持这种启发式的模型为例,http://code.google.com/p/graph-expression/wiki/SentenceSplitting
他们的许可费用相当高,如果我使用免版税的许可证,他们需要:“处理的数据必须是免费的”。 – samxli 2011-03-15 01:22:06
然后你可以检查我的项目图表表达式,这是目前的GPL,但我想换成LGPL以防我发现其他commiters。 – yura 2011-03-15 13:33:07
我刚刚检出了你的项目。将于明天进行测试:)。我今天看了一下NLTK和CPAN上的Lingua :: EN :: Sentence。 NLTK没问题,但有些不准确。 Lingua :: EN很难将有序列表识别为块。它允许附加的缩写定义,但不能识别“1.”,“2.”等。 – samxli 2011-03-15 14:43:05
Perl是一种文本处理语言,文本挖掘一个很好的和简单的资源。进行句子拆分绝对没有问题。
www.perl.org
是否有某些句子拆分模型可用于perl?对于不同的领域,句子可能会有不同的定义。此外,它需要能够处理缩写和句点后的双倍间距等。 – samxli 2011-03-15 03:46:11
Perl是一种文本处理模式匹配语言。可以处理缩写和间距问题。 – 2011-03-15 19:36:04
这个答案不属于提及NLTK,LingPipe或其他特定NLP工具的其他人的质量。句子分裂比正则表达式匹配困难 - 我不建议重新发明轮子。 – 2012-11-13 17:14:01
NLTK包括this paper描述的PUNKT标记生成器的一个实现。我不知道它是否绝对是最好的,但它非常好,它轻巧易用,而且免费。
对于Perl,[Lingua :: EN :: Sentence](http://search.cpan.org/~shlomoy/Lingua-EN-Sentence-0.25/lib/Lingua/EN/Sentence.pm)? – Konerak 2011-03-14 16:50:49