【问题标题】:Sentence correction using NLP使用 NLP 进行句子校正
【发布时间】:2016-06-05 12:49:16
【问题描述】:

我正在尝试在我的网站上构建一个聊天助手,它应该可以回答诸如“你能跟踪我的订单吗?”、“XXX 的表现如何”之类的问题。大部分工作在于理解用户的查询。

我正在使用“命名实体识别器”和“文本解析器”来处理查询。在此之前,我通过“拼写检查器”传递查询以减少错误,例如,

Can you track my ordr?

到

Can you track my order?

它在大多数情况下都有效,但在以下情况下失败,

Can you track my water?

在这种情况下,拼写校正器不会更正单词“water”,NER 无法将实体识别为“order”。

问题是“你能追踪我的水吗?”在其他上下文中可能是正确的句子,但在我的上下文(域)中绝对是错误的。所以我应该可以纠正这句话。

我被困在这里了。

我是否可以使用预定义的查询和/或用户输入查询的统计数据来更正这些句子?

【问题讨论】:

  • 如果您有一个非常具体的域,您可以创建一组“接受词”来测试成员资格。但也许最好让用户明白“水”没有意义?
  • “水”在其他句子中可能是一个公认的词,例如。 “这款手机防水吗?”。但是在这个特定的句子中是不正确的。所以按照你的想法,也许我应该为每种句子定义词汇......?如果是这样,我该怎么做?
  • 我真诚地建议不要自动更正“正确”的单词。当然,您可以使用概率模型来建议某些在特定上下文中可能不常见的单词“bigrams”/“n-grams”,但我认为您过于复杂了。

标签: nlp sentence-similarity


【解决方案1】:

我不知道有什么方法可以将“水”改为“订单”。

但是,如果您有一组预定义的问题,那么您可以在用户提交问题之前向他提供可供选择的建议。

NER 只能识别/分类实体,它可能不用于替换句子的一部分,因为用户可能有意说出他所说的话。 您所做的是根据您的集合建议概率最高的词。

参考文献:

What is the best way to find the most similar sentence?

Find semantically similar word

【讨论】:

    【解决方案2】:

    您可以使用 n-gram 模型来找到最可能的单词,然后使用替换。在您的情况下,您将单词 ordr 替换为单词 order。如果你想更深入,你可以使用机器学习模型来处理这个问题。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2011-12-13
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多