本申請涉及計算機技術領域,具體涉及自然語言處理技術領域,尤其涉及基于人工智能的切分語句的方法和裝置。
背景技術:
人工智能(artificialintelligence),英文縮寫為ai。它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統(tǒng)的一門新的技術科學。人工智能是計算機科學的一個分支,它企圖了解智能的實質,并生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。
在中文語言處理的過程中,通過語句切分技術對文本進行邊界是一項重要的技術。傳統(tǒng)的分界方案主要包括基礎切詞和短語切詞,在進行分類時,常用的方案為命名實體識別(ner,namedentityrecognition),可用于識別文本中具有特定意義的實體,主要包括人名、地名、機構名、專有名詞等。
然而,這些現(xiàn)有的切詞方案只能提供單一的切詞結果,無法滿足不同應用對片段邊界的不同需求。ner等傳統(tǒng)的分類信息方案只能識別專名片段,對于描述性片段無法提供分類信息,只能通過詞表和其他人工挖掘信息。因此,存在提高對現(xiàn)有的語句分割方案進行改進的需要。
技術實現(xiàn)要素:
本申請的目的在于提出一種改進的基于人工智能的切分語句的方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請實施例提供了一種基于人工智能的切分語句的方法,該方法包括:對待切分的原始語句進行切詞,以得到原始語句中的詞語集合;對初始值為原始語句的待切分語句執(zhí)行語句切分步驟,語句切分步驟包括:根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段,其中每個子語句片段是單個詞語或詞語組合;判斷所切分成的多個子語句片段中是否存在不屬于詞語集合中的子語句片段;若存在不屬于詞語集合中的子語句片段,則將不屬于詞語集合中的子語句片段作為待切分語句繼續(xù)執(zhí)行語句切分步驟;關聯(lián)存儲原始語句以及每次執(zhí)行語句切分步驟所得到的多個子語句片段。
在一些實施例中,基于待切分語句中的詞語提取出至少一種特征向量,包括:將待切分語句中每個詞語的詞向量提取為特征向量;根據待切分語句中的詞語在搜索語句詞典中的出現(xiàn)情況提取特征向量,其中搜索語句詞典是對用戶在進行搜索時所使用的搜索語句進行統(tǒng)計而生成的;根據待切分語句在原始語句的上下文語句提取特征向量。
在一些實施例中,根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段,包括:根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量;將至少一種特征向量輸入至循環(huán)神經網絡模型,以根據循環(huán)神經網絡模型輸出的序列確定對待切分語句進行切分的切分點,其中,循環(huán)神經網絡模型用于表征根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量與用于描述切分時待切分語句中的各個詞語是否為切分時的序列的對應關系;按照所確定的切分點將待切分語句切分成多個子語句片段。
在一些實施例中,根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量,包括以下至少一項:根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中是否有匹配的搜索語句和/或在搜索語句詞典中匹配的搜索語句的分值提取特征向量;根據搜索語句詞典中以待切分語句中每個詞語為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量;其中,搜索語句詞典中記錄使用搜索引擎搜索過的搜索語句,每個搜索語句的分值是根據搜索語句的搜索頻次和/或用戶搜索時的使用反饋信息生成的。
在一些實施例中,根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量,還包括以下至少一項:提取待切分語句中每個詞語的詞向量;提取待切分語句在原始語句的上下文語句的上下文特征向量。
在一些實施例中,上述方法還包括搜索語句詞典構建步驟,包括:獲取用戶使用搜索引擎時輸入的搜索語句集合;按照搜索語句的搜索頻次對搜索語句集合進行篩選;根據搜索語句的搜索頻次以及用戶使用搜索語句搜索時的使用反饋信息,生成搜索語句中每個搜索語句的分值;將搜索語句與對應的分值關聯(lián)存儲,以構建搜索語句詞典。
在一些實施例中,上述方法還包括模型訓練步驟,模型訓練步驟包括:獲取按照最少切分算法預先對樣本語句進行迭代切分所生成的切分結果;根據每次切分的切分結果生成訓練樣本,并使用生成的訓練樣本訓練循環(huán)神經網絡模型;其中,訓練樣本中的輸入向量是根據每次切分所針對的被切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量,訓練樣本中的輸入向量是用于描述每次切分所針對的被切分語句中的各個詞語是否為切分點的序列。
在一些實施例中,上述關聯(lián)存儲原始語句以及每次執(zhí)行語句切分步驟所得到的多個子語句片段,包括:將原始語句作為根節(jié)點,并依次將每次被執(zhí)行語句切分步驟的待切分語句與切分所得到的多個子語句片段作為父節(jié)點與對應的多個子節(jié)點,構建成節(jié)點為語句片段的樹形層級結構。
第二方面,本申請實施例提供了一種基于人工智能的切分語句的裝置,裝置包括:切詞單元,用于對待切分的原始語句進行切詞,以得到原始語句中的詞語集合;切分單元,用于驅動以下子單元對初始值為原始語句的待切分語句執(zhí)行語句切分步驟:切分子單元,用于根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段,其中每個子語句片段是單個詞語或詞語組合;判斷子單元,判斷所切分成的多個子語句片段中是否存在不屬于詞語集合中的子語句片段;執(zhí)行單元,若存在不屬于詞語集合中的子語句片段,則將不屬于詞語集合中的子語句片段作為待切分語句反饋至切分單元;存儲單元,用于關聯(lián)存儲原始語句以及每次執(zhí)行語句切分步驟所得到的多個子語句片段。
在一些實施例中,切分子單元包括:提取模塊,用于根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量;確定模塊,用于將至少一種特征向量輸入至循環(huán)神經網絡模型,以根據循環(huán)神經網絡模型輸出的序列確定對待切分語句進行切分的切分點,其中,循環(huán)神經網絡模型用于表征根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量與用于描述切分時待切分語句中的各個詞語是否為切分時的序列的對應關系;切分模塊,用于按照所確定的切分點將待切分語句切分成多個子語句片段。
在一些實施例中,提取模塊用于執(zhí)行以下至少一項:根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中是否有匹配的搜索語句和/或在搜索語句詞典中匹配的搜索語句的分值提取特征向量;根據搜索語句詞典中以待切分語句中每個詞語為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量;其中,搜索語句詞典中記錄使用搜索引擎搜索過的搜索語句,每個搜索語句的分值是根據搜索語句的搜索頻次和/或用戶搜索時的使用反饋信息生成的。
在一些實施例中,提取模塊還用于執(zhí)行以下至少一項:提取待切分語句中每個詞語的詞向量;提取待切分語句在原始語句的上下文語句的上下文特征向量。
在一些實施例中,上述裝置還包括搜索語句詞典構建單元,用于:獲取用戶使用搜索引擎時輸入的搜索語句集合;按照搜索語句的搜索頻次對搜索語句集合進行篩選;根據搜索語句的搜索頻次以及用戶使用搜索語句搜索時的使用反饋信息,生成搜索語句中每個搜索語句的分值;將搜索語句與對應的分值關聯(lián)存儲,以構建搜索語句詞典。
在一些實施例中,上述裝置還包括模型訓練單元,模型訓練單元用于:獲取按照最少切分算法預先對樣本語句進行迭代切分所生成的切分結果;根據每次切分的切分結果生成訓練樣本,并使用生成的訓練樣本訓練循環(huán)神經網絡模型;其中,訓練樣本中的輸入向量是根據每次切分所針對的被切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量,訓練樣本中的輸入向量是用于描述每次切分所針對的被切分語句中的各個詞語是否為切分點的序列。
在一些實施例中,存儲單元進一步用于:將原始語句作為根節(jié)點,并依次將每次被執(zhí)行語句切分步驟的待切分語句與切分所得到的多個子語句片段作為父節(jié)點與對應的多個子節(jié)點,構建成節(jié)點為語句片段的樹形層級結構。
第三方面,本申請實施例提供了一種用于切分語句的設備,包括:一個或多個處理器;一個或多個處理器;存儲裝置,用于存儲一個或多個程序;當一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實現(xiàn)如第一方面中任一項所描述的方法。
第四方面,本申請實施例提供了一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)如第一方面中任一項所描述的方法。
本申請?zhí)峁┑幕谌斯ぶ悄艿那蟹终Z句的方法和裝置,可以利用搜索引擎的搜索記錄實現(xiàn)對原始語句進行多層次多粒度的切分,使得切分結果可以得到更廣泛的應用。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應用于其中的示例性系統(tǒng)架構圖;
圖2是根據本申請的基于人工智能的切分語句的方法的一個實施例的流程圖;
圖3是圖2對應實施例中涉及到的語句切分步驟的流程圖;
圖4是構建搜索語句字典的一個示意圖;
圖5是以最少切分算法切分語句的示意圖;
圖6是根據本申請的基于人工智能的切分語句的裝置的一個實施例的結構示意圖;
圖7是適于用來實現(xiàn)本申請實施例的終端設備或服務器的計算機系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用本申請的基于人工智能的切分語句的方法或基于人工智能的切分語句的裝置的實施例的示例性系統(tǒng)架構100。
如圖1所示,系統(tǒng)架構100可以包括終端設備101、102、103,網絡104和服務器105。網絡104用以在終端設備101、102、103和服務器105之間提供通信鏈路的介質。網絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設備101、102、103通過網絡104與服務器105交互,以接收或發(fā)送消息等。終端設備101、102、103上可以安裝有各種通訊客戶端應用,例如網頁瀏覽器應用、搜索類應用、即時通信工具等。
終端設備101、102、103可以是具有顯示屏并且支持網頁瀏覽的各種電子設備,包括但不限于智能手機、平板電腦、電子書閱讀器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,動態(tài)影像專家壓縮標準音頻層面3)、mp4(movingpictureexpertsgroupaudiolayeriv,動態(tài)影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。
服務器105可以是提供各種服務的服務器,例如對終端設備101、102、103上發(fā)送的原始語句進行后續(xù)處理的后臺服務器。后臺服務器可以對接收到的原始語句等數據進行語句切分等處理,并將處理結果(例如切分結果)反饋給終端設備。
需要說明的是,本申請實施例所提供的基于人工智能的切分語句的方法一般由服務器105執(zhí)行,也可以由終端設備101、102、103執(zhí)行;相應地,基于人工智能的切分語句的裝置一般設置于服務器105中,也可以設置于終端設備101、102、103中。
應該理解,圖1中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現(xiàn)需要,可以具有任意數目的終端設備、網絡和服務器。
繼續(xù)參考圖2,示出了根據本申請的基于人工智能的切分語句的方法的一個實施例的流程200。該基于人工智能的切分語句的方法,包括以下步驟:
步驟201,對待切分的原始語句進行切詞,以得到原始語句中的詞語集合。
在本實施例中,基于人工智能的切分語句的方法運行于其上的電子設備(例如圖1所示的服務器或終端設備)可以采用各種切詞算法對待切分的原始語句進行切詞處理,從而得到該原始語句所包含的詞語集合。該原始語句可以是預先存儲在本地的,也可以是通過有線連接方式或者無線連接方式從用戶操作的終端接收到的。
步驟202,對初始值為原始語句的待切分語句執(zhí)行語句切分步驟。
在本實施例中,在基于步驟201中得到的詞語集合之后,電子設備可以對待切分語句執(zhí)行語句切分步驟。該語句切分步驟用于將待切分語句切分成更細粒度的多個子語句片段,語句切分步驟的具體執(zhí)行流程可以參考圖3。
如圖3所示,語句切分步驟可以包括:步驟301,根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段;步驟302,判斷所切分成的多個子語句片段中是否存在不屬于所述詞語集合中的子語句片段。
在步驟301中,電子設備可以優(yōu)先將在搜索引擎中的搜索記錄中出現(xiàn)過的單個詞語或不同詞語組成的詞語組合作為切分后的子語句片段,也可以進一步依據搜索頻次等其他特征進行切詞。切分后的每個子語句片段是單個詞語或詞語組合。
在步驟302中,針對步驟301所切分出的各個子語句片段,電子設備可以分別片段每個子語句判斷是否屬于詞語集合。該判斷結果可用于后續(xù)操作。
步驟203,若多個子語句片段存在不屬于詞語集合中的子語句片段,則將不屬于詞語集合中的子語句片段作為待切分語句繼續(xù)執(zhí)行語句切分步驟。
在本實施例中,若步驟302的判斷結果是存在不屬于詞語集合中的子語句片段時,電子設備可以將該不屬于詞語集合中的子語句片段作為待切分語句并繼續(xù)執(zhí)行上述語句切分步驟。需要說明的是,這一步驟可以循環(huán)多次,直至所有不屬于詞語集合中的子語句片段均已被執(zhí)行語句切分步驟。
步驟204,關聯(lián)存儲所述原始語句以及每次執(zhí)行所述語句切分步驟所得到的多個子語句片段。
在本實施例中,電子設備可以將原始語句以及每次執(zhí)行所述語句切分步驟所得到的多個子語句片段關聯(lián)在一起進行存儲。實踐中,可以通過各種存儲結構進行存儲。
在本實施例的一些可選實現(xiàn)方式中,步驟301中可以具體包括以下過程:根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量;將所述至少一種特征向量輸入至循環(huán)神經網絡模型,以根據所述循環(huán)神經網絡模型輸出的序列確定對所述待切分語句進行切分的切分點,其中,所述循環(huán)神經網絡模型用于表征根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量與用于描述切分時待切分語句中的各個詞語是否為切分時的序列的對應關系;按照所確定的切分點將待切分語句切分成多個子語句片段。
在該實現(xiàn)方式中,循環(huán)神經網絡模型用于表征基于被切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量與各個詞語在切分后的子語句片段中是否為切分點對應的序列的對應關系。如此,即可在向循環(huán)神經網絡模型輸入該至少一種特征向量時,根據循環(huán)神經網絡模型輸出的序列確定待切分語句中的各個詞語是否為切分點,進而確定切分所得到的各個自語句片段。該循環(huán)神經網絡模型的輸入層是根據待切分語句提取出的特征向量,中間層是循環(huán)神經網絡,最上層是softmax變換。循環(huán)神經網絡模型輸出的序列可以是由1,2組成的數字序列,其中數字序列中的每個數字與待切分語句中的每個詞語對應,用于表征該詞語是否是切分后的語句片段的切分點。例如,1可以表征該詞語不是切分點,2可以表征該詞語是切分點。例如,對于待切分語句“我要打車去黑龍江海拉爾”,其包含的最基本詞語分別是“我”、“要”、“打車”、“去”、“黑龍江”、“海拉爾”,若輸出的序列為(1,1,2,2,1,2),則序列中1、1、2、2、1、2對應的數字分別表征“我”、“要”、“打車”、“去”、“黑龍江”、“海拉爾”是否為切分點。即,“打車”、“去”、“海拉爾”分別為切分點,其他詞語不是切分點,對應的切分結果是“我要開車”、“去”、“黑龍江海拉爾”。需要說明的是,由于語句中最終一個詞是否為切分點不會影響到切分結果,因此最后一個詞也可以不通過數字進行表征。還需要說明的是,用1和2來分別表示詞語是非切分點和切分點只是示例,實踐中可以也可以用2表示非切分點且用1表示切分點,還可以使用其他不同數字分別表征是否為切分點。
在該實現(xiàn)方式中,可以使用循環(huán)神經網絡模型執(zhí)行每次的語句切分步驟,對語句切分具有較強的泛化處理能力,應用范圍廣。
在本實施例的一些可選實現(xiàn)方式中,上述根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量,可以包括以下至少一項:根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中是否有匹配的搜索語句和/或在搜索語句詞典中匹配的搜索語句的分值提取特征向量;根據搜索語句詞典中以待切分語句中每個詞語為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量;其中,所述搜索語句詞典中記錄使用搜索引擎搜索過的搜索語句,每個搜索語句的分值是根據搜索語句的搜索頻次和/或用戶搜索時的使用反饋信息生成的。該搜索語句詞典可以作為其他操作的基礎詞典,可以反映出詞語或詞語組合是否被用戶搜索過以及具體的搜索頻次。
圖4示出了“我要打車去黑龍江”這一句子中涉及到的詞語或詞語組合在搜索語句中所匹配的搜索語句以及搜索語句的分值。其中,“我”這一詞語所匹配的搜索語句的分值為6.42,“要”這一詞語所匹配的搜索語句的分值為5.09,“我”和“要”這一詞語組合所匹配的搜索語句的分值為6.36,“打車”這一詞語所匹配的搜索語句的分值為5.31,“我”和“打車”這一詞語組合所匹配的搜索語句的分值為5.39,“我”、“要”、“打車”這一詞語組合所匹配的搜索語句的分值為4.65,“去”這一詞語所匹配的搜索語句的分值為3.02,“我”和“去”這一詞語組合所匹配的搜索語句的分值為6.36,“我”、“要”、“去”這一詞語組合所匹配的搜索語句的分值為3.51,“黑龍江”這一詞語所匹配的搜索語句的分值為7.69,“海拉爾”這一詞語所匹配的搜索語句的分值為8.06,“我”和“打車”這一詞語組合所匹配的搜索語句的分值為3.33。
根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中是否有匹配的搜索語句時,是指詞語組合在搜索語句詞典中存在匹配的搜索語句和不存在匹配的搜索語句這兩種情形下分別提取出不同的特征向量。在根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中匹配的搜索語句的分值提取特征向量時,可以根據搜索語句的分值提取相應的特征向量。對于圖4中的示例,“我”和“要”這一詞語組合所匹配的搜索語句的分值為6.36,則可以根據該6.36提取出前兩個詞語所組成的詞語組合所對應的特征向量。
對于在根據以搜索語句詞典中以待切分語句中每個詞語為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量,以“我”這一詞語開頭的搜索語句作為示例進行說明。以“我”這一詞語開頭的搜索語句分別包括“我”、“要”組成的搜索語句,“我”、“打車”組成的搜索語句、“我”、“要”、“打車”組成的搜索語句,“我”、“去”組成的搜索語句以及“我”、“要”、“去”組成的搜索語句,可見以“我”這一詞語開頭的搜索語句的數目為5。此外,這四個搜索語句的分值分別是6.36、5.39、4.65、6.36、3.51,則分值之和為26.27。此時,在根據以搜索語句詞典中以待切分語句中“我”為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量即可以根據5和/或26.27等數值提取相應的特征向量。同理,在以“要”為中間的搜索語句的數目或分值之和提取詞語對應的特征向量時,對應的搜索語句包括“我”、“要”、“打車”組成的搜索語句以及“我”、“要”、“去”組成的搜索語句,數目為2,對應的分值之和為4.65+3.51=8.16,從而可以根據2和/或8.16提取特征向量。以某一詞語為結束的搜索語句的數目或分值之和提取詞語對應的特征向量與開始、中間的方式相似,這里不再贅述。
該實現(xiàn)方式中,通過查詢各種詞語組合在搜索語句詞典中的分值即可提取出相應的特征向量,提取特征向量的方式較為簡單。
在本實施例的一些可選實現(xiàn)方式中,上述根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量,還包括以下至少一項:提取待切分語句中每個詞語的詞向量;提取待切分語句在所述原始語句的上下文語句的上下文特征向量。在該實現(xiàn)方式中,在提取出至少一種特征向量時,還可以通過其他兩種方式提取特征向量:第一種方式是將待切分語句中每個詞語的詞向量提取為特征向量;第二種方式是根據待切分語句在原始語句的上下文語句提取出特征向量。
該實現(xiàn)方式中,除了根據搜索語句詞典提取特征向量外,還提取單個詞語的詞向量以及上下文特征向量,使得通過循環(huán)神經網絡模型執(zhí)行語句切分步驟的通用性和準確性更高,進一步提高了整體方案的完善性。
在本實施例的一些可選實現(xiàn)方式中,上述方法還包括搜索語句詞典構建步驟。其中,該搜索語句詞典構建步驟可以按如下方式執(zhí)行:首先,獲取用戶使用搜索引擎時輸入的搜索語句集合。其次,按照搜索語句的搜索頻次對搜索語句集合進行篩選。之后,可以根據搜索語句的搜索頻次以及用戶使用搜索語句搜索時的使用反饋信息,生成搜索語句中每個搜索語句的分值。最后,可以將搜索語句與對應的分值關聯(lián)存儲,以構建搜索語句詞典。通過該方式構建的搜索語句詞典,后續(xù)過程中可以從搜索語句詞典查找搜索語句以及搜索語句對應的分值。
可選的,可以按照以下具體過程生成搜索語句詞典:首先,可以獲取用戶搜索日志。該用戶搜索日志中可以包括用戶使用搜索引擎輸入的搜索語句集合、搜索語句集合中每個搜索語句的搜索頻次以及用戶使用搜索語句搜索時的使用反饋信息。搜索頻次是指搜索語句被搜索的次數。使用反饋信息是用戶使用搜索語句后對搜索結果的滿意度評價信息,該滿意度評價信息可以是正面的或負面的,還可以通過數值進行量化。通常,使用反饋信息可以根據用戶是否對搜索結果進一步進行點選來確定,因此反饋信息也可稱為點擊擴展特征。其次,可以通過搜索頻次將搜索語句集合中較低頻次的搜索語句濾出,保留下搜索頻次較高的搜索語句,以供后續(xù)處理。接著,可以根據搜索頻次和使用反饋信息分別對各個搜索語句進行打分,得到搜索語句的搜索頻次得分和滿意度得分,在通過一定的計算方式對搜索頻次得分和滿意度得分進行計算后得到搜索語句的最終分值。滿意度得分可以是搜索引擎按照統(tǒng)一的策略進行打分而得到的,也可以是直接采用搜索頻次得分或者使用對搜索頻次進行相應處理而得到的分值。
可選的,計算最終分值的公式是:
score=scoresatisfy*log2(scoresatisfy/countsearch)
在上式中,score是搜索語句的最終分值,scoresatisfy是滿意度分值,countsearch是搜索頻次分值。
該實現(xiàn)方式的方案在構建詞典時不需要人工挖掘專項片段,可以直接使用有噪數據即可構建詞典,通用性較強。
在本實施例的一些可選實現(xiàn)方式中,步驟204可以具體包括:將所述原始語句作為根節(jié)點,并依次將每次被執(zhí)行所述語句切分步驟的待切分語句與切分所得到的多個子語句片段作為父節(jié)點與對應的多個子節(jié)點,構建成節(jié)點為語句片段的樹形層級結構。在構建時,可以將原始語句作為該樹形層級結構中的根節(jié)點。之后,可以將每次被執(zhí)行語句切分步驟的待切分語句與切分所得到的多個子語句片段分別作為父節(jié)點與對應的多個子節(jié)點,從而逐步構建樹形層級結構的后續(xù)節(jié)點。該實現(xiàn)方式中,以樹這一數據結構將每次切分的切分結果關聯(lián)存儲在一起,有助于提高后續(xù)過程進行查找的效率。
在本實施例的一些可選實現(xiàn)方式中,上述方法還包括模型訓練步驟。該模型訓練步驟可以以如下方式執(zhí)行:獲取按照最少切分算法預先對樣本語句進行迭代切分所生成的切分結果;根據每次切分的切分結果生成訓練樣本,并使用生成的訓練樣本訓練所述循環(huán)神經網絡模型;其中,訓練樣本中的輸入向量是根據每次切分所針對的被切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量,訓練樣本中的輸入向量是用于描述每次切分所針對的被切分語句中的各個詞語是否為切分點的序列。在使用單個訓練樣本進行訓練時,由于每次被切分語句中的詞語數量不確定,特征向量的個數也無法事先確定,可以每次將定長的特征向量輸入至模型中并通過循環(huán)輸入對模型進行訓練。
在按照最少切分算法預先對樣本語句進行迭代切分所生成的切分結果中的每一次切分中,可以根據切分關系確定父節(jié)點中的語句片段中的各個詞語是否為切分點。例如,當被且分語句片段為“我要打車去黑龍江海拉爾”且切分后的多個語句片段分別是“我要打車”、“去”、“黑龍江海拉爾”,此時可以分析出在“我要打車去黑龍江海拉爾”這一語句片段的各個詞語“我”、“要”、“打車”、“去”、“黑龍江”、“海拉爾”中,“打車”、“去”、“海拉爾”可以認為是切分點,而其他詞語可以認為是非切分點。此時,若用數字1表征非切分點而用數字2表征切分點,則對應的序列為(1,1,2,2,1,2),該序列即可作為訓練用的輸出向量。再將根據被切分語句提取出的至少一種特征向量作為輸入向量,即可得到已知輸入向量和輸出向量的訓練樣本。至少一種特征向量的提取過程可以參考上述語句切分步驟中提取至少一種特征向量的過程,這里不再贅述。最后,即可利用得到的訓練樣本對循環(huán)神經網絡模型進行訓練。
其中,上述最少切分算法是每次切分時使待切分語句中切出的子語句的數目最小的方法??蛇x的,當出現(xiàn)多個切分方式均使得切出的子語句的數目最小時,則可以通過切分后各個子語句的得分之乘積判斷采用哪一種切分方式。例如,可以采用得分之乘積最大者作為所選取的切分方式。通過遞歸方式依次使用最小切分算法,直到切出的子語句為最基本的詞語時,即可得到多層次的切分結果。實踐中,需要根據對大量的樣本語句進行切分所得到的切分結果生成訓練樣本,以便于生成處理效果更優(yōu)的循環(huán)神經網絡模型。圖5是以對原始語句“我要打車去黑龍江海拉爾”為例對切分過程進行描述的示意圖。首先,采用最小切分算法對原始語句“我要打車去黑龍江海拉爾”進行切分,從而得到子語句最少的切分結果為:“我要打車”、“去”、“黑龍江海拉爾”。其中,“去”已經是基礎詞語,不需要繼續(xù)切分,而“我要打車”和“黑龍江海拉爾”則不是基礎詞語,還需要繼續(xù)將“我要打車”和“黑龍江海拉爾”分別作為待切分語句繼續(xù)進行切分。在對“我要打車”進一步切分時,可以采用最少切分算法切分出“我要”和“打車”兩個子語句片段,之后進一步將“我要”切分成“我”和“要”。對于“黑龍江海拉爾”,可以采用最少切分算法切分出“黑龍江”和“海拉爾”。最后,即可得到如圖5所示的用于表征多層次切分結果的樣本樹形層級結構。通過最少切分算法切分即可得到對循環(huán)神經網絡進行訓練的訓練樣本,數據來源廣泛,不需要人工精細加工。
本申請的上述實施例提供的方法可以循環(huán)對原始語句進行多層次多粒度的切分,使得切分結果可以得到更廣泛的應用,通用性強。
進一步參考圖6,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N基于人工智能的切分語句的裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,該裝置具體可以應用于各種電子設備中。
如圖6所示,本實施例的基于人工智能的切分語句的裝置600包括:切詞單元601、切分單元602、執(zhí)行單元603和存儲單元604。其中,切詞單元601用于對待切分的原始語句進行切詞,以得到原始語句中的詞語集合;切分單元602用于驅動以下子單元對初始值為所述原始語句的待切分語句執(zhí)行語句切分步驟:切分子單元,用于根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段,其中每個子語句片段是單個詞語或詞語組合;判斷子單元,判斷所切分成的多個子語句片段中是否存在不屬于所述詞語集合中的子語句片段;執(zhí)行單元603用于若多個子語句片段存在不屬于詞語集合中的子語句片段,則將不屬于詞語集合中的子語句片段作為待切分語句反饋至切分單元602;而存儲單元604用于關聯(lián)存儲所述原始語句以及每次執(zhí)行所述語句切分步驟所得到的多個子語句片段。
在本實施例的一些可選實現(xiàn)方式中,切分子單元包括:提取模塊,用于根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄,提取出至少一種特征向量;確定模塊,用于將所述至少一種特征向量輸入至循環(huán)神經網絡模型,以根據所述循環(huán)神經網絡模型輸出的序列確定對所述待切分語句進行切分的切分點,其中,所述循環(huán)神經網絡模型用于表征根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量與用于描述切分時待切分語句中的各個詞語是否為切分時的序列的對應關系;切分模塊,用于按照所確定的切分點將待切分語句切分成多個子語句片段。
在本實施例的一些可選實現(xiàn)方式中,提取模塊用于執(zhí)行以下至少一項:根據待切分語句中不同詞語組成的詞語組合在搜索語句詞典中是否有匹配的搜索語句和/或在搜索語句詞典中匹配的搜索語句的分值提取特征向量;根據搜索語句詞典中以待切分語句中每個詞語為開始、中間或結束的搜索語句的數目或分值之和提取詞語對應的特征向量;其中,所述搜索語句詞典中記錄使用搜索引擎搜索過的搜索語句,每個搜索語句的分值是根據搜索語句的搜索頻次和/或用戶搜索時的使用反饋信息生成的。
在本實施例的一些可選實現(xiàn)方式中,提取模塊還用于執(zhí)行以下至少一項:提取待切分語句中每個詞語的詞向量;提取待切分語句在所述原始語句的上下文語句的上下文特征向量。
在本實施例的一些可選實現(xiàn)方式中,裝置600還包括搜索語句詞典構建單元(未示出),用于:獲取用戶使用搜索引擎時輸入的搜索語句集合;按照搜索語句的搜索頻次對搜索語句集合進行篩選;根據搜索語句的搜索頻次以及用戶使用搜索語句搜索時的使用反饋信息,生成所述搜索語句中每個搜索語句的分值;將搜索語句與對應的分值關聯(lián)存儲,以構建所述搜索語句詞典。
在本實施例的一些可選實現(xiàn)方式中,裝置600還包括模型訓練單元,所述模型訓練單元用于:獲取按照最少切分算法預先對樣本語句進行迭代切分所生成的切分結果;根據每次切分的切分結果生成訓練樣本,并使用生成的訓練樣本訓練所述循環(huán)神經網絡模型;其中,訓練樣本中的輸入向量是根據每次切分所針對的被切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄提取出的至少一種特征向量,訓練樣本中的輸入向量是用于描述每次切分所針對的被切分語句中的各個詞語是否為切分點的序列。
在本實施例的一些可選實現(xiàn)方式中,存儲單元204進一步用于:將所述原始語句作為根節(jié)點,并依次將每次被執(zhí)行所述語句切分步驟的待切分語句與切分所得到的多個子語句片段作為父節(jié)點與對應的多個子節(jié)點,構建成節(jié)點為語句片段的樹形層級結構。
此外,本申請?zhí)峁┝艘环N基于人工智能的切分語句的裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,該裝置具體可以應用于各種電子設備中,該電子設備可以是終端設備或服務器。下面參考圖7,其示出了適于用來實現(xiàn)本申請實施例的終端設備/服務器的計算機系統(tǒng)700的結構示意圖。圖7示出的終端設備/服務器僅僅是一個示例,不應對本申請實施例的功能和使用范圍帶來任何限制。
如圖7所示,計算機系統(tǒng)700包括中央處理單元(cpu)701,其可以根據存儲在只讀存儲器(rom)702中的程序或者從存儲部分708加載到隨機訪問存儲器(ram)703中的程序而執(zhí)行各種適當的動作和處理。在ram703中,還存儲有系統(tǒng)700操作所需的各種程序和數據。cpu701、rom702以及ram703通過總線704彼此相連。輸入/輸出(i/o)接口705也連接至總線704。
以下部件連接至i/o接口705:包括鍵盤、鼠標等的輸入部分706;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如lan卡、調制解調器等的網絡接口卡的通信部分709。通信部分709經由諸如因特網的網絡執(zhí)行通信處理。驅動器710也根據需要連接至i/o接口705??刹鹦督橘|711,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器710上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分708。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括承載在計算機可讀介質上的計算機程序,該計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分709從網絡上被下載和安裝,和/或從可拆卸介質711被安裝。在該計算機程序被中央處理單元(cpu)701執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。
需要說明的是,本申請所描述的計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質或者是上述兩者的任意組合。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本申請中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。而在本申請中,計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括切詞單元、切分單元、執(zhí)行單元和存儲單元。其中,這些單元的名稱在某種情況下并不構成對該單元本身的限定,例如,切詞單元還可以被描述為“用于對待切分的原始語句進行切詞以得到原始語句中的詞語集合的單元”。
作為另一方面,本申請還提供了一種計算機可讀介質,該計算機可讀介質可以是上述實施例中描述的裝置中所包含的;也可以是單獨存在,而未裝配入該裝置中。上述計算機可讀介質承載有一個或者多個程序,當上述一個或者多個程序被該裝置執(zhí)行時,使得該裝置:對待切分的原始語句進行切詞,以得到所述原始語句中的詞語集合;對初始值為所述原始語句的待切分語句執(zhí)行語句切分步驟,所述語句切分步驟包括:根據待切分語句中單個詞語或不同詞語組成的詞語組合在搜索引擎中的被搜索記錄將待切分語句切分成多個子語句片段,其中每個子語句片段是單個詞語或詞語組合;判斷所切分成的多個子語句片段中是否存在不屬于所述詞語集合中的子語句片段;若存在不屬于所述詞語集合中的子語句片段,則將不屬于所述詞語集合中的子語句片段作為待切分語句繼續(xù)執(zhí)行所述語句切分步驟;關聯(lián)存儲所述原始語句以及每次執(zhí)行所述語句切分步驟所得到的多個子語句片段。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離上述發(fā)明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。