交互搜索中的自然语言理解技术

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
简介: 交互搜索 交互搜索是一种新的产品形态,可以和用户对话,记住用户的购物需求和偏好,提供购物知识和建议。在搜索页面下拉就可以进入了,类似于微信的小程序的进入方式。 自然语言理解 对话和搜索的最大区别就是对话是多轮的,而搜索是单轮的。

交互搜索

交互搜索是一种新的产品形态,可以和用户对话,记住用户的购物需求和偏好,提供购物知识和建议。在搜索页面下拉就可以进入了,类似于微信的小程序的进入方式。

20180319151637.png

自然语言理解

对话和搜索的最大区别就是对话是多轮的,而搜索是单轮的。另外对话中,特别是语音输入中,会有更多的自然语言,而搜索中更多的是商品语言。因此,对话中的核心技术就是自然语言理解(NLU),在交互过程中,理解用户的购物需求和意图。

20180319114458.png

上面是用户多轮对话购物的一个例子,在用户每次输入后,Query理解模块(QU)都会识别他本次对话的意图、类目和属性,对话状态管理模块(DST)都会更新当前最终的意图、类目和属性。

  • 意图(intent):

    • 购物:我想买连衣裙
    • 知识问答:高端手机品牌有哪些,怎么除甲醛
    • 购物攻略:怎么挑连衣裙
    • 搭配:红色连衣裙搭配什么鞋子
    • 促销活动:iphone8活动
    • 产品比较:iphone8 mate10 哪个好
  • 类目(category):商品的类目或者品类。
  • 属性(attribute):类目或品类下,商品的属性(CPV)。

NLU技术点

自然语言理解的模块如下:

20180319135527.png

意图识别 很多时候,用户的意图是不明确的,比如搜“手机”,可能既想买手机,也不知道怎么挑。但是从概率上来说,“手机”这个query的主要意图还是购物。而“怎么挑手机”,则主要是找购物攻略。因此,我们可以从querylog中找出用户在输入某些短语(如“怎么挑”)的时候,是想找购物攻略的。意图识别就是把这些短语挖掘出来,对query的意图分类。

Session切分 在用户的一次购物过程中,可能会买多种类目(品类)的商品,同一个类目的商品属于一个购物需求或者一个session。因此,每次用户输入后,都要识别用户是继续说的,还是新的需求。有的时候,这种session切换会包含歧义,如先搜“手机”,再搜"苹果",这时可能是“苹果手机”,或者是“苹果水果”,这时需要根据概率出默认的语义(苹果手机),并且给用户其他的选项(苹果水果)。

类目预测 如果session切分是正确的,类目预测就会比较容易了。不过,多轮的时候,用户的需求更复杂,对类目预测的要求也更高。当然,如果session切分错了,类目预测也会出错。由于session切分和类目预测都是对类目需求的理解,这两个任务之间有很多共同点,所以我们也在考虑一起优化。

属性填充Slot filling 不同的叶子类目有不同的属性集合,淘宝的上万个叶子类目中,也有上万个属性(Slot)。高频的属性值可以通过知识图谱中的CPV来直接匹配,但中低频的属性值则需要用到更多的信息。很多属性值有不同的说法,比如:iphone8plus、iphone8p、8plus、8p,这4个词都是指"型号:iphone8plus"。还有很多属性值并不在CPV中,比如“3到4岁”的奶粉。这些都需要识别到某一个CPV属性,或者一个文本属性,或者是没有意义的词。

对话状态管理State Tracking 这里主要是进行属性值的追加或者替换,比如先搜“only连衣裙”,再搜“zara”,这时的状态是“zara连衣裙”。更复杂的是文本属性的替换,比如先搜“便宜的手机”,再搜“贵的”,这时的状态是“贵的手机”。

State Tracking之后,用户对话的语义理解就完成了,会输出表示当前搜索语义的“标准Query”和tagging的结果,给后续的对话策略、排序等模块使用。

后记

交互搜索中的自然语言理解就给大家简单介绍到这里,真正想要理解自然语言的语义,任重而道远。举几个语音搜索中的例子,作为未来的目标,“1.5米宽儿童上下床带衣柜”,“我要夜萝莉精灵梦中的萝莉公主最好便宜的”,“必背小孩子玩的玩具”。

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索未来AI技术的前沿——自然语言处理的发展与应用
本文将深入探讨自然语言处理技术在人工智能领域中的重要性和应用前景。通过分析当前自然语言处理技术的发展趋势和实际应用案例,揭示了其在改善用户体验、提升工作效率以及推动产业创新方面的巨大潜力。
|
20小时前
|
人工智能 自然语言处理 数据管理
自然语言处理技术在AI驱动的数据库中的作用是什么
自然语言处理技术在AI驱动的数据库中的作用是什么
|
2天前
|
自然语言处理 程序员
大模型与之前的NLP技术有什么显著差别
大模型与之前的NLP技术有什么显著差别
|
8天前
|
机器学习/深度学习 自然语言处理 算法
NLP技术在聊天机器人中的应用:技术探索与实践
【7月更文挑战第13天】NLP技术在聊天机器人中的应用已经取得了显著的成果,并将在未来继续发挥重要作用。通过不断探索和创新,我们可以期待更加智能、自然的聊天机器人的出现,为人类生活带来更多便利和乐趣。
|
14天前
|
机器学习/深度学习 自然语言处理 监控
NLP技术有哪些主要任务?
【7月更文挑战第8天】NLP技术有哪些主要任务?
36 4
|
15天前
|
自然语言处理 监控 搜索推荐
自然语言处理技术有哪些应用场景?
自然语言处理技术有哪些应用场景?【7月更文挑战第7天】
22 4
|
13天前
|
机器学习/深度学习 自然语言处理
利用词嵌入和语义表示技术来提高自然语言处理任务的性能
利用词嵌入和语义表示技术来提高自然语言处理任务的性能
|
14天前
|
机器学习/深度学习 自然语言处理 搜索推荐
自然语言处理(NLP)技术的详细介绍
自然语言处理(NLP)技术的详细介绍
18 2
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
NLP技术
【7月更文挑战第8天】NLP技术
17 2
|
1月前
|
自然语言处理 前端开发 Java
探索自然语言生成技术的进展与应用
本文将介绍自然语言生成技术在不同领域的进展和应用。从前端到后端,从Java到Python,从C到PHP,从Go到数据库,我们将深入探讨这些技术的发展趋势和应用场景,并展示它们在实际项目中的价值。