自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)

自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)

ID:19126565

大?。?9.22 KB

頁數(shù):9頁

時(shí)間:2018-09-29

自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)_第1頁
自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)_第2頁
自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)_第3頁
自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)_第4頁
自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)_第5頁
資源描述:

《自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、自然語言接口軟件的設(shè)計(jì)與實(shí)現(xiàn)(1)摘要為數(shù)據(jù)庫設(shè)計(jì)自然語言接口成為數(shù)據(jù)庫應(yīng)用的一個(gè)研究方向。本文介紹了一種基于受限的漢語自然語言查詢技術(shù),通過建立機(jī)器辭典,對(duì)自然語言查詢語句進(jìn)行切詞,再通過查找查詢對(duì)象和查詢條件,生成SQL語句。關(guān)鍵字受限;自然語言;機(jī)器辭典;切詞;SQL語句1引言隨著人工智能的發(fā)展和數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,人們非常希望以一種更方便的方法去查詢數(shù)據(jù)庫。使用自然語言進(jìn)行查詢無疑是解決這一問題的有效方法。它避免了以往命令式人機(jī)界面、圖形式人機(jī)界面繁雜的操作訓(xùn)練。事實(shí)證明,通用的自然語言理解

2、往往是低效的,而作為數(shù)據(jù)庫人機(jī)接口的自然語言界面具有使用目的單一、用詞范圍有限等特點(diǎn),在數(shù)據(jù)庫查詢意義上實(shí)現(xiàn)自然語言理解是完全可行的。另外,我們可以通過語音識(shí)別技術(shù)進(jìn)行語音輸入,從而簡(jiǎn)化復(fù)雜的輸入工作。本系統(tǒng)針對(duì)數(shù)據(jù)庫這一單一領(lǐng)域進(jìn)行查詢,從而簡(jiǎn)化了數(shù)據(jù)庫查詢的復(fù)雜操作。以提取查詢對(duì)象和查詢條件為手段,生成數(shù)據(jù)庫查詢語句為目的的軟件。本軟件的人機(jī)交互界面既可以單純的通過輸入語句,然后轉(zhuǎn)換成SQL語句,也可以通過語音輸入,再依靠復(fù)制-粘貼的手段進(jìn)行輸入,然后轉(zhuǎn)換成SQL語句。2數(shù)據(jù)辭典的設(shè)計(jì)辭典結(jié)構(gòu)的設(shè)

3、計(jì)為了便于以后對(duì)機(jī)器辭典進(jìn)行查找,本系統(tǒng)通過類來設(shè)計(jì)了機(jī)器辭典,具體結(jié)構(gòu)如下:classjqcd//定義一個(gè)反映機(jī)器辭典的jqcd類{char*ct;//詞條字符串char*yzym;//標(biāo)志char*yybz;//語義char*szb1;//所在表1char*szb2;//所在表char*szb3;//所在表}其中:ct:表示詞條字符串,在切詞時(shí)進(jìn)行匹配,便于以后生成SQL語句。yzym:表示句法標(biāo)志,用來表示詞條在語句中的功能。用九個(gè)數(shù)字表示不同的含義,其中:“0”表示域名,“1”表示域值,“2”

4、表示邏輯操作符,“3”表示關(guān)系操作符,“4”表示查詢動(dòng)詞,“5”表示疑問詞,“6”表示連接動(dòng)詞,“7”表示使役動(dòng)詞,“8”表示中性詞。yybz:表示語義標(biāo)志,用來表示詞條所對(duì)應(yīng)的概念在語義框架中的功能。給詞條加上合適的語義標(biāo)志,有助于以后生成SQL語句。語義標(biāo)志比語法標(biāo)志復(fù)雜的多。szb1:表示詞條所在表1,因?yàn)橛行┰~條不只在一個(gè)表中,指出所在表有助于以后生成SQL語句。szb2:表示詞條所在表2,因?yàn)橛行┰~條不只在一個(gè)表中,指出所在表有助于以后生成SQL語句。szb3:表示詞條所在表3,因?yàn)橛行┰~條

5、不只在一個(gè)表中,指出所在表有助于以后生成SQL語句。辭典的排序辭典排序采取先按機(jī)內(nèi)碼由小到大,再按詞條長(zhǎng)度由大到小進(jìn)行排序,通過排序以后,切詞時(shí)可以先通過機(jī)內(nèi)碼找到該詞第一個(gè)字,然后通過最大匹配法進(jìn)行切詞?!?】3切詞及其存儲(chǔ)切詞切詞采取機(jī)內(nèi)碼匹配,然后通過匹配詞條字符串進(jìn)行切詞,具體流程如圖1所示。具體分析如下:首先,讀入句子。然后,按照句子的第一個(gè)字的機(jī)內(nèi)碼與辭典中的詞條第一個(gè)字相匹配,匹配成功則從辭典中順序查找詞條,找到詞條后入棧。如果找不到,則進(jìn)行容錯(cuò)處理。對(duì)于數(shù)字,我們給他添加特別標(biāo)志,使其

6、在辭典中的位置為“-1”,以后進(jìn)行分析時(shí),只要遇到位置為“-1”的詞時(shí),就認(rèn)為是數(shù)字。存儲(chǔ)切詞完畢,用棧進(jìn)行存儲(chǔ)中間結(jié)果,棧的結(jié)構(gòu)如下:structsave{char*savestr;intindexInDirectory;structsave*next;};其中:savestr存儲(chǔ)切出的詞。indexInDirectory存儲(chǔ)切出的詞在辭典中的位置,便于以后查詢機(jī)器辭典中的詞條。圖1切詞流程圖4中間鏈表的生成生成中間鏈表【2】的目的是為了便于以后的語句分析,便于生成查找對(duì)象和查找條件中間鏈表的結(jié)構(gòu)如

7、下:structwTypeList{charword;//詞條char*wordType;//詞性charfield_value;//對(duì)應(yīng)的域值charfield_name;//對(duì)應(yīng)的域名intlocationlibrary;//在辭典中的位置structwTypeList*next;//next指針};其中:該中間鏈表中的詞性是關(guān)系到以后生成查詢對(duì)象和查詢條件的關(guān)鍵項(xiàng)。通過詞性的判斷可以提取查詢對(duì)象和查詢條件,以便生成SQL語句。5查詢對(duì)象的生成自然語言的查詢語句不外乎是命令性的祈使句、疑問句、條件

8、判斷句,根據(jù)相應(yīng)句型,采用不同搜索方式來確定查詢對(duì)象,本軟件采用三種搜索方式:不需要搜索查詢對(duì)象、需正向搜索查詢對(duì)象【5】、需逆向搜索查詢對(duì)象。經(jīng)過反復(fù)比較和總結(jié)自然語言查詢語句,共有六種句型【3】:who—sentence如“誰的學(xué)號(hào)為100033102?”,這種句型的查詢對(duì)象隱含在“誰”中,搜索方式為“不需搜索”。us—sentence如“哪些學(xué)生的籍貫是山東?”特殊語句:即verbqus不在句子首尾,而可以在其他的任何位置上。如“戴子強(qiáng)是哪個(gè)地方的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。