本發明專利技術提出了一種基于自然語言的數據交互查詢方法及其系統,所述方法步驟如下:S1、獲取待查詢數據庫中的數據集;S2、從數據集中獲取數據元信息;S3、構建數據庫查詢語法映射庫;S4、基于數據元信息和數據庫查詢語法映射庫生成查詢鏈庫;S5、根據查詢鏈庫動態解析錄入系統的自然語言文本,生成數據庫查詢語句;S6、利用數據庫查詢語句在待查詢的數據庫中進行數據查詢,并顯示查詢結果。所述系統包括數據分析模塊、查詢語法映射模塊、查詢解析模塊、查詢顯示模塊和存儲模塊。本發明專利技術方法和系統操作簡單,非專業用戶也可以利用直觀的自然語言描述完成復雜靈活的數據查詢,同時查詢語句不與數據庫查詢語言強制綁定,具備較高的可移植性。
A method and system of data interactive query based on natural language
【技術實現步驟摘要】
一種基于自然語言的數據交互查詢方法及其系統
本專利技術涉及一種基于自然語言構建數據交互查詢語句,以進行數據交互查詢的方法及其系統,屬于數據查詢
技術介紹
隨著數據化進程,各大企事業單位開始將各種資料網絡化、數據化,相應的數據快速查詢需求越來越多,在現有的軟件系統中數據查詢的方式主要有兩種:一種是利用圖形化的數據過濾組件的方式;另一種是基于數據庫查詢語句(DataQueryLanguage)的查詢的方式,利用圖形化組件過濾的查詢方式具有直觀、實用、相對安全可控的優勢,適合非專業用戶使用,但是其缺少查詢上的靈活性;而基于數據庫查詢語句的查詢方式具有極高的靈活性和組合能力,廣泛的適用于各種查詢場合,但是只有專業用戶在熟悉查詢語法并了解數據庫結構的情況下才能使用該方式,并且該方式的查詢語句大多與數據庫種類綁定,不具有可移植性。
技術實現思路
為了解決現有數據查詢方式無法在專業度低的同時提高查詢靈活性的問題,本專利技術提出了一種基于自然語言的數據交互查詢方法及其系統,通過對數據庫的分析,獲取自然語言與數據庫查詢語言的映射關系,自動化的實現自然語言到數據庫查詢語言的轉換,在降低操作難度的同時保證了數據查詢的靈活性。為解決上述技術問題,本專利技術采用了如下技術手段:一種基于自然語言的數據交互查詢方法,具體包括以下步驟:S1、采集待查詢的數據庫,獲取數據庫中的數據集;S2、基于元數據索引技術從數據集中獲取數據元信息;S3、基于待查詢的數據庫構建數據庫查詢語法映射庫;S4、基于數據元信息和數據庫查詢語法映射庫生成查詢鏈庫;S5、根據查詢鏈庫動態解析錄入系統的自然語言文本,生成數據庫查詢語句;S6、利用數據庫查詢語句在待查詢的數據庫中進行數據查詢,并顯示查詢結果。進一步的,所述數據元信息包括數據名稱、數據類型和數據值。進一步的,步驟S3的具體操作為:根據數據庫類型對待查詢的數據庫進行分類,分別獲取每類數據庫所支持的查詢語法、查詢語句和查詢語句支持的數據類型,并將查詢語句轉換成自然語言詞元,按照數據庫類型將自然語言詞元、查詢語句、查詢語句支持的數據類型和查詢語法依次存入數據庫查詢語法映射庫。進一步的,所述數據庫查詢語法映射庫采用鍵值的存儲格式。進一步的,步驟S4的具體操作為:根據查詢語句支持的數據類型,將數據元信息與自然語言詞元關聯起來,生成查詢鏈庫,所述查詢鏈庫中包含多條查詢鏈,每一條查詢鏈至少包括一個數據元信息和一個自然語言詞元。進一步的,步驟S5的具體操作為:在顯示界面錄入自然語言文本過程中,實時對自然語言文本進行分詞操作,依次計算分詞結果與查詢鏈庫中的每個查詢鏈的匹配度,按照匹配度對查詢鏈庫中的查詢鏈進行排序,并按照順序在顯示界面上顯示查詢鏈,完成自然語言文本錄制后,取匹配度最高的查詢鏈,獲取查詢鏈中的數據元信息和自然語言詞元,根據數據庫語法映射庫獲取對應的查詢語法和查詢語句,生成該自然語言文本對應的數據庫查詢語句。一種基于自然語言的數據交互查詢系統,包括數據分析模塊、查詢語法映射模塊、查詢解析模塊、查詢顯示模塊和存儲模塊;所述數據分析模塊,用于利用元數據索引技術分析待查詢的數據庫中的數據集,從數據集中獲取數據元信息;所述查詢語法映射模塊,用于根據待查詢的數據庫類型獲取數據庫查詢語法、查詢語句和查詢語句支持的數據類型,構建數據庫查詢語法映射庫,并生成查詢鏈庫;所述查詢解析模塊,用于接收自然語言文本,并根據數據元信息、數據庫查詢語法映射庫和查詢鏈庫生成自然語言文本對應的數據庫查詢語句;所述查詢顯示模塊,用于錄入自然語言文本,接收數據庫查詢語句進行數據庫查詢操作,并顯示數據查詢結果;所述存儲模塊,用于存儲待查詢的數據庫、數據元信息、數據庫查詢語法映射庫、查詢鏈庫、自然語言文本和數據查詢結果。進一步的,所述數據庫查詢語法映射庫包括自然語言詞元、查詢語句、查詢語句支持的數據類型和查詢語法。進一步的,所述查詢鏈庫中包含多條查詢鏈,每一條查詢鏈至少包括一個數據元信息和一個自然語言詞元。進一步的,所述查詢顯示模塊采用手機、平板或電腦。采用以上技術手段后可以獲得以下優勢:本專利技術提出了一種基于自然語言的數據交互查詢方法及其系統,本專利技術方法和系統獲取數據庫中的數據元信息、數據庫查詢語句和查詢語法,建立數據庫查詢語法映射庫,然后再通過數據庫查詢語句支持的數據類型,關聯數據元信息和數據查詢語法映射庫,生成查詢鏈庫,在實際使用中,用戶使用自然語言描述數據查詢需求,系統自動匹配查詢鏈,并根據查詢鏈生成相應的數據庫查詢語言,實現數據查詢需求,本專利技術方法和系統操作簡單,即使是非專業用戶也可以利用直觀的自然語言描述完成復雜靈活的數據查詢,提高了查詢效率,減少了企事業單位對查詢人員的培訓成本。此外,本專利技術方法和系統基于數據庫查詢語法映射庫生成查詢鏈,通過查詢鏈實現自然語言詞元和數據庫查詢語句的一一映射,查詢語句不與數據庫查詢語言強制綁定,具備較高的可移植性,適應于各個
附圖說明圖1為本專利技術一種基于自然語言的數據交互查詢方法的步驟流程圖。圖2為本專利技術一種基于自然語言的數據交互查詢系統的結構示意圖。圖3為本專利技術實施例中查詢顯示模塊的頁面顯示圖。圖中,1是數據分析模塊,2是查詢語法映射模塊,3是查詢解析模塊,4是查詢顯示模塊,5是存儲模塊。具體實施方式下面結合附圖對本專利技術的技術方案作進一步說明:一種基于自然語言的數據交互查詢方法,如圖1所示,具體包括以下步驟:S1、采集待查詢的數據庫,獲取數據庫中的數據集。根據應用場景的不同,待查詢的數據庫也不同,比如某高校要查詢學生各項信息,那么待查詢的數據庫就是高校建立的學生數據信息庫,其中可能包括學生基本信息表、學生期末成績表、學生考勤表等數據集。S2、基于元數據索引技術從數據集中獲取數據元信息。利用現有技術中的元數據索引方法或模塊從數據庫的數據集中提取數據元信息,數據元信息主要包括數據名稱、數據類型和數據值等,數據類型包括字符串、數字、文本等。以學生基本信息表為例,元數據索引模塊逐列掃描表中數據,獲取列字段信息和每個列字段的值,其中,列名為數據名稱,如學生學號、姓名、年齡、籍貫等,列名下具體的值就是數據值。提取數據元信息,可以進一步整理數據庫中的數據,有利于后續查詢。S3、基于待查詢的數據庫構建數據庫查詢語法映射庫,具體操作為:根據數據庫類型對待查詢的數據庫進行分類,由專業技術人員從相關網站或其他渠道分別獲取每類數據庫所支持的查詢語法、查詢語句和查詢語句支持的數據類型,此處的查詢語句主要包括數據庫查詢語法中用到比較符和操作符,不同的查詢語句支持的數據類型不同,比如比較符“=”支持所有數據類型,但是比較符“<”不支持文本類數據。將查詢語句轉換成自然語言詞元,以ANSISQL數據庫為例,“IN”是ANSISQL數據庫的一個查詢語句,其對應的自然語言詞元本文檔來自技高網...
【技術保護點】
1.一種基于自然語言的數據交互查詢方法,其特征在于,包括以下步驟:/nS1、采集待查詢的數據庫,獲取數據庫中的數據集;/nS2、基于元數據索引技術從數據集中獲取數據元信息;/nS3、基于待查詢的數據庫構建數據庫查詢語法映射庫;/nS4、基于數據元信息和數據庫查詢語法映射庫生成查詢鏈庫;/nS5、根據查詢鏈庫動態解析錄入系統的自然語言文本,生成數據庫查詢語句;/nS6、利用數據庫查詢語句在待查詢的數據庫中進行數據查詢,并顯示查詢結果。/n
【技術特征摘要】
1.一種基于自然語言的數據交互查詢方法,其特征在于,包括以下步驟:
S1、采集待查詢的數據庫,獲取數據庫中的數據集;
S2、基于元數據索引技術從數據集中獲取數據元信息;
S3、基于待查詢的數據庫構建數據庫查詢語法映射庫;
S4、基于數據元信息和數據庫查詢語法映射庫生成查詢鏈庫;
S5、根據查詢鏈庫動態解析錄入系統的自然語言文本,生成數據庫查詢語句;
S6、利用數據庫查詢語句在待查詢的數據庫中進行數據查詢,并顯示查詢結果。
2.根據權利要求1所述的一種基于自然語言的數據交互查詢方法,其特征在于,所述數據元信息包括數據名稱、數據類型和數據值。
3.根據權利要求2所述的一種基于自然語言的數據交互查詢方法,其特征在于,步驟S3的具體操作為:
根據數據庫類型對待查詢的數據庫進行分類,分別獲取每類數據庫所支持的查詢語法、查詢語句和查詢語句支持的數據類型,并將查詢語句轉換成自然語言詞元,按照數據庫類型將自然語言詞元、查詢語句、查詢語句支持的數據類型和查詢語法依次存入數據庫查詢語法映射庫。
4.根據權利要求3所述的一種基于自然語言的數據交互查詢方法,其特征在于,所述數據庫查詢語法映射庫采用鍵值的存儲格式。
5.根據權利要求3所述的一種基于自然語言的數據交互查詢方法,其特征在于,步驟S4的具體操作為:
根據查詢語句支持的數據類型,將數據元信息與自然語言詞元關聯起來,生成查詢鏈庫,所述查詢鏈庫中包含多條查詢鏈,每一條查詢鏈至少包括一個數據元信息和一個自然語言詞元。如下圖即為當元數據為NVARCHAR類型時對應的查詢鏈(部分)示意圖。
6.根據權利要求5所述的一種基于自然語言的數據交互查詢方法,其特征在于,步驟S5的具體操作為:
在顯示界面錄入自...
【專利技術屬性】
技術研發人員:尹源,
申請(專利權)人:南京誠勤教育科技有限公司,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。