隨著阿里雲業務的增長,售後工程師們需要解決的問題數量逐步增大,在解決複雜的技術問題的同時,還是有不小一部分的同質化的業務諮詢問題需要解決。所以,這時候雲博士的出現就是為了解決那些可以通過機器回答的問題,讓售後工程師們能聚焦在更加緊急複雜的問題上。
隨著資料的沉澱,我們積累了大量的使用者歷史問題,對應解決的知識點的資料,演算法如何使用這些資料,然後解決使用者問題,我們會在下面的篇幅中逐步介紹。
當演算法知道「機器無法開啟」對應的是知識點k,那麼使用者遇到了乙個問題:「電腦不能啟動」的時候,我們希望演算法能直接將這個這個問題等同於已經知道的「機器無法開啟」,然後推送給使用者知識點k。而這裡頭的關鍵就是,「電腦不能啟動」 = 「機器無法開啟」。從傳統的角度來看,如果我們用關鍵字匹配,不難發現上面的兩個問題是正交的,即兩個問題中並沒有共同出現過任何乙個一樣的詞。因此如果僅從字串硬匹配的角度來看,是沒有辦法得到我們心儀的知識點k的。
所以我們需要一種機制或者說資料形態來表示這兩個問題,同時能讓機器能明白其中一定的語義資訊,同時也有一定的機制來衡量兩個句子的相似度。
句向量,從定義來看,就是一串的固定維度的數字向量(機器對於數字的處理更好),存在乙個模型,任意描述的句子,都會被轉化為乙個句向量。那有了這個向量,我們有沒有乙個數學手段來衡量句跟句之間的相似度呢?好辦,用兩個詞向量之間的距離來表示詞之間的相似度。
到此為止,業務問題已經被一定程度上定義為了乙個基礎的演算法問題,之後我們要做的就是尋找合適的數學框架和演算法模型來把這個問題填充進去,用演算法模型來實現這個業務問題。
經過一些調研,我們不難發現dssm就是乙個非常符合我們需求的數學演算法模型,同時也有成熟的技術方案。
在接下來的篇幅中我們來介紹一下這個模型:
dssm的全稱為deep structured semantic model,如名字所述,是現在紅遍大江南北的深度學習模型中的一員,在資訊檢索系統中大放異彩。原始結構如下圖所示:
模型的輸入層是乙個query以及與之相關的文件,輸入的時候以one-hot的形式輸入,之後進行了三層的全連線神經網路處理,得到乙個語義特徵y。訓練的過程中,模型會根據query以及每個文件的相似性去優化這兩個y之間的cosine夾角距離,使得相似的query和文件的距離更近,不相似的距離更遠。這裡頭的核心思想和lda(linear discriminant analysis) 有異曲同工之妙。
還記得我們在文章開始說的那些優質且大量的歷史問題,對應解決知識點的資料,經過重新組織,如果兩個歷史問題的知識點對應的是一樣的,那麼就集成為(歷史問題1,歷史問題2,1),其中1表示兩個問題相似,之後再隨機抽取一些負例樣本,即兩個問題對應的知識點不相似,組織為(歷史問題3,歷史問題4,0)。這樣一組優質的資料集就已經整合完畢了,之後就可以進行訓練了。
在資料量足夠大的情況下,這個模型能夠忽略掉很多不重要的資訊,只關注那些有價值的資訊,與此同時,也能明白「電腦」等同於「主機」,「無法」等同於「不能」這樣的同義詞。
基於這個模型,當乙個新問題進來的時候,模型能快速的找到最接近的歷史問題,並且推送對應的知識點。這樣乙個最基本的問答流程就已經搭起來了。
dssm本身雖然功能強大,但是還是有很多不可避免的缺陷,比如訓練時間過長,對於詞表以外的詞不支援,語義向量也沒有儲存下詞序的資訊。但是科技總是不停進步的,隨著時間的發展,湧現了不少基於dssm模型的變更版本,比如cdssm,lstm-dssm,mvdssm等,也是的這個語義模型本身變得愈發強大。
從問題到答案,阿里雲問答演算法句義理解
摘要 ai重新定義了客服的方式,在這篇文章中,我們將介紹一下目前雲博士機械人使用的一些演算法以及相關的背景,為讀者構建乙個基本的框架。隨著阿里雲業務的增長,售後工程師們需要解決的問題數量逐步增大,在解決複雜的技術問題的同時,還是有不小一部分的同質化的業務諮詢問題需要解決。所以,這時候雲博士的出現就是...
雲計算 Linux從入門到精通 阿里雲大學的部落格
linux是一套免費使用和自由傳播的類unix的的作業系統,是乙個基於posix和unix的多使用者,多工,支援多執行緒和多cpu的作業系統。它能執行主要的unix工具軟體,應用程式和網路協議。它支援32位和64位硬體.linux繼承了unix的以網路為核心的設計思想,是乙個效能穩定的多使用者網路作...
從平凡到非凡 阿里雲李克的技術高階之路
簡介 人物簡介 李克 阿里雲邊緣雲計算領域技術負責人 2009年碩士畢業加入阿里至今,一直從事cdn及邊緣雲領域的技術研發工作,在cdn 邊緣計算等方向上有豐富的行業經驗,全程參與了阿里雲cdn商業化轉型,邊緣雲中臺體系的建設,研究方向包括資料智慧型 分布式架構和效能優化 雲計算等領域。目前主要負責...