2011-03-14 104 views
8

我需要将文本拆分为句子。我目前正在使用OpenNLP的句子检测工具。我也听说过NLTK和Stanford CoreNLP工具。那里最准确的英语句子检测工具是什么?我不需要太多的NLP特征 - 只是分句/检测的好工具。什么是最准确的句子拆分开源工具?

我也听说过Lucene ......但这可能太多了。但是,如果它有一个踢屁股句子检测模块,那么我会使用它。

+1

对于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

回答

1

检查lingpipe实施http://alias-i.com/lingpipe/docs/api/com/aliasi/sentences/IndoEuropeanSentenceModel.html

他们的模型非常强大,而且容易实现 - 在任何可能的句子分裂检查几个前/后规则(又名正则表达式)和多数民众赞成。我发现它在GATE和OpenNLP中运行得更好。

还有另外一个开源项目,它支持这种启发式的模型为例,http://code.google.com/p/graph-expression/wiki/SentenceSplitting

+0

他们的许可费用相当高,如果我使用免版税的许可证,他们需要:“处理的数据必须是免费的”。 – samxli 2011-03-15 01:22:06

+0

然后你可以检查我的项目图表表达式,这是目前的GPL,但我想换成LGPL以防我发现其他commiters。 – yura 2011-03-15 13:33:07

+0

我刚刚检出了你的项目。将于明天进行测试:)。我今天看了一下NLTK和CPAN上的Lingua :: EN :: Sentence。 NLTK没问题,但有些不准确。 Lingua :: EN很难将有序列表识别为块。它允许附加的缩写定义,但不能识别“1.”,“2.”等。 – samxli 2011-03-15 14:43:05

-4

Perl是一种文本处理语言,文本挖掘一个很好的和简单的资源。进行句子拆分绝对没有问题。

www.perl.org

+1

是否有某些句子拆分模型可用于perl?对于不同的领域,句子可能会有不同的定义。此外,它需要能够处理缩写和句点后的双倍间距等。 – samxli 2011-03-15 03:46:11

+0

Perl是一种文本处理模式匹配语言。可以处理缩写和间距问题。 – 2011-03-15 19:36:04

+0

这个答案不属于提及NLTK,LingPipe或其他特定NLP工具的其他人的质量。句子分裂比正则表达式匹配困难 - 我不建议重新发明轮子。 – 2012-11-13 17:14:01

2

NLTK包括this paper描述的PUNKT标记生成器的一个实现。我不知道它是否绝对是最好的,但它非常好,它轻巧易用,而且免费。

相关问题