歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

問答系統(tǒng)的設(shè)計與實現(xiàn)

  • 資源ID:23695445       資源大小:509.91KB        全文頁數(shù):50頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

問答系統(tǒng)的設(shè)計與實現(xiàn)

1 目錄引 言1第一章 研究背景21.1問答系統(tǒng)研究背景21.2傳統(tǒng)的問答系統(tǒng)的不足21.3問答系統(tǒng)研究現(xiàn)狀21.4問答系統(tǒng)的類型區(qū)分41.5問題的類型進行區(qū)分41.6中文問答系統(tǒng)研究51.7相關(guān)評測5第二章 系統(tǒng)分析62.1市場調(diào)查62.2問答系統(tǒng)的問題分析62.3問題分類62.4問題相似性判定72.5關(guān)鍵詞擴展8第三章 數(shù)據(jù)庫設(shè)計103.1數(shù)據(jù)庫的需求分析103.2數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計103.3E-R模型12第四章 系統(tǒng)詳細設(shè)計與實現(xiàn)154.1系統(tǒng)工作原理介紹154.2系統(tǒng)數(shù)據(jù)流圖164.3系統(tǒng)的實現(xiàn)算法164.4注冊模塊的設(shè)計與實現(xiàn)194.5注冊模塊的設(shè)計與實現(xiàn)324.6 系統(tǒng)首頁的設(shè)計與實現(xiàn)344.7用戶提問模塊的設(shè)計與實現(xiàn)384.8問題顯示模塊的設(shè)計與實現(xiàn)414.9問題回答模塊的登錄與實現(xiàn)444.10后臺管理模塊的設(shè)計與實現(xiàn)45第五章 系統(tǒng)測試47第六章 總結(jié)48致謝49參考文獻50引 言問答系統(tǒng)的設(shè)計目標是用簡治、準確的答案回答用戶用自然語言提出的問題。在人工智能和自然語言處理領(lǐng)域,問答系統(tǒng)都有著較長的歷史。1950年英國數(shù)學(xué)家圖靈(AMTurin8)在論文“Computing Machinery and Intelligence”中形象地指出了什么是人工智能,以及機器應(yīng)該達到的智能標準。也就是通過自然語言問答的方式,判斷機器是否具有智能。20世紀70年代隨著自然語言理解技術(shù)的發(fā)展,出現(xiàn)了第一個實現(xiàn)用普通英語與計算機對話的人機接口LUNAR,該系統(tǒng)是伍德(WWoods)于1972年開發(fā)用來協(xié)助地質(zhì)學(xué)家查找、比較和評價阿波羅一號飛船帶回的月球巖石和土壤標本的化學(xué)分析數(shù)據(jù)的系統(tǒng)。本文將簡要介紹國內(nèi)外問答系統(tǒng)研究的進展情況。并且針對問答系統(tǒng)中的一個難點以及實現(xiàn)方法進行了討論。并給出如何識別用戶搜索關(guān)鍵字的方法。第一章 研究背景1.1問答系統(tǒng)研究背景隨著因特網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)上流通的信息日益增加,它已儼然成為巨大的訊息流通交換平臺,要在如此大量的數(shù)據(jù)庫中找尋有用的數(shù)據(jù)著實不易,通常會藉助于搜索引擎的功能來達成,然而以關(guān)鍵詞為主的搜索引擎常會找出所有相關(guān)的信息,但是其中也包含許多無用的數(shù)據(jù),用戶浪費很多時間瀏覽不相關(guān)的網(wǎng)頁。隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)已成為人們獲取信息的重要手段。目前,世界上最大的搜索引擎Google能夠搜索的網(wǎng)頁數(shù)量已經(jīng)超過了百億。傳統(tǒng)的搜索引擎存在很多不足的地方,其中主要有三個方面:一是以關(guān)鍵詞的邏輯組合來表達檢索需求二是返回的相關(guān)性信息太多三是以關(guān)鍵詞為基礎(chǔ)的索引,停留在語言的表層,而沒有觸及語義,因此檢索效果很難進一步提高。以上兩點使得人們在互聯(lián)網(wǎng)上的海量信息中快速準確地找到自己所需要的信息變得越來越困難。1.2傳統(tǒng)的問答系統(tǒng)的不足傳統(tǒng)的問答系統(tǒng)雖然可以對用戶提出的問題給出確定的答案,但是這些問答系統(tǒng)的數(shù)據(jù)源是基于一個固定的文檔集合,尚且不能滿足用戶的各種各樣的需求。利用互聯(lián)網(wǎng)上的資源是有效的解決之道互聯(lián)網(wǎng)上具有豐富的信息,是問答系統(tǒng)數(shù)據(jù)源的理想資源,因此將問答系統(tǒng)與互聯(lián)網(wǎng)結(jié)合起來,就變得非常必要。這也就促使了基于互聯(lián)網(wǎng)的問答系統(tǒng)的出現(xiàn)和發(fā)展的問答系統(tǒng)的出現(xiàn)和發(fā)展。1.3問答系統(tǒng)研究現(xiàn)狀問答系統(tǒng)的概念雖然提出的時間并不長,但已經(jīng)形成發(fā)展出了一些比較成熟的系統(tǒng)。美國麻省理工學(xué)院人工智能實驗室于1993年開發(fā)出來的START,系統(tǒng)(http:/www.ai.mit.edu/projects/infolab/start.html)是全世界第一個基于Internet的問答系統(tǒng)。START系統(tǒng)旨在為用戶提供準確的信息,它能夠回答數(shù)以百萬的英語問題,主要包括與地點相關(guān)的問題(城市、國家、湖泊、天氣、地圖、人口統(tǒng)計學(xué)、政治和經(jīng)濟等)、與電影相關(guān)的問題(片名、演員和導(dǎo)演等)、與人物相關(guān)的問題(出生日期、傳記等)以及與詞典定義相關(guān)的問題等。該系統(tǒng)采用基于知識庫和基于信息檢索的混雜模式,系統(tǒng)還保留著原來的兩個知識庫,"START KB”和“Internet Public Library"。如果用戶提出的問題屬于這兩個知識庫的范疇,START就直接利用知識庫中的知識返回比較準確的回答。反之,START系統(tǒng)將問題解析得到查詢的關(guān)鍵詞,通過搜索引擎得到相關(guān)信息,通過后續(xù)處理得到準確而簡潔的回答返回給用戶。比如提出一個問題“Who was Bill Gates? ", START系統(tǒng)回答“Cofounder,Microsoft. Born William H. Gates on October 28, 1955,Seattle,Washington. "。同時系統(tǒng)還返回一個關(guān)于“Bill Gates"網(wǎng)頁鏈接,如果用戶希望了解更詳細的信息時就可以瀏覽改網(wǎng)頁。美國華盛頓大學(xué)開發(fā)的MULDER系統(tǒng)(http:/mulder.cx/)是最早實現(xiàn)的基于Internet的全自動的問答系統(tǒng)。該系統(tǒng)沒有知識庫,而完全利用Internet上的資源得到答案。對于一個問題,MULDER系統(tǒng)返回的不是唯一的答案,而是一組候選回答,并利用統(tǒng)計的方法給每一個回答賦值一個權(quán)重,稱之為置信度。比如,對于一個問題“Who was the fast American in space?" ,MULDER系統(tǒng)的返回的候選答案中,"Alan Shepard”具有70%的置信度,"John Glenn”具有15%的置信度。同時在每一個答案下面給出相關(guān)的網(wǎng)頁鏈接和該網(wǎng)頁內(nèi)容的摘要。AskJeeves ( Who was Bill Gates?",系統(tǒng)在文本回答的基礎(chǔ)上還將顯示一張Bill Gate的照片。作為一個商用系統(tǒng),AskJeeves的服務(wù)種類很多,不僅僅可以查找Web網(wǎng)頁,也可以采用圖片、新聞、產(chǎn)品作為數(shù)據(jù)源,從而得到所需的信息。AskJeeves系統(tǒng)中的問題分析部分是依賴手工完成的,為了能夠正確理解用戶的查詢AskJeeves雇傭了數(shù)百專職人員構(gòu)造問題模板,并為這些問題模板中常見的問題進行了緩存。系統(tǒng)的問題模板雖然能夠細化和明確用戶的需求,但由于需要人工產(chǎn)生和維護的,工作量非常大。美國密歇根大學(xué)開發(fā)的AnswerBus ( ( answers。新加坡開發(fā)的LAMP為了更加正確的理解用戶的查詢意圖,列出了person,organization,location,date,time。money,percent等7種查詢類別讓用戶進行選擇,LAMP不是返回網(wǎng)頁鏈接,而是直接返還答案。LAMP所在網(wǎng)址p.nus.edu.sg/cgi-bin/smadellz/lamp_query.pl此外,南加州大學(xué)利用自然語言處理、文本摘要等技術(shù),開發(fā)的Webclopedia系統(tǒng)在各項評測中也取得了很好的效果;美國Language Computer公司的問答系統(tǒng)(國內(nèi)復(fù)旦大學(xué)開發(fā)的原型系統(tǒng)(FDUQA)己經(jīng)具有了初步的效果,同時哈爾濱工業(yè)大學(xué)(金山客服)和中國科學(xué)院計算技術(shù)研究所也在從事該領(lǐng)域的研究。1.4問答系統(tǒng)的類型區(qū)分問答系統(tǒng)(Question Answering System, QA)是信息檢索系統(tǒng)的一種高級形式。它能用準確、簡潔的自然語言回答用戶用自然語言提出的問題。其研究興起的主要原因是人們對快速、準確地獲取信息的需求。問答系統(tǒng)是目前人工智能和自然語言處理領(lǐng)域中一個倍受關(guān)注并具有廣泛發(fā)展前景的研究方向。1.5問題的類型進行區(qū)分問答系統(tǒng)問答問題的類型進行區(qū)分:詢問人(如:誰發(fā)現(xiàn)了北美洲?)、詢問時間(如:人類哪年登錄月球?)、詢問數(shù)量(如:珠穆朗瑪峰有多高?)、詢問定義(如:什么是氨基酸?)、詢問地點和位置(如:芙蓉江在重慶市哪個縣?)、詢問原因(如:天為什么是藍的?)。問答系統(tǒng)分類如圖1.1問答系統(tǒng)限定域問答系統(tǒng)開發(fā)域問答系統(tǒng)基于常用提問集問答系統(tǒng)機構(gòu)數(shù)據(jù)庫問答系統(tǒng)自由文本問答系統(tǒng)網(wǎng)絡(luò)問答系統(tǒng)固定資料庫問答系統(tǒng)單文本問答系統(tǒng)圖1.1 問答系統(tǒng)分類從系統(tǒng)的設(shè)計與實現(xiàn)來看,自動問答系統(tǒng)一般包括三個主要組成部分:問題分析、信息檢索和答案抽取。 目前國際上,問答系統(tǒng)的研究方興未艾,許多大的科研院所和著名公司,都積極參與到該領(lǐng)域的研究,其中比較著名的如MICROSOFT、IBM、MIT、University of Amsterdam、National University of Singapore、University of Zurich、University of Southern California、Columbia University等等,國內(nèi)在問答系統(tǒng)方面的研究相對國外較為不足,主要有中科院計算所、復(fù)旦大學(xué)、哈爾濱工業(yè)大學(xué)、沈陽航空工業(yè)學(xué)院、香港城市大學(xué)、臺灣中研院等一些單位。1.6中文問答系統(tǒng)研究中文問答系統(tǒng)相對于英文有如下幾個方面的難點或不足之處: 連寫:中文是連續(xù)書寫,分詞是漢語言處理的基礎(chǔ)。中文問答系統(tǒng)由于是句子級別的信息檢索,要分析句子,首先要分詞。 形態(tài):漢語缺乏狹義的形態(tài)變化,如英文中的主動被動語態(tài),完成時進行時等,形態(tài)對于計算機就是標記,有利于計算機的處理。 語法:漢語語法靈活,句子各成分之間的關(guān)系靠詞序、“意合”、虛詞,變化較多。 語義:一詞多義、同音詞、同義詞、近義詞等,以及豐富的表達方式,上下文依賴度高,省略語等都是計算機處理的難點。 語法研究:面向計算機處理的中文語法研究不足,如中文問答系統(tǒng)需要的關(guān)于中文句型形式化、不同句型之間的轉(zhuǎn)換的研究資料極少。 相關(guān)資源:缺乏包括語法、語義詞典等中文語言學(xué)資源和相關(guān)生熟語料,國外這方面強得多,如TREC就提供的相當數(shù)量的可用于英文問答研究和評測的語料。 中文問答系統(tǒng)需要在現(xiàn)有的中文信息處理技術(shù)基礎(chǔ)上,充分研究和利用問答的特性與需求,通過各種方法解決和克服(或暫時回避)以上難點和困難,設(shè)計和開發(fā)問答系統(tǒng)。1.7相關(guān)評測自1999 年文本檢索會議( Text Retrieval Conference ,簡稱TREC) 引入問答系統(tǒng)評測專項(Question Answering Track ,簡稱QA Track) 后,人們對基于自然語言的問答系統(tǒng)再次產(chǎn)生了濃厚的興趣,在近些年的TREC 比賽中,QA Track 是最受關(guān)注的評測項目之一。 日語問答評測平臺Question Answering Challenge (QAC) 是從2002 年開始的,每兩年舉辦一屆。自NTCIR-5開始,其CLQA專項中加入中文評測語料,但目前尚未見有簡體中文。 由IST Programme of the European Union 資助的Cross Language Evaluation Forum (CLEF) 在2003 年設(shè)立第一屆多語言問答系統(tǒng)評測(Multilingual Question Answering) 項目,并計劃每年舉辦一次。第二章 系統(tǒng)分析2.1市場調(diào)查在正式立項之前必須進行可行性分析,而可行性分析的基礎(chǔ)是對系統(tǒng)的市場調(diào)查。市場調(diào)查主要由兩部分組成:一般調(diào)查和信息需求初步調(diào)查。一般調(diào)查包括找出相近的站點,對這些站點的網(wǎng)址宣傳方法、主頁設(shè)計、文字敘述等情況進行了分析,并了解整個人才交流的運作情況,充分發(fā)揮本網(wǎng)站的優(yōu)勢。信息需求初步調(diào)查是通過發(fā)E-mail和討論組的方式對部分人才和企業(yè)進行調(diào)查了解。本系統(tǒng)界面簡潔、友好,操作簡便易用,在設(shè)計時充分考慮人才網(wǎng)站的特點,力求簡潔,避免花哨的內(nèi)容,以沖淡主題,做到個人用戶與企業(yè)用戶兼顧,使系統(tǒng)簡潔實用、易操作。2.2問答系統(tǒng)的問題分析問題分析即通過對問題的語法、語義結(jié)構(gòu)等進行解析,獲取該問題的關(guān)鍵詞,提取問題的焦點、確定問題類型和答案類型等等。問題分析部分主要完成以下幾部分工作:確定問題的類型、提取出問題的關(guān)鍵詞、依據(jù)問題的類型等因素對關(guān)鍵詞進行適當?shù)臄U展。從自然語言處理的視角來看,還要對問題進行分詞以及詞性標注等分析過程,有些問答系統(tǒng)還對問題進行句法分析和語義分析。2.3問題分類在TREC 2003和2004中,QA主任務(wù)把問題分成3類進行分別處理。這3類問題是陳述類問題(FactoN)、列表類問題(Nst)和定義類問題(defin小ons)c1551。唐素勤在教學(xué)自動問答系統(tǒng)中把問題分為求知性提問與求證性提問兩類u“3。求知性提問即用戶從系統(tǒng)中獲取未知知識,如“什么是知識抽取?”;求證性提問指用戶提問前已具備了某些相關(guān)的知識,通過問答對自身已有的模糊知識或不完整知識進行驗證、澄清或補充,如“情報學(xué)專業(yè)的本科階段名稱是信息管理與信息系統(tǒng)嗎?”。問題從形式上分為疑問、設(shè)問、反問或特指問、是非問;從目的上分為查找信息、驗證事實、收集資料;從性質(zhì)上分為開放型、封閉型“V;按照復(fù)雜程度分為是非問題、選擇問題、特指性問題、語境性問題、推理性問題、概括性問題、專家性問題。如表2.1所示。表2.1 問題分類是非問題選擇問題特指性問題語境性問題推理性問題概括性問題專家性問題是非問題(封閉型):數(shù)據(jù)挖掘與知識發(fā)現(xiàn)是一“回事嗎?選擇問題(封閉型):數(shù)據(jù)挖掘與文本挖掘。哪個概念的范疇更大?特指問題:在情報學(xué)博士生導(dǎo)師隊伍中。哪一位的博土學(xué)位取得最早(誰是擁有博士學(xué)位最早的情報學(xué)博導(dǎo))?統(tǒng)計型問題:情報學(xué)博士點有哪幾家?過程型問題:數(shù)據(jù)庫知識發(fā)現(xiàn)需要哪些步驟?關(guān)系型問題:知識管理與知識工程有何區(qū)別,有何聯(lián)系?原因型問題:現(xiàn)在,為什么沒有本科階段的情報學(xué)?推理性問題:數(shù)據(jù)挖掘是從數(shù)據(jù)中挖掘,發(fā)現(xiàn)的結(jié)果是知識;那么信息分析是對信息進行分析,研究出的結(jié)果就是情報嗎?(根據(jù)數(shù)據(jù)挖掘與知識發(fā)現(xiàn)的關(guān)系推論信息分析與情報研究的關(guān)系)概括性問題:數(shù)據(jù)挖掘是從數(shù)據(jù)中挖掘文本挖掘就是從文本中挖掘,那么XX挖掘就是從XX中挖掘嗎?專家性問題:數(shù)據(jù)挖掘與知識發(fā)現(xiàn)有何區(qū)別?在研究所讀研究生與在高校讀研究生有何不同?上述關(guān)于問題的分類并不是很好,例如。專家性問題指只有專家才能回答的問題,問題的專業(yè)性非常強,也可能是概括性的,也可能涉及推理。問答系統(tǒng)中少有反義疑問句。針對于不同類型的問題制定相應(yīng)的答案抽取規(guī)則,以便在答案抽取階段應(yīng)用這些規(guī)則來抽取問題的答案。大部分的自動問答系統(tǒng)部是按照事先規(guī)定好的類別進行分類。但是這種分類還是存在很多不足的地方,人為因素太多,而且分類太粗,并不能完全符合實際的要求。所以也有一部分研究人員提出對問題自動分類的思想。首先收集大量的問題作為訓(xùn)練語料,然后通過程序統(tǒng)計出經(jīng)常出現(xiàn)的疑問短語。例如通過統(tǒng)計發(fā)現(xiàn)詢問原因的線索詞有“區(qū)別是什么?”、“有什么區(qū)別”、“有何差異性?”。2.4問題相似性判定除了對問題類型進行分析以外,有的問答系統(tǒng)還使用問題庫進行間題的相似性判定。系統(tǒng)包括一個常問問題(FAQ)庫,把用戶經(jīng)常提問的問題及其答案存儲起來。有了問題庫。光拿用戶的提問到FAQ庫中進行搜索,查找有沒有相同的問題。如果有,就可以直接把FAQ庫中這個問題的答案返回;如果沒有,查找是否有相似的問題。這樣,對于用戶常問的問題,問答系統(tǒng)就可以很快給出答案,不需要經(jīng)過復(fù)雜的處理,而且還能保證答案的正確性。所以有了FAQ庫之后,既能提高問答系統(tǒng)的效率。又能提高準確性。十萬個為什么、新浪的愛問、百度的知道、網(wǎng)易的知識人、網(wǎng)上咨詢以及專家問答系統(tǒng)等資源都是很好的FAQ庫。問題形似型判定主要體現(xiàn)在主題相似、結(jié)構(gòu)相似、格相似以及文法相似。結(jié)構(gòu)相似屬于語法方面的范疇,格相似屬于語義方面的范疇,間法相似屬于語用方面的范疇。問題相似性判定的原則為:格相似強于結(jié)構(gòu)相似,結(jié)構(gòu)相似強于主題相似。格相似與結(jié)構(gòu)相似就能確定問題相似了,幾乎不需要考慮主題。主題的考慮主要用在目標文獻檢索的確定上。如“知識管理與知識工程有何區(qū)別?”與“工程管理與工商管理有什么區(qū)別?”,這兩個問題的主題完全不同,屬于兩個不同的領(lǐng)域;而結(jié)構(gòu)非常相似,“X與Y有何區(qū)別?”;語義格也非常相似(可以說是相同),即求di財erencex,y,在前一個問題中,x,y分別為數(shù)據(jù)挖掘與知識發(fā)現(xiàn),后一個問題中x,y分別為工程管理與工商管理。問法相似指的是同一個問題使用不同的問法,目前還很難從技術(shù)上解決語用的問題?;诔R妴栴}集的問答系統(tǒng)類似于基于實例的機器翻譯系統(tǒng)。基于實例的機器翻譯系統(tǒng)是查找最相似的翻譯例句,然后對句中不同的部分根據(jù)詞表換成相應(yīng)的詞即可。而基于常見問題集的問答系統(tǒng)則是查找最相似的間句,卻不能把不同的詞簡單替換,如果強制性替換,首先要有題對庫。基于實例的機器翻譯直接使用雙語詞典,而問答系統(tǒng)卻很難有題對庫,至少要使用三元組概念或者語義概念關(guān)系的語義詞典,或者本體。例如首都中國,北京,首都英國,倫敦。因此,從這點上來講,基于常見問題集的問答系統(tǒng)在回答新問題時,比基于實例的機器翻譯在翻譯新句時要困難。關(guān)鍵詞提取 在用戶提問的問題中,需要提取對后續(xù)檢索系統(tǒng)有用的關(guān)鍵詞。關(guān)鍵詞主要由名詞、動詞、形容詞、限定性副詞等實詞組成。疑問詞和一些常用的“吧、了、的”等詞就應(yīng)該被過濾掉。有一些問答系統(tǒng)還可以把關(guān)鍵詞分為兩種:一般關(guān)鍵詞和核心關(guān)鍵詞。核心關(guān)鍵詞也稱“必須含有關(guān)鍵詞”。核心關(guān)鍵詞指這些關(guān)鍵詞必須在答案句子中含有,而一般性關(guān)鍵詞可以不被答案句子包含。核心關(guān)鍵詞由專有名詞、限定性副詞(如最大、最高、最快等)、時間組成。之所以要制定“必須含有”的關(guān)鍵詞原則是因為它們對問題有極強的限定性作用,如果不含有它們的句子幾乎不可能是正確的答案。例如:問題是“情報學(xué)的第一個博士點在哪個學(xué)校?”而檢索的結(jié)果應(yīng)該是“武漢大學(xué)”或者“武漢大學(xué)于1990開始招收情報學(xué)博士”,而不是“北京大學(xué)于1998年開始招收情報學(xué)博士”,因為這顯然不是用戶想得到的結(jié)果,之所以出現(xiàn)這種情況的原因就在于非常重要的關(guān)鍵詞“第一個”沒有包含在答案句子中。如果加上“必須含有”的關(guān)鍵詞這個限制,那么這個答案就不會被檢索出來,因此通過這些關(guān)鍵詞的作用可以極大地提高檢索的準確性。關(guān)鍵詞被賦予不同的權(quán)重,在檢索句子時這些權(quán)重用來計算句子的權(quán)重。通常名詞、限定性副詞會有比較高的權(quán)重。2.5關(guān)鍵詞擴展為了提高檢索系統(tǒng)的召回率,一般的問答系統(tǒng)都對關(guān)鍵詞進行擴展。由于在問題空間和文檔空間之間存在著天然的語義鴻溝,使用基于問題分析直接提取的關(guān)鍵詞進行查詢,常常不能獲得滿意的效果。因為在答案段落中某些詞常常不是原來問題的關(guān)鍵詞而是這些關(guān)鍵詞的擴展。例如:問題是“搜索引擎中anchor文件指的是什么?”,答案的句子是“把錨庫文本變成順排索引,存到文檔索引庫里,并用錨庫所指向的doclD進行關(guān)聯(lián)”在問題中使用的是“anchor”,而在答案中卻采用了“錨庫”這個詞匯。這就造成關(guān)鍵詞查詢失敗,因此需要對關(guān)鍵詞做適當?shù)臄U展常用的關(guān)鍵詞擴展方式有:名詞同義詞擴展和語義蘊涵擴展、動詞同義詞擴展(意義用法相同的詞)、根據(jù)問題類型擴展。部分工作在有些系統(tǒng)中由一個叫做“檢索提問生成器”的組件完成,它采用不同的方法生成擴展后的檢索式。如把詞的形態(tài)變化和導(dǎo)出詞作為檢索詞。問答系統(tǒng)中通??梢圆捎猛x詞詞林、WordNet、HowNet等同義詞詞典進行查詢關(guān)鍵詞的擴展。還有一些問答系統(tǒng)通過統(tǒng)計的辦法來擴展關(guān)鍵詞。這種方法需要大量的問題和答案語料來進行訓(xùn)練。每一類的問題所對應(yīng)的答案一般都有某種共同的特性口。例如,對于詢問地點的問題,答案中經(jīng)常會出現(xiàn)“在、位于、坐落在、地處”等關(guān)鍵詞。所以通過統(tǒng)計,找出這些詞后,就可以把它們添加到查詢式中。關(guān)鍵詞擴展雖然提高了系統(tǒng)的召回率,但如果擴展不適當會極大地降低檢索的正確率,因此一般的問答系統(tǒng)對關(guān)鍵詞的擴展都是很謹慎的。這些系統(tǒng)往往都對關(guān)鍵詞的擴展添加很多限制條件,例如只對名詞的關(guān)鍵詞進行擴展。另外還有一些問答系統(tǒng)是用檢索返回來的相關(guān)文檔對關(guān)鍵詞進行擴展。擴展后的關(guān)鍵詞的重要性往往比從問題中提取的關(guān)鍵詞的重要性低,為了提高系統(tǒng)的準確性,很多問答系統(tǒng)又對關(guān)鍵詞賦予權(quán)重,以此來區(qū)分他們之間的重要性。 關(guān)鍵詞擴展屬于問題分析模塊,因為關(guān)鍵詞擴展旨在解決問題涉及哪些詞;而檢索式的構(gòu)造屬于文檔檢索模塊,因為檢索式構(gòu)造旨在解決這些關(guān)鍵詞和目標文獻之間可能的相關(guān)關(guān)系。第三章 數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫的需求分析根據(jù)系統(tǒng)需求,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):用戶表:包括用戶名、密碼、真實姓名、用戶積分、性別、電話、生日、密碼保護問題及答案;問題表:包括問題編號、提問者、問題題干、提問時間、分類名稱、子類名稱、圖片、最佳答案編號;答案表:包括答案編號、答案內(nèi)容、問題編號、回答者、回答時間、提問者評論、好評次數(shù);管理員表:用戶名、密碼、密碼保護問題及答案;問題父類表:包括問題分類;問題子類表:分類名稱、子類名稱;3.2數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計如以下各表表示表3.1 用戶表(aa_user)字段名數(shù)據(jù)類型是否為空默認值備注字段說明usernamevarchar(20)N主鍵用戶名passwordvarchar(200)N密碼namevarchat(20)N真實姓名integralintY用戶積分sexvarchar(4)N性別phonevarchar(11)Y電話datedateY生日question1varchar(100)Y密保問題1question2varchar(100)Y密保問題2question3varchar(100)Y密保問題3answer1varchar(100)Y答案1answer2varchar(100)Y答案2answer3varchar(100)Y答案3注:用戶表保存用戶相關(guān)信息,如用戶名、密碼、電話號碼等信息。這些都屬于用戶隱私,需要采用一定的安全措施對用戶信息進行管理。表3.2 問題表(aa_question)字段名數(shù)據(jù)類型是否為空默認值備注字段說明Q_IDlongN自動增長主鍵問題編號usernamevarchar(20)N外鍵提問者姓名problemvarchar(500)N問題timedateN提問時間typevarchar(20)N分類名稱sub_typevarchar(20)N子類名稱picturevarchar(100)Y圖片A_IDlongYNULL外鍵最佳答案表3.3 答案表(aa_answer)字段名數(shù)據(jù)類型是否為空默認值備注字段說明A_IDlongN自動增長主鍵答案編號Q_IDlongN外鍵問題編號contenttextN答案內(nèi)容usernamevarchar(20)N外鍵回答者timedateN回答時間commentvarchar(100)Y提問者評論goodintY0好評次數(shù)表3.4管理員表(aa_manager)字段名數(shù)據(jù)類型是否為空默認值備注字段說明usernamevarchar(20)N主鍵用戶名passwordvarchar(200)N密碼typevarchar(20)N用戶類型question1varchar(100)Y密保問題1question2varchar(100)Y密保問題2question3varchar(100)Y密保問題3answer1varchar(100)Y答案1answer2varchar(100)Y答案2answer3varchar(100)Y答案3注:管理員表記錄了管理員的各種信息,用戶名和密碼是用戶登錄時的身份驗證機制求職招聘狀態(tài)描述將為用戶提供有效的求職招聘路徑,這不僅有利于管理員對用戶的管理,同時也利于用戶自己的管理與維護。表3.5 問題分類(aa_question_type)字段名數(shù)據(jù)類型是否為空默認值備注字段說明typevarchar(20)NY分類名稱表3.6 問題分類2(aa_question_subType)字段名數(shù)據(jù)類型是否為空默認值備注字段說明sub_typevarchar(20)N主鍵子類名稱typevarchar(20)N外鍵分類名稱3.3E-R模型為了把用戶的數(shù)據(jù)要求清晰明確地表達出來,通常要建立一個概念性的數(shù)據(jù)模型(也稱為信息模型)。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實環(huán)境,且與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。最常用的表示概念性數(shù)據(jù)模型的方法,是實體聯(lián)系方法(EntityRelationship Approach)。這種方法用ER圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的實現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。ER模型中包含“實體”,“聯(lián)系”和“屬性”。在本系統(tǒng)中,問題父類與問題子類的關(guān)系是一對多的關(guān)系(1:N),問題與答案是一對多的關(guān)系(1:N),問題、答案與用戶之間的關(guān)系是(1:N)如圖3.1,問題父類與問題子類間的關(guān)系3.2所示。在本系統(tǒng)數(shù)據(jù)表中用到的主鍵有:管理員表中的username字段(管理員名);問題表中的Q_ID字段(問題編號);答案表中的A_ID字段(答案編號);用戶表中的username字段(用戶名);問題父類表中的type字段(父類名稱);問題子類表中的sub_type字段(子類名稱);問題父類問題子類屬于父類名稱子類名稱1N圖3.2問題父類與問題子類間的關(guān)系問題表問題內(nèi)容提問時間問題父類問題圖片問題子類問題編號最佳答案答案表答案編號答案內(nèi)容回答時間回答者好評次數(shù)提問者評論用戶表密碼保護答案性別積分真實姓名密碼用戶名生日密碼保護問題屬于屬于NN11圖3.1 問題答案與用戶間的關(guān)系參照完整性是保證在主鍵(被參照表中)和外鍵之間的關(guān)系總是得到維護。對兩個相關(guān)聯(lián)的表(主表和從表)進行操作數(shù)據(jù)的插入和刪除的時候,通過參照完整性保證它們之間的數(shù)據(jù)的一致性。用戶自定義完整性,不同的數(shù)據(jù)庫系統(tǒng)根據(jù)起數(shù)據(jù)應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。它反應(yīng)某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。對于用戶自定義完整性可以通過數(shù)據(jù)庫設(shè)計,也可以通過程序代碼來實現(xiàn)。由于程序設(shè)計的靈活性和便捷性,在整個系統(tǒng)的調(diào)試過程中對于不完善的地方只需對代碼進行修改而不用更改數(shù)據(jù)庫,因此在系統(tǒng)中采用了程序代碼來實現(xiàn)數(shù)據(jù)庫用戶自定義完整性的約束。第四章 系統(tǒng)詳細設(shè)計與實現(xiàn)4.1系統(tǒng)工作原理介紹本系統(tǒng)采用B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))和基于Web服務(wù)兩種模式,是一個適用于Internet環(huán)境下的模型結(jié)構(gòu)。只要用戶能連上Internet,便可以在任何時間、任何地點求職招聘求職的內(nèi)容。系統(tǒng)工作原理圖如圖4.1所示:圖 4.1 系統(tǒng)工作原理圖系統(tǒng)的工作流程包括以下一些關(guān)鍵環(huán)節(jié):(1)用戶注冊。在每一個用戶使用該系統(tǒng)之前需要注冊,系統(tǒng)會將用戶輸入的信息記錄到用戶模型中。(2)用戶登陸。用戶輸入用戶名和密碼后,系統(tǒng)驗證是否正確并決定用戶是否能進入進行求職招聘。(3)問題搜索。用戶在搜索框中輸入要搜索的關(guān)鍵字進行搜索,當用戶輸入多關(guān)鍵字的時候要用“空格”隔開。系統(tǒng)將根據(jù)用戶的輸入對關(guān)鍵字進行拆分和對相關(guān)內(nèi)容搜索。(4)問題發(fā)表。用戶單擊我要提問,在彈出的網(wǎng)站中輸入問題,進行發(fā)表問題,問了進一步將問題闡釋清楚積分達到100(含)分以上的用戶在發(fā)表問題的時候可以附加一張不超過50Kb的JPG格式圖片。提問一次將花費積分5(5)問題回答。用戶單擊我要回答,在彈出的網(wǎng)站可以選擇自己想要回答的問題,回答問題一次將增加積分5,如果回答的問題被提問者采納為最佳問題將獲得5分的獎勵。(6)用戶信息管理。其中包括對用戶信息的查詢和修改,系統(tǒng)會根據(jù)修改后的用戶信息重新自動合成網(wǎng)頁內(nèi)容。(7)后臺管理。管理員通過后臺可以對用戶、問題及答案進行管理??梢詫⒉缓戏ǖ男畔⒑蛺阂庥脩暨M行刪除 。4.2系統(tǒng)數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD)能精確地在邏輯上描繪系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲等,擺脫了物理內(nèi)容,是描繪系統(tǒng)邏輯模型的最主要的工具。經(jīng)過系統(tǒng)詳細調(diào)查分析以及用戶需求分析,我們得到了新系統(tǒng)的數(shù)據(jù)流圖。如圖4.2用戶登錄數(shù)據(jù)流圖:圖4.2登錄數(shù)據(jù)流圖4.3系統(tǒng)的實現(xiàn)算法用戶信息初始化算法 通過前面幾章的分析,我們已經(jīng)知道用戶信息是求職招聘導(dǎo)航的基礎(chǔ)。由用戶模型可以了解,個人信息是用戶登陸個性化網(wǎng)上人才招聘系統(tǒng)的入口;求職招聘記錄則是根據(jù)用戶的求職招聘進度動態(tài)更新提供內(nèi)容、求職招聘狀態(tài)提示的必要條件。所以設(shè)計好用戶信息輸入算法對后面的智能導(dǎo)航有著重要作用。用戶信息是在第一次使用系統(tǒng)注冊時輸入的。該算法中牽涉的數(shù)據(jù)有:用戶數(shù)據(jù)庫中的用戶信息管理表、職位信息表。算法主要功能是通過接收用戶輸入或選擇的信息初始化用戶模塊中有關(guān)信息,以下便是該算法所涉及的數(shù)據(jù)結(jié)構(gòu)和詳細過程。輸入:1)用戶輸入的信息,如姓名,密碼等。 2)用戶選擇的信息,如用戶求職招聘狀態(tài)等。輸出:用戶模塊信息初始化。算法的主要步驟如下:(1)初始化,包括打開數(shù)據(jù)庫aa_user、建立相關(guān)控件與數(shù)據(jù)庫的連接等;(2)將用戶信息管理表、用戶狀態(tài)表各添加一條記錄;(3)讀取各文本控件或列表控件中用戶輸入或選擇的信息到各表中對應(yīng)的字段中;(4)結(jié)束。檢索算法用戶打開網(wǎng)頁后在文本框中輸入關(guān)鍵字進行搜索,系統(tǒng)將根據(jù)用戶輸入的關(guān)鍵字進行搜索,并返回和關(guān)鍵字相關(guān)的信息,若用戶輸入的是多關(guān)鍵字系統(tǒng)將對用戶輸入的關(guān)鍵字進行拆分,然后搜索所有含有相關(guān)信息的記錄返回給用戶界面:(1) 用戶關(guān)鍵字,并進行提交;(2) 從提交表單中提取數(shù)據(jù),并進行相應(yīng)判斷;(3) 連接數(shù)據(jù)庫,建立記錄集,用查詢語句對表中數(shù)據(jù)進行查詢;(4) 將結(jié)果進行加工顯示給用戶;(5) 結(jié)束;算法流程圖如圖4.3所示:開始開始初始化系統(tǒng)輸入關(guān)鍵字并提交判斷用戶輸入,若為多關(guān)鍵字則進行拆分根據(jù)關(guān)鍵字查詢數(shù)據(jù)庫返回查詢結(jié)果并進行加工將加工后的結(jié)果顯示到用戶界面圖4.3 搜索算法流程圖 4.4注冊模塊的設(shè)計與實現(xiàn)在本系統(tǒng)中,將會有一些公用頁面,即每個文件或部分文件都會用到的文件,在使用這些文件時,只需要一個包含語句<?php include “filename”;?>即可,這樣大大減少了代碼的冗余,同時也使編碼簡單,減少了許多工作量。主要的公用文件包括:conn.php文件、logout.php文件、is_login.php等。(1)conn.php 文件對于程序中建立數(shù)據(jù)庫連接和關(guān)閉數(shù)據(jù)庫連接的操作,最好放在一個包含文件中,這樣便于維護和修改。前面一部分為建立數(shù)據(jù)庫連接的語句,其中mysql_connect為建立數(shù)據(jù)庫連接的對象,mysql_select_db為數(shù)據(jù)庫連接字符串,它表明了數(shù)據(jù)庫連接的物理路徑以及采用的數(shù)據(jù)庫類型,這里采用的是MySQL數(shù)據(jù)庫。<?php$host="localhost"$user="root"$password="123456"$db="aa"/連接服務(wù)器mysql_connect($host,$user,$password) or die("SORRY! 鏈接服務(wù)器失??!");/鏈接數(shù)據(jù)庫mysql_select_db($db) or die ("SORRY! 打開數(shù)據(jù)庫失??!");mysql_query("SET NAMES gb2312");?> (2)is_login.php 文件is_login.php是用戶權(quán)限驗證文件,方便調(diào)用和維護減少代碼冗余。(3)logout.php 文件logout.php文件是用戶退出文件,改文件用于關(guān)閉和刪除用戶SESSION。其他一些公用文件的代碼這里將不一一列舉。系統(tǒng)公用頁面用戶注冊頁面用戶注冊界面如圖4.4所示。用戶必須填寫以下內(nèi)容,這便于對用戶的管理以及用戶的安全性。用戶注冊頁面的信息是用戶進入系統(tǒng)的有利憑證。該頁面涉及的主要PHP文件為register.php文件。圖4.4注冊頁面<?phpinclude "admin/conn.php"require "admin/injection.php"?><html><head><!-author:STONE(QQ:822854153)blog:time:2010.09.09version 1.0-><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>用戶注冊</title><script language=javascript>var DS_x,DS_y;function dateSelector() /構(gòu)造dateSelector對象,用來實現(xiàn)一個日歷形式的日期輸入框。 var myDate=new Date(); this.year=myDate.getFullYear(); /定義year屬性,年份,默認值為當前系統(tǒng)年份。 this.month=myDate.getMonth()+1; /定義month屬性,月份,默認值為當前系統(tǒng)月份。 this.date=myDate.getDate(); /定義date屬性,日,默認值為當前系統(tǒng)的日。 this.inputName=; /定義inputName屬性,即輸入框的name,默認值為空。注意:在同一頁中出現(xiàn)多個日期輸入框,不能有重復(fù)的name! this.display=display; /定義display方法,用來顯示日期輸入框。function display() /定義dateSelector的display方法,它將實現(xiàn)一個日歷形式的日期選擇框。 var week=new Array(日,一,二,三,四,五,六); document.write("<style type=text/css>"); document.write(" .ds_font td,span font: normal 12px 宋體; color: #000000; "); document.write(" .ds_border border: 1px solid #000000; cursor: hand; background-color: #DDDDDD "); document.write(" .ds_border2 border: 1px solid #000000; cursor: hand; background-color: #DDDDDD "); document.write("</style>"); document.write("<input style=text-align:center; id=DS_"+this.inputName+" name="+this.inputName+" value="+this.year+"-"+this.month+"-"+this.date+" title=雙擊可進行編緝 ondblclick=this.readOnly=false;this.focus() onblur=this.readOnly=true readonly>"); document.write("<button style=width:60px;height:18px;font-size:12px;margin:1px;border:1px solid #A4B3C8;background-color:#DFE7EF; type=button onclick=this.nextSibling.style.display=block onfocus=this.blur()>選擇日期</button>"); document.write("<div style=position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible onselectstart=return false;>"); document.write(" <div style=position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px solid #245B7D; class=ds_font>"); document.write(" <table cellpadding=0 cellspacing=1 width=140 height=20 bgcolor=#CEDAE7 onmousedown=DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture(); onmouseup=releaseCapture(); onmousemove=dsMove(this.parentNode) style=cursor:move;>"); document.write(" <tr align=center>"); document.write(" <td width=12% onmouseover=this.className=ds_border onmouseout=this.className= onclick=subYear(this) title=減小年份><<</td>"); document.write(" <td width=12% onmouseover=this.className=ds_border onmouseout=this.className= onclick=subMonth(this) title=減小月份><</td>"); document.write(" <td width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>"); document.write(" <td width=12% onmouseover=this.className=ds_border onmouseout=this.className= onclick=addMonth(this) title=增加月份>></td>"); document.write(" <td width=12% onmouseover=this.className=ds_border onmouseout=this.className= onclick=addYear(this) title=增加年份>>></td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" <table cellpadding=0 cellspacing=0 width=140 height=20 onmousedown=DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture(); onmouseup=releaseCapture(); onmousemove=dsMove(this.parentNode) style=cursor:move;>"); document.write(" <tr align=center>"); for(i=0;i<7;i+)document.write(" <td>"+weeki+"</td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" <table cellpadding=0 cellspacing=2 width=140 bgcolor=#EEEEEE>"); for(i=0;i<6;i+) document.write(" <tr align=center>");for(j=0;j<7;j+) document.write(" <td width=10% height=16 onmouseover=if(this.innerText!=&&this.className!=ds_border2)this.className=ds_border onmouseout=if(this.className!=ds_border2)this.className= onclick=getValue(this,document.all(DS_"+this.inputName+")></td>"); document.write(" </tr>"); document.write(" </table>"); document.write(" <span style=cursor:hand onclick=this.parentNode.parentNode.style.display=none>【關(guān)閉】</span>"); document.write(" </div>"); document.write("</div>"); dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes0.childNodes2,this.year,this.month)function subYear(obj) /減小年份 var myObj=obj.parentNode.parentNode.parentNode.cells2.childNodes; myObj0.innerHTML=eval(myObj0.innerHTML)-1; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj0.innerHTML),eval(myObj2.innerHTML)function addYear(obj) /增加年份 var myObj=obj.parentNode.parentNode.parentNode.cells2.childNodes; myObj0.innerHTML=eval(myObj0.innerHTML)+1;dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj0.innerHTML),eval(myObj2.innerHTML)function subMonth(obj) /減小月份 var myObj=obj.parentNode.parentNode.parentNode.cells2.childNodes; var month=eval(myObj2.innerHTML)-1; if(month=0) month=12; subYear(obj); myObj2.innerHTML=month; dateShow(obj.parentNode.parentNode.parentNode.nextSibling.next

注意事項

本文(問答系統(tǒng)的設(shè)計與實現(xiàn))為本站會員(jun****875)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!