一種基于深度學習的中文自然語言查詢生成SQL語句技術研究
發(fā)布時間:2021-10-05 07:13
自然語言處理是近年來人工智能領域中發(fā)展速度最快的研究方向之一。通過使用自然語言與數(shù)據(jù)庫進行人機交互查詢數(shù)據(jù),既能節(jié)省用戶學習專業(yè)知識的成本,也能提升查詢數(shù)據(jù)的效率。因此,自然語言查詢生成SQL語句,簡稱NL2SQL任務的自然語言處理技術,尤其是中文NL2SQL具有重要的研究價值。如何從語法和語義層面準確地理解自然語言,以及如何消除自然語言查詢,數(shù)據(jù)庫中的數(shù)據(jù)表結構及內(nèi)容和SQL語句三者之間在表達和結構上的差距,是NL2SQL任務中面臨的主要挑戰(zhàn),F(xiàn)有針對NL2SQL任務的模型都主要面向英文文本,并且無法解決中文文本數(shù)據(jù)中存在的列名復用、自然語言查詢中的描述和數(shù)據(jù)庫存儲的數(shù)據(jù)表述不一致等問題。本文以中文NL2SQL任務為研究對象,針對單表和其擴展的多表查詢場景,從提升生成SQL語句的準確率角度出發(fā),構建了多個深度學習模型來實現(xiàn)自然語言查詢到SQL語句的轉化。本文的主要工作與貢獻包括:(1)提出了結合預訓練模型和深度學習分類模型的面向中文NL2SQL任務的完整流程和方法。該方法充分利用最新的預訓練模型在處理文本時的特征表達能力,并通過微調(diào)(fine-tuning)的方式在各子任務上構建相應...
【文章來源】:浙江大學浙江省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:98 頁
【學位級別】:碩士
【部分圖文】:
LSTM的模型結構
浙江大學碩士學位論文第2章相關工作與技術介紹8在使用LSTM模型對文本進行編碼時,許多文獻[7][8][9]均采用了雙向LSTM(Bi-LSTM)模型。采用Bi-LSTM的目的是為了解決文本的上下文關聯(lián)的問題,如圖2-2所示,對文本中的一個詞或者片段分析時,我們不僅需要其上文的信息,同時也需要其下文的信息,通過對前向和后向兩個單向LSTM模型進行編碼結果的拼接,就構成了Bi-LSTM模型的編碼結果。圖2-2Bi-LSTM模型對文本編碼示意圖2.1.2自然語言預訓練模型預訓練模型[10]是指前人為了解決一個任務時通過訓練大量數(shù)據(jù)所得到的模型,后人在解決類似問題或其下游任務時,就不需要完整地從零開始訓練一個新的模型,而是可以通過利用這個預訓練模型入手來解決。針對自然語言預訓練模型來說,有許多實驗[11][12][13]已經(jīng)證明了其在自然語言處理任務中的有效性,所以將自然語言預訓練模型用于自然語言編碼也不例外。現(xiàn)存的使用預訓練模型來完成下游任務的策略主要有兩種:基于特征(feature-based)的方法和基于微調(diào)(fine-tuning)的方法。基于特征的方法,例如ELMo[14](EmbeddingfromLanguageModels)模型,目的是使用領域特定架構中的預訓練表達來作為額外的特征,ELMo模型從不同的維度去處理傳統(tǒng)的詞嵌
浙江大學碩士學位論文第2章相關工作與技術介紹122.2.1基于流水線的方法基于流水線的方法是將自然語言查詢轉化為一種中間表達,再將這些中間表達轉化為SQL語句[22]。如孟小峰等人[23]提出了一種名為NChiql的自然語言查詢系統(tǒng),它對語句的處理采用自頂向下的策略,將自然語言轉化為語義依存樹后構建成語義群,基于這個概念將語義依存樹轉化為SQL語句。Popescu等人[24]提出了一種叫PRECISE的系統(tǒng),通過分類的方法將自然語言查詢進行分類,以便于在語義上更好地處理上下文關系,并在經(jīng)驗上衡量這些查詢問題的普遍性。PRECISE使用WordNet[25]將自然語言進行語法標注,并將其中的詞映射到詞典中,最終完成SQL語句的生成。理解自然語言是很困難的,即使是人與人之間交流,有時候也會產(chǎn)生歧義,因此我們也無法期望一個自然語言查詢接口能夠毫無錯誤地運行。用戶會因為系統(tǒng)錯誤地理解或處理了這個自然語言查詢而得到了一個錯誤的結果,因此無法判斷這個查詢結果是否是自己想要的,退一步說,即使用戶意識到了結果是錯誤的,但也沒有改進系統(tǒng)生成SQL語句準確率的方式。為了解決這個問題,Li等人[26]在2016年提出了一個名為NaLIR的系統(tǒng),該系統(tǒng)利用一種人機交互的方式,當系統(tǒng)無法清楚地理解自然語言查詢時,會返回一個請求,要求用戶進行歧義消除,方式就是將具有歧義的部分產(chǎn)生多個可能的候選表達返回給用戶做選擇。通過這樣的方式用戶也不需要重新去組織查詢的表達語言,減輕了用戶的負擔。該系統(tǒng)的結構如圖2-4[26]所示。圖2-4NaLIR系統(tǒng)架構圖
【參考文獻】:
期刊論文
[1]基于TM影像的德興銅礦區(qū)生態(tài)環(huán)境變化[J]. 查東平,申展,劉足根,廖兵,王偉. 國土資源遙感. 2015(04)
[2]數(shù)據(jù)庫自然語言查詢系統(tǒng)Nchiql中語義依存樹向SQL的轉換[J]. 孟小峰,王珊. 中文信息學報. 2001(05)
本文編號:3419251
【文章來源】:浙江大學浙江省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:98 頁
【學位級別】:碩士
【部分圖文】:
LSTM的模型結構
浙江大學碩士學位論文第2章相關工作與技術介紹8在使用LSTM模型對文本進行編碼時,許多文獻[7][8][9]均采用了雙向LSTM(Bi-LSTM)模型。采用Bi-LSTM的目的是為了解決文本的上下文關聯(lián)的問題,如圖2-2所示,對文本中的一個詞或者片段分析時,我們不僅需要其上文的信息,同時也需要其下文的信息,通過對前向和后向兩個單向LSTM模型進行編碼結果的拼接,就構成了Bi-LSTM模型的編碼結果。圖2-2Bi-LSTM模型對文本編碼示意圖2.1.2自然語言預訓練模型預訓練模型[10]是指前人為了解決一個任務時通過訓練大量數(shù)據(jù)所得到的模型,后人在解決類似問題或其下游任務時,就不需要完整地從零開始訓練一個新的模型,而是可以通過利用這個預訓練模型入手來解決。針對自然語言預訓練模型來說,有許多實驗[11][12][13]已經(jīng)證明了其在自然語言處理任務中的有效性,所以將自然語言預訓練模型用于自然語言編碼也不例外。現(xiàn)存的使用預訓練模型來完成下游任務的策略主要有兩種:基于特征(feature-based)的方法和基于微調(diào)(fine-tuning)的方法。基于特征的方法,例如ELMo[14](EmbeddingfromLanguageModels)模型,目的是使用領域特定架構中的預訓練表達來作為額外的特征,ELMo模型從不同的維度去處理傳統(tǒng)的詞嵌
浙江大學碩士學位論文第2章相關工作與技術介紹122.2.1基于流水線的方法基于流水線的方法是將自然語言查詢轉化為一種中間表達,再將這些中間表達轉化為SQL語句[22]。如孟小峰等人[23]提出了一種名為NChiql的自然語言查詢系統(tǒng),它對語句的處理采用自頂向下的策略,將自然語言轉化為語義依存樹后構建成語義群,基于這個概念將語義依存樹轉化為SQL語句。Popescu等人[24]提出了一種叫PRECISE的系統(tǒng),通過分類的方法將自然語言查詢進行分類,以便于在語義上更好地處理上下文關系,并在經(jīng)驗上衡量這些查詢問題的普遍性。PRECISE使用WordNet[25]將自然語言進行語法標注,并將其中的詞映射到詞典中,最終完成SQL語句的生成。理解自然語言是很困難的,即使是人與人之間交流,有時候也會產(chǎn)生歧義,因此我們也無法期望一個自然語言查詢接口能夠毫無錯誤地運行。用戶會因為系統(tǒng)錯誤地理解或處理了這個自然語言查詢而得到了一個錯誤的結果,因此無法判斷這個查詢結果是否是自己想要的,退一步說,即使用戶意識到了結果是錯誤的,但也沒有改進系統(tǒng)生成SQL語句準確率的方式。為了解決這個問題,Li等人[26]在2016年提出了一個名為NaLIR的系統(tǒng),該系統(tǒng)利用一種人機交互的方式,當系統(tǒng)無法清楚地理解自然語言查詢時,會返回一個請求,要求用戶進行歧義消除,方式就是將具有歧義的部分產(chǎn)生多個可能的候選表達返回給用戶做選擇。通過這樣的方式用戶也不需要重新去組織查詢的表達語言,減輕了用戶的負擔。該系統(tǒng)的結構如圖2-4[26]所示。圖2-4NaLIR系統(tǒng)架構圖
【參考文獻】:
期刊論文
[1]基于TM影像的德興銅礦區(qū)生態(tài)環(huán)境變化[J]. 查東平,申展,劉足根,廖兵,王偉. 國土資源遙感. 2015(04)
[2]數(shù)據(jù)庫自然語言查詢系統(tǒng)Nchiql中語義依存樹向SQL的轉換[J]. 孟小峰,王珊. 中文信息學報. 2001(05)
本文編號:3419251
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3419251.html
最近更新
教材專著