本發(fā)明涉及人工智能技術(shù)自然語(yǔ)言處理(nlp)領(lǐng)域,具體涉及一種可自我更新的語(yǔ)義理解系統(tǒng)與方法。
背景技術(shù):
在用語(yǔ)音識(shí)別系統(tǒng)應(yīng)用到智能電視上做應(yīng)用開(kāi)發(fā)時(shí),開(kāi)發(fā)者發(fā)現(xiàn):當(dāng)下的語(yǔ)音識(shí)別系統(tǒng)語(yǔ)音識(shí)別的準(zhǔn)確率較高,但對(duì)識(shí)別文字的理解較簡(jiǎn)單,理解準(zhǔn)確度不夠,理解擴(kuò)展性不大,不能對(duì)用戶(hù)某種意圖的各種說(shuō)法準(zhǔn)確理解。同時(shí),語(yǔ)音識(shí)別系統(tǒng)通常不具備自動(dòng)更新的能力,經(jīng)常是應(yīng)用開(kāi)發(fā)人員或測(cè)試人員發(fā)現(xiàn)識(shí)別失敗時(shí),手動(dòng)添加關(guān)鍵詞或者通知語(yǔ)音識(shí)別系統(tǒng)開(kāi)發(fā)者修改,這樣更新效率低。而且現(xiàn)有技術(shù)中常用的自然語(yǔ)言處理技術(shù)將詞向量放在整個(gè)系統(tǒng)最前端,詞向量用作句法分析的輸入,也就是說(shuō)僅僅是將詞向量作為向量化的工具而已,但實(shí)際上用神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的詞向量能夠很好的表示詞與詞之間的關(guān)系,因此,為了提高語(yǔ)義理解系統(tǒng)的準(zhǔn)確性和泛化理解力,遂提出了本申請(qǐng)。
以及,現(xiàn)在的語(yǔ)音系統(tǒng)對(duì)電視領(lǐng)域的語(yǔ)義理解不夠準(zhǔn)確,主要是由于電視領(lǐng)域的語(yǔ)義理解和移動(dòng)終端的應(yīng)用場(chǎng)景不太一樣。移動(dòng)終端主要是聊天、通過(guò)搜索引擎查找,而電視領(lǐng)域主要是查詢(xún)電視功能,查找視頻、音樂(lè)、換臺(tái)等。電視領(lǐng)域的語(yǔ)義理解涉及到大量的影視、音樂(lè)相關(guān)知識(shí),且不能在終端直接調(diào)用搜索引擎進(jìn)行搜索。因此,需要語(yǔ)義引擎本身涵蓋大而全的影視、音樂(lè)知識(shí),才能正確的理解,并完成用戶(hù)想要的操作。但是,現(xiàn)在主流的語(yǔ)音系統(tǒng)對(duì)電視領(lǐng)域沒(méi)有做這樣細(xì)致的工作,導(dǎo)致終端用戶(hù)使用語(yǔ)音功能時(shí)經(jīng)常得不到想要的結(jié)果。
同時(shí),當(dāng)電視軟件開(kāi)發(fā)人員發(fā)現(xiàn)某一些語(yǔ)句是終端用戶(hù)常說(shuō)但不能正確理解,想要將這些語(yǔ)句添加到語(yǔ)義理解引擎中,只能通過(guò)語(yǔ)音系統(tǒng)供應(yīng)商或者自己手動(dòng)添加到配置文件中,通知供應(yīng)商更新速度很慢,自己手動(dòng)添加很機(jī)械,效果不好。
綜上分析,現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題有兩個(gè):(1)現(xiàn)有的語(yǔ)音系統(tǒng)在電視領(lǐng)域語(yǔ)義理解準(zhǔn)確率低;(2)語(yǔ)音系統(tǒng)的語(yǔ)義理解引擎不可自動(dòng)更新。
技術(shù)實(shí)現(xiàn)要素:
為了解決背景技術(shù)中的技術(shù)問(wèn)題,本發(fā)明提供一種可自我更新的語(yǔ)義理解系統(tǒng)與方法。
考慮到現(xiàn)有技術(shù)的上述問(wèn)題,根據(jù)本發(fā)明公開(kāi)的一個(gè)方面,本發(fā)明采用以下技術(shù)方案:
一種可自我更新的語(yǔ)義理解系統(tǒng),包括:
在線語(yǔ)義理解引擎,用于理解語(yǔ)音識(shí)別引擎轉(zhuǎn)換得到的語(yǔ)句,所述在線語(yǔ)義理解引擎包括句法分析模型和詞向量模型,通過(guò)所述句法分析模型解析所述語(yǔ)句的語(yǔ)法成分以及各成分之間的關(guān)系,忽略所述語(yǔ)句中不重要的詞語(yǔ),保留所述語(yǔ)句中重要的詞語(yǔ),通過(guò)所述詞向量模型將所述重要的詞語(yǔ)轉(zhuǎn)換為第三方應(yīng)用或執(zhí)行設(shè)備本身能識(shí)別的標(biāo)準(zhǔn)詞;
離線自更新系統(tǒng),用于讀取數(shù)據(jù)庫(kù)中的失敗語(yǔ)句,搜索與所述失敗語(yǔ)句有關(guān)的網(wǎng)頁(yè),獲取網(wǎng)頁(yè)中相關(guān)的文字作為更新語(yǔ)料,將更新語(yǔ)料添加到原語(yǔ)料中,并重新訓(xùn)練所述在線語(yǔ)義理解引擎。
為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步的技術(shù)方案是:
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,所述句中重要的詞語(yǔ)為與所述執(zhí)行設(shè)備或第三方應(yīng)用執(zhí)行動(dòng)作有關(guān)的詞語(yǔ)。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方案,所述詞向量模型內(nèi)設(shè)置標(biāo)簽庫(kù),根據(jù)能否被第三方應(yīng)用或執(zhí)行設(shè)備本身所理解,將所述執(zhí)行設(shè)備或第三方應(yīng)用環(huán)境有關(guān)的專(zhuān)有詞貼上對(duì)應(yīng)標(biāo)簽并存入所述標(biāo)簽庫(kù)。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方案,所述詞向量模型將不能被第三方應(yīng)用或執(zhí)行設(shè)備本身所理解的非標(biāo)簽詞與所述標(biāo)簽庫(kù)中的標(biāo)簽詞關(guān)聯(lián),從而自動(dòng)給非標(biāo)簽詞打上標(biāo)簽,使其成為帶標(biāo)簽詞。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方案,所述在線語(yǔ)義理解引擎在理解完句子之后會(huì)判斷句子理解是否正確,判斷的標(biāo)準(zhǔn)是分析經(jīng)過(guò)詞向量模型關(guān)聯(lián)后輸出的所有無(wú)標(biāo)簽詞的成分,如果所述無(wú)標(biāo)簽詞是核心詞或核心賓語(yǔ),則理解失敗。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方案,所述離線自更新系統(tǒng)通過(guò)爬蟲(chóng)程序爬取相關(guān)網(wǎng)頁(yè)中的文字。
本發(fā)明還可以是:
一種可自我更新的語(yǔ)義理解的方法,包括:
理解語(yǔ)音識(shí)別引擎轉(zhuǎn)換得到的語(yǔ)句,通過(guò)所述句法分析模型解析所述語(yǔ)句的語(yǔ)法成分,并理出各成分之間的關(guān)系,忽略所述語(yǔ)句中不重要的詞語(yǔ),保留所述語(yǔ)句中重要的詞語(yǔ),通過(guò)所述詞向量模型將所述重要的詞語(yǔ)轉(zhuǎn)換為第三方應(yīng)用或執(zhí)行設(shè)備本身能識(shí)別的標(biāo)準(zhǔn)詞;
讀取數(shù)據(jù)庫(kù)中的失敗語(yǔ)句,搜索與所述失敗語(yǔ)句有關(guān)的網(wǎng)頁(yè),獲取網(wǎng)頁(yè)中相關(guān)的文字作為更新語(yǔ)料,將更新語(yǔ)料添加到原語(yǔ)料中,并重新訓(xùn)練所述在線語(yǔ)義理解引擎。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方案,還包括初始模型的步驟:
(a)以與第三方應(yīng)用或執(zhí)行設(shè)備應(yīng)用環(huán)境有關(guān)的網(wǎng)頁(yè)資料作為初始數(shù)據(jù),并從中整理出與第三方應(yīng)用或執(zhí)行設(shè)備應(yīng)用環(huán)境有關(guān)的專(zhuān)有名詞;
(b)將所述專(zhuān)有名詞加入到分詞用戶(hù)詞典和詞向量標(biāo)簽詞庫(kù);
(c)訓(xùn)練句法分析模型、分詞工具中引用的機(jī)器學(xué)習(xí)模型;
(d)用訓(xùn)練好的分詞工具對(duì)詞向量語(yǔ)料進(jìn)行分詞,并將分詞后的語(yǔ)料送入到詞向量神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練;
(e)建立用戶(hù)語(yǔ)音識(shí)別后的句子測(cè)試集;
(f)得到句法分析模型和詞向量模型后,用測(cè)試集分別驗(yàn)證兩模型的準(zhǔn)確性,如果準(zhǔn)確性達(dá)標(biāo),則初始模型完成,如果準(zhǔn)確性不達(dá)標(biāo),分析未正確輸出的句子所屬領(lǐng)域,然后重復(fù)步驟(a)-(d)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果之一是:
本發(fā)明的一種可自我更新的語(yǔ)義理解系統(tǒng)與方法,1)其在線語(yǔ)義理解引擎采用句法分析和詞向量關(guān)聯(lián)對(duì)相關(guān)詞語(yǔ)做關(guān)聯(lián)的方式理解語(yǔ)音系統(tǒng)識(shí)別的句子,增強(qiáng)了語(yǔ)義理解的準(zhǔn)確性和泛化能力;2)離線自更新系統(tǒng)自動(dòng)收集未理解成功的句子,針對(duì)未理解成功的句子補(bǔ)充語(yǔ)料,重新訓(xùn)練模型,訓(xùn)練好的模型提供給在線語(yǔ)義理解引擎使用,從而達(dá)到自動(dòng)更新目的。
附圖說(shuō)明
為了更清楚的說(shuō)明本申請(qǐng)文件實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)的描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅是對(duì)本申請(qǐng)文件中一些實(shí)施例的參考,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的情況下,還可以根據(jù)這些附圖得到其它的附圖。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的可自我更新的語(yǔ)義理解系統(tǒng)框圖。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在線語(yǔ)義理解引擎框圖。
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的訓(xùn)練詞向量的過(guò)程框圖。
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的離線系統(tǒng)的實(shí)現(xiàn)過(guò)程框圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說(shuō)明,但本發(fā)明的實(shí)施方式不限于此。
用神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的詞向量能夠很好的表示詞與詞之間的關(guān)系,為了提高語(yǔ)義理解系統(tǒng)的準(zhǔn)確性和泛化理解力,本發(fā)明提出的語(yǔ)義理解方法把詞向量放在句法分析后面,詞向量模型由神經(jīng)網(wǎng)絡(luò)訓(xùn)練,能很好的體現(xiàn)詞與詞之間的關(guān)系,使無(wú)論用戶(hù)說(shuō)怎樣的句子,只要是跟電視相關(guān)都能廣泛理解。另外,另一核心點(diǎn)在于自更新,自更新的實(shí)現(xiàn)方式是:設(shè)計(jì)一套判定機(jī)制,判定句子理解是否成功,并自動(dòng)收集理解失敗的句子。定時(shí)連接搜索引擎,自動(dòng)搜索理解失敗的句子,獲取搜索結(jié)果的網(wǎng)頁(yè),從而進(jìn)一步收集與失敗句子相關(guān)的語(yǔ)料,將語(yǔ)料添加到原語(yǔ)料中,再訓(xùn)練詞向量模型,使詞向量模型與時(shí)俱進(jìn),及時(shí)更新。
如圖1-圖4所示,一種可自我更新的語(yǔ)義理解系統(tǒng),具體技術(shù)方案為:
在線語(yǔ)義理解引擎,用于理解語(yǔ)音識(shí)別引擎轉(zhuǎn)換得到的語(yǔ)句,所述在線語(yǔ)義理解引擎包括句法分析模型和詞向量模型,通過(guò)所述句法分析模型解析所述語(yǔ)句的語(yǔ)法成分,并理出各成分之間的關(guān)系,忽略所述語(yǔ)句中不重要的詞語(yǔ),保留所述語(yǔ)句中重要的詞語(yǔ),通過(guò)所述詞向量模型將所述重要的詞語(yǔ)轉(zhuǎn)換為第三方應(yīng)用或執(zhí)行設(shè)備本身能識(shí)別的標(biāo)準(zhǔn)詞;
離線自更新系統(tǒng),用于讀取數(shù)據(jù)庫(kù)中的失敗語(yǔ)句,搜索與所述失敗語(yǔ)句有關(guān)的網(wǎng)頁(yè),獲取網(wǎng)頁(yè)中相關(guān)的文字,作為更新語(yǔ)料,將更新語(yǔ)料添加到原語(yǔ)料中,并重新訓(xùn)練所述句法分析模型和詞向量模型,更新在線語(yǔ)義理解引擎。
離線自更新系統(tǒng)通過(guò)爬蟲(chóng)程序爬取相關(guān)網(wǎng)頁(yè)中的文字。
進(jìn)一步,上述句中重要的詞語(yǔ)為與所述執(zhí)行設(shè)備或第三方應(yīng)用執(zhí)行動(dòng)作有關(guān)的詞語(yǔ)。
詞向量模型內(nèi)可設(shè)置標(biāo)簽庫(kù),根據(jù)能否被第三方應(yīng)用或執(zhí)行設(shè)備本身所理解,將所述執(zhí)行設(shè)備或第三方應(yīng)用相關(guān)的專(zhuān)有詞貼上對(duì)應(yīng)標(biāo)簽并存入所述標(biāo)簽庫(kù)。以及詞向量模型可將不能被第三方應(yīng)用或執(zhí)行設(shè)備本身所理解的非標(biāo)簽詞與所述標(biāo)簽庫(kù)中的標(biāo)簽詞關(guān)聯(lián),從而自動(dòng)給非標(biāo)簽詞打上標(biāo)簽,使其成為帶標(biāo)簽詞。
在線語(yǔ)義理解引擎在理解完句子之后會(huì)判斷句子理解是否正確,判斷的標(biāo)準(zhǔn)是分析經(jīng)過(guò)詞向量模型關(guān)聯(lián)后輸出的所有無(wú)標(biāo)簽詞的成分,如果所無(wú)述標(biāo)簽詞是核心詞或核心賓語(yǔ),則理解失敗。
也就是說(shuō),本發(fā)明涉及的系統(tǒng)中,其在線語(yǔ)義理解引擎采用句法分析和詞向量關(guān)聯(lián)對(duì)相關(guān)詞語(yǔ)做關(guān)聯(lián)的方式理解語(yǔ)音系統(tǒng)識(shí)別的句子,增強(qiáng)語(yǔ)義理解的準(zhǔn)確性和泛化能力。離線自更新系統(tǒng)自動(dòng)收集未理解成功的句子,針對(duì)未理解成功的句子補(bǔ)充語(yǔ)料,重新訓(xùn)練模型,訓(xùn)練好的模型提供給在線語(yǔ)義理解引擎使用,從而達(dá)到自更新目的。
為了便于說(shuō)明在線語(yǔ)義理解系統(tǒng)和離線自更新系統(tǒng),下面列舉如下示例:
(1)在線語(yǔ)義理解系統(tǒng)
如圖2所示,在線語(yǔ)義理解系統(tǒng)包含兩個(gè)部分句法分析和詞向量。句法分析將解析語(yǔ)句的主語(yǔ)、賓語(yǔ)、謂語(yǔ)等成分,并理出各成分之間的關(guān)系,將不重要的詞語(yǔ)忽略掉,將重要成分詞保存下來(lái)。詞向量的作用是將詞與詞之間關(guān)聯(lián)起來(lái),通過(guò)這種關(guān)聯(lián)性,將所有詞都轉(zhuǎn)換成第三方app或者電視本身能識(shí)別的標(biāo)準(zhǔn)詞,從而達(dá)到將用戶(hù)句子理解成電視能懂的語(yǔ)義。
比如,“我要看電影”,調(diào)用句法分析模型進(jìn)行分析,得到的結(jié)果是:
我要(a)看nz1
看(h)##核心##v
電影(v)看nz1
上面結(jié)果中第一列是句子分解后的詞,第二列表示的是該詞在句子中的關(guān)系,第三列表示與該詞相關(guān)的詞,最后一列表示該詞的詞性。這句話表達(dá)的信息是核心詞為看,它是一個(gè)動(dòng)作,做這個(gè)動(dòng)作的人是我,要看的是電影,對(duì)于電視終端來(lái)說(shuō)誰(shuí)想要做這個(gè)動(dòng)作并不重要,因此,“我要”這個(gè)詞不被輸出,句法分析模型只會(huì)輸出動(dòng)作——看,看的內(nèi)容——電影。
詞向量是一個(gè)由大量的語(yǔ)料(正常的句子)訓(xùn)練而成的模型,在訓(xùn)練大量句子的過(guò)程中,能提取到詞與詞之間的關(guān)聯(lián)性。同時(shí),為了得到電視理解的詞,我們?cè)谟?xùn)練模型前,對(duì)部分詞貼標(biāo)簽,如“播放”被貼為“play”,“電影”貼上“movie”。貼了標(biāo)簽的詞存入標(biāo)簽庫(kù),標(biāo)簽庫(kù)的詞都是電視上安裝的app能夠理解的詞,標(biāo)簽庫(kù)的詞量很小,其他非標(biāo)簽詞在訓(xùn)練過(guò)程中與標(biāo)簽詞關(guān)聯(lián)。調(diào)用訓(xùn)練好的詞向量模型分析上面例句,可得“看”為非標(biāo)簽詞,與“播放”關(guān)聯(lián)較大,從而“看”理解為“播放”,可繼承標(biāo)簽“play”,“電影”是標(biāo)簽詞。詞向量分析的輸出是“playmovie”,整個(gè)理解過(guò)程完成。
依存句法分析模型和詞向量都是深度學(xué)習(xí)語(yǔ)言模型,這兩個(gè)模型都要預(yù)先使用大量數(shù)據(jù)來(lái)訓(xùn)練,詞向量神經(jīng)網(wǎng)絡(luò)的的輸入是分詞后的語(yǔ)料,因此,在訓(xùn)練詞向量模型前要先將語(yǔ)料分詞,而分詞工具本身也依賴(lài)機(jī)器學(xué)習(xí)算法,也要先訓(xùn)練。本發(fā)明以開(kāi)源的依存句法分析模型和詞向量模型為基礎(chǔ),原本詞向量模型只是訓(xùn)練詞與詞之間的關(guān)系,而本發(fā)明對(duì)詞向量模型加以修改,給詞向量加入了標(biāo)簽庫(kù),所有的專(zhuān)有詞貼上相應(yīng)的標(biāo)簽,使其成為標(biāo)簽詞,非專(zhuān)有詞貼為“normal”。
在線語(yǔ)義理解引擎在理解完句子之后會(huì)判斷句子理解是否正確,判斷的標(biāo)準(zhǔn)是詞向量輸出的所有詞所帶的標(biāo)簽是否有“normal”,標(biāo)簽為normal表示這個(gè)詞未被理解為標(biāo)準(zhǔn)詞,電視和第三方app無(wú)法理解該詞,然后判斷這個(gè)詞的成分,如果是核心詞、核心賓語(yǔ),則理解失敗。
句法分析模型和詞向量模型的效果除了算法本身的好壞之外,很大程度取決于用作訓(xùn)練的語(yǔ)料。為了讓兩個(gè)模型準(zhǔn)確性更高,在訓(xùn)練初始模型時(shí),我們通過(guò)爬蟲(chóng)在網(wǎng)上搜集了大量的百科語(yǔ)料、新聞、電影簡(jiǎn)介、影評(píng)、音樂(lè)簡(jiǎn)介、樂(lè)評(píng)等作為初始的數(shù)據(jù)作為初始語(yǔ)料,同時(shí),從電視用戶(hù)常說(shuō)的句子中提取大量的核心詞,用這些核心詞模擬語(yǔ)料。初始模型盡量準(zhǔn)確完整。
(2)離線自更新系統(tǒng)
即便初始模型在當(dāng)下準(zhǔn)確性達(dá)到要求,但影視、音樂(lè)每天都在更新,且用戶(hù)的說(shuō)話方式也在更新,為了能及時(shí)應(yīng)對(duì)這種更新,本發(fā)明設(shè)計(jì)了離線自更新系統(tǒng)。在線語(yǔ)義理解引擎理解失敗的句子能很好的反應(yīng)現(xiàn)有的語(yǔ)言模型的不足,利用理解失敗的句子查找語(yǔ)料,及時(shí)補(bǔ)充語(yǔ)料,再訓(xùn)練句法分析和詞向量模型。
離線自更新系統(tǒng)的視線過(guò)程如圖4。給在線語(yǔ)義理解引擎的輸出設(shè)置判斷機(jī)制,該判斷機(jī)制用來(lái)判斷在線理解是否成功,如果成功,直接輸出,如果不成功,存入到數(shù)據(jù)庫(kù)當(dāng)中。離線自更新系統(tǒng)定期讀取數(shù)據(jù)庫(kù)中的失敗句子,啟動(dòng)搜索引擎,對(duì)失敗句子進(jìn)行搜索,然后啟動(dòng)預(yù)先針對(duì)搜索頁(yè)面開(kāi)發(fā)好的爬蟲(chóng)程序,對(duì)搜索返回的頁(yè)面中的所有url進(jìn)行遞歸爬取,爬取相關(guān)網(wǎng)頁(yè)中的所有文字,作為更新語(yǔ)料。將更新語(yǔ)料添加到原語(yǔ)料中,并重新訓(xùn)練分詞工具、句法分析模型、詞向量模型。
離線自更新系統(tǒng)訓(xùn)練好的模型被用來(lái)替換在線語(yǔ)義理解引擎調(diào)用的現(xiàn)有模型,這樣,在線引擎的理解會(huì)與時(shí)俱進(jìn)。
為了驗(yàn)證整套語(yǔ)義理解系統(tǒng)的準(zhǔn)確性,開(kāi)發(fā)者定期請(qǐng)第三方測(cè)試人員收集200條電視語(yǔ)音語(yǔ)句,對(duì)模型進(jìn)行測(cè)試。
如圖1所示,整個(gè)語(yǔ)義理解系統(tǒng)分為兩部分,當(dāng)用戶(hù)的語(yǔ)音數(shù)據(jù)經(jīng)過(guò)語(yǔ)音識(shí)別系統(tǒng)識(shí)別成用戶(hù)文字并發(fā)送給在線語(yǔ)義理解引擎,在線語(yǔ)義理解引擎對(duì)用戶(hù)所說(shuō)的句子進(jìn)行理解,理解成功則發(fā)送給app,對(duì)接app,實(shí)現(xiàn)用戶(hù)希望的操作;如果理解失敗,則將失敗的句子存入用戶(hù)數(shù)據(jù)庫(kù)。離線自更新系統(tǒng)定期讀取用戶(hù)數(shù)據(jù)庫(kù)中的失敗句子,根據(jù)失敗句子尋找相應(yīng)的語(yǔ)料,來(lái)更新在線語(yǔ)引擎調(diào)用的模型。
下面以?xún)蓚€(gè)用戶(hù)句子為例來(lái)說(shuō)明在線語(yǔ)義引擎的工作原理。
句子1:“觀看星爺?shù)碾娪啊薄?/p>
句子2:“我想聽(tīng)王菲女兒的歌”。
一,初始模型:
(1)以與第三方應(yīng)用或執(zhí)行設(shè)備應(yīng)用環(huán)境有關(guān)的網(wǎng)頁(yè)資料作為初始數(shù)據(jù),并從中整理出與第三方應(yīng)用或執(zhí)行設(shè)備應(yīng)用環(huán)境有關(guān)的專(zhuān)有名詞;例如,利用百科語(yǔ)料、新聞、電影簡(jiǎn)介、影評(píng)、音樂(lè)簡(jiǎn)介、樂(lè)評(píng)等作為初始的數(shù)據(jù),從這些語(yǔ)料中整理出電影名、演員名、歌手等專(zhuān)有名詞,如上面的句子中相關(guān)的“周星馳”、“王菲”就會(huì)被選入相關(guān)的專(zhuān)有名詞中。這些專(zhuān)有名詞有三方面的作用:中文分詞工具的用戶(hù)詞典、句法分析的用戶(hù)詞典、詞向量的標(biāo)準(zhǔn)詞庫(kù)。
(2)將所述專(zhuān)有名詞加入到分詞用戶(hù)詞典;
(3)訓(xùn)練句法分析模型、分詞工具中引用的機(jī)器學(xué)習(xí)模型;
(4)用訓(xùn)練好的分詞工具對(duì)詞向量語(yǔ)料進(jìn)行分詞,并將分詞后的語(yǔ)料送入到詞向量神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練;
(5)用戶(hù)語(yǔ)音識(shí)別后的句子建立測(cè)試集;
(6)得到句法分析模型和詞向量模型后,用測(cè)試集分別驗(yàn)證兩模型的準(zhǔn)確性,如果準(zhǔn)確性達(dá)標(biāo),則初始模型完成,如果準(zhǔn)確性不達(dá)標(biāo),分析未正確輸出的句子屬于哪方面,然后重復(fù)步驟(1)-(4)。
二,在線語(yǔ)義理解引擎:
(1)編寫(xiě)在線語(yǔ)義理解引擎,調(diào)用5.1中訓(xùn)練出來(lái)的模型,整個(gè)系統(tǒng)接收來(lái)自語(yǔ)音識(shí)別后的文字,然后實(shí)時(shí)調(diào)用句法分析模型,輸出帶有依存關(guān)系的重要詞。句法分析模型輸出后調(diào)用詞向量模型,詞向量模型輸出的數(shù)據(jù)輸出。
(2)設(shè)置判斷機(jī)制:核心謂語(yǔ)、賓語(yǔ)、賓語(yǔ)修飾詞都轉(zhuǎn)化成了帶標(biāo)簽的詞,且各詞之間不會(huì)相互沖突,則判斷理解成功,否則理解失敗。
例如,以上兩個(gè)例句,在測(cè)試過(guò)程中等到如下結(jié)果:
句子1理解成功:(謂語(yǔ))觀看-播放(play)\(賓語(yǔ)修飾詞)星爺-周星馳(actor&director)\(賓語(yǔ))電影-電影(movie)
理解成功。
句子2理解失?。郝?tīng)-播放(play)\(賓語(yǔ)修飾語(yǔ))王菲-王菲(singer)\(核心賓語(yǔ)修飾語(yǔ))女兒-normal\(賓語(yǔ))歌-歌曲(song)
(3)理解成功的句子以json輸出給相應(yīng)的app。如句子1輸出為
{
“intent”:”play”
“actor”:“周星馳”
“director”:”周星馳”
}
(4)理解不成功的句子存入數(shù)據(jù)庫(kù)中?!巴醴婆畠旱母琛?。
三,離線語(yǔ)義自更新系統(tǒng):
(1)定期連接用戶(hù)數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)中讀出新增的失敗句子,如“王菲女兒的歌”。
(2)通過(guò)chromedriver啟動(dòng)百度搜索引擎,并將“王菲女兒的歌”這樣的失敗句子輸入搜索框,然后啟動(dòng)預(yù)先針對(duì)百度搜索頁(yè)面開(kāi)發(fā)好的爬蟲(chóng)程序,對(duì)搜索“王菲女兒的歌”返回的頁(yè)面中的所有url進(jìn)行深度小于3的遞歸爬取,爬取相關(guān)網(wǎng)頁(yè)中的所有文字。
(3)對(duì)百度音樂(lè)、豆瓣電影、豆瓣音樂(lè)會(huì)做特殊處理,如果搜索出了這三個(gè)網(wǎng)站相關(guān)的url,則會(huì)爬取歌手、導(dǎo)演、演員、電影名、歌名等內(nèi)容,并存入數(shù)據(jù)庫(kù)的相關(guān)字段中,而其他文本同一存成“內(nèi)容”字段。
(4)將歌手、導(dǎo)演、演員、電影名、歌名等規(guī)則字段讀出,去重、計(jì)數(shù)、取重點(diǎn)詞整理成標(biāo)簽,添加到詞向量用戶(hù)詞典、句法分析用戶(hù)詞典、詞向量標(biāo)簽庫(kù)。同時(shí),限定標(biāo)簽庫(kù)的詞量,定期將元標(biāo)簽庫(kù)里面詞頻數(shù)靠后的詞去掉。
(5)將內(nèi)容字段的文本讀出,添加到原語(yǔ)料中,調(diào)用分詞工具,句法分析訓(xùn)練詞向量模型。
(6)在凌晨用訓(xùn)練后的詞向量替換在線引擎中原來(lái)的詞向量。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分相互參見(jiàn)即可。
在本說(shuō)明書(shū)中所談到的“一個(gè)實(shí)施例”、“另一個(gè)實(shí)施例”、“實(shí)施例”、等,指的是結(jié)合該實(shí)施例描述的具體特征、結(jié)構(gòu)或者特點(diǎn)包括在本申請(qǐng)概括性描述的至少一個(gè)實(shí)施例中。在說(shuō)明書(shū)中多個(gè)地方出現(xiàn)同種表述不是一定指的是同一個(gè)實(shí)施例。進(jìn)一步來(lái)說(shuō),結(jié)合任一實(shí)施例描述一個(gè)具體特征、結(jié)構(gòu)或者特點(diǎn)時(shí),所要主張的是結(jié)合其他實(shí)施例來(lái)實(shí)現(xiàn)這種特征、結(jié)構(gòu)或者特點(diǎn)也落在本發(fā)明的范圍內(nèi)。
盡管這里參照本發(fā)明的多個(gè)解釋性實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是,應(yīng)該理解,本領(lǐng)域技術(shù)人員可以設(shè)計(jì)出很多其他的修改和實(shí)施方式,這些修改和實(shí)施方式將落在本申請(qǐng)公開(kāi)的原則范圍和精神之內(nèi)。更具體地說(shuō),在本申請(qǐng)公開(kāi)和權(quán)利要求的范圍內(nèi),可以對(duì)主題組合布局的組成部件和/或布局進(jìn)行多種變型和改進(jìn)。除了對(duì)組成部件和/或布局進(jìn)行的變型和改進(jìn)外,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),其他的用途也將是明顯的。