我刚刚使用OpenNLP
作为一个小程序,我应该把段落分成几个句子。OpenNLP - 即使用缩写字典,训练仍然需要缩写吗?
尽管在阅读完一些文档并完成测试用例之后我能完成任务,但我仍然不得不注意到,即使创建了所有缩写(例如Yahoo!)一个自定义的缩写字典,将它传递给SentenceDetectorFactory
并用它来训练SentenceDetectorME
。
我正在使用与此test case中使用的类似方法。
我在他们的文档中找不到这种行为,也找不到任何解释。有什么我失踪?
编辑:我的问题
虽然我仍然在做一个培训,我的工作在域设置为合适的工作,我的测试数据从非结构化数据来从网页的说明。有时它包含一个我的团队成员都没有预料到的缩写。例如。
Company (acq. by another company) is a good company.
在这种情况下,我们从来没有认为这个词acquired
发生像acq.
这显然是作为一个缩写。
现在我们可以添加acq.
作为缩写,并让模型继续工作,如广告所示,或者训练模型。但是,即使在缩写字典中添加之后,它也不会被当作缩写来处理,而我们最终为这个缩写形成了训练模型。这看起来像是一个偏离字典缩写的概念。
我在NLTK
与PunktSentenceTokenizer
like this one尝试了一个小例子,它完美的工作。
我不确定我是否有一套甚至有25,000个句子的训练集,如果OpenNLP
忽略缩写词典,它将有所作为。
是的,Opennlp是不可预知的!我现在不知道该怎么做! -.- 你是否通过[this](http://atigeo.com/blog/2016/article-title-2)? –
是的,我已经有了。我会在创建至少15,000个培训样本时回复。 –