【问题标题】:OpenNLP - Is training still required for abbreviation even with abbreviation dictionary?OpenNLP - 即使使用缩写字典,缩写仍然需要培训吗?
【发布时间】:2016-05-25 17:54:30
【问题描述】:

我刚刚在一个小程序中使用了OpenNLP,我应该在其中将段落分割成句子。

虽然我在阅读了一些文档并完成了他们的测试用例后能够完成任务,但我不禁注意到我仍然需要针对所有缩写进行训练(例如 Yahoo!),即使我创建了一个自定义缩写字典,将其传递给SentenceDetectorFactory 并用它来训练SentenceDetectorME

我正在使用与 test case 中使用的类似方法。

我在他们的文档中找不到这种行为,也找不到任何解释。有什么我遗漏的吗?

编辑:我的问题的解释

虽然我仍在努力制作适合我工作领域的训练集,但我的测试数据来自网络的非结构化数据。有时它包含一个我的团队成员都没有预料到的缩写。例如。

Company (acq. by another company) is a good company.

在这种情况下,我们从未假设 acquired 一词会像 acq. 那样出现,而 acq. 显然被用作缩写。

现在我们可以添加 acq. 作为缩写并让模型继续工作,如广告所示,或者为它训练模型。但是,即使将它添加到缩写字典中,它也不会被视为缩写,我们最终为这个缩写训练模型。这似乎偏离了缩写字典的概念。

我在NLTKPunktSentenceTokenizer like this one 中尝试了一个小例子,效果很好。

我不确定我是否有一个包含 25,000 个句子的训练集,如果 OpenNLP 忽略缩写字典,那会有所不同。

【问题讨论】:

    标签: nlp opennlp


    【解决方案1】:

    您的训练数据有多大?

    如文档中所述:

     The training data should contain at least 15000 sentences to create a model which performs well.
    

    这可能是问题所在,应该提供一些大的训练数据来制作模型!

    【讨论】:

    • 是的,Opennlp 是不可预测的!我现在不知道该怎么做! -.- 你通过this 了吗?
    • 是的,我已经有了。当我创建至少 15,000 个训练样本时,我会回复。
    猜你喜欢
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多