在传统的客服、IM等场景中,坐席需求花费许多时刻答复用户的各种咨询,一般面对答案查询时刻长、问题重复、时效要求高等应战。因而,运用技能手段辅佐坐席快速、准确、高效地答复用户的各类问题十分有必要。咱们规划并迭代了一套依据检索式对话体系的结构,以引荐回复的办法,依据对话上文为坐席供给候选回复,进步坐席功率然后进步用户体会,在美团许多事务上均取得了显着的作用。
1 布景与应战
对话体系一直是人工智能研讨的热门范畴之一,近年来跟着深度学习技能的发展,人工智能在对话体系上呈现了不少的突破性发展。可是,因为自然言语的杂乱性,目前的智能对话体系还远远达不到能够直接替代人类的地步。因而在一些杂乱的事务场景中,目前的智能对话体系怎么更好的去辅佐人类做到人机协同,进步沟通功率,也成为了当今研讨的一个热门以及实践落当地向。
作为一家连接用户和商户的生活服务电子商务渠道,美团在渠道服务的售前、售中、售后全链路的多个场景中,用户向商家都存在有许多的问题咨询状况,如在线坐席CHAT、商家IM等。因而咱们期望运用对话体系,以引荐回复的办法,依据对话上文为客服供给候选回复,来协助商家进步答复用户问题的功率,一起更快地解决用户问题,改进用户咨询体会。一般来说,对话体系能够大致分为三类:
- 使命型:一般为受限域,以完结特定范畴的特定使命为意图,干流办法是依据有限状态机(FSM)的可装备化TaskFlow,而依据强化学习、监督学习等依据数据驱动的对话管理办法在实践运用中尚不老练,运用场景如售后退款等流程明确的智能机器人。
- 问答型:受限域或敞开域,首要是答复特定范畴的信息咨询或敞开范畴的常识性问题,干流办法包含图谱问答(KBQA)、社区问答(CQA)、文档问答(MRC)等单轮问答,也或许触及多轮问答,运用场景如酒店、旅游等范畴的售前咨询。
- 闲谈型:一般为敞开域,无特定意图,在敞开范畴内让对话有意义地进行下去即可,干流办法是依据检索的召回排序二阶段办法或依据生成的端到端模型,运用场景如谈天机器人。
其间,使命型和问答型体系具有较高的准确性,可是需求针对细分范畴进行不同程度的适配与优化,在大范围运用上需求较高的本钱。本文首要重视依据检索式计划的对话体系,其准确性略低,可是本钱较小而且范畴迁移性好,十分适宜用于如话术引荐等人机协平等场景。
在后文中,咱们首要以话术引荐运用为例,即依据对话上下文为坐席/商家供给候选回复,来介绍检索式对话体系在美团客服场景的探究与实践。以下内容会分为五个部分:榜首部分介绍体系的全体架构与方针体系;第二和第三部别离离介绍召回和排序模块的作业;第四部分展示一些详细的运用示例,终究一部分则是总结与展望。
2 架构与方针
检索式对话体系的全体架构如下图1所示,能够划分为五层:
- 数据与渠道层:离线对坐席/商家与用户的前史对话Session进行清洗、处理,树立主动化流程,日更新话术索引库。一起,运用对话渠道构建常识库,既能够用在智能客服中,也能够用作话术引荐。
- 召回层:给定对话上文及其它约束条件,从话术索引库和常识库中召回成果,包含文本、向量、标签、常识等多路召回。
- 排序层:针对召回模块回来的成果调集,进行排序打分,包含规矩排序、文本相关性模型排序以及CTR预估排序。
- 战略层:针对排序模块回来的成果列表,进行重排序或许拒推,例如非活泼商户拒推,引荐列表包含正确答案而商家长时刻无采纳行为则降低引荐概率;多样性答案挑选,尽量挑选语义及表达方式不同的答案,防止引荐过于类似的答案;个性化场景战略,针对场景特征定制战略。
- 运用层:首要用于人工辅佐场景,包含在线回复咨询时的话术引荐和输入联想,以及离线填答智能客服常识库时的答案引荐供给。
一起,为了更合理地指导体系相关优化,咱们规划了一套离线到在线的方针体系,以话术引荐为例,如下图2所示,详细来说可分为三个部分:
- 离线主动方针:首要核算的是Top-N引荐话术与坐席/商家下一句实在回复的语义相关性,咱们选用了文本相关性的BLEU、ROUGE方针,以及排序相关性的Recall、MRR方针。
- 离线人工方针:上述离线主动方针核算比较简略,无需人工参加,但存在必定的局限性。为此咱们进一步进行了离线人工满意度评价,经过人工打分来判断体系引荐回复是否满足当时对话回复上下文,并核算了离线人工方针与离线主动方针的相关性,成果表明离线人工方针与离线主动方针根本成正相关,且ROUGE方针相对来说更为客观而且与人工方针相关程度更高。
- 线上事务方针:此部分方针是体系线上作用的要点观测方针,直接实在反映话术引荐作用(在咱们的多次AB试验中,也证明了离线主动方针ROUGE与线上采纳率方针呈正相关性)。
因而在后续离线试验中,咱们首要以文本相关性方针,特别是ROUGE方针作为离线的中心观测方针。
3 召回模块
召回阶段的首要方针是依据当时对话的上下文Context召回若干条相关的回复Response,这儿的Context就适当于传统检索体系中的Query,Response就适当于Doc。但与传统检索体系不同的当地在于,话术引荐中的每条引荐回复,都对应一个前史的对话上下文,而咱们这儿召回的中心也在于,运用当时上下文去检索一些类似的前史对话上下文,然后用这些上下文对应的回复作为召回成果。因而,这儿的要点就在于怎么运用当时上下文检索类似的对话前史上下文。
在召回阶段,咱们选用了依据本文&依据向量&依据常识的多路召回计划。其间,常识的来历首要包含商家结构化信息(KBQA)以及商家个性化常识库(QABOT),首要方式是上文终究一句的单轮问答。下面会要点介绍文本及向量召回。
针对上述对话多样性、商户个性化及时刻迁移性等问题,在规划文本及向量召回索引时,咱们划分了两类索引并引进日更新机制:
- 商户/坐席前史索引:商户或坐席曩昔一个月的对话前史日志所抽取得到的Context-Response对,话术符合商家/坐席的事务场景及说话习气,精准个性化召回。
- 通用高频话术索引:首要包含通用及高频的Context-Response对,如问好、感谢等等场景,用于兜底,可大大进步掩盖率。
- 索引日更新机制:凭借离线数据表生产渠道和在线索引查询渠道,确保对话日志的回流和索引的日更新。
因而,在实践的话术引荐中,对商户/坐席而言,引荐答案的来历是该商户/坐席自身前史话术或通用高频话术,既部分缓解了个性化及时刻漂移问题,也防止了因引荐不合格或违规话术引发客诉。
3.1 文本召回
关于文本召回,在对前史对话树立索引时,最粗暴的计划是直接把前史对话上下文直接拼接成一长串文本树立索引,然后线上运用BM25进行召回。这种做法首要存在两个较大的缺点:
- 没有考虑到对话的顺承特性,即对话的下一句回复一般与最近几句对话前史更为相关。
- 把一切对话前史进行拼接导致内容较为凌乱,不利于精确检索。
针对这两个问题,咱们对对话前史上下文索引的树立进行了优化。详细来说,咱们将整个对话前史划分为:
- 短期对话上文:一般为上文终究一句包含完好语义的话,中文分词后去停用词树立倒排索引。
- 长时刻对话上文:一般为上文除终究一轮外前N轮对话,中文分词后去停用词经过TF-IDF等办法发掘Top-M关键词入索引库。
- 机器人对话上文:首要为进线标签等,能够增加对话初期的布景信息。
如下图3所示,针对不同的对话上文选用不同的信息抽取及建模办法,中心思想在于关于短期上文保存尽量多的信息,确保召回时的相关性,关于长时刻上文中的信息进行挑选过滤,只保存中心信息,进步召回的精准性。
此外,咱们针对话术库构建的首要作业会集于扩展数据规划和进步数据质量两部分:
- 扩展数据规划:时刻跨度上,咱们比照了运用曩昔半个月/一个月/两个月的对话前史的抱负上限作用,发现一个月比较半个月进步较大但两个月比较一个月简直无进步,故而终究选定运用曩昔一个月的对话前史日志;文本频率上,早期仅挑选答案呈现频率大于1的问答对,后期增加一切问答对发现作用有较为显着的进步。
- 进步数据质量:首要是清洗过滤噪音数据,包含不限于链接、卡片、脏文本等。这儿如果采纳较为严厉的过滤计划,线上作用反而下降,估测是召回排序计划自身具有去噪作用,而离线严厉过滤反而会丢失可用数据。
3.2 向量召回
近年来,跟着深度学习的火热发展,散布式语义表明(Distributed Representation)成为人们研讨的一个热门。散布式语义表明经过将文档的语义压缩到一个稠密向量空间,有用的缓解了数据稀少性的问题,一起结合一系列向量检索计划(如FAISS)还能够完结对文档的高效检索。
针对话术引荐场景,在文本召回的根底上增加向量召回作为弥补首要有以下两点考虑:
- 增加短期上文的泛化性:文本召回只是是词粒度的匹配,引进向量表明能够大大增强表明和匹配的泛化性。
- 增强长时刻上文的表明:文本中的长时刻上文仅运用关键词进行表明,语义显着失真,经过向量召回的办法能够愈加有用地表明和运用长时刻上文。
详细来说,向量召回即给定对话上文(Context,Q),检索得到答案调集(Response,A),一个最根本的问题便是召回办法的挑选(QQ vs QA),终究咱们选了QQ的办法来进行检索召回,即构建Context-Response Pair对,将Context表明为向量后检索召回索引中类似的前史Context,再运用这些前史Context对应的前史Response作为召回成果。
这样挑选的中心原因在于:Context与Response之间并非单纯的语义类似或相关联系,更多的是一种顺承推理的联系,难以用依据类似度或距离的向量检索计划来直接处理,经过引进前史Context作为其间的”桥梁”,能够让建模变得愈加简略。
举一个简略的例子,如果Context是“谢谢”,那么向量检索回来的调会集大多都是此类表明感谢语义的语句,可是咱们应该召回回复感谢的“不客气”之类的语句。在实践试验和事务中,咱们也进行了一系列的比照,发现Context-Response(QA)召回办法作用远差于Context-Context(QQ)办法。
3.2.1 表明模型
关于怎么表征文档,咱们简略介绍三类典型的模型结构:
- BoW:词袋向量模型(Bag-of-Words Embedding)是文档向量表明的一个根底模型,在大规划无监督对言语料中经过 Word2vec[1]、Glove[2] 等算法核算出每个单词的向量表明,文档的向量表明能够经过文档中一切词语的向量进行组合来得到,比较简略有用的办法是均匀池化(Average Pooling)。
- BERT:大规划无监督预练习显着地进步了深度学习在自然言语处理范畴的实用性和通用性,BERT[3]和MLM(Mask Language Model)作为典型的模型及使命,在对话范畴内大规划数据预练习后,能够取得词语的上下文相关表征向量,终究文档的向量依然可由均匀池化取得。
- DualEncoder:双塔模型[4]是大规划文本类似度核算或许说向量召回中最为经典的模型之一,以上述预练习之后的BERT作为根底模型来表征Context与Response(参数共享),终究文档的表明是[CLS]位置的向量。
总结来看,BoW的局限之处在于对每个单词仅有一种表明,忽视不同上下文情境下词语的多义性;BERT缓解了BoW的这一问题,考虑了词的上下文特征;DualEncoder在BERT的根底上,不再运用均匀池化的办法来表征文档,而是直接在文档级别进行练习,更好地建模了文档内部的长程依赖联系,一起考虑了对话自身的特征。因而,咱们终究挑选了双塔模型,如下图4所示:
3.2.2 数据采样
双塔模型的一个根本问题是怎么结构高质量的正样本对,在话术引荐的场景这个问题并不杂乱,不过存在两种挑选:
- Context-Response Pair:经由前史对话日志发掘得到的样本对,及给定上文和其对应的回复。
- Context-Context Pair:凭借商户Context与Response的对应联系,同一Response对应的Context调集互为正例,经过这种联系伪造获取Context及其对应Context。
咱们挑选了办法一,这是因为对话中Context与Response虽然存在必定的多样性,可是总体上来说比较搜索体系中的Query-Document仍是具有很强的对应联系,Response自身供给了满足的监督信息来区分不同的Context。
此外,负例采样是向量召回中最重要的问题,一般来说典型的采样办法有以下三种[19]:
- 预界说采样:在数据准备阶段预先依据某些规矩或条件采样负例,在模型练习过程中单个正例对应的负例调集不变。局限于资源等问题,一般来说负例个数不会太多。
- Batch内采样:模型练习过程中,Batch内除当时正例及其对应样例之外的其它样例都可视作负例。比较于预界说采样,Batch内随机采样使得每轮练习时同一正例对应不同的负例,而且能够设置较大的负例个数,能够愈加简略高效地运用数据。
- 难负例采样:除了简略负例之外,为了进步模型对难负例的辨认作用以及对细节的学习才能,一般会结合场景特征发掘部分难负例作为弥补。
不管是学术界文章仍是工业界实践,都显示Batch内简略负例+难负例的组合作用最好,经历比例大致在100:1。因而,咱们终究也根本参阅了这种设置[5],如下图5所示,其间关于难负例的采样,咱们尝试了如下两种办法:
- 依据Context的BM25难负例发掘(CBM):树立Context索引,经过BM25召回类似的Context,并在对应的Response调会集挑选难负例。
- 依据Response的BM25难负例发掘(RBM):树立Response索引,经过BM25召回类似的Response,并在召回的Response调会集挑选难负例。
试验成果表明,CBM会带来必定进步而RBM则是负向作用,估测是RBM办法召回的样例与实在回复的字面类似度较高,本质上是假负例而非难负例,导致了模型作用的下降。
3.2.3 多样性表征
因类目场景及商户特征所导致的多样性问题运用上述构建索引的准则现已得到了缓解,这儿首要重视的是对话自身语义上的多样性,即给定一段Context,或许存在多个语义点,存在多样性的回复。详细来说,又能够分为两方面:
- 多个Context对应一个Response:在Context包含多轮前史对话的景象下特别显着。
- 一个Context对应多个Response:Context中包含多个主题或许说语义点,针对不同的语义点,存在不同的回复。即便是类似语义的回复,在表达方式上也会有所差异。
针对榜首类多样性,在Context召回类似Context的设置下并不存在显着问题。可是在实践的试验中,咱们发现将同一个Response对应的Context调集做均匀池化获取均值向量,以此合并多条记录到一条记录并以该均值向量作为Context表明,能够有用进步召回成果调集的文本相关性方针,咱们称之为语义纯化。
估测均匀池化的办法去除了每个Context向量上附着的噪音,仅保存与对应Response最为相关的语义向量部分,故而进步了召回作用。
针对第二类多样性,类似的问题或许思想在对话回复挑选、电商引荐、文本检索中有过相关的作业:
- 弱交互[6]:对话回复挑选使命,一般来说,交互模型的作用远好于双塔模型,可是交互模型的推理速度较慢。本文经过规划多个Poly Codes或直接选取First-M、Last-M个Context Hidden States将Context表征为多个向量,然后引进弱交互性质,比较双塔模型能够有用进步作用,比较交互模型能够大幅进步推理速度,不过其首要运用是在粗排模块,而非向量召回模块。
- 多爱好[7]:电商场景的引荐使命,本文将引荐体系视作一个序列化引荐使命,即依据用户点击Item前史估测下一个用户或许感爱好的Item。作者以为单个向量难以表征用户前史的多爱好,经过动态路由(Dynamic Routing)与自注意力(Self-Attentive)从前史中抽取K个向量表明不同的爱好点,不同的爱好点向量独立召回不同的Items,然后规划聚合模块对召回的Items进行从头分组和排序,聚合时除了类似度分数还能够考虑引进Diversity等更多的性质。
- 多向量[8]:稠密文档检索,作者以为简略的双塔模型或许造成文档表征严峻的信息丢失,因而运用迭代聚类(Iterative Clustering)的办法将文档表明为K个向量,即类簇中心点。在树立索引时保存文档的K个vector,检索时召回K * N个成果并经过重排序保存N个成果。
能够看出,多样性(多向量表征)的中心问题在于怎么表征获取K个向量,结合话术引荐的场景,给定一个Context,或许存在多个适宜的Response,依据Context不同的杂乱程度,或许存在不同数意图Response。咱们期望将Context表征为多个向量,抱负状况下每个向量表征了一种或许的语义点,可是咱们并不期望为每个Context生成固定数量的向量,不同的Context视其难易程度应该对应不同数意图向量。因而,咱们针对对话自身的结构特征和次第信息,提出了一种简略的对话特定的多向量生成办法:
详细来说,Context和Response输入BERT编码器后,获取一个Context Vector Set即,以及一个Response Vector即。在离线练习时,咱们采纳Scaled Dot Attention的办法来获取Context终究表征向量,然后与Response Vector核算Score,如下所示:
在线上推理时,对Context Vector Set中的每个Vector进行并行检索,然后经过重排和聚合获取终究成果。
4 排序模块
排序模块是在上一步召回模块的根底上,结合当时的对话上下文对每个召回的答案进行打分排序。在召回阶段,为了能够更高功率的进行检索,咱们一般选用的是双塔架构模型,这种模型Context与Response信息交互的程度低,作用相对也较差。而在排序阶段,召回的候选集一般现已控制到了几十条,能够运用交互式架构模型,来更好的学习Context与Response之间的相关性,然后进步话术引荐的准确性。
典型的交互模型如下图7所示,一般选用BERT作为编码器,经过将Context与Response进行拼接作为模型输入,终究模型输出0-1之间的打分作为排序成果[9]。本场景对应了学术上一个经典使命,即对话回复挑选(Conversational Response Selection),咱们后续要点介绍预练习、负采样、建模办法、比照学习、特征融入等方面的作业。
4.1 对话预练习
目前,预练习言语模型(如BERT、GPT等)现已广泛运用于许多NLP使命。许多文章证明了,哪怕不运用额定的数据,仅在范畴相关的数据持续预练习(Domain-Adaptive Pretraining)依然能够带来性能作用的进步,例如Masked Language Model(MLM)、Sentence Order Prediction(SOP)等通用预练习使命。而且也能够进行使命特定的预练习(Task-Specific Pretraining),使得预练习模型提前学习到相关使命的信息与形式。一起,预练习使命大都是自监督使命,也能够在多使命学习(Multi-Task Learning)的结构下用作主使命的辅佐性使命进行联合练习。
针对检索式对话体系,特别是对话回复挑选这一使命,能够从下列两个视点动身规划预练习使命:
(1)对话层级:建模不同层级(Token-Level/Sentence-Level/Session-Level)的结构。
- Token-Level的使命大多是通用NLP使命。最简略的Language Model(LM)使命,依据上文猜测下一个单词。BERT的Masked Language Model(MLM)使命,依据语句中其他的词来猜测被Mask的词。XLNet的Permutation Language Model(PLM )使命,将语句中的Token随机摆放后用自回归的办法练习猜测结尾的Tokens。
- Sentence-Level的使命许多,能够有用表征对话中的句间联系,经过特殊规划后也能够建模对话的共同性等性质。BERT中的Next Sentence Prediction(NSP)猜测语句对是否是同一文档的上下句联系。Next Sentence Generation(NSG)[10]使命在给定上文时生成对应的回复。Sentence Reordering Task(SRT)将对话中语句打乱次第后猜测正确的次第。Incoherence Detection(ID)随机替换对话中的一句话并猜测哪句话被替换了。Consistency Discrimination(CD)是面向说话人人物的共同性判别,建模方针为来自同一说话人的句比照来自不同说话人的句对类似度分数更高,使模型更多地去捕捉两个言语之间在主题、说话个性和风格之间的类似性,而不是言语之间地连贯性和语义相关性。在本场景中,咱们试验了NSG使命,期望生成式使命能够对检索式使命有所增益。
- Session-Level的使命较少,Next Session Prediction(NSP)[11]猜测两个片段是否是相邻的两个次第,核算对话中两段Session之间的匹配程度,适当所以Next Sentence Prediction的对话改进版。
(2)对话性质:建模流畅性(Fluency)、共同性(Coherence)、可读性(Readability)、多样性(Diversity)、特异性(Specificity)等性质。
以共同性和特异性为例,文章[12]凭借N元逆文档频率(n-NIDF,n-gram Normalized Inverse Document Frequency)为每个正例进行打分,然后经过均方差丢失函数(MSE,Mean-Square Error)进行学习建模。
在本场景中,咱们并未运用额定的语料,只是在BERT根底上持续进行预练习,首要试验了MLM、NSG、NSP使命别离建模Token、Sentence、Session层级的性质,均有必定进步。
4.2 负例采样
一般来说,在搜索引荐场景中,正样本为点击样本,负样本为曝光未点击样本。可是对话的场景有所不同,以商家IM中的话术引荐为例,正样本的结构并不困难,因为不管线上是否有点击行为,经过对话日志关联,总是能够获取到实在的回复。而负样本却不能单纯地设置为曝光未点击,依据引荐列表的数据来历能够把或许的负样本划分为下列三类,如下图8所示:
- 曝光列表(View,False or Hard Negatives):曝光未点击,上一版精排模型的排序Top-3成果调集,存在精排模型偏置。
- 召回列表(Retrieval,Hard or Common Negatives):召回模块回来的样例调集,线上精排模型的输入全集,存在召回模型偏置。
- 随机话术(Random, Easy Negatives):该商户曩昔一个月发送过的语句调集,以及商户所属二级类目发送的高频语句调集。
试验表明将曝光未点击样例作为负例的作用极差,估测是因对话多样性导致其间包含过多假负例。仅从Retrieval调集采样与Retrieval + Random联合采样的作用相差不大,不过后者愈加安稳,对召回调集散布漂移问题具有更强的鲁棒性。
4.3 学会排序
针对排序的使命的建模一般有以下两种思想:
- 二元肯定论[13]:非黑即白,候选回复要么是相关的要么便是不相关的,首要作业在于怎么结构难负例。作者运用DialogueGPT类预练习生成模型来伪造假负例,经过对话流变形(Flow Distortion)和上文扰动(Context Destruction)的办法获取修改正的对话,输入到模型生成对应的回复,终究挑选困惑度分数(Perplexity Score)最高的回复以防止假负例问题。常见的建模办法为Pointwise。
- 多元相对论[14]:次第联系,注重回复质量的多样性,首要作业在于怎么结构数据建模更细粒度的好坏联系。作者运用生成(Generation)或许检索(Retrieval)的办法来结构所谓的灰度数据(Grayscale),并期望模型学习“Ground Truth Response > Greyscale Response > Random Sampled Response”的渐进联系,终究丢失函数一起建模“Ground Truth > Random”、“Ground Truth > Retrieval > Random”、“Ground Truth > Generation > Random”三类次第联系。常见的建模办法为Pairwise。
结合咱们当时的场景,这两类办法的典型比照如下图9所示,差异在于将召回调集视作难负例仍是灰度数据。
试验成果表明,在Pairwise设置下Logistic方式的丢失作用优于Hinge方式,而且GT > Retrieval > Random增强有用。一起,Pointwise和Pairwise建模办法无肯定的高低上下之分,作用好坏取决于场景和数据特性。事实上在线坐席CHAT场景中Pairwise更好,商家IM场景中Pointwise更好,联合建模(Pointwise+Pairwise or Pointwise->Pairwise)作用略有进步。
4.4 比照学习
在分析排序过错的过程中,咱们发现存在Context或Response少数扰动导致终究分数改动较大的景象,典型的例子如短Response增加或删去句尾符号导致猜测标签改动。而比照学习的指导准则是经过主动结构类似实例和不类似实例学习一个表明模型,使得类似的实例在投影空间中比较挨近,而不类似的实例在投影空间中距离比较远。因而,为了缓解上述问题,咱们期望凭借比照学习的思想使得模型的输出成果更为安稳共同,详细来说,输出的向量表明尽或许挨近,输出的概率散布尽或许共同。
针对向量表明,咱们对Context[16]和Response[17]别离进行了数据增强,或许说增加了不改动语义的扰动,期望增强之后样例与原始样例在表明空间上尽或许挨近,而且远离对应的负例,如下图10所示:
详细来说:
(1)Context端数据增强:根本准则是不显式改动Context的终究一句话,因为终究一句话的语义最为重要。
- Context为单句,不进行显式改动,增加Dropout。
- Context包含商家或用户接连说话景象,进行Sentence Re-ordering操作(人物信息很重要,不会互换不同人物说的话的位置)。
- 其它多轮景象,随机挑选一句,进行Sentence Token Shuffling操作(针对中文,咱们运用Jieba分词后再打乱重组,防止字级别打乱重组噪音过多)。
(2)Response端数据增强:根本准则是尽量不改动语义,不引进过多噪音。
- 语句长度小于5,随机进行Dropout或许Operate punctuations(增加删减句尾标点符号)操作。
- 语句长度大于5,随机挑选Random Deletion或Random Swaping,每个位置20%概率进行替换或删去。
此外,关于怎么设置比照负例也有两种办法:
- Batch视点:Batch内其它样本都作为比照负例,意图是优化向量散布,改进Bert产生的向量各向异性和散布不均匀。
- Pair视点:只是将同Pair内的负例作为比照负例,意图是拉远正例和负例的向量。
试验成果表明,Context增强办法下比照负例为Batch维度更好,而Response增强办法下比照负例为Pair维度更好。
除了向量维度之外,针对概率散布,咱们采纳了R-Drop[18]办法来约束同一数据两次Dropout下输出的分数是共同的。因为咱们的输出成果是二分类概率,所以除了KL散度之外,还能够运用MSE函数核算丢失。试验成果均有必定进步而KL散度作用更好。
4.5 个性化建模
上文的作业首要都会集在文本语义相关性上,可是没有考虑不同商户/坐席等的个性化偏好问题。学术上惯例的做法是运用一个说话人模型将每个人物编码为一个向量,然后将该向量输入到生成模型中以约束和产生个性化回复[20]。
虽然咱们能够仿效该计划为每个商户学习一个向量以影响精排模型的排序作用,可是,在咱们的场景中(以商家IM为例),日活泼商家数为数十万而且每天都或许有新商户呈现,出于作用和性能的考虑该计划并不适宜。
因而,咱们采纳了一种十分简略可是极为有用的建模计划,该计划依据一个显着的直觉,即在语义相关合理的回复候选调会集商户/坐席更偏好自己曾经说过的话。详细来说,排序模块的输入(候选回复调集)除了文本问答对之外,还存在着许多的非文本特征,如该候选回复的来历,咱们期望经过这些特征的建模来表现不同维度的个性化。以商家IM话术引荐为例,咱们首要考虑三种类型的特征:
- 商家个性化特征:关于精排模型输入调集的样例,重视答案是否来历于商户前史,即商家是否说过这句话。
- 产品个性化特征:在咨询过程中,除了纯文本信息之外,还存在产品、团购等卡片信息,这类信息为“多少钱”、“适用人群”等问题供给了约束和约束。
- 时刻个性化特征:部分问题如“营业时刻”、“经营项目”存在时效性和周期性。针对时效性问题,相同的问题下答案时刻越近越好;针对周期性问题,上一周期的一起段的答案最好。
业界通用的特征建模办法是Wide & Deep模型,咱们因为可用特征较少,所以采纳了一种简化的联合建模的办法。
详细来说,咱们采纳了一种简略的类双塔的方式来别离建模文本特征和非文本个性化特征,如下图11所示:
这是一种无交互的建模办法,本质上来说终究的打分适当于文本相关性打分加非文本特征打分,而且因为非文本特征的维度都很小(2-5),因而实践上线时能够不改动基线模型结构,仅需求经过非文本特征分数微调即可。实践试验中,商家个性化特征影响范围最广,作用最好;时刻个性化特征也有必定作用;产品个性化影响范围较小,可是在触及到相关类型信息时有必定进步。
5 运用实践
5.1 离线试验作用
为精准反映模型迭代的离线作用,咱们针对召回及精排模型别离结构了一批Benchmark。召回模块首要考虑Top-6召回成果的BLEU、ROUGE-2方针,成果如下表所示:
能够看到,依据BM25的短期上文召回作用优于依据长时刻上文的词袋向量模型,而BERT考虑了词的上下文特征,进步巨大;双塔模型则建模了对话自身的特征,作用进一步进步。在双塔模型根底上,引进难负例会带来必定进步,而引进对话多样性表征则带来显着进步。
精排模型首要考虑Top-1排序成果的BLEU、ROUGE2、RECALL方针,成果如下表所示:
能够看到,引进Pairwise学习并不能带来彻底的正向收益,对话预练习则带来了安稳进步,比照学习增强大大进步了一切方针。非文本特征融入在文本相关性方针上有必定进步,而且显着进步了排序相关性方针,阐明该办法十分有用处理了在言语表达方式类似状况下商家个性化偏好问题。
5.2 商家IM话术引荐
商家IM是商家与用户在交易流程中的在线即时通讯工具,在获取所需产品和服务过程中,用户有主动表述问题咨询信息的诉求,并经过IM向商家建议发问。以到综事务为例,大部分商家因为没有配备专门客服等原因,回复才能不足,回复欲望较低,功率不足,导致回复率较低,回复不及时,夜间无回复,简单造成客资流失。针对这一问题,咱们树立面向商家的智能助手,商家在线时供给话术引荐辅佐人工才能,降低客服输入本钱,进步回复率,终究进步用户服务体会,如下图12所示:
5.3 在线坐席CHAT输入联想
在线坐席为渠道客服,首要解决用户购买产品或服务后的咨询问题。在这些场景中,存在着以下问题:谈天过程中常常回复类似乃至相同的话术,需求重复输入,功率低下;新人坐席因为事务了解程度还不行,关于一些用户的问题不知道该怎么回复。为了缓解这些问题,咱们话术引荐及输入联想功能来进步对话功率,其间输入联想比较话术引荐首要是多了客服已输入前缀的约束,如下图13所示:
5.4 常识库答案供给
商家IM中,除了商家在线时供给话术引荐辅佐人工才能之外,咱们也在商家离线时供给智能客服主动回复才能,解决夜间无人值守的问题。其间首要的过程便是协助商家树立自界说常识库,在意图体系构建完结之后,除了存在默许答案的通用意图之外,部分特定意图仍需求商家手动填写答案。
在此过程中,咱们依据意图中的问法为商家供给了引荐答案,减轻填写本钱,进步填答功率,以进步答案掩盖率,如下图14所示:
6 总结与展望
检索式对话体系是一个杂乱的体系,包含离线数据流程、在线召回排序、个性场景战略等多个算法模块,其全体结构早已老练,不过针对其间细分模块的优化仍然是研讨和实践的要点。
经过一年多的技能探究与运用实践,咱们不仅在多个事务中落地,而且构建了一套可快速推广复用的检索式对话体系。虽然当时的体系现已达到了较高的满意度,根本掩盖解决了咨询场景中的闲谈、常识等类型问题,可是针对体系自身以及咨询场景的解决计划依然有许多探究优化的方向,包含但不限于:
- 检索与生成结合:虽然生成式模型不适宜作为首要解决计划,可是能够作为召回的弥补来历或许是排序的打分器,而且在特定场景或许端到端模型更为适宜。
- 多模态交互:当时首要的交互形式是依据文本的,未来能够探究在事务场景和模型层面都支持言语、图片等的多模态交互。
- 全主动托管:当时的形式仍需求人工客服每轮进行协同点击干涉,期望在特定细分场景树立全主动托管对话机器人,解决闲谈、问答、使命等类型问题,完结咨询流程。
7 作者简介
子健、瑞年、冠炜、翔宇、超博、炎根、杨帆、广鲁等,均来自美团渠道/语音交互部。
8 参阅文献
- [1] Mikolov, Tomas, et al. “Efficient estimation of word representations in vector space.” arXiv preprint arXiv:1301.3781 (2013).
- [2] Pennington, Jeffrey, Richard Socher, and Christopher D. Manning. “Glove: Global vectors for word representation.” Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014.
- [3] Devlin, Jacob, et al. “Bert: Pre-training of deep bidirectional transformers for language understanding.” arXiv preprint arXiv:1810.04805 (2018).
- [4] Reimers, Nils, and I. Sentence-BERT Gurevych. “Sentence Embeddings using Siamese BERT-Networks. arXiv 2019.” arXiv preprint arXiv:1908.10084 (1908).
- [5] Liu, Yiding, et al. “Pre-trained language model for web-scale retrieval in baidu search.” Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021.
- [6] Humeau, Samuel, et al. “Poly-encoders: Transformer architectures and pre-training strategies for fast and accurate multi-sentence scoring.” arXiv preprint arXiv:1905.01969 (2019).
- [7] Cen, Yukuo, et al. “Controllable multi-interest framework for recommendation.” Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020.
- [8] Tang, Hongyin, et al. “Improving document representations by generating pseudo query embeddings for dense retrieval.” arXiv preprint arXiv:2105.03599 (2021).
- [9] Whang, Taesun, et al. “An effective domain adaptive post-training method for bert in response selection.” arXiv preprint arXiv:1908.04812 (2019).
- [10] Mehri, Shikib, et al. “Pretraining methods for dialog context representation learning.” arXiv preprint arXiv:1906.00414 (2019).
- [11] Xu, Ruijian, et al. “Learning an effective context-response matching model with self-supervised tasks for retrieval-based dialogues.” Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 35. No. 16. 2021.
- [12] Li, Junlong, et al. “Task-specific objectives of pre-trained language models for dialogue adaptation.” arXiv preprint arXiv:2009.04984 (2020).
- [13] Qiu, Yao, et al. “Challenging Instances are Worth Learning: Generating Valuable Negative Samples for Response Selection Training.” arXiv preprint arXiv:2109.06538 (2021).
- [14] Lin, Zibo, et al. “The world is not binary: Learning to rank with grayscale data for dialogue response selection.” arXiv preprint arXiv:2004.02421 (2020).
- [15] Burges, Chris, et al. “Learning to rank using gradient descent.” Proceedings of the 22nd international conference on Machine learning. 2005.
- [16] Zhang, Wentao, Shuang Xu, and Haoran Huang. “Two-Level Supervised Contrastive Learning for Response Selection in Multi-Turn Dialogue.” arXiv preprint arXiv:2203.00793 (2022).
- [17] Li, Yuntao, et al. “Small Changes Make Big Differences: Improving Multi-turn Response Selection in Dialogue Systems via Fine-Grained Contrastive Learning.” arXiv preprint arXiv:2111.10154 (2021).
- [18] Wu, Lijun, et al. “R-drop: Regularized dropout for neural networks.” Advances in Neural Information Processing Systems 34 (2021): 10890-10905.
- [19] Karpukhin, Vladimir, et al. “Dense Passage Retrieval for Open-Domain Question Answering.” Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020.
- [20] Li, Jiwei, et al. “A Persona-Based Neural Conversation Model.” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2016.
招聘信息
语音交互部负责美团语音和智能交互技能及产品研制,面向美团事务和生态同伴,供给对语音和白话数据的大规划处理及智能响应才能。经过多年研制堆集,团队在语音辨认、组成、白话了解、智能问答和多轮交互等技能上已建成大规划的技能渠道服务,并研制包含外呼机器人、智能客服、语音内容分析等解决计划和产品,在公司丰厚的事务场景中广泛落地;一起咱们也十分重视与职业的严密合作,经过美团语音运用渠道已与第三方手机语音助手、智能音箱、智能车机等诸多合作同伴展开对接,将语音生活服务运用供给给更多用户。
语音交互部长时刻招聘自然言语处理算法工程师、算法专家,感爱好的同学能够将简历发送至huyangen@meituan.com。
阅读美团技能团队更多技能文章合集
前端 | 算法 | 后端 | 数据 | 安全 | 运维 | iOS | Android | 测验
| 在大众号菜单栏对话框回复【2021年货】、【2020年货】、【2019年货】、【2018年货】、【2017年货】等关键词,可检查美团技能团队历年技能文章合集。
| 本文系美团技能团队出品,著作权归属美团。欢迎出于分享和交流等非商业意图转载或运用本文内容,敬请注明“内容转载自美团技能团队”。本文未经许可,不得进行商业性转载或许运用。任何商用行为,请发送邮件至tech@meituan.com请求授权。