【问题标题】:Custom model in Apache Open NLPApache Open NLP 中的自定义模型
【发布时间】:2019-05-08 13:02:02
【问题描述】:

我目前正在使用自定义模型,我正在为自己的用例进行培训。我的用例是根据是否是地址更改请求对电子邮件进行分类。如果可以从一个句子中理解地址更改请求,则它可以正常工作而没有问题。但是如果地址变更请求需要从多个句子中理解,那就行不通了。 下面举几个例子:- 示例 1 :- 这是有效的 1. a) 训练文件:-

Guys I wish to <START:contactupdate> change my address <END> .

我的新地址是 68 Dorset Road, Coventry, West Midlands, CV1 4ED。 完成后请确认。 谢谢。

b) 使用以下句子测试模型:- String input = "各位,我想更改我的地址。我的新地址是 68 Dorset Road, Coventry, West Midlands, CV1 4ED。完成后请确认。谢谢。"; //工作中

  1. 示例 2:- 这不起作用。 假设地址更改请求只能从多行中推断出来。

    “我的旧地址不再有效。需要更新它。”

如何在这种情况下训练我的模型?如何为上述指定自定义标签?

你能帮忙吗?我被困住了。 非常感谢

【问题讨论】:

    标签: apache opennlp


    【解决方案1】:

    不工作是什么意思?你想检索的东西没有被检索到?或者当标签分布在多行时,训练会在某处崩溃?

    通常,您在此过程中训练的(默认为 MaxEnt)模型会尝试检测您正在训练的事物的共同特征。通常,这些是命名实体,如人员、组织、位置。在许多语言中,这些包含典型的特征(分别像前缀 Mr./Mrs.、后缀 corp.、词素“street”)。这可以被模型拾取,并应用于新数据,从而识别您想要识别的任何内容。但是,您尝试做的事情已经是非常先进的 NLP。由于短语越长,可能的变化越大,就越难找到共性。对于您的用例,我想说的是,人们通常使用解析(选区或依赖解析)或其他更复杂的工具,而不仅仅是这种相对扁平的模式识别。所以你可能想研究这些。我不知道您有多少数据可供您使用,您可以从中推断出不同的方式来表达更改客户数据库中地址的愿望。如果合理(即不仅仅是几个句子),您可能想要手动注释它们,解析语料库,在解析树/图表上使用机器学习来获取感兴趣的句子并以这种方式进行。如前所述,在我看来,NLP 相当先进,而不是开箱即用的解决方案。

    【讨论】:

      【解决方案2】:

      如果我正确理解您的问题,我认为您正在尝试对电子邮件进行分类以了解其地址是否更改。但是模型示例看起来像命名实体。在我看来,使用 Apache OpenNLP 的“文档分类器”功能可能会更好。

      您可以为可能被归类为地址变化的句子提供不同的样本。 “Address_change”、“general_inquiry”等可以是一个类别。通过这种方式,您可以根据需要添加尽可能多的不同样本,并使用许多不同的句子。这里是easy & basic tutorial for document categorization training & usage.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        • 1970-01-01
        • 1970-01-01
        • 2021-05-15
        • 1970-01-01
        • 2013-05-05
        • 2021-03-16
        相关资源
        最近更新 更多