專利名稱:一種識別搜索需求的方法和裝置的制作方法
一種識別搜索需求的方法和裝置
技術領域:
本發明涉及計算機技術領域,特別涉及一種識別搜索需求的方法和裝置。
背景技術:
隨著互聯網在全球范圍內的迅速發展與成熟,網絡上的信息資源不斷豐富,信息數據量也在飛速膨脹,通過搜索引擎獲取信息已經成為現代人獲取信息的主要方式。為了向用戶提供更加便捷、準確的查詢服務是搜索弓I擎技術在當今和未來的發展方向。在搜索引擎技術中,對用戶的搜索需求進行識別是提高搜索準確性和有效性的重要一環,特別在結構化搜索中作用顯著。現有的搜索需求識別通常簡單的采用匹配預置關 鍵詞的方式,例如,對應視頻需求預置一些關鍵詞“在線觀看”、“在線下載”、“點播”等,如果一個搜索請求(query)中包含某一個關鍵詞,諸如query “士兵突擊在線觀看”,則將該query識別為視頻需求。但該方法的適用性過窄,對于沒有包含預置關鍵詞的query則無法識別搜索需求,并且識別方式過于粗放,并不考慮非關鍵詞的需求體現,常常會帶來識別準確率低下的問題。
發明內容有鑒于此,本發明提供了一種識別搜索需求的方法和裝置,以便于提高需求識別的適用性和準確性。具體技術方案如下一種識別搜索需求的方法,該方法包括預先建立各預設類型的需求分析模型;接收到待識別query時,利用所述需求分析模型對所述待識別query進行需求識別;其中,所述預設類型的需求分析模型的建立具體包括S1、獲得該預設類型的種子query的各η元詞組n-gram,η為預設的一個或多個正整數;S2、計算每一個n-gram與該預設類型的語義相似度sim以及每一個n-gram屬于該預設類型的概率prob ;S3、利用所述sim和所述prob確定每一個n-gram在該預設類型的評分;對所述待識別query進行需求識別具體包括S4、確定所述待識別query的各n-gram ;S5、查詢各預設類型的需求分析模型,確定步驟S4確定的各n-gram在各預設類型的評分;S6、利用步驟S4確定的所有n-gram在每一個預設類型的評分之和得到所述待識別query在每一個預設類型上有需求的可能性;S7、根據所述待識別query在每一個預設類型上有需求的可能性識別出所述待識別query的需求類型。根據本發明之一優選實施例,所述步驟S2中計算每一個n-gram與該預設類型的語義相似度sim具體包括獲取該預設類型的核心詞向量和每一個n-gram的詞向量,計算每一個n-gram的詞向量分別與該預設類型的核心詞向量的相似度作為所述sim。根據本發明之一優選實施例,所述獲取該預設類型的核心詞向量具體包括S21、利用該預設類型的每一個種子query進行搜索,獲取排在前NI個的搜索結果,所述NI為預設的正整數; S22、對所述步驟S21獲取的搜索結果的文本進行分詞處理,獲取所有n-gram ;S23、根據詞頻tf*逆向文件頻率idf值確定步驟S22獲取的各n-gram的權重,按照權重對各n-gram進行排序,獲取排在前N2個的n-gram作為該預設類型的核心詞向量,所述N2為預設的正整數。根據本發明之一優選實施例,獲取每一個n-gram的詞向量為針對每一個n-gram分別具體執行以下步驟S24、將該n-gram作為query分別進行搜索,獲取排在前N3個的搜索結果,所述N3為預設的正整數;S25、對所述步驟S24獲取的搜索結果進行分詞處理,根據t1-1df 值確定分詞處理所得到各詞語的權重,選取權重排在前N4個的詞語作為該n-gram的詞向量。根據本發明之一優選實施例,所述步驟S2中計算n-gram屬于該預設類型的概率prob具體為prob = C1/C2,其中所述Cl為包含該n-gram的該預設類型的種子query的總檢索次數,所述C2為包含該n-gram的所有預設類型的種子query的總檢索次數。根據本發明之一優選實施例,所述步驟S3具體包括按照score = A l*sim+ A 2*prob確定n-gram在該預設類型的評分score,其中入I和X 2為預設的權重系數。根據本發明之一優選實施例,所述步驟S6具體包括將所述步驟S4確定的所有n-gram分別在每一個預設類型的評分之和作為所述待識別query分別在每一個預設類型上有需求的可能性;或者,將所述步驟S4確定的所有n-gram分別在每一個預設類型的評分之和的平均值分別作為所述待識別query在每一個預設類型上有需求的可能性。根據本發明之一優選實施例,所述步驟S7具體包括將可能性滿足預設可能性閾值的預設類型識別為所述待識別query的需求類型;或者,將可能性排在前N5個的預設類型識別為所述待識別query的需求類型,所述N5為預設的正整數;或者,根據預設的可能性與需求級別的對應關系,確定所述待識別query在每一個預設類型上的需求級別。一種識別搜索需求的裝置,該裝置包括用于預先建立各預設類型的需求分析模型的模型建立單元,以及用于接收到待識別query時,利用所述需求分析模型對所述待識別query進行需求識別的需求識別單元;其中所述模型建立單元具體包括第一詞組獲取子單元,用于分別針對每一個預設類型,獲得該預設類型的種子query的各η元詞組n-gram, η為預設的一個或多個正整數;
相似度計算子單元,用于計算每一個n-gram與該預設類型的語義相似度sim ;概率計算子單元,用于計算每一個n-gram屬于該預設類型的概率prob ;第一評分子單元,用于利用所述sim和所述prob確定每一個n-gram在該預設類型的評分;所述需求識別單元具體包括第二詞組獲取子單元,用于確定所述待識別query的各n-gram ;第二評分子單元,用于查詢各預設類型的需求分析模型,確定所述第二詞組獲取子單元確定的各n-gram在各預設類型的評分;可能性計算子單元,用于利用所述第二評分子單元確定的所有n-gram在每一個預設類型的評分之和得到所述待識別query在每一個預設類型上有需求的可能性;需求識別子單元,用于根據所述待識別query在每一個預設類型上有需求的可能性識別出所述待識別query的需求類型。根據本發明之一優選實施例,所述相似度計算子單元具體獲取該預設類型的核心詞向量和每一個n-gram的詞向量,計算每一個n-gram的詞向量分別與該預設類型的核心詞向量的相似度作為所述sim。根據本發明之一優選實施例,所述相似度計算子單元在獲取該預設類型的核心詞向量時,具體執行以下操作S21、利用該預設類型的每一個種子query進行搜索,獲取排在前NI個的搜索結果,所述NI為預設的正整數;S22、對所述操作S21獲取的搜索結果的文本進行分詞處理,獲取所有n-gram ;S23、根據詞頻tf*逆向文件頻率idf值確定操作S22獲取的各n-gram的權重,按照權重對各n-gram進行排序,獲取排在前N2個的n-gram作為該預設類型的核心詞向量,所述N2為預設的正整數。根據本發明之一優選實施例,所述相似度計算子單元在獲取每一個n-gram的詞向量時,針對每一個n-gram分別具體執行以下操作S24、將該n-gram作為query分別進行搜索,獲取排在前N3個的搜索結果,所述N3為預設的正整數;S25、對所述操作S24獲取的搜索結果進行分詞處理,根據t1-1df值確定分詞處理所得到各詞語的權重,選取權重排在前N4個的詞語作為該n-gram的詞向量。根據本發明之一優選實施例,所述概率計算子單元按照prob = C1/C2計算n-gram屬于該預設類型的概率prob,其中所述Cl為包含該n-gram的該預設類型的種子query的總檢索次數,所述C2為包含該n-gram的所有預設類型的種子query的總檢索次數。根據本發明之一優選實施例,所述第一評分子單元按照score =λ l*sim+ λ 2*prob確定n-gram在該預設類型的評分score,其中λ I和λ 2為預設的權重系數。
根據本發明之一優選實施例,所述可能性計算子單元將所述第二評分子單元確定的所有n-gram分別在每一個預設類型的評分之和作為所述待識別query分別在每一個預設類型上有需求的可能性;或者,將所述第二評分子單元確定的所有n-gram分別在每一個預設類型的評分之和的平均值分別作為所述待識別query在每一個預設類型上有需求的可能性。根據本發明之一優選實施例,所述需求識別子單元將可能性滿足預設可能性閾值的預設類型識別為所述待識別query的需求類型;或者,將可能性排在前N5個的預設類型識別為所述待識別query的需求類型,所述N5為預設的正整數;或者,根據預設的可能性與需求級別的對應關系,確定所述待識別query在每一個預設類型上的需求級別。 由以上技術方案可以看出,本發明在需求分析模型建立和識別過程中考量了query中所有n-gram在各預設類型上的評分,從而確定query在每一個預設類型上有需求的可能性,進而識別出query的需求類型。顯然相比較現有預置關鍵詞的需求識別方式,考量所有n-gram的需求類型,識別方式更加細膩,對于任意query均能夠識別出需求而不受關鍵詞的限制,具有更高的適用性和準確性。
圖1為本發明實施例一提供的需求識別的方法流程圖;圖2為本發明實施例二提供的計算n-gram與各需求類型的語義相似度的方法流程圖;圖3為本發明實施例三提供的需求識別的裝置結構圖。
具體實施方式為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。實施例一、圖1為本發明實施例一提供的需求識別的方法流程圖,如圖1所示,該方法包括兩個過程過程1:預先建立各預設類型的需求分析模型,具體的建立過程包括,分別針對每一個預設類型執行以下步驟101 步驟104,該過程為線下過程。在本發明實施例中預設一些需求類型,可以包括但不限于視頻類、軟件類、游戲類、小說類等。分別針對每一個預設類型建立需求分析模型。各需求分析模型中包含n-gram以及n-gram在該需求分析模型所對應需求類型的評分。在此,對n元詞組(n-gram)的概念進行簡單介紹,所謂n-gram就是最小粒度的n個詞語按順序出現的組合,其中n為預設的一個或多個正整數。例如l-gram為“手機”、“酷狗”、“播放器”、“最新版”、“下載”等;2-gram為“手機酷狗”、“酷狗播放器”、“播放器最新版”、“最新版下載”等;3-gram為“手機酷狗播放器”、“酷狗播放器最新版”、“播放器最新版下載”等;4-gram為“手機酷狗播放器最新版”、“酷狗播放器最新版下載”等。
步驟101 :獲得預設類型的種子query的各n-gram。首先預置各預設類型的種子query集合,這些種子query體現出對應預設類型的需求,這些種子query集合可以通過人工的方式配置,或者采用人工的方式在搜索日志中標注。較優地,也可以從搜索日志中挖掘種子query,例如從該預設類型垂直搜索的搜索日志中獲取搜索次數高于預設第一閾值的query作為該預設類型的種子query,從該預設類型的網頁搜索的搜索日志中,獲取對應于點擊了該預設類型的網站或點擊了包含該需求類型特征詞的標題的query,并將獲取的query中搜索次數高于預設第二閾值的query作為該預設類型的種子query,等等。例如,游戲類的種子query集合中的種子query可以包含“單機版手機小游戲下載”、“寶捷迅1P608手機游戲下載”、“魔獸世界怎么玩”、“魔獸世界怎么升級”、“軟件帝國最
新章節”等。然后將各種子query進行分詞處理,并獲得所有n-gram。以種子query “手機酷狗播放器最新版下載”為例,分詞處理后的結果為“手機”、“酷狗”、“播放器”、“最新版”、“下載”。如果預先設置η為1、2、3和4,則Ι-gram為“手機”、“酷狗”、“播放器”、“最新版”、“下載” ;2-gram為“手機酷狗”、“酷狗播放器”、“播放器最新版”、“最新版下載” ;3-gram為“手機酷狗播放器”、“酷狗播放器最新版”、“播放器最新版下載”;4-gram為“手機酷狗播放器最新版”、“酷狗播放器最新版下載”。在獲取到預設類型的種子query集合的所有n-gram之后,要確定各n-gram在該預設類型的評分,在評分時需要利用n-gram與各需求類型的語義相似度以及n-gram屬于各需求類型的概率,繼續執行后續步驟。步驟102 :計算n-gram與該預設類型的語義相似度sim。在本步驟中,可以采用計算n-gram與各預設類型的核心詞向量相似度的方式,具體計算方式參見實施例二。步驟103 :計算n-gram屬于該預設類型的概率prob。其中,n-gram屬于某預設類型的概率prob可以采用如下公式計算prob = C1/C2 ;其中,Cl為包含該n-gram的上述某預設類型的種子query的總檢索次數,C2為包含該n-gram的所有預設類型的種子query的總檢索次數。假設包含n-gram “搜狗播放器”的種子query如表I所示,則其屬于軟件類的概率prob為prob = (315+273+273+326)/(315+273+273+326+210+230) = 0. 7296。表I
種子query需求類型檢索次數
酷狗播放器WW315
下載酷狗播放器WW27權利要求
1.一種識別搜索需求的方法,其特征在于,該方法包括 預先建立各預設類型的需求分析模型; 接收到待識別query時,利用所述需求分析模型對所述待識別query進行需求識別; 其中,所述預設類型的需求分析模型的建立具體包括 51、獲得該預設類型的種子query的各η元詞組n-gram,η為預設的一個或多個正整數; 52、計算每一個n-gram與該預設類型的語義相似度sim以及每一個n-gram屬于該預設類型的概率prob ; 53、利用所述sim和所述prob確定每一個n-gram在該預設類型的評分; 對所述待識別query進行需求識別具體包括 54、確定所述待識別query的各n-gram; 55、查詢各預設類型的需求分析模型,確定步驟S4確定的各n-gram在各預設類型的評分; 56、利用步驟S4確定的所有n-gram在每一個預設類型的評分之和得到所述待識別query在每一個預設類型上有需求的可能性; 57、根據所述待識別query在每一個預設類型上有需求的可能性識別出所述待識別query的需求類型。
2.根據權利要求1所述的方法,其特征在于,所述步驟S2中計算每一個n-gram與該預設類型的語義相似度sim具體包括 獲取該預設類型的核心詞向量和每一個n-gram的詞向量,計算每一個n-gram的詞向量分別與該預設類型的核心詞向量的相似度作為所述sim。
3.根據權利要求2所述的方法,其特征在于,所述獲取該預設類型的核心詞向量具體包括 521、利用該預設類型的每一個種子query進行搜索,獲取排在前NI個的搜索結果,所述NI為預設的正整數; 522、對所述步驟S21獲取的搜索結果的文本進行分詞處理,獲取所有n-gram; 523、根據詞頻tf*逆向文件頻率idf值確定步驟S22獲取的各n-gram的權重,按照權重對各n-gram進行排序,獲取排在前N2個的n-gram作為該預設類型的核心詞向量,所述N2為預設的正整數。
4.根據權利要求2所述的方法,其特征在于,獲取每一個n-gram的詞向量為針對每一個n-gram分別具體執行以下步驟 524、將該n-gram作為query分別進行搜索,獲取排在前N3個的搜索結果,所述N3為預設的正整數; 525、對所述步驟S24獲取的搜索結果進行分詞處理,根據t1-1df值確定分詞處理所得到各詞語的權重,選取權重排在前N4個的詞語作為該n-gram的詞向量。
5.根據權利要求1所述的方法,其特征在于,所述步驟S2中計算n-gram屬于該預設類型的概率prob具體為 prob = C1/C2,其中所述Cl為包含該n-gram的該預設類型的種子query的總檢索次數,所述C2為包含該n-gram的所有預設類型的種子query的總檢索次數。
6.根據權利要求1至5任一權項所述的方法,其特征在于,所述步驟S3具體包括 按照score = λ l*sim+ λ 2*prob確定n-gram在該預設類型的評分score,其中λ I和入2為預設的權重系數。
7.根據權利要求1所述的方法,其特征在于,所述步驟S6具體包括 將所述步驟S4確定的所有n-gram分別在每一個預設類型的評分之和作為所述待識別query分別在每一個預設類型上有需求的可能性;或者, 將所述步驟S4確定的所有n-gram分別在每一個預設類型的評分之和的平均值分別作為所述待識別query在每一個預設類型上有需求的可能性。
8.根據權利要求1所述的方法,其特征在于,所述步驟S7具體包括 將可能性滿足預設可能性閾值的預設類型識別為所述待識別query的需求類型;或者, 將可能性排在前N5個的預設類型識別為所述待識別query的需求類型,所述N5為預設的正整數;或者, 根據預設的可能性與需求級別的對應關系,確定所述待識別query在每一個預設類型上的需求級別。
9.一種識別搜索需求的裝置,其特征在于,該裝置包括 用于預先建立各預設類型的需求分析模型的模型建立單元,以及用于接收到待識別query時,利用所述需求分析模型對所述待識別query進行需求識別的需求識別單元; 其中所述模型建立單元具體包括 第一詞組獲取子單元,用于分別針對每一個預設類型,獲得該預設類型的種子query的各η元詞組n-gram, η為預設的一個或多個正整數; 相似度計算子單元,用于計算每一個n-gram與該預設類型的語義相似度sim ; 概率計算子單元,用于計算每一個n-gram屬于該預設類型的概率prob ; 第一評分子單元,用于利用所述sim和所述prob確定每一個n-gram在該預設類型的評分; 所述需求識別單元具體包括 第二詞組獲取子單元,用于確定所述待識別query的各n-gram ; 第二評分子單元,用于查詢各預設類型的需求分析模型,確定所述第二詞組獲取子單元確定的各n-gram在各預設類型的評分; 可能性計算子單元,用于利用所述第二評分子單元確定的所有n-gram在每一個預設類型的評分之和得到所述待識別query在每一個預設類型上有需求的可能性; 需求識別子單元,用于根據所述待識別query在每一個預設類型上有需求的可能性識別出所述待識別query的需求類型。
10.根據權利要求9所述的裝置,其特征在于,所述相似度計算子單元具體獲取該預設類型的核心詞向量和每一個n-gram的詞向量,計算每一個n-gram的詞向量分別與該預設類型的核心詞向量的相似度作為所述sim。
11.根據權利要求10所述的裝置,其特征在于,所述相似度計算子單元在獲取該預設類型的核心詞向量時,具體執行以下操作 S21、利用該預設類型的每一個種子query進行搜索,獲取排在前NI個的搜索結果,所述NI為預設的正整數; . 522、對所述操作S21獲取的搜索結果的文本進行分詞處理,獲取所有n-gram; .523、根據 詞頻tf*逆向文件頻率idf值確定操作S22獲取的各n-gram的權重,按照權重對各n-gram進行排序,獲取排在前N2個的n-gram作為該預設類型的核心詞向量,所述N2為預設的正整數。
12.根據權利要求10所述的裝置,其特征在于,所述相似度計算子單元在獲取每一個n-gram的詞向量時,針對每一個n-gram分別具體執行以下操作 . 524、將該n-gram作為query分別進行搜索,獲取排在前N3個的搜索結果,所述N3為預設的正整數; . 525、對所述操作S24獲取的搜索結果進行分詞處理,根據t1-1df值確定分詞處理所得到各詞語的權重,選取權重排在前N4個的詞語作為該n-gram的詞向量。
13.根據權利要求9所述的裝置,其特征在于,所述概率計算子單元按照prob= C1/C2計算n-gram屬于該預設類型的概率prob,其中所述Cl為包含該n-gram的該預設類型的種子query的總檢索次數,所述C2為包含該n-gram的所有預設類型的種子query的總檢索次數。
14.根據權利要求9至13任一權項所述的裝置,其特征在于,所述第一評分子單元按照score = λ l*sim+ λ 2*prob確定n-gram在該預設類型的評分score,其中λ I和λ 2為預設的權重系數。
15.根據權利要求9所述的裝置,其特征在于,所述可能性計算子單元將所述第二評分子單元確定的所有n-gram分別在每一個預設類型的評分之和作為所述待識別query分別在每一個預設類型上有需求的可能性;或者, 將所述第二評分子單元確定的所有n-gram分別在每一個預設類型的評分之和的平均值分別作為所述待識別query在每一個預設類型上有需求的可能性。
16.根據權利要求9所述的裝置,其特征在于,所述需求識別子單元將可能性滿足預設可能性閾值的預設類型識別為所述待識別query的需求類型;或者, 將可能性排在前N5個的預設類型識別為所述待識別query的需求類型,所述N5為預設的正整數;或者, 根據預設的可能性與需求級別的對應關系,確定所述待識別query在每一個預設類型上的需求級別。
全文摘要
本發明提供了一種識別搜索需求的方法和裝置,預先建立各預設類型的需求分析模型,具體為獲得該預設類型的種子query的各n元詞組(n-gram),計算每一個n-gram與該預設類型的語義相似度(sim)以及屬于該預設類型的概率(prob);利用sim和prob確定每一個n-gram在該預設類型的評分。接收到待識別query時,確定待識別query的各n-gram;查詢各預設類型的需求分析模型,確定各n-gram在各預設類型的評分;利用確定的所有n-gram在每一個預設類型的評分之和得到待識別query在每一個預設類型上有需求的可能性,進而識別出待識別query的需求類型。本發明能夠提高需求識別的適用性和準確性。
文檔編號G06F17/30GK102999521SQ201110273329
公開日2013年3月27日 申請日期2011年9月15日 優先權日2011年9月15日
發明者黃際洲, 柴春光 申請人:北京百度網訊科技有限公司