




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1目錄引言 3第一章研究背景 41.1 問答系統(tǒng)研究背景 41.2 傳統(tǒng)的問答系統(tǒng)的不足 41.3 問答系統(tǒng)研究現(xiàn)狀 41.4 問答系統(tǒng)的類型區(qū)分51.5 問題的類型進行區(qū)分61.6 中文問答系統(tǒng)研究 61.7 相關評測7第二章系統(tǒng)分析 82.1 市場調查82.2 問答系統(tǒng)的問題分析82.3 問題分類82.4 問題相似性判定92.5 關鍵詞擴展10第三章數(shù)據(jù)庫設計 123.1 數(shù)據(jù)庫的需求分析 123.2 數(shù)據(jù)庫表結構設計 123.3 E-R 模型14第四章系統(tǒng)詳細設計與實現(xiàn) 174.1 系統(tǒng)工作原理介紹 174.2 系統(tǒng)數(shù)據(jù)流圖184.3 系統(tǒng)的實現(xiàn)算法 184.4 注冊模塊的設計與實現(xiàn) 2
2、14.5 注冊模塊的設計與實現(xiàn) 334.6 系統(tǒng)首頁的設計與實現(xiàn) 364.7 用戶提問模塊的設計與實現(xiàn) 394.8 問題顯示模塊的設計與實現(xiàn) 424.9 問題回答模塊的登錄與實現(xiàn) 444.10 后臺管理模塊的設計與實現(xiàn) 45第五章系統(tǒng)測試 47第六章總結 48致謝 49參考文獻 50問答系統(tǒng)的設計目標是用簡治、準確的答案回答用戶用自然語言提出的問題。在人工智能和自然語言處理領域,問答系統(tǒng)都有著較長的歷史。1950年英國數(shù)學家圖靈(A. M Turin8)在論文 “Computing Machinery and Intelligence ” 中形象地指出了什 么是人工智能,以及機器應該達到的智能
3、標準。也就是通過自然語言問答的方式,判斷 機器是否具有智能。20世紀70年代隨著自然語言理解技術的發(fā)展,出現(xiàn)了第一個實現(xiàn) 用普通英語與計算機對話的人機接口 LUNAR該系統(tǒng)是伍德(W Woods)T 1972年開發(fā) 用來協(xié)助地質學家查找、比較和評價阿波羅一號飛船帶回的月球巖石和土壤標本的化學 分析數(shù)據(jù)的系統(tǒng)。本文將簡要介紹國內外問答系統(tǒng)研究的進展情況。并且針對問答系統(tǒng)中的一個難點以及實現(xiàn)方法進行了討論。并給出如何識別用戶搜索關鍵字的方法。第一章研究背景1.1 問答系統(tǒng)研究背景隨著因特網(wǎng)的快速發(fā)展,網(wǎng)絡上流通的信息日益增加,它已儼然成為巨大的訊息流 通交換平臺,要在如此大量的數(shù)據(jù)庫中找尋有用的數(shù)
4、據(jù)著實不易, 通常會藉助于搜索引 擎的功能來達成,然而以關鍵詞為主的搜索引擎常會找出所有相關的信息, 但是其中也 包含許多無用的數(shù)據(jù),用戶浪費很多時間瀏覽不相關的網(wǎng)頁。隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡已成為人們獲取信息的重要手段。目前,世界上最大的搜索引擎Google能夠搜索的網(wǎng)頁數(shù)量已經(jīng)超過了百億。傳統(tǒng)的搜索引擎存在很多不足的地方,其中主要有三個方面:一是以關鍵詞的邏輯組合來表達檢索需求二是返回的相關性信息太多三是以關鍵詞為基礎的索引,停留在語言的表層,而沒有觸及語義,因此檢索效果 很難進一步提高。以上兩點使得人們在互聯(lián)網(wǎng)上的海量信息中快速準確地找到自己所需要的信息變 得越來越困難。1.2 傳統(tǒng)的問答
5、系統(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)結合起來,就變得非常必要。這也就促使了基于互聯(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)。美國麻省理工學院人工智能實驗室于1993年開發(fā)出來的START系統(tǒng)(/projects/infolab/s
6、tart.html)是全世界第一個基于Internet的問答系統(tǒng)。STAR琮統(tǒng)旨在為用戶提供準確的信息,它能夠回答數(shù)以百萬的 英語問題,主要包括與地點相關的問題(城市、國家、湖泊、天氣、地圖、人口統(tǒng)計學、 政治和經(jīng)濟等)、與電影相關的問題(片名、演員和導演等)、與人物相關的問題(出生日 期、傳記等)以及與詞典定義相關的問題等。該系統(tǒng)采用基于知識庫和基于信息檢索的 混雜模式,系統(tǒng)還保留著原來的兩個知識庫,"START KB和“Internet PublicLibrary"。如果用戶提出的問題屬于這兩個知識庫的范疇,STAR僦直接利用知識庫中的知識返回比較準確的回答。反之,ST
7、ARTS統(tǒng)將問題解析得到查詢的關鍵詞,通過搜索引擎得到相關信息,通過后續(xù)處理得到準確而簡潔的回答返回給用戶。 比如提出一個 問題 “Whowas Bill Gates? ", START 系統(tǒng)回答 “ Cofounder,Microsoft. Born William H. Gates on October 28,1955, Seattle,Washington."。同時系統(tǒng)還返回一個關于“Bill Gates"網(wǎng)頁鏈接,如果用戶希望了解更詳細的信息時就可以瀏覽改網(wǎng)頁。美國華盛頓大學開發(fā)的MULDER(統(tǒng)(http:/mulder.cx/)是最早實現(xiàn)的基于Inte
8、rnet的全自動的問答系統(tǒng)。該系統(tǒng)沒有知識庫,而完全利用 Internet上的資源得 到答案。對于一個問題,MULDER統(tǒng)返回的不是唯一的答案,而是一組候選回答,并 利用統(tǒng)計的方法給每一個回答賦值一個權重,稱之為置信度。比如,對于一個問題“ Whowasthe fast American in space?" ,MULDE源統(tǒng)的返回的彳K選答案中,"Alan Shepard” 具有70%勺置信度,"John Glenn”具有15%勺置信度。同時在每一個答案下面給出相關 的網(wǎng)頁鏈接和該網(wǎng)頁內容的摘要。AskJeeves (是美國一個比較著名的商用問答系統(tǒng)。對于自然語
9、言提出的問題,AskJeeves系統(tǒng)采用多種方式進行回答,直接返回一段文本,并返回一 系列文檔鏈接及其內容摘要,同時還采用多媒體文件的形式提供相關信息。比如對于問 題"Whowas Bill Gates?",系統(tǒng)在文本回答的基礎上還將顯示一張Bill Gate的照片。作為一個商用系統(tǒng),AskJeeves的服務種類很多,不僅僅可以查找 WetBM,也可以采 用圖片、新聞、產品作為數(shù)據(jù)源,從而得到所需的信息。AskJeeves系統(tǒng)中的問題分析部分是依賴手工完成的,為了能夠正確理解用戶的查詢 AskJeeves雇傭了數(shù)百專職人員 構造問題模板,并為這些問題模板中常見的問題進行了緩
10、存。系統(tǒng)的問題模板雖然能夠細化和明確用戶的需求,但由于需要人工產生和維護的,工作量非常大。美國密歇根大學開發(fā)的AnswerBus (系統(tǒng)在多語種問題上進行了一些嘗試,可以回答英語、西班牙語、德語、意大利語、葡萄牙語的問題。 Microsoft公司的Encarta (系統(tǒng)作為一個在線百科全書式的問答式搜索引擎,也提供了多語種的支持。對于用戶的每一次查詢,AnswerBus將返還5個網(wǎng)頁鏈接,并給出 XMLf口 TXT的Possible answers 。新加坡開發(fā)的LAM刻了更加正確的理解用戶的查詢意圖,列出了 person , organization , location , date ,
11、time。 money percent 等 7 種查詢類另 U讓用戶進行 選擇,LAM不是返回網(wǎng)頁鏈接,而是直接返還答案。LAM所在網(wǎng)址.sg/cgi-bin/smadellz/lamp_query.pl此外,南加州大學利用自然語言處理、文本摘要等技術,開發(fā)的 Webclopedia系統(tǒng)在各項評測中也取得了很好的效果;美國Language Computer公司的問答系統(tǒng)(在 TRECFSIU中一直名列前茅。國內復旦大學開發(fā)的原型系統(tǒng)(FDUQA己經(jīng)具有了初步的效果,同時哈爾濱工業(yè) 大學(金山客服)和中國科學院計算技術研究所也在從事該領域的研究。1.4 問答系統(tǒng)的類型區(qū)分問答系
12、統(tǒng)(Question Answering System, QA) 是信息檢索系統(tǒng)的一種高級形式。它 能用準確、簡潔的自然語言回答用戶用自然語言提出的問題。其研究興起的主要原因是人們對快速、準確地獲取信息的需求。問答系統(tǒng)是目前人工智能和自然語言處理領域中 一個倍受關注并具有廣泛發(fā)展前景的研究方向。1.5 問題的類型進行區(qū)分問答系統(tǒng)問答問題的類型進行區(qū)分:詢問人(如:誰發(fā)現(xiàn)了北美洲?)、詢問時間(如: 人類哪年登錄月球?)、詢問數(shù)量(如:珠穆朗瑪峰有多高?)、詢問定義(如:什么是 氨基酸?)、詢問地點和位置(如:芙蓉江在重慶市哪個縣?)、詢問原因(如:天為什 么是藍的?)。問答系統(tǒng)分類如圖1.1圖
13、1.1問答系統(tǒng)分類從系統(tǒng)的設計與實現(xiàn)來看,自動問答系統(tǒng)一般包括三個主要組成部分:問題分析、信息檢索和答案抽取。目前國際上,問答系統(tǒng)的研究方興未艾,許多大的科研院所和著名公司,都積極參與到該領域的研究,其中比較著名的如 MICROSOFTBM、MIT、University of Amsterdam National University of Singapore、 University of Zurich、 University of Southern California 、Columbia University 等等,國內在問答系統(tǒng)方面的研究相對國外較為不 足,主要有中科院計算所、復旦大學、
14、哈爾濱工業(yè)大學、沈陽航空工業(yè)學院、香港城市 大學、臺灣中研院等一些單位。1.6 中文問答系統(tǒng)研究中文問答系統(tǒng)相對于英文有如下幾個方面的難點或不足之處:連寫:中文是連續(xù)書寫,分詞是漢語言處理的基礎。中文問答系統(tǒng)由于是句子級別 的信息檢索,要分析句子,首先要分詞。形態(tài):漢語缺乏狹義的形態(tài)變化,如英文中的主動被動語態(tài),完成時進行時等,形 態(tài)對于計算機就是標記,有利于計算機的處理。語法:漢語語法靈活,句子各成分之間的關系靠詞序、“意合”、虛詞,變化較多 語義:一詞多義、同音詞、同義詞、近義詞等,以及豐富的表達方式,上下文依賴 度高,省略語等都是計算機處理的難點。語法研究:面向計算機處理的中文語法研究不
15、足, 如中文問答系統(tǒng)需要的關于中文 句型形式化、不同句型之間的轉換的研究資料極少。相關資源:缺乏包括語法、語義詞典等中文語言學資源和相關生熟語料,國外這方 面強得多,如TRECM提供的相當數(shù)量的可用于英文問答研究和評測的語料。中文問答系統(tǒng)需要在現(xiàn)有的中文信息處理技術基礎上, 充分研究和利用問答的特性 與需求,通過各種方法解決和克服(或暫時回避)以上難點和困難,設計和開發(fā)問答系統(tǒng)。1.7 相關評測自1999年文本檢索會議(Text Retrieval Conference , 簡稱TREC)弓I入問答系 統(tǒng)評測專項(Question Answering Track , 簡稱QA Track)后,
16、人們對基于自然語言的 問答系統(tǒng)再次產生了濃厚的興趣,在近些年的TREC比賽中,QA Track是最受關注的評 測項目之一。日語問答評測平臺 Question Answering Challenge (QAC) 是從2002年開始的, 每兩年舉辦一屆。自NTCIR-5開始,其CLQ心項中加入中文評測語料,但目前尚未見 有簡體中文。由 IST Programme of the European Union 資助的 Cross Language Evaluation Forum (CLEF)在2003年設立第一屆多語言問答系統(tǒng)評測(Multilingual Question Answering)項目
17、,并計劃每年舉辦一次。第二章系統(tǒng)分析2.1 市場調查在正式立項之前必須進行可行性分析,而可行性分析的基礎是對系統(tǒng)的市場調查。市場調查主要由兩部分組成:一般調查和信息需求初步調查。一般調查包括找出相近的 站點,對這些站點的網(wǎng)址宣傳方法、主頁設計、文字敘述等情況進行了分析,并了解整 個人才交流的運作情況,充分發(fā)揮本網(wǎng)站的優(yōu)勢。信息需求初步調查是通過發(fā)E-mail和討論組的方式對部分人才和企業(yè)進行調查了解。本系統(tǒng)界面簡潔、友好,操作簡便易用,在設計時充分考慮人才網(wǎng)站的特點,力求 簡潔,避免花哨的內容,以沖淡主題,做到個人用戶與企業(yè)用戶兼顧,使系統(tǒng)簡潔實用、 易操作。2.2 問答系統(tǒng)的問題分析問題分析
18、即通過對問題的語法、 語義結構等進行解析,獲取該問題的關鍵詞,提取 問題的焦點、確定問題類型和答案類型等等。問題分析部分主要完成以下幾部分工作: 確定問題的類型、提取出問題的關鍵詞、依據(jù)問題的類型等因素對關鍵詞進行適當?shù)臄U 展。從自然語言處理的視角來看,還要對問題進行分詞以及詞性標注等分析過程,有些 問答系統(tǒng)還對問題進行句法分析和語義分析。2.3 問題分類在TREC 200琳口 2004中,Q任務把問題分成3類進行分別處理。這3類問題是 陳述類問題(FactoN)、列表類問題(Nst)和定義類問題(defin小ons)c1551。唐素勤在 教學自動問答系統(tǒng)中把問題分為求知性提問與求證性提問兩類
19、u “3。求知性提問即用戶從系統(tǒng)中獲取未知知識,如“什么是知識抽取?”;求證性提問指用戶提問前已具備了 某些相關的知識,通過問答對自身已有的模糊知識或不完整知識進行驗證、澄清或補充,如“情報學專業(yè)的本科階段名稱是信息管理與信息系統(tǒng)嗎?”。問題從形式上分為疑問、設問、反問或特指問、是非問;從目的上分為查找信息、 驗證事實、收集資料;從性質上分為開放型、封閉型“V'按照復雜程度分為是非問題、 選擇問題、特指性問題、語境性問題、推理性問題、概括性問題、專家性問題。如表 2.1所示。表2.1問題分類是非問題選擇問題特指性問題語境性問題推理性問題概括性問題專家性問題是非問題(封閉型):數(shù)據(jù)挖掘與
20、知識發(fā)現(xiàn)是一 “回事嗎?選擇問題(封閉型):數(shù)據(jù)挖掘與文本挖掘。哪個概念的范疇更大 ?特指問題:在情報學博士生導師隊伍中。哪一位的博士學位取得最早(誰是擁有博士學位最早的情報學博導)?統(tǒng)計型問題:情報學博士點有哪幾家?過程型問題:數(shù)據(jù)庫知識發(fā)現(xiàn)需要哪些步驟 ?關系型問題:知識管理與知識工程有何區(qū)別,有何聯(lián)系 ?原因型問題:現(xiàn)在,為什么沒有本科階段的情報學 ?推理性問題:數(shù)據(jù)挖掘是從數(shù)據(jù)中挖掘, 發(fā)現(xiàn)的結果是知識;那么信息分析是對信 息進行分析,研究出的結果就是情報嗎?(根據(jù)數(shù)據(jù)挖掘與知識發(fā)現(xiàn)的關系推論信息分析 與情報研究的關系)概括性問題:數(shù)據(jù)挖掘是從數(shù)據(jù)中挖掘.文本挖掘就是從文本中挖掘,那么
21、 XX挖 掘就是從XX中挖掘嗎?專家性問題:數(shù)據(jù)挖掘與知識發(fā)現(xiàn)有何區(qū)別 ?在研究所讀研究生與在高校讀研究生 有何不同?上述關于問題的分類并不是很好,例如。專家性問題指只有專家才能回答的問題, 問題的專業(yè)性非常強,也可能是概括性的,也可能涉及推理。問答系統(tǒng)中少有反義疑問 句。針對于不同類型的問題制定相應的答案抽取規(guī)則,以便在答案抽取階段應用這些規(guī) 則來抽取問題的答案。大部分的自動問答系統(tǒng)部是按照事先規(guī)定好的類別進行分類。但是這種分類還是存在很多不足的地方, 人為因素太多,而且分類太粗,并不能完全符合 實際的要求。所以也有一部分研究人員提出對問題自動分類的思想。首先收集大量的問題作為訓練語料,然后
22、通過程序統(tǒng)計出經(jīng)常出現(xiàn)的疑問短語。例如通過統(tǒng)計發(fā)現(xiàn)詢問原 因的線索詞有“區(qū)別是什么?”、“有什么區(qū)別”、“有何差異性?”。2.4 問題相似性判定除了對問題類型進行分析以外,有的問答系統(tǒng)還使用問題庫進行問題的相似性判 定。系統(tǒng)包括一個常問問題(FAQ)庫,把用戶經(jīng)常提問的問題及其答案存儲起來。有了 問題庫。光拿用戶的提問到FACff中進行搜索,查找有沒有相同的問題。如果有,就可 以直接把FAQ$中這個問題的答案返回;如果沒有,查找是否有相似的問題。這樣,對 于用戶常問的問題,問答系統(tǒng)就可以很快給出答案, 不需要經(jīng)過復雜的處理,而且還能 保證答案的正確性。所以有了 FAQ庫之后,既能提高問答系統(tǒng)的
23、效率。又能提高準確性。 十萬個為什么、新浪的愛問、百度的知道、網(wǎng)易的知識人、網(wǎng)上咨詢以及專家問答 系統(tǒng)等資源都是很好的FAQ庫。問題形似型判定主要體現(xiàn)在主題相似、結構相似、格相似以及文法相似。結構相似 屬于語法方面的范疇,格相似屬于語義方面的范疇,問法相似屬于語用方面的范疇。問 題相似性判定的原則為:格相似強于結構相似,結構相似強于主題相似。格相似與結構 相似就能確定問題相似了,幾乎不需要考慮主題。主題的考慮主要用在目標文獻檢索的 確定上。如“知識管理與知識工程有何區(qū)別 ?”與“工程管理與工商管理有什么區(qū)別?”, 這兩個問題的主題完全不同,屬于兩個不同的領域;而結構非常相似,"X與Y
24、有何區(qū)別?”;語義格也非常相似(可以說是相同),即求di財erence<x, y>,在前一個問題 中,x, y分別為數(shù)據(jù)挖掘與知識發(fā)現(xiàn),后一個問題中x, y分別為工程管理與工商管理。 問法相似指的是同一個問題使用不同的問法,目前還很難從技術上解決語用的問題。基于常見問題集的問答系統(tǒng)類似于基于實例的機器翻譯系統(tǒng)。基于實例的機器翻譯系統(tǒng)是查找最相似的翻譯例句,然后對句中不同的部分根據(jù)詞表換成相應的詞即可。而基于常見問題集的問答系統(tǒng)則是查找最相似的問句,卻不能把不同的詞簡單替換,如果強制性替換,首先要有題對庫。基于實例的機器翻譯直接使用雙語詞典,而問答系統(tǒng)卻 很難有題對庫,至少要使用三元
25、組概念或者語義概念關系的語義詞典,或者本體。例如首都中國,北京,首都英國,倫敦。因此,從這點上來講,基于常見問題集的 問答系統(tǒng)在回答新問題時,比基于實例的機器翻譯在翻譯新句時要困難。關鍵詞提取在用戶提問的問題中,需要提取對后續(xù)檢索系統(tǒng)有用的關鍵詞。關鍵詞主要由名詞、 動詞、形容詞、限定性副詞等實詞組成。疑問詞和一些常用的“吧、了、的”等詞就應 該被過濾掉。有一些問答系統(tǒng)還可以把關鍵詞分為兩種:一般關鍵詞和核心關鍵詞。核心關鍵詞也稱“必須含有關鍵詞”。核心關鍵詞指這些關鍵詞必須在答案句子中含有, 而一般性關鍵詞可以不被答案句子包含。 核心關鍵詞由專有名詞、限定性副詞(如最大、 最高、最快等)、時
26、間組成。之所以要制定“必須含有”的關鍵詞原則是因為它們對問 題有極強的限定性作用,如果不含有它們的句子幾乎不可能是正確的答案。例如:問題是“情報學的第一個博士點在哪個學校?”而檢索的結果應該是“武漢大學”或者“武 漢大學于1990開始招收情報學博士”,而不是“北京大學于1998年開始招收情報學博 士”,因為這顯然不是用戶想得到的結果,之所以出現(xiàn)這種情況的原因就在于非常重要 的關鍵詞“第一個”沒有包含在答案句子中。如果加上“必須含有”的關鍵詞這個限制, 那么這個答案就不會被檢索出來,因此通過這些關鍵詞的作用可以極大地提高檢索的準 確性。關鍵詞被賦予不同的權重,在檢索句子時這些權重用來計算句子的權
27、重。通常名 詞、限定性副詞會有比較高的權重。2.5 關鍵詞擴展為了提高檢索系統(tǒng)的召回率,一般的問答系統(tǒng)都對關鍵詞進行擴展。由于在問題空 問和文檔空間之間存在著天然的語義鴻溝, 使用基于問題分析直接提取的關鍵詞進行查 詢,常常不能獲得滿意的效果。因為在答案段落中某些詞常常不是原來問題的關鍵詞而 是這些關鍵詞的擴展。例如:問題是“搜索引擎中 anchor文件指的是什么?”,答案的 句子是“把錨庫文本變成順排索引, 存到文檔索引庫里,并用錨庫所指向的doclD進行 關聯(lián)”在問題中使用的是“ anchor",而在答案中卻采用了 “錨庫”這個詞匯。這就造 成關鍵詞查詢失敗,因此需要對關鍵詞做適
28、當?shù)臄U展常用的關鍵詞擴展方式有:名詞同義詞擴展和語義蘊涵擴展、動詞同義詞擴展(意義用法相同的詞)、根據(jù)問題類型擴展。 部分工作在有些系統(tǒng)中由一個叫做 “檢索提問生成器”的組件完成,它采用不同的方法 生成擴展后的檢索式。如把詞的形態(tài)變化和導出詞作為檢索詞。 問答系統(tǒng)中通常可以采 用同義詞詞林、WordNet、HowNe侍同義詞詞典進行查詢關鍵詞的擴展。還有一些 問答系統(tǒng)通過統(tǒng)計的辦法來擴展關鍵詞。這種方法需要大量的問題和答案語料來進行訓 練。每一類的問題所對應的答案一般都有某種共同的特性口。例如,對于詢問地點的問題,答案中經(jīng)常會出現(xiàn)“在、位于、坐落在、地處”等關鍵詞。所以通過統(tǒng)計,找出這 些詞后
29、,就可以把它們添加到查詢式中。關鍵詞擴展雖然提高了系統(tǒng)的召回率,但如果擴展不適當會極大地降低檢索的正確 率,因此一般的問答系統(tǒng)對關鍵詞的擴展都是很謹慎的。 這些系統(tǒng)往往都對關鍵詞的擴 展添加很多限制條件,例如只對名詞的關鍵詞進行擴展。另外還有一些問答系統(tǒng)是用檢 索返回來的相關文檔對關鍵詞進行擴展。 擴展后的關鍵詞的重要性往往比從問題中提取的關鍵詞的重要性低,為了提高系統(tǒng)的準確性,很多問答系統(tǒng)又對關鍵詞賦予權重,以 此來區(qū)分他們之間的重要性。關鍵詞擴展屬于問題分析模塊,因為關鍵詞擴展旨在解決問題涉及哪些詞; 而檢索 式的構造屬于文檔檢索模塊,因為檢索式構造旨在解決這些關鍵詞和目標文獻之間可能 的
30、相關關系。第三章數(shù)據(jù)庫設計3.1 數(shù)據(jù)庫的需求分析根據(jù)系統(tǒng)需求,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:用戶表:包括用戶名、密碼、真實姓名、用戶積分、性別、電話、生日、密碼保護 問題及答案;問題表:包括問題編號、提問者、問題題干、提問時間、分類名稱、子類名稱、圖 片、最佳答案編號;答案表:包括答案編號、答案內容、問題編號、回答者、回答時間、提問者評論、 好評次數(shù);管理員表:用戶名、密碼、密碼保護問題及答案;問題父類表:包括問題分類;問題子類表:分類名稱、子類名稱;3.2 數(shù)據(jù)庫表結構設計數(shù)據(jù)庫表結構設計如以下各表表示表3.1用戶表(aa_user)字段名數(shù)據(jù)類型是否為空默認值備注字段說明username
31、varchar(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注:用戶表保存用戶相關信息,如用戶名、密碼、電話號碼等信
32、息。這些都屬于用 戶隱私,需要采用一定的安全措施對用戶信息進行管理。表 3.2 問題表(aa_question)字段名數(shù)據(jù)類型是否為空默認值備注字段說明Q_IDlongN自動X ;主鍵問題編號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自動增長主鍵答
33、案編pQ_IDlongN外鍵問題編號contenttextN答案內容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密保問題3a
34、nswer1varchar(100)Y答案11answer2varchar(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_typevarc
35、har(20)N主鍵子類名稱typevarchar(20)N外鍵分類名稱3.3 E-R模型為了把用戶的數(shù)據(jù)要求清晰明確地表達出來,通常要建立一個概念性的數(shù)據(jù)模型 (也稱為信息模型)。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點 來對數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實環(huán)境,且與在軟件系統(tǒng)中的實現(xiàn)方法無關。最常用的表示概念性數(shù)據(jù)模型的方法,是實體一聯(lián)系方法(Entity RelationshipApproach)。這種方法用ER圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的實 現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。ER模型中包含“實體”
36、,“聯(lián)系”和“屬性”。在本系統(tǒng)中,問題父類與問題子類的關系是一對多的關系(1: N),問 題與答案是一又t多的關系(1: N),問題、答案與用戶之間的關系是(1: N)如圖3.1 , 問題父類與問題子類間的關系3.2所示。在本系統(tǒng)數(shù)據(jù)表中用到的主鍵有:管理員表中的username字段(管理員名);問題表中的Q_ID字段(問題編號);答案表中的A_ID字段(答案編號);用戶表中的username字段(用戶名);問題父類表中的type字段(父類名稱);問題子類表中的sub_type字段(子類名稱);答案編問題編問題內容N回答時間提問時間提問者評論1問題父類問題表N用戶名用戶表1最佳答案真實姓名密碼
37、保護問題生日圖3.1問題答案與用戶間的關系圖3.2問題父類與問題子類間的關參照完整性是保證在主鍵(被參照表中)和外鍵之間的關系總是得到維護。對兩個相關 聯(lián)的表(主表和從表)進行操作數(shù)據(jù)的插入和刪除的時候,通過參照完整性保證它們之 間的數(shù)據(jù)的一致性。用戶自定義完整性,不同的數(shù)據(jù)庫系統(tǒng)根據(jù)起數(shù)據(jù)應用環(huán)境的不同,往往還需要一些特殊的約束條件。它反應某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。對于用戶自定義完整性可以通過數(shù)據(jù)庫設計, 也可以通過程序代碼來實現(xiàn)。由于程序設計的靈活 性和便捷性,在整個系統(tǒng)的調試過程中對于不完善的地方只需對代碼進行修改而不用更 改數(shù)據(jù)庫,因此在系統(tǒng)中采用了程序代碼來實現(xiàn)數(shù)據(jù)
38、庫用戶自定義完整性的約束。第四章系統(tǒng)詳細設計與實現(xiàn)4.1系統(tǒng)工作原理介紹本系統(tǒng)采用B/S結構(Browser/Server,瀏覽器/服務器結構)和基于Wet®務兩種模 式,是一個適用于Internet環(huán)境下的模型結構。只要用戶能連上 Internet,便可以在 任何時間、任何地點求職招聘求職的內容。系統(tǒng)工作原理圖如圖4.1所示:用戶登陸用戶注冊回答問題發(fā)表問題概念網(wǎng)知識點樹素材用戶信息動態(tài)更飄用戶瀏覽 頁面及導航提示網(wǎng)站信息自動生 成用戶信息限 證用戶層中間層數(shù)據(jù)層圖4.1系統(tǒng)工作原理圖系統(tǒng)的工作流程包括以下一些關鍵環(huán)節(jié):(1)用戶注冊。在每一個用戶使用該系統(tǒng)之前需要注冊,系統(tǒng)會將用
39、戶輸入的信息 記錄到用戶模型中。(2)用戶登陸。用戶輸入用戶名和密碼后,系統(tǒng)驗證是否正確并決定用戶是否能進 入進行求職招聘。(3)問題搜索。用戶在搜索框中輸入要搜索的關鍵字進行搜索,當用戶輸入多關鍵 字的時候要用“空格”隔開。系統(tǒng)將根據(jù)用戶的輸入對關鍵字進行拆分和對相關內容搜(4)問題發(fā)表。用戶單擊我要提問,在彈出的網(wǎng)站中輸入問題,進行發(fā)表問題,問 了進一步將問題闡釋清楚積分達到 100 (含)分以上的用戶在發(fā)表問題的時候可以附加 一張不超過50Kb的JPG格式圖片。提問一次將花費積分 5(5)問題回答。用戶單擊我要回答,在彈出的網(wǎng)站可以選擇自己想要回答的問題,回答問題一次將增加積分5,如果回
40、答的問題被提問者采納為最佳問題將獲得 5分的獎 勵。(6)用戶信息管理。其中包括對用戶信息的查詢和修改,系統(tǒng)會根據(jù)修改后的用戶 信息重新自動合成網(wǎng)頁內容。(7)后臺管理。管理員通過后臺可以對用戶、問題及答案進行管理。可以將不合法 的信息和惡意用戶進行刪除 。4.2系統(tǒng)數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Diagram ,簡稱DFD能精確地在邏輯上描繪系統(tǒng)的功能、 輸入、輸出和數(shù)據(jù)存儲等,擺脫了物理內容,是描繪系統(tǒng)邏輯模型的最主要的工具。經(jīng)過系統(tǒng)詳細調查分析以及用戶需求分析,我們得到了新系統(tǒng)的數(shù)據(jù)流圖。登錄成功產.否*1 用戶注冊如圖4.2用戶登錄數(shù)據(jù)流圖:用戶名和密碼一, 身份驗證/目箱 戶
41、用用戶信息管理表圖4.2登錄數(shù)據(jù)流圖4.3 系統(tǒng)的實現(xiàn)算法用戶信息初始化算法通過前面幾章的分析,我們已經(jīng)知道用戶信息是求職招聘導航的基礎。由用戶模型可以了解,個人信息是用戶登陸個性化網(wǎng)上人才招聘系統(tǒng)的入口 ;求職招聘記錄則是根據(jù)用戶的求職招聘進度動態(tài)更新提供內容、求職招聘狀態(tài)提示的必要條件。所以設計好 用戶信息輸入算法對后面的智能導航有著重要作用。用戶信息是在第一次使用系統(tǒng)注冊時輸入的。該算法中牽涉的數(shù)據(jù)有:用戶數(shù)據(jù)庫中的用戶信息管理表、 職位信息表。算法主要 功能是通過接收用戶輸入或選擇的信息初始化用戶模塊中有關信息, 以下便是該算法所 涉及的數(shù)據(jù)結構和詳細過程。輸入:1)用戶輸入的信息,如
42、姓名,密碼等。2)用戶選擇的信息,如用戶求職招聘狀態(tài)等。輸出:用戶模塊信息初始化。算法的主要步驟如下:(1)初始化,包括打開數(shù)據(jù)庫aa_user、建立相關控件與數(shù)據(jù)庫的連接等;(2)將用戶信息管理表、用戶狀態(tài)表各添加一條記錄;(3)讀取各文本控件或列表控件中用戶輸入或選擇的信息到各表中對應的字段中;(4)結束。檢索算法用戶打開網(wǎng)頁后在文本框中輸入關鍵字進行搜索, 系統(tǒng)將根據(jù)用戶輸入的關鍵字進 行搜索,并返回和關鍵字相關的信息,若用戶輸入的是多關鍵字系統(tǒng)將對用戶輸入的關 鍵字進行拆分,然后搜索所有含有相關信息的記錄返回給用戶界面:(1)用戶關鍵字,并進行提交;(2)從提交表單中提取數(shù)據(jù),并進行相
43、應判斷;(3)連接數(shù)據(jù)庫,建立記錄集,用查詢語句對表中數(shù)據(jù)進行查詢;(4)將結果進行加工顯示給用戶;(5)結束;算法流程圖如圖4.3所示:圖4.3搜索算法流程圖4.4 注冊模塊的設計與實現(xiàn)在本系統(tǒng)中,將會有一些公用頁面,即每個文件或部分文件都會用到的文件,在使 用這些文件時,只需要一個包含語句<?php include"filename ” ;?>即可,這樣大大減少了代碼的冗余,同時也使編碼簡單,減少了許多工作量。主要的公用文件包括: conn.php 文件、logout.php 文件、is_login.php 等。(1)conn.php 文件對于程序中建立數(shù)據(jù)庫連接和關
44、閉數(shù)據(jù)庫連接的操作,最好放在一個包含文件中,這樣便于維護和修改。前面一部分為建立數(shù)據(jù)庫連接的語句,其中mysql_connect為建 立數(shù)據(jù)庫連接的對象,mysql_select_db為數(shù)據(jù)庫連接字符串,它表明了數(shù)據(jù)庫連接的 物理路徑以及采用的數(shù)據(jù)庫類型,這事采用的是MySQ擻據(jù)庫。<?php$host="localhost"$user="root"$password="123456”;$db="aa"/連接服務器mysql_connect($host,$user,$password) or die("SOR
45、RY!鏈接服務器失敗!");/鏈區(qū)數(shù)據(jù)庫mysql_select_db($db) or die ("SORRY!打開數(shù)據(jù)庫失敗!");mysql_query("SET NAMES 'gb2312'");?>(2)is_login.php 文件is_login.php 是用戶權限驗證文件,方便調用和維護減少代碼冗余。(3)logout.php 文件logout.php文件是用戶退出文件,改文件用于關閉和刪除用戶SESSION其他一些公用文件的代碼這里將不一一列舉。系統(tǒng)公用頁面用戶注冊頁面用戶注冊界面如圖4.4所示。用戶必須填
46、寫以下內容,這便于對用戶的管理以及用 戶的安全性。用戶注冊頁面的信息是用戶進入系統(tǒng)的有利憑證。該頁面涉及的主要PHP文件為register.php 文件。用戶名:密碼:至少6位,且必須包含字母和數(shù)字不少于10個字符 不少于5個字符 不少于10個字符 不少于5個字符 不少于10個字符 不少于5個字符確認密碼 真實姓名性別 電話 生日密保問題1 密保答案1 密保問題2 密保答案2 密保問題3 密保答案3*所有信息均為必填旦J摩圖4.4注冊頁面<?phpinclude "admin/conn.php"require "admin/injection.php&quo
47、t;?><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() / 構造d
48、ateSelector 對象,用來實現(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)多個日期輸入框,不能有重復的na
49、methis.display=display; 定義display 方法,用來顯示日期輸入框。定義dateSelector 的display 方法,它將實現(xiàn)一個日歷日','一','二','三','四','五','六');function display。/ 形式的日期選擇框。var week=new Array(document.write("<style type=text/css>");document.write(" .ds_font td,s
50、pan 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>");
51、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.focu
52、s()' onblur='this.readOnly=true' readonly”);document.write("<buttonstyle='width:60px;height:18px;font-size:12px;margin:1px;border:1px solid#A4B3c8;background-color:#DFE7EF;' type=buttononclick=this.nextSibling.style.display='block' onfocus=this.blur()>選擇 日期<
53、/button>");document.write("<divstyle='position:absolute;display:none;text-align:center;width:0px;height:0P x;overflow:visible' onselectstart='return false;'");document.write(" <divstyle='position:absolute;left:-60px;top:20px;width:142px;height:165px;b
54、ackg round-color:#F6F6F6;border:1px solid #245B7D;' class=ds_font>");document.write(" <table cellpadding=0 cellspacing=1 width=140height=20 bgcolor=#CEDAE7onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNod e.style.pixelTop;setCapture();' onmouseup
55、='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=subYea
56、r(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>&qu
57、ot;+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(" </tab
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年K2教育中STEM課程實施與效果評估:創(chuàng)新模式探索
- 語文(武漢卷)2025年中考考前押題最后一卷
- 經(jīng)導管植入式人工心臟瓣膜2025
- 小升初六年級數(shù)學下冊常考易考知識點課件《第六單元第10講:解方程》人教版
- 智慧政務+DeepSeek大模型應用方案
- AI大模型賦能數(shù)字化水利監(jiān)管平臺建設方案
- 基于Protel教學新模式改革的探索與研究
- 華為任職資格體系建設(一)16P
- 山東省菏澤市巨野縣2024-2025學年七年級下學期期中生物試題 (含答案)
- 現(xiàn)代漢語上冊試題及答案
- 無人機航拍技術教案(完整版)
- 2型糖尿病分級診療
- 工程力學基礎知識單選題100道及答案解析
- 《貧民窟的百萬富翁》電影賞析
- 2025年青海省中考數(shù)學模擬試卷附答案解析
- 新手主播直播帶貨策劃案-新手主播直播帶貨培訓教程
- 企業(yè)合規(guī)管理手冊
- 廣告設計師三級理論知識鑒定要素細目表
- 企業(yè)員工心理健康輔導服務預案
- 二年級道法《我能行》
- 初中英語中考常考一詞多義詞總結
評論
0/150
提交評論