【发布时间】:2018-02-12 23:37:59
【问题描述】:
如果来自用户的单个查询包含属于不同类别的多个问题,如何识别、拆分和解析它们?
例如 -
User - what is the weather now and tell me my next meeting
Parser - {:weather => "what is the weather", :schedule => "tell me my next meeting"}
解析器识别问题属于两个不同类别的句子部分
User - show me hotels in san francisco for tomorrow that are less than $300 but not less than $200 are pet friendly have a gym and a pool with 3 or 4 stars staying for 2 nights and dont include anything that doesnt have wifi
Parser - {:hotels => ["show me hotels in san francisco",
"for tomorrow", "less than $300 but not less than $200",
"pet friendly have a gym and a pool",
"with 3 or 4 stars", "staying for 2 nights", "with wifi"]}
解析器只识别属于一个类别的问题,但有额外的步骤来微调答案,并创建了一个根据要采取的步骤排序的数组
据我了解,这需要句子分割器、多标签分类器和共同参考解析
但是我遇到的句子分割器在很大程度上依赖于语法、标点符号。
多标签分类器,就像一个训练有素的朴素贝叶斯分类器在大多数情况下都有效,但由于它们是多标签的,大多数时候为明显属于一个类别的句子输出多个类别。仅依靠数组输出来检查存在的标签会失败。
如果使用多类分类器,也可以检查可能类别的数组输出,但显然它们不能准确地告诉句子的不同部分,更不用说以何种方式进行下一步了。
作为第一步,我如何调整句子分割器以在没有任何严格语法规则的情况下正确分割句子。良好的准确性将有助于分类。
【问题讨论】:
标签: machine-learning nlp chatbot