本發(fā)明涉及一種關鍵詞提取方法,特別是一種電商客服自動問答系統(tǒng)語句關鍵詞提取方法。
背景技術:
隨著網絡的發(fā)展,網絡購物已經悄然興起,人們通過網絡來選購各種物品已經越來越成為一種時尚,然而現在的網絡客服機器人只能向消費者提供列表咨詢服務,即向消費者提供一個列表,讓消費者自己選擇需要的服務,消費者不能進行實時咨詢,這樣會直接降低消費者的購物體驗。如果要實現網絡機器人對消費者進行實時回話,就要準確理解消費者的意圖,如果要使得機器人準確理解消費者的意圖,就必須要對消費者的語句進行關鍵詞提取。
技術實現要素:
為解決上述問題,本發(fā)明的目的在于提供一種電商客服自動問答系統(tǒng)語句關鍵詞提取方法。
本發(fā)明解決其問題所采用的技術方案是電商客服自動問答系統(tǒng)語句關鍵詞提取方法,包括以下步驟:構建分詞系統(tǒng)、建立停用詞表以及通過神經網絡特征選取關鍵詞。
進一步,所述分詞系統(tǒng)是NLPIR漢語分詞系統(tǒng),所述分詞系統(tǒng)具有中文分詞功能、詞性標注功能、命名實體識別功能、定義用戶詞典功能以及新詞發(fā)現功能。
進一步,所述停用詞表包括英文字符、數學字符、標點、頻率高的單漢字、擬聲字、只能在首位出現的字、方位詞以及嘆詞。
進一步,通過神經網絡特征選取關鍵詞是指在用戶語句進行分詞后得到的關鍵詞集合中提取關鍵詞,提取關鍵詞的時候根據關鍵詞的三方面信息進行提取,所述三方面信息包括語義信息、自身信息和位置信息。
進一步,語義信息包括詞語詞性、詞語關聯度、句子命名實體識別以及去停用詞;詞語詞性是指用戶語句中各種詞性成為關鍵詞的概率存在差異,在關鍵詞提取中對不同詞性的關鍵詞賦予不同分值,用于提取分值計算;詞語關聯度是指用戶的句子中詞語和其他詞語之間存在復雜關系,一句話中各個詞語相當于是空間中的一個個語義節(jié)點,它們相互之間存在一定關聯,因而本方法將此因素考慮其中,利用Word2vec來計算詞語關聯度值;句子命名實體識別是指命名實體在句子中具有特殊意義,對它們的識別是關鍵詞提取的內容之一;去停用詞是指某些關鍵詞在句子中出現頻率比較高,但是它的作用很小,所以在進行關鍵詞提取的時候都要去掉這些作用小的詞。
進一步,自身信息包括詞頻和詞語長度;詞頻是指用戶多次提到某一詞語時,它成為關鍵詞的可能性就很大;詞語長度是指越長的詞語表示越豐富的信息,其成為關鍵詞的可能性也就越大。
進一步,位置信息包括首次位置和詞跨度,如果是單次出現的則用首次出現的位置表示,如果2次或以上出現則用首次出現位置和詞語跨度表示;位置其中L為句長,li為詞的位置;詞跨度Hi,其中l(wèi)i2為最后出現詞位置,li1為首次出現詞位置。
本發(fā)明的有益效果是:本發(fā)明是電商客服自動問答系統(tǒng)語句關鍵詞提取方法,本發(fā)明通過關鍵詞提取的辦法使得網絡客服機器人能夠對消費者的意圖有明確的了解,實現了消費者與網絡客服機器人的實時對話,使得網絡購物更加方便,大大提高了消費者的購物體驗。
附圖說明
下面結合附圖和實例對本發(fā)明作進一步說明。
圖1是本發(fā)明的自定義詞典;
圖2是本發(fā)明的停用詞表;
圖3是本發(fā)明的詞性分值表;
圖4是本發(fā)明的實例結果。
具體實施方式
要實現對用戶商品意圖的識別,首先要做的就是對用戶輸入語句的理解。這種理解的基礎工作就是提取句子中的關鍵詞,語句中的關鍵詞語是用戶意圖表達的外在呈現。問答系統(tǒng)中對用戶關鍵詞的提取,首先對用戶的語句進行分詞,然后去除其中包含的一些網址連接、標點符號等,對剩下的詞語進行關鍵詞提取,步驟中的主要內容如下:構建分詞系統(tǒng)、建立停用詞表以及通過神經網絡特征選取關鍵詞。
和英文不同的是中文語句需要進行分詞,分詞的好壞對關鍵詞的提取存在影響,本發(fā)明選取NLPIR漢語分詞系統(tǒng),也就是之前的ICTCLAS2013,本系統(tǒng)具有多項功能如:中文分詞、詞性標注、命名實體識別,以及定義用戶詞典、新詞發(fā)現等;在2003年參加的“國際SIGHAN分詞大賽”取得了綜合第一的成績,是最優(yōu)秀的中文分詞系統(tǒng)之一,目前,全球用戶突破20萬。電商客服機器人使用這一分詞系統(tǒng),同時由于其服務市場是化妝品行業(yè)會具有一些專業(yè)詞匯需要進行添加,這里構建了專屬的用戶自定義詞典,包含詞匯660多個,用戶自定義詞典的前9行如圖1所示。
在分詞之后得到的集合中,會發(fā)現一些無效詞,它們可以被排除出關鍵詞的候選集。由于系統(tǒng)使用情景不一樣,所以在停用詞表建立的時候要考慮到網購的特點。眾多學者也進行了停用詞的歸納,將“英文字符、數詞、量詞、數學字符、標點、頻率高的單漢字、擬聲字、只能在首位出現的字、代詞、方位詞、嘆詞”等列入了停用詞的選擇范圍,針對不同的處理文本這些詞的選擇會存在一些差異。
本系統(tǒng)中一些數詞和代詞等都不會被列入停用詞,因為顧客在購物中會涉及到商品的數量、價格等,這些是句子中的關鍵信息,顯然不能被忽略;此外,代詞也是重要的,在問答過程中顧客往往對說過的商品會采用指代的方式提及,因此代詞也是重要的語句信息之一;但是在網絡購物中常出現的“問候詞”例如,“親、你好、在、在嗎”等都對語句的關鍵信息沒什么影響,所以被列入停用詞表,但是在問答系統(tǒng)中這些招呼詞語會有相應的招呼反饋,即用戶打招呼時,機器人也會熱情招呼回應。另外,一些單字助詞和擬聲字、詞也不包含重要信息因此將它們也列入,通過統(tǒng)計機器人交互語料以及收集的用戶聊天語料進行詞頻統(tǒng)計,然后進行篩選歸納得到停用詞表如圖2所示。
問句關鍵詞特征提取,實際對用戶的問句進行分詞后得到C=[c1,c2…cn];對ci進行特征提取,詞語的特征選擇從三方面信息展開即語義、自身和位置。
語義信息:(1)詞語詞性:在用戶語句中各種詞性成為關鍵詞的概率會存在差異,在關鍵詞提取中對關鍵詞的根據不同詞性賦予不同分值,用于提取分值計算,詞性分值表如圖3所示。(2)詞語關聯度:將雜網絡關系引入到了語言中,并利用了復雜網絡中的參數構造了15種語言的復雜網絡,用戶的句子中詞語和其他詞語之間存在復雜關系,一句話中各個詞語相當于是空間中的一個個語義節(jié)點,它們相互之間存在一定關聯,因而本發(fā)明將此因素考慮其中,利用Word2vec來計算詞語關聯度值。(3)句子命名實體識別:命名實體在句子中往往具有特殊意義,對它們的識別是很多關鍵詞提取的內容之一。(4)停用詞:在句子中出現頻率比較高,但是它的作用很小,很多時候在進行關鍵詞提取的時候都要去停用詞。
自身信息:(1)詞頻:用戶的話語中當詞頻逐漸增加時,如用戶多次提到某一詞語時,它成為關鍵詞的可能性很大。(2)詞語長度:有統(tǒng)計發(fā)現越長的詞語表示越豐富的信息,其成為關鍵詞的可能性很大,本系統(tǒng)中一些專有名詞會存在較長的情況,例如:機器人客服關鍵詞樹中的“生物纖維”、“覆盆子”等。
位置信息:首次位置和詞跨度;詞語在句子中出現的位置信息,如果是單次出現的則用首次出現的位置表示,如果2次或以上出現則用首次出現位置和詞語跨度表示;位置其中L為句長,li為詞的位置;詞跨度Hi,其中l(wèi)i2為最后出現詞位置,li1為首次出現詞位置。
電商客服機器人根據某化妝網店購物語料,結合自身產品和領域收集整理了語料庫,這里從其中抽取了不重復的1000條句子進行實驗,原因是整理的語料數據存在很多的相似性加上目前語料數量限制,實驗步驟如下:
(1)利用中科院NLPIR漢語分詞系統(tǒng)進行分詞,由于電商客服機器人的應用背景和產品對象的原因,利用分詞系統(tǒng)進行分詞后不可避免地存在錯誤分詞;因此,本發(fā)明對語料庫的分詞進行審核后,將錯誤的分詞進行提取形成自定義分詞詞典加入分詞系統(tǒng)中提高分詞的準確性。
(2)對抽取的1000個句子進行簡單處理后分詞,得到約6600多個分詞結果,在利用中科院分詞系統(tǒng)進行分詞的過程中就實現了對詞語命名實體的識別和詞性的標注;本發(fā)明賦予不同的詞性不同的分值,根據中科院使用的分詞標準,制訂了詞性分值表如表3,另外命名實體是為1,不是為0。
(3)然后對這6600多個詞統(tǒng)計上述的其他特征值,詞頻、詞語長度、以及詞位置和詞跨度統(tǒng)計計算即可;停用詞統(tǒng)計利用停用詞表標記是為1,不是為0;詞語關聯度的計算涉及到Word2vec的使用,首先收集了來自店鋪購物、新聞、評論、化妝品抓取等4大塊的語料,利用Word2vec在服務器上進行訓練,訓練結束后得到包含詞匯向量的bin文件,利用bin文件來計算6600多個詞語各自的平均關聯度。這里所有的特征值均可得到,數據準備完畢。
利用matlabR2014a對數據進行實驗,本發(fā)明對得到的6600條數據進行處理,刪除了一些判斷無效的,如Word2vec值為FAULT的,因為語料資源的限制有些詞語未能得到其詞向量的表示;同時發(fā)現詞語“中性”、“混合型”等詞性標注為b的區(qū)別詞等的詞性分值為0,實際中這些詞表示了肌膚的屬性,因此將其詞性值設為0.7;最終,得到了6592條有效數據,整理得數據發(fā)布地址如下:http://120.237.31.12/E_Bot_backstage/date.html,名為“客服機器人BP神經網絡實驗數據”。本發(fā)明利用matl-ab中的GUI工具nprtool,其中使用數據集默認分配如下:訓練樣本70%,驗證樣本15%,測試樣本15%,在訓練過程中神經網絡隱藏層節(jié)點的設置首先按照經驗設置為5個,經實際訓練發(fā)現隱藏層節(jié)點數為10時訓練和結果比較好。鑒于本發(fā)明在神經網絡中加入了利用Word2vec計算的詞語關聯度,這里在訓練中分別對加此特征和不加此特征的數據進行實驗結果比較,即神經網絡節(jié)點組合分別是(8,10,1)和(7,10,1)經過實驗得到兩者的混淆矩陣。
另外,本發(fā)明利用神經網絡進行關鍵詞提取這一方法,在文檔關鍵詞提取中進行了應用,本發(fā)明的結果將與其進行對比。本發(fā)明關鍵詞識別的準確率經過模型實驗,測試準確率較為穩(wěn)定在88%以上,最優(yōu)達到了90.7%,測試準確率高于利用BP神經網絡實現文檔提取的83.8%,說明BP神經網絡應用于語句關鍵詞提取中的可行性;但是其實驗的數據量是新聞和期刊文章,其篇數都為200,詞匯量巨大;本發(fā)明選取1000條句子,在單位上數量具有可比性,此外,做更大數據量的結果會更具有說服性。
經過之前實驗,本發(fā)明保存了實驗的最優(yōu)訓練仿真模型并對實際的語句進行仿真,呈現的實例的結果如圖4所示:
以上四個例子經歷了分詞和關鍵詞提取,其結果呈現如下:
Ex1:百合面膜比較白的人可以用這種面膜嗎不適用該怎么護理?
分詞:百合/n面膜/n比較/d白/a的/udel人/n可以/v用/p這種/r面膜/n嗎/y不/d適用/v該/v怎么/ryv護理/n
關鍵詞提取結果:百合 面膜 比較 白 人 用 這種 面膜 不 適用 怎么 護理
Ex2:這個牌子的百合去脂肪粒的效果怎么樣
分詞:這個/rz牌子/n的/ude1百合/n去/v脂肪粒/n的/ude1效果/n怎么樣/ryv
關鍵詞提取結果:這個 牌子 百合 去 脂肪粒 效果 怎么樣
Ex3:臉上多油適合抗痘蠶絲面膜嗎?
分詞:臉上/s多油/a適合/v抗痘/v蠶絲/n面膜/n嗎/y
關鍵詞提取結果:臉上 多油 適合 抗痘 蠶絲 面膜
Ex4:百合面膜不好用可以包換不運費呢?
分詞:百合/n面膜/n不/d好用/a可以/v包換/v不/d運費/n呢/y
關鍵詞提取結果:百合 面膜 不 好用 包換 不 運費
以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達到本發(fā)明的技術效果,都應屬于本發(fā)明的保護范圍。