• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)據(jù)庫查詢系統(tǒng)中自然語言理解技術(shù)應(yīng)用

    2023-12-31 00:00:00王燕鳳
    科技創(chuàng)新與應(yīng)用 2023年18期

    摘" 要:自然語言理解技術(shù)(NLU)是當(dāng)下人工智能領(lǐng)域的熱門研究課題,在幫助計算機準(zhǔn)確理解人類語言,以及真正實現(xiàn)機器的智能化發(fā)揮重要作用。該文基于自然語言理解技術(shù)設(shè)計數(shù)據(jù)庫查詢系統(tǒng),首先介紹數(shù)據(jù)庫查詢系統(tǒng)中使用到的關(guān)鍵技術(shù),例如自動分詞技術(shù)、消歧處理算法、目標(biāo)短語提取技術(shù)等。隨后使用Jbuilder10開發(fā)工具和Java編程語言設(shè)計數(shù)據(jù)庫查詢系統(tǒng),并對其自動分詞和語句查詢功能展開驗證。結(jié)果表明,在輸入的116條語句中,正確分詞率達到92.2%,查詢正確率達到80.2%,達到設(shè)計預(yù)期。

    關(guān)鍵詞:數(shù)據(jù)庫查詢系統(tǒng);自然語言理解技術(shù);自動分詞;查詢目標(biāo);智能化

    中圖分類號:TP391" " " 文獻標(biāo)志碼:A" " " " " 文章編號:2095-2945(2023)18-0023-04

    Abstract: Natural language understanding (NLU) technology is a hot research topic in the field of artificial intelligence, which plays an important role in helping computers understand human language accurately and realizing the intelligence of machines. This paper designs a database query system based on natural language understanding technology. Firstly, it introduces the key technologies used in the database query system, such as automatic word segmentation, disambiguation processing algorithm, target phrase extraction technology and so on. Then, the database query system is designed by using Jbuilder10 development tools and Java programming language, and its automatic word segmentation and sentence query functions are verified. The results show that among the 116 sentences entered, the correct word segmentation rate is 92.2%, and the query accuracy rate is 80.2%, which meets the expectations for the design.

    Keywords: database query system; natural language understanding (NLU) technology; automatic word segmentation; query target; intelligence

    早在20世紀(jì)50年代,美國的IBM公司就開展了計算機語言處理的研究,目前國際上關(guān)于自然語言理解的研究成果雖然豐碩,但是研究對象以英語、法語等語種為主,相比之下國內(nèi)關(guān)于漢語的自然語言處理研究則起步較晚。近年來,清華大學(xué)的黃昌寧教授、東北大學(xué)的姚天順教授等在計算機語言學(xué)領(lǐng)域展開了大量的探索,取得了可喜的研究成果。將自然語言理解技術(shù)應(yīng)用到數(shù)據(jù)庫查詢系統(tǒng)中,必須要解決漢語語句特有的歧義切分問題、多動詞聯(lián)用問題、句子詞序問題等眾多難題。本文以自動分詞、歧義處理等方面作為切入點,對數(shù)據(jù)庫查詢系統(tǒng)中自然語言理解技術(shù)展開了探討。

    1" 數(shù)據(jù)庫查詢系統(tǒng)中常用的自然語言理解技術(shù)

    1.1" 自動分詞技術(shù)

    由于中文文本中的字詞之間沒有類似于英語的空格,因此數(shù)據(jù)庫查詢系統(tǒng)在分析中文文本時首要任務(wù)就是自動分詞。目前常用的自動分詞技術(shù)有機械分詞法、統(tǒng)計分詞法等,但是在具體應(yīng)用中均存在一定的缺陷。例如機械分詞法的切詞速度較慢,而統(tǒng)計分詞法只適合一些普通文本的分詞等。本文在設(shè)計數(shù)據(jù)庫查詢系統(tǒng)時,基于自然語言理解技術(shù)提出了“最大正向匹配算法+尾部歧義處理+回溯分詞算法”的復(fù)合式自動分詞技術(shù),其實現(xiàn)方式如下。

    讀入待處理語句后,使用最大正向匹配算法對該語句做常規(guī)切分,切分后得到若干詞;使用尾部歧義處理進行詞的歧義檢查,根據(jù)檢查結(jié)果找出最大交集型歧義字段。判斷該字段是否為空,如果不為空則依據(jù)“歸右原則”處理交集型歧義。在完成第一次最大正向匹配分詞后,記錄分詞結(jié)果,同時繼續(xù)查詢待處理語句的其他部分,直到發(fā)現(xiàn)語法或語義錯誤,則返回重新匹配(回溯算法),達到對詞匯準(zhǔn)確切分的效果。

    1.2" 消歧技術(shù)

    消歧又稱歧義字段切分,在數(shù)據(jù)庫查詢系統(tǒng)中應(yīng)用消歧技術(shù)能顯著提升切分精度。根據(jù)構(gòu)成形式的不同,將歧義字段分為2種常見類型,即交集型歧義和組合型歧義。假設(shè)字段為XYZ,并且存在XY∈P、YZ∈P,此時字段XYZ即為交集型歧義;假設(shè)字段為XY,并且存在XY∈P,A∈P、Y∈P,此時字段AB即為組合型歧義[1]。這里的XYZ、ZY為字串,P表示分詞庫。在中文文本中,超過90%的字串都屬于交集型歧義,本文重點討論這類字串的分詞與消歧處理,其流程如圖1所示。

    在分詞的尾部歧義處理中,查找最大交際字段是關(guān)鍵操作。本文選擇函數(shù)findIntersection實現(xiàn)這一功能。該函數(shù)有3個輸入?yún)?shù),分別是sne、pos1、al,程序設(shè)計如下

    string findIntersection(int posl,string sen,arraylist al){

    //posl:從句子中的當(dāng)前位置查找最大交集字段

    //ssen:進行句子分詞

    //al:分詞使用到的分詞知識庫

    int pso2=pos1+1

    //找出從pso1開始的最大匹配}

    1.3" 中間語言生成技術(shù)

    1.3.1" 生成查詢目標(biāo)

    結(jié)合目標(biāo)短語的特征,可以將查詢目標(biāo)分成4種類型,即屬性目標(biāo)、實體默認目標(biāo)、全值目標(biāo)和聚集目標(biāo)。這里以屬性目標(biāo)為例,簡要分析其處理流程。

    屬性目標(biāo)的結(jié)構(gòu):目標(biāo)短語=P(屬性)。由于屬性目標(biāo)在數(shù)據(jù)庫中對應(yīng)的實體數(shù)量是不同的,可能是一個,也可能是多個,可借助于實體數(shù)組來消除歧義[2]。原理是從實體數(shù)組中按照順序取出實體,并判斷該實體的所有屬性與目標(biāo)短語的屬性有無交集,實體的提取與交集驗證流程如圖2所示。

    例如需要查詢的語句為“顯示香蕉的單價?!蹦繕?biāo)短語=單價(P),參考數(shù)據(jù)庫表知識庫可知屬性“單價”對應(yīng)的表只有“產(chǎn)品”,故查詢目標(biāo)=產(chǎn)品.單價,將查詢目標(biāo)加入查詢目標(biāo)數(shù)組即可。如果需要查詢的語句為“顯示購物超市的電話?!蹦繕?biāo)短語=電話(P),這時數(shù)據(jù)庫表知識庫中屬性“電話”對應(yīng)的表有“供應(yīng)商”和“訂單”,根據(jù)上文分析需要使用實體數(shù)組來排除歧義?!百徫锍小睂?yīng)的屬性=“供應(yīng)商名稱”,實體=“供應(yīng)商”。把條件短語中的實體“供應(yīng)商”加入實體數(shù)組。從實體數(shù)組中取出實體后,獲取屬性allp,判斷allp與“電話”之間有無交集。如果有,則確定“電話”對應(yīng)的實體為“供應(yīng)商”,將“查詢目標(biāo)=供應(yīng)商.電話”加入查詢目標(biāo)數(shù)組。

    1.3.2" 生成查詢條件

    條件段是查詢語句的重要組成部分,通常將查詢語句中除了查詢目標(biāo)、查詢動詞以外的其他部分統(tǒng)稱為條件段。從構(gòu)成上看,條件段包括一個分組段,以及若干條件語句。在自然語言理解技術(shù)中,常見的查詢條件有2類,分別是值條件、聚集條件[3]。值條件的結(jié)構(gòu):條件短語=V,查詢條件為數(shù)據(jù)庫某一屬性的值。例如,條件短語為“找出香蕉的單價?!边@里的“香蕉”就是“產(chǎn)品名稱”這個屬性的值,故屬于值條件。同樣的,某個屬性的值也可能包含若干個,在實際分析中必須要排除歧義。屬性值條件的分析流程如圖3所示。

    仍然以語句“找出香蕉的單價”為例,按照圖3所示流程首先要通過檢索分詞知識庫的方式,確定“香蕉”的屬性為“產(chǎn)品名稱”,確定屬性后再通過數(shù)據(jù)庫表知識庫確定“香蕉”對應(yīng)的實體,分別有“產(chǎn)品”和“銷售商”2種。為了進一步驗證該實體到底屬于哪種類型,引入了實體數(shù)組的查詢條件作為輔助判斷的依據(jù)。結(jié)果顯示,查詢條件“單價”對應(yīng)的實體為“產(chǎn)品”。這樣就能確定“香蕉”的實體為“產(chǎn)品”,將條件“產(chǎn)品.產(chǎn)品名稱=香蕉”,以及實體和條件類型加入到查詢條件數(shù)組中,完成本次屬性值條件分析。

    聚集條件的結(jié)構(gòu):條件短語=PE。查詢結(jié)果以聚集函數(shù)的形式表示,以例句“查找單價最高的產(chǎn)品?!睘槔?,“單價最高”就是一個聚集函數(shù)。其實現(xiàn)方式:選定條件短語后,利用分詞知識庫尋找P對應(yīng)的實體E;如果兩者為“一對一”關(guān)系,則直接將P、E加入到查詢條件數(shù)組中;如果兩者為“一對多”關(guān)系,則使用實體數(shù)組消除歧義,程序為

    where E.P

    in(select fun(E.P)

    from E)

    1.3.3" 中間語言

    中間語言(MQL)是自然漢語轉(zhuǎn)化成SQL語句的中間過渡形式,本文在設(shè)計數(shù)據(jù)庫查詢系統(tǒng)時,主要基于2個標(biāo)準(zhǔn)選擇中間語言:其一是中間語言能準(zhǔn)確、完整地表達漢語句子的語義;其二是中間語言易于轉(zhuǎn)化為SQL語句。本文所用中間語言的核心部分為各種類型的數(shù)組,例如分詞數(shù)組、實體數(shù)組、查詢條件數(shù)組等。

    在中文語句經(jīng)過自動分詞處理后,系統(tǒng)自動剔除分詞中無法識別的內(nèi)容,將其他的部分存儲到句子分詞數(shù)組中,數(shù)組中的每個詞都占據(jù)著一個獨立的節(jié)點,數(shù)據(jù)結(jié)構(gòu)見表1。

    實體數(shù)組本質(zhì)上是一個由實體構(gòu)成的數(shù)組隊列,由2部分構(gòu)成:其一是產(chǎn)生句子分詞數(shù)組時,能夠直接從查詢語句中提取出來的實體;其二是在分析查詢條件屬性時,分析出來的實體[4]。實體數(shù)組的數(shù)據(jù)結(jié)構(gòu)相對來說比較簡單,通常用char entity[]表示實體名,用char defaultp[]表示默認屬性名。除此之外,像查詢目標(biāo)數(shù)組、查詢條件數(shù)組及分組數(shù)組等,也都有相應(yīng)的數(shù)據(jù)結(jié)構(gòu),不再一一贅述。

    2" 基于自然語言理解技術(shù)的數(shù)據(jù)庫查詢系統(tǒng)功能驗證

    2.1" 軟件功能設(shè)計

    本文使用Jbuilder10開發(fā)工具和Java編程語言開發(fā)了基于自然語言的數(shù)據(jù)庫查詢系統(tǒng)。用戶在登錄該系統(tǒng)后,可以在文本輸入界面輸入中文文本,由系統(tǒng)基于自然語言理解技術(shù)對輸入文本進行分析,并將查詢結(jié)果轉(zhuǎn)換成標(biāo)準(zhǔn)的MQL查詢語句,在系統(tǒng)的人機交互界面上顯示[5]。為了驗證系統(tǒng)功能的實現(xiàn)情況,本次實驗中挑選了2個例句。

    例句1:找出家家悅的電話。

    例句2:找出價格高于面粉并且供應(yīng)商城市為河南的產(chǎn)品、價格和庫存量。

    2.2" 系統(tǒng)實驗結(jié)果

    對于例句1,系統(tǒng)對該語句進行自動分詞處理后,得到結(jié)果“找出(S)家家悅(V)的(V)電話(P)”。從數(shù)據(jù)庫表知識庫中匹配出目標(biāo)短語“電話(P)”和條件短語“家家悅(V)”。同時,該語句中的查詢目標(biāo)是“電話”,對應(yīng)的目標(biāo)實體是“供應(yīng)商”,由此可得查詢條件為“供應(yīng)商名稱=家家悅”,條件實體=供應(yīng)商。查詢語句為

    sllect 供應(yīng)商.電話

    from 供應(yīng)商

    where 供應(yīng)商.供應(yīng)商名稱=家家悅

    在系統(tǒng)的查詢界面上,顯示查詢到的所有電話號碼。

    對于例句2,經(jīng)過自動分詞和生成中間語言,能夠識別出查詢目標(biāo)有3個,即產(chǎn)品名稱、單價、庫存量。該語句中的目標(biāo)實體為“產(chǎn)品”,查詢條件有2條。

    1)產(chǎn)品.單價gt;面粉,根據(jù)查詢結(jié)果此處的面粉單價為7.5(元)。

    2)供應(yīng)商.省份=河南。

    查詢結(jié)果以表格形式顯示,見表2。

    在系統(tǒng)功能驗證中,共挑選了116條中文語句,該系統(tǒng)可以正確分詞的有107條,正確率為92.2%。觀察發(fā)現(xiàn),該系統(tǒng)對普通查詢語句的分詞效果,以及對交集型歧義字段的處理結(jié)果較好。在MQL語句查詢中,查詢到的語句數(shù)量為93條,正確率為80.2%。這時因為該系統(tǒng)對常規(guī)的單表查詢、簡單嵌套查詢有很好的適用性,而對于比較復(fù)雜的多層嵌套查詢?nèi)菀壮霈F(xiàn)條件無法識別的情況。從整體上來看,本文設(shè)計的數(shù)據(jù)庫查詢系統(tǒng)基本上能夠滿足大多數(shù)語句的查詢需要,達到了設(shè)計預(yù)期。

    3" 結(jié)束語

    為了更好地滿足數(shù)據(jù)信息的存儲需求,數(shù)據(jù)庫的容量越來越大,用戶在檢索和查詢數(shù)據(jù)時需要花費的時間也相應(yīng)的增加,如何從數(shù)據(jù)庫中更加快速、準(zhǔn)確地提取出用戶需要的信息,成為數(shù)據(jù)庫設(shè)計中必須要考慮的問題。本文基于自然語言理解技術(shù)設(shè)計的數(shù)據(jù)庫查詢系統(tǒng),可以做到對查詢語句的自動分詞和歧義消除,并通過提取目標(biāo)短語、條件短語,以及生成查詢目標(biāo)、查詢條件等方式,可以快速、精確地找到符合要求的語句,并且在系統(tǒng)界面上直觀呈現(xiàn)。從系統(tǒng)功能的初步驗證來看,該系統(tǒng)對自然語句的分詞準(zhǔn)確率和查詢準(zhǔn)確率較高,將會顯著優(yōu)化數(shù)據(jù)庫的使用體驗。

    參考文獻:

    [1] 趙猛,陳珂,壽黎但,等.基于樹狀模型的復(fù)雜自然語言查詢轉(zhuǎn)SQL技術(shù)研究[J].軟件學(xué)報,2022,33(12):4727-4745.

    [2] 潘璇,徐思涵,蔡祥睿,等.基于深度學(xué)習(xí)的數(shù)據(jù)庫自然語言接口綜述[J].計算機研究與發(fā)展,2021,58(9):1925-1950.

    [3] 保海軍.基于機器學(xué)習(xí)的中文數(shù)據(jù)庫自然語言檢索系統(tǒng)[J].寧夏師范學(xué)院學(xué)報,2021,42(10):82-89.

    [4] 袁志祥,任冬冬,洪旭東.結(jié)合數(shù)據(jù)庫結(jié)構(gòu)及內(nèi)容的問句理解方法研究[J].計算機工程,2021,47(3):71-76,82.

    [5] 張芃捷.基于自然語言處理的期刊新媒體智能編作交互系統(tǒng)研發(fā)與應(yīng)用[J].中國傳媒科技,2021(12):146-148.

    普兰县| 正阳县| 德令哈市| 东阿县| 界首市| 铁岭县| 灵山县| 黄石市| 壶关县| 瓮安县| 大同市| 通辽市| 博罗县| 房产| 吴江市| 玉林市| 那曲县| 太谷县| 福建省| 南召县| 革吉县| 安远县| 西华县| 泸州市| 元氏县| 牙克石市| 建宁县| 含山县| 山东省| 中牟县| 平邑县| 台山市| 汝南县| 永德县| 嵩明县| 万宁市| 陆川县| 九龙县| 武夷山市| 南安市| 西和县|