摘要:AI重新定義了客服的方式,在這篇文章中蜓氨,我們將介紹一下目前云博士機(jī)器人使用的一些算法以及相關(guān)的背景聋袋,為讀者構(gòu)建一個(gè)基本的框架。
背景簡(jiǎn)介
隨著阿里云業(yè)務(wù)的增長(zhǎng)穴吹,售后工程師們需要解決的問題數(shù)量逐步增大幽勒,在解決復(fù)雜的技術(shù)問題的同時(shí),還是有不小一部分的同質(zhì)化的業(yè)務(wù)咨詢問題需要解決港令。所以啥容,這時(shí)候云博士的出現(xiàn)就是為了解決那些可以通過機(jī)器回答的問題,讓售后工程師們能聚焦在更加緊急復(fù)雜的問題上顷霹。
隨著數(shù)據(jù)的沉淀咪惠,我們積累了大量的用戶歷史問題,對(duì)應(yīng)解決的知識(shí)點(diǎn)的數(shù)據(jù)淋淀,算法如何使用這些數(shù)據(jù)遥昧,然后解決用戶問題,我們會(huì)在下面的篇幅中逐步介紹朵纷。
如何找到相似問法炭臭?
當(dāng)算法知道“機(jī)器無法打開”對(duì)應(yīng)的是知識(shí)點(diǎn)K,那么用戶遇到了一個(gè)問題:“電腦不能啟動(dòng)”的時(shí)候袍辞,我們希望算法能直接將這個(gè)這個(gè)問題等同于已經(jīng)知道的“機(jī)器無法打開”鞋仍,然后推送給用戶知識(shí)點(diǎn)K。而這里頭的關(guān)鍵就是搅吁,“電腦不能啟動(dòng)” = “機(jī)器無法打開”凿试。從傳統(tǒng)的角度來看,如果我們用關(guān)鍵字匹配似芝,不難發(fā)現(xiàn)上面的兩個(gè)問題是正交的那婉,即兩個(gè)問題中并沒有共同出現(xiàn)過任何一個(gè)一樣的詞。因此如果僅從字符串硬匹配的角度來看党瓮,是沒有辦法得到我們心儀的知識(shí)點(diǎn)K的详炬。
所以我們需要一種機(jī)制或者說數(shù)據(jù)形態(tài)來表示這兩個(gè)問題,同時(shí)能讓機(jī)器能明白其中一定的語義信息寞奸,同時(shí)也有一定的機(jī)制來衡量?jī)蓚€(gè)句子的相似度呛谜。
句向量
句向量,從定義來看枪萄,就是一串的固定維度的數(shù)字向量(機(jī)器對(duì)于數(shù)字的處理更好)隐岛,存在一個(gè)模型,任意描述的句子瓷翻,都會(huì)被轉(zhuǎn)化為一個(gè)句向量聚凹。那有了這個(gè)向量割坠,我們有沒有一個(gè)數(shù)學(xué)手段來衡量句跟句之間的相似度呢?好辦妒牙,用兩個(gè)詞向量之間的距離來表示詞之間的相似度彼哼。
到此為止,業(yè)務(wù)問題已經(jīng)被一定程度上定義為了一個(gè)基礎(chǔ)的算法問題湘今,之后我們要做的就是尋找合適的數(shù)學(xué)框架和算法模型來把這個(gè)問題填充進(jìn)去敢朱,用算法模型來實(shí)現(xiàn)這個(gè)業(yè)務(wù)問題。
經(jīng)過一些調(diào)研摩瞎,我們不難發(fā)現(xiàn)DSSM就是一個(gè)非常符合我們需求的數(shù)學(xué)算法模型拴签,同時(shí)也有成熟的技術(shù)方案。
在接下來的篇幅中我們來介紹一下這個(gè)模型:
DSSM的全稱為Deep Structured Semantic Model旗们,如名字所述蚓哩,是現(xiàn)在紅遍大江南北的深度學(xué)習(xí)模型中的一員,在信息檢索系統(tǒng)中大放異彩蚪拦。原始結(jié)構(gòu)如下圖所示:
模型的輸入層是一個(gè)query以及與之相關(guān)的文檔杖剪,輸入的時(shí)候以one-hot的形式輸入冻押,之后進(jìn)行了三層的全連接神經(jīng)網(wǎng)絡(luò)處理驰贷,得到一個(gè)語義特征y。訓(xùn)練的過程中洛巢,模型會(huì)根據(jù)query以及每個(gè)文檔的相似性去優(yōu)化這兩個(gè)y之間的cosine夾角距離括袒,使得相似的query和文檔的距離更近,不相似的距離更遠(yuǎn)稿茉。這里頭的核心思想和LDA(Linear Discriminant Analysis) 有異曲同工之妙锹锰。
還記得我們?cè)谖恼麻_始說的那些優(yōu)質(zhì)且大量的歷史問題,對(duì)應(yīng)解決知識(shí)點(diǎn)的數(shù)據(jù)漓库,經(jīng)過重新組織恃慧,如果兩個(gè)歷史問題的知識(shí)點(diǎn)對(duì)應(yīng)的是一樣的,那么就整合為(歷史問題1渺蒿,歷史問題2痢士,1),其中1表示兩個(gè)問題相似茂装,之后再隨機(jī)抽取一些負(fù)例樣本怠蹂,即兩個(gè)問題對(duì)應(yīng)的知識(shí)點(diǎn)不相似,組織為(歷史問題3少态,歷史問題4城侧,0)。這樣一組優(yōu)質(zhì)的數(shù)據(jù)集就已經(jīng)整合完畢了彼妻,之后就可以進(jìn)行訓(xùn)練了嫌佑。
在數(shù)據(jù)量足夠大的情況下豆茫,這個(gè)模型能夠忽略掉很多不重要的信息,只關(guān)注那些有價(jià)值的信息歧强,與此同時(shí)澜薄,也能明白“電腦”等同于“主機(jī)”,“無法”等同于“不能”這樣的同義詞摊册。
基于這個(gè)模型肤京,當(dāng)一個(gè)新問題進(jìn)來的時(shí)候,模型能快速的找到最接近的歷史問題茅特,并且推送對(duì)應(yīng)的知識(shí)點(diǎn)忘分。這樣一個(gè)最基本的問答流程就已經(jīng)搭起來了。
結(jié)語
DSSM本身雖然功能強(qiáng)大白修,但是還是有很多不可避免的缺陷妒峦,比如訓(xùn)練時(shí)間過長(zhǎng),對(duì)于詞表以外的詞不支持兵睛,語義向量也沒有保存下詞序的信息肯骇。但是科技總是不停進(jìn)步的,隨著時(shí)間的發(fā)展祖很,涌現(xiàn)了不少基于DSSM模型的變更版本笛丙,比如CDSSM,LSTM-DSSM假颇,MVDSSM等胚鸯,也是的這個(gè)語義模型本身變得愈發(fā)強(qiáng)大。