本申請涉及計算機技術領域,具體涉及信息表示和存儲技術領域,尤其涉及知識庫構建方法和裝置。
背景技術:
知識庫是知識工程中重中之重結構化,易操作,易利用,全面有組織的知識集群,是針對某一(或某些)領域問題求解的需要,采用某種(或若干)知識表示方式在計算機存儲器中存儲、組織、管理和使用的互相聯系的知識片集合。
目前,知識庫可以通過手工搭建的方式完成,手工搭建需要領域專家借助編輯工具手動完成,開發成本高,周期長,且搭建完成的知識庫覆蓋的內容有限。
技術實現要素:
本申請的目的在于提出一種知識庫構建方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請提供了一種知識庫構建方法,上述方法包括:獲取原始文本信息;將上述原始文本信息進行分詞處理,得到至少一個分詞;基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞;通過預先設定的關系信息格式從上述原始文本信息中獲取上述至少一個領域概念詞之間的關系信息,其中,關系信息用于描述領域概念詞之間的關系;使用本體描述語言對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫。
在一些實施例中,上述原始文本信息包括互聯網數據;以及上述獲取原始文本信息,包括:采用網絡爬蟲技術從互聯網獲取預設領域的互聯網數據作為原始文本信息。
在一些實施例中,上述預設領域為財稅領域;以及上述互聯網數據包括以下至少一項:財稅領域法律法規、財稅領域的案例、財稅新聞。
在一些實施例中,上述領域概念詞集合中包括的領域概念詞通過以下方式設定:對預先設定的、用于提取領域概念詞的目標文本進行分詞處理,得到上述目標文本的至少一個分詞;使用詞頻-逆向文件頻率方法計算上述目標文本的至少一個分詞的詞頻-逆向文件頻率值,并根據詞頻-逆向文件頻率值得到至少一個候選詞串;對于上述至少一個候選詞串中的每個候選詞串,執行以下步驟:計算該候選詞串所包含詞的互信息與該候選詞串詞頻-逆向文件頻率值的乘積;確定計算得到的乘積超過預先設定的閾值;將該候選字串作為識別出的領域概念詞放入領域概念詞集合中。
在一些實施例中,上述領域概念詞識別模型通過以下方式訓練得到:將上述領域概念詞集合中的領域概念詞中的字按位置進行標注,得到上述領域概念詞集合中的各領域概念詞的詞位特征信息;將上述領域概念詞集合中的各領域概念詞的詞位特征信息作為條件隨機場模型的訓練樣本,訓練得到領域概念詞識別模型。
在一些實施例中,上述基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞,包括:對于上述至少一個分詞中的各個分詞,執行以下步驟:將該分詞中的字按位置進行標注,得到該分詞的詞位特征信息;使用上述領域概念詞識別模型對該分詞的詞位特征信息進行識別,從而確定該分詞是否為領域概念詞。
在一些實施例中,上述基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞,包括:將上述至少一個分詞與上述領域概念詞集合中的領域概念詞進行匹配;根據匹配結果從上述至少一個分詞中得到至少一個領域概念詞。
第二方面,本申請提供了一種知識庫構建裝置,上述裝置包括:第一獲取單元,用于獲取原始文本信息;分詞單元,用于將上述原始文本信息進行分詞處理,得到至少一個分詞;第二獲取單元,用于基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞;第三獲取單元,用于通過預先設定的關系信息格式從上述原始文本信息中獲取上述至少一個領域概念詞之間的關系信息,其中,關系信息用于描述領域概念詞之間的關系;編碼單元,用于使用本體描述語言對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫。
在一些實施例中,上述原始文本信息包括互聯網數據;以及上述第一獲取單元進一步用于:采用網絡爬蟲技術從互聯網獲取預設領域的互聯網數據作為原始文本信息。
在一些實施例中,上述預設領域為財稅領域;以及上述互聯網數據包括以下至少一項:財稅領域法律法規、財稅領域的案例、財稅新聞。
在一些實施例中,上述領域概念詞集合中包括的領域概念詞通過以下方式設定:對預先設定的、用于提取領域概念詞的目標文本進行分詞處理,得到上述目標文本的至少一個分詞;使用詞頻-逆向文件頻率方法計算上述目標文本的至少一個分詞的詞頻-逆向文件頻率值,并根據詞頻-逆向文件頻率值得到至少一個候選詞串;對于上述至少一個候選詞串中的每個候選詞串,執行以下步驟:計算該候選詞串所包含詞的互信息與該候選詞串詞頻-逆向文件頻率值的乘積;確定計算得到的乘積超過預先設定的閾值;將該候選字串作為識別出的領域概念詞放入領域概念詞集合中。
在一些實施例中,上述領域概念詞識別模型通過以下方式訓練得到:將上述領域概念詞集合中的領域概念詞中的字按位置進行標注,得到上述領域概念詞集合中的各領域概念詞的詞位特征信息;將上述領域概念詞集合中的各領域概念詞的詞位特征信息作為條件隨機場模型的訓練樣本,訓練得到領域概念詞識別模型。
在一些實施例中,上述第二獲取單元進一步用于:對于上述至少一個分詞中的各個分詞,執行以下步驟:將該分詞中的字按位置進行標注,得到該分詞的詞位特征信息;使用上述領域概念詞識別模型對該分詞的詞位特征信息進行識別,從而確定該分詞是否為領域概念詞。
在一些實施例中,上述第二獲取單元進一步用于:將上述至少一個分詞與上述領域概念詞集合中的領域概念詞進行匹配;根據匹配結果從上述至少一個分詞中得到至少一個領域概念詞。
本申請提供的知識庫構建方法和裝置,將原始文本信息進行分詞處理得到至少一個分詞,而后基于領域概念詞集合和/或領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞,之后,獲取上述至少一個領域概念詞之間的關系信息,最后使用本體描述語言對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫,從而快速、高效的完成了知識庫的構建。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
圖1是本申請可以應用于其中的示例性系統架構圖;
圖2是根據本申請的知識庫構建方法的一個實施例的流程圖;
圖3是根據本申請的知識庫構建方法得到的財稅領域本體知識庫結構片段的示意圖;
圖4是根據本申請的知識庫構建裝置的一個實施例的結構示意圖;
圖5是適于用來實現本申請實施例的終端設備或服務器的計算機系統的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用本申請的知識庫構建方法或知識庫構建裝置的實施例的示例性系統架構100。
如圖1所示,系統架構100可以包括終端設備101、102、103,網絡104和服務器105。網絡104用以在終端設備101、102、103和服務器105之間提供通信鏈路的介質。網絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設備101、102、103通過網絡104與服務器105交互,以接收或發送消息等。終端設備101、102、103上可以安裝有各種通訊客戶端應用,例如網頁瀏覽器應用、搜索類應用、智能數據庫應用、智能決策系統等。
終端設備101、102、103可以是具有顯示屏并且支持信息處理的各種電子設備,包括但不限于智能手機、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動態影像專家壓縮標準音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動態影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。
服務器105可以是提供各種服務的服務器,例如對終端設備101、102、103上顯示的信息提供支持的后臺服務器。后臺服務器可以從互聯網獲取文本信息,并將獲取的文本信息發送給終端設備101、102、103;后臺服務器還可以將從互聯網獲取的文本信息進行各種處理后,將處理結果發送到終端設備101、102、103。
需要說明的是,本申請實施例所提供的知識庫構建方法可以由服務器105單獨執行,也可以由終端設備101、102、103和服務器105共同執行,還可以由終端設備101、102、103單獨執行。相應地,知識庫構建裝置可以設置于終端設備101、102、103中,也可以將知識庫構建裝置設置于服務器105中,還可以將知識庫構建裝置的部分單元設置于服務器105中。
應該理解,圖1中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和服務器。
繼續參考圖2,示出了根據本申請的知識庫構建方法的一個實施例的流程200。所述的知識庫構建方法,包括以下步驟:
步驟201,獲取原始文本信息。
在本實施例中,知識庫構建方法運行于其上的電子設備可以預先從本地或者遠程獲取原始文本信息,例如,當上述電子設備為終端設備時可以從本地和/或互聯網獲取原始文本信息,當上述電子設備為服務器時可以從終端和/或本地獲取原始文本信息,上述原始文本信息可以是用于生成知識庫的各種信息。例如,上述原始文本信息可以是領域專家收集整理的信息,比如,領域專家收集的電子文檔、表格、語音、圖片等等,應該理解,當領域專家收集的信息為非文本信息時,可以采用現有技術將非文本信息轉化為文本信息;上述原始文本信息還可以是從互聯網上獲取的領域相關信息。
在本實施例的一些可選的實現方式中,上述原始文本信息可以包括互聯網數據;以及步驟201可以具體包括:采用網絡爬蟲技術從互聯網獲取預設領域的互聯網數據作為原始文本信息。
在一些可選的實現方式中,上述預設領域可以為財稅領域;以及上述互聯網數據可以包括以下至少一項:財稅領域法律法規,例如,政府或機構發布的財稅法規政策(如,中央財政法規、國際會計準則、審計法規、中央稅收法規、工商法規等等);財稅領域的案例,例如財稅領域典型案例及熱點事件等等;財稅新聞,例如,各大財稅網站發布的與財稅領域相關的各種新聞。
步驟202,將原始文本信息進行分詞處理,得到至少一個分詞。
在本實施例中,上述電子設備可以采用各種手段(例如采用現有的分詞工具、分詞算法等)將步驟201獲取的原始文本信息進行分詞處理,從而得到至少一個分詞。
步驟203,基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從至少一個分詞中得到至少一個領域概念詞。
在本實施例中,上述電子設備可以使用預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中識別出領域概念詞。
在本實施例的一些可選的實現方式中,上述領域概念詞集合中包括的領域概念詞可以通過以下方式設定:首先,可以對預先設定的、用于提取領域概念詞的目標文本進行分詞處理,得到上述目標文本的至少一個分詞,在這里,上述目標文件可以是預先選取的文本文件,例如,當預設領域為財稅領域時,目標文件可以是財稅領域的法規文本;其次,可以使用詞頻-逆向文件頻率方法(Term Frequency-Inverse Document Frequency,TF-IDF)計算上述目標文本的至少一個分詞的詞頻-逆向文件頻率值(TF-IDF值),并可以根據詞頻-逆向文件頻率值得到至少一個候選詞串,例如,可以將詞頻-逆向文件頻率值超過預先設定的TF-IDF閾值的分詞作為候選詞串;最后,對于上述至少一個候選詞串中的每個候選詞串,執行以下步驟:計算該候選詞串所包含詞的互信息與該候選詞串詞頻-逆向文件頻率值的乘積;確定計算得到的乘積超過預先設定的閾值;將該候選字串作為識別出的領域概念詞放入領域概念詞集合中。
在本實施例的一些可選的實現方式中,上述領域概念詞識別模型可以通過以下方式訓練得到:上述電子設備或者其他用于訓練領域概念詞識別模型的電子設備,首先,可以將上述領域概念詞集合中的領域概念詞中的字按位置進行標注,得到上述領域概念詞集合中的各領域概念詞的詞位特征信息,例如,可以將字在領域概念詞中的位置分為B、M、E、S四類,B表示字在領域概念詞的首位,M表示字在領域概念詞的中間位置,E表示字在領域概念詞的末尾,S表示該字可以獨立構成一個詞,則領域概念詞的詞位特征信息C可以表示為C=c1,c2,…ci…,cn,其中,ci∈{B,M,E,S}(1≤i≤n),n表示領域概念詞包含的字數;然后,可以將上述領域概念詞集合中的各領域概念詞的詞位特征信息作為條件隨機場模型(conditional random field,CRF)的訓練樣本,訓練得到領域概念詞識別模型。
在本實施例的一些可選的實現方式中,步驟203可以具體包括:對于上述至少一個分詞中的各個分詞,執行以下步驟:將該分詞中的字按位置進行標注,得到該分詞的詞位特征信息;使用上述領域概念詞識別模型對該分詞的詞位特征信息進行識別,從而確定該分詞是否為領域概念詞。
在本實施例的一些可選的實現方式中,步驟203可以具體包括:首先,將上述至少一個分詞與上述領域概念詞集合中的領域概念詞進行匹配;然后,根據匹配結果從上述至少一個分詞中得到至少一個領域概念詞,例如,可以將上述至少一個分詞中的、與上述領域概念詞集合中的領域概念詞相匹配的分詞作為得到的領域概念詞。
步驟204,通過預先設定的關系信息格式從原始文本信息中獲取至少一個領域概念詞之間的關系信息。
在本實施例中,上述電子設備可以通過預先設定的關系信息格式從上述原始文本信息中獲取上述至少一個領域概念詞之間的關系信息,其中,關系信息用于描述領域概念詞之間的關系。關系信息格式可以是用于表征領域概念詞之間關系的格式,例如,關系信息格式{NP包括NP、NP、NP,NP…和NP}(其中,NP表示領域概念詞)可以是一種表征領域概念詞之間從屬關系的格式。關系信息格式可以是通過對選取的、包含待獲取關系信息格式的句子進行信息抽取得到的,例如,對選取的句子“個人所得包括工資、獎金、勞動分紅和津貼”進行信息抽取可以得到關系信息格式{NP包括NP、NP、NP,NP…和NP}(其中,NP表示領域概念詞)。
步驟205,使用本體描述語言對至少一個領域概念詞以及至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫。
在本實施例中,上述電子設備可以使用本體描述語言,例如OWL(Ontology Web Language,本體網絡語言),按照預先定義的本體結構對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫,作為示例,圖3示出了財稅領域本體知識庫結構的一個小片段。
本申請的上述實施例提供的方法首先基于領域概念詞集合和/或領域概念詞識別模型得到原始文本信息中的至少一個領域概念詞,之后獲取得到的至少一個領域概念詞之間的關系信息,最后基于至少一個領域概念詞以及至少一個領域概念詞之間的關系信息得到本體知識庫,實現了領域概念詞以及領域概念詞之間關系信息的自動獲取,從而快速、高效的完成了知識庫的構建,相比于手工搭建知識庫,使用本實施例方法構建知識庫開發成本低,周期短,且構建完成的知識庫覆蓋面廣。
進一步參考圖4,作為對上述各圖所示方法的實現,本申請提供了一種知識庫構建裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,該裝置具體可以應用于各種電子設備中。
如圖4所示,本實施例所述的知識庫構建裝置400包括:第一獲取單元401、分詞單元402、第二獲取單元403、第三獲取單元404和編碼單元405。其中,第一獲取單元401用于獲取原始文本信息;分詞單元402用于將上述原始文本信息進行分詞處理,得到至少一個分詞;第二獲取單元403用于基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞;第三獲取單元404用于通過預先設定的關系信息格式從上述原始文本信息中獲取上述至少一個領域概念詞之間的關系信息,其中,關系信息用于描述領域概念詞之間的關系;編碼單元405用于使用本體描述語言對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫。
在本實施例中,第一獲取單元401、分詞單元402、第二獲取單元403、第三獲取單元404和編碼單元405的具體處理可以參考圖2對應實施例步驟201、步驟202、步驟203、步驟204和步驟205的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述原始文本信息包括互聯網數據;以及上述第一獲取單元401進一步用于:采用網絡爬蟲技術從互聯網獲取預設領域的互聯網數據作為原始文本信息。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述預設領域為財稅領域;以及上述互聯網數據包括以下至少一項:財稅領域法律法規、財稅領域的案例、財稅新聞。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述領域概念詞集合中包括的領域概念詞通過以下方式設定:對預先設定的、用于提取領域概念詞的目標文本進行分詞處理,得到上述目標文本的至少一個分詞;使用詞頻-逆向文件頻率方法計算上述目標文本的至少一個分詞的詞頻-逆向文件頻率值,并根據詞頻-逆向文件頻率值得到至少一個候選詞串;對于上述至少一個候選詞串中的每個候選詞串,執行以下步驟:計算該候選詞串所包含詞的互信息與該候選詞串詞頻-逆向文件頻率值的乘積;確定計算得到的乘積超過預先設定的閾值;將該候選字串作為識別出的領域概念詞放入領域概念詞集合中。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述領域概念詞識別模型通過以下方式訓練得到:將上述領域概念詞集合中的領域概念詞中的字按位置進行標注,得到上述領域概念詞集合中的各領域概念詞的詞位特征信息;將上述領域概念詞集合中的各領域概念詞的詞位特征信息作為條件隨機場模型的訓練樣本,訓練得到領域概念詞識別模型。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述第二獲取單元403進一步用于:對于上述至少一個分詞中的各個分詞,執行以下步驟:將該分詞中的字按位置進行標注,得到該分詞的詞位特征信息;使用上述領域概念詞識別模型對該分詞的詞位特征信息進行識別,從而確定該分詞是否為領域概念詞。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
在本實施例的一些可選的實現方式中,上述第二獲取單元403進一步用于:將上述至少一個分詞與上述領域概念詞集合中的領域概念詞進行匹配;根據匹配結果從上述至少一個分詞中得到至少一個領域概念詞。該實現方式可參考上述圖2對應實施例中相應實現方式的詳細描述,在此不再贅述。
下面參考圖5,其示出了適于用來實現本申請實施例的終端設備或服務器的計算機系統500的結構示意圖。
如圖5所示,計算機系統500包括中央處理單元(CPU)501,其可以根據存儲在只讀存儲器(ROM)502中的
程序或者從存儲部分508加載到隨機訪問存儲器(RAM)503中的程序而執行各種適當的動作和處理。在RAM 503中,還存儲有系統500操作所需的各種程序和數據。CPU 501、ROM 502以及RAM 503通過總線504彼此相連。輸入/輸出(I/O)接口505也連接至總線504。
以下部件連接至I/O接口505:包括鍵盤、鼠標等的輸入部分506;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分507;包括硬盤等的存儲部分508;以及包括諸如LAN卡、調制解調器等的網絡接口卡的通信部分509。通信部分509經由諸如因特網的網絡執行通信處理。驅動器510也根據需要連接至I/O接口505。可拆卸介質511,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器510上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分508。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分509從網絡上被下載和安裝,和/或從可拆卸介質511被安裝。在該計算機程序被中央處理單元(CPU)501執行時,執行本申請的方法中限定的上述功能。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現,也可以通過硬件的方式來實現。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括第一獲取單元、分詞單元、第二獲取單元、第三獲取單元和編碼單元。其中,這些單元的名稱在某種情況下并不構成對該單元本身的限定,例如,第一獲取單元還可以被描述為“獲取原始文本信息的單元”。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執行時,使得所述設備:獲取原始文本信息;將上述原始文本信息進行分詞處理,得到至少一個分詞;基于預先設定的領域概念詞集合和/或預先訓練得到的領域概念詞識別模型從上述至少一個分詞中得到至少一個領域概念詞;通過預先設定的關系信息格式從上述原始文本信息中獲取上述至少一個領域概念詞之間的關系信息,其中,關系信息用于描述領域概念詞之間的關系;使用本體描述語言對上述至少一個領域概念詞以及上述至少一個領域概念詞之間的關系信息進行編碼,得到本體知識庫。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。