專利名稱:一種智能檢索系統的制作方法
技術領域:
本發明涉及信息檢索領域,尤其涉及一種智能檢索系統。
背景技術:
大量的文獻,包括本科、碩士和博士畢業論文,如果將這些數據直接呈現給用戶, 是很難被用戶使用的。因為在海量的并且沒有任何索引信息的文獻數據庫中,用戶查找若 干篇所需要的文章,如同大海撈針。即使采用最細致的分類導航,用戶也只能在其所需領域 中逐篇文章地尋找,要想解決一個技術問題或者查找專業知識,將不得不閱讀很多文章,直 到其找到所需內容,而這個閱讀查找過程是很低效的,有很多文章讀完了才知道并不是所
箭ο為了能使用戶有效的利用知識信息,從文獻中提取出各類屬性信息,如會議名 稱、作者、學術方向等,將這些數據放入數據庫,然后對各類屬性信息建立索引,使用戶能夠 從各種角度,使用不同的屬性信息檢索數據。比如通過作者名字、文獻標題或者用戶感興趣 的學術關鍵詞查找,方便用戶快速定位到所需要的文獻。現有技術的技術方案初始化處理,用戶的檢索需求可能是一個詞或者多個詞,當檢索多個詞時,本系統 需要對多個詞都做判斷,因此初始化處理就是要把多個詞區分開并逐個計算其屬性。這里 假定用戶在詞之間用空格分開,或者上層調用端口做了類似的處理,由于這里要求用戶用 空格隔開多個詞,因此不需要分詞及短詞組合,可以保證速度和準確性。根據詞典查找屬性,這里建立了一個檢索需求對應屬性的詞典,通過詞典能夠又 快又準的查到詞典中的檢索需求對應的屬性。這個模塊的作用主要就是將一些常見的檢索 需求,或者很難判斷的檢索需求及其所對應的屬性寫入到詞典,通過查詢詞典,能夠快速的 判斷檢索需求的屬性,如果該詞典里沒有檢索需求,那么可以做后續的一些名實體識別工 作。屬性輸出,如果沒有找到屬性,那么可以在全文中檢索。現有技術的缺點1)數據庫面對的用戶是各行各業的科研技術人員,他們對我們的數據庫產品及其 檢索技術的熟悉程度是不同的,這樣就會導致產品的使用情況不好。比如用戶想查找“孫 俊句法分析”,用戶的本意是想找在“句法分析”領域,作者是“孫俊”的一些文獻資料,如 果用戶了解網絡出版總庫,那么會選擇作者檢索項,并輸入“孫俊”作為檢索詞,然后選擇全 文或者主題檢索項,寫下“句法分析”作為檢索詞,那么這樣檢索的結果將是比較準確的,雖 然整個操作過程有些繁瑣;相反,如果用戶不了解網絡出版總庫,很可能直接在全文檢索項 中輸入“孫俊句法分析”,這樣我們的產品就會去全文中找“孫俊”和“句法分析”,由于計 算機并不一定能識別“孫俊”是一個人名,很有可能會把它拆成兩個字來檢索,最后檢索的 結果就是全文中有“孫”、“俊”、“句法分析”的文章,這個結果就不能準確的滿足用戶需求。 另外,我們通過互聯網發布產品,也很難對各個用戶進行產品使用培訓,即使提供了產品使用說明的免費下載,效果可能依然不好。這樣的結果就是產品足夠好,但是能用好的人不
^^ ο2)本系統擁有一個比較大的詞典,因此在系統運行時,會占用較大內存。并且隨著 總庫數據的更新,詞典必須也要隨之更新,以滿足新的檢索需求。而隨著詞典的擴大,系統 所占內存也會越來越大。3)需要一個熟悉總庫數據類型及詞典結構的人來維護詞典,維護人員需要及時了 解總庫數據的更新,并對詞典進行更新以適應于新的數據。
發明內容
為解決上述存在的問題與缺陷,本發明提供了一種智能檢索系統。所述技術方案 如下一種智能檢索系統,包括初始化處理模塊,用于對接收到的檢索需求的多個詞語 進行初始化處理;詞典查詢模塊,用于查找詞語或詞句的屬性,初步分析模塊、屬性分析模 塊及輸出模塊,初步分析模塊,根據詞語的字符類型、字符串的長度,判斷檢索需求可能存在的屬 性;屬性分析模塊,根據初步分析模塊所判斷的詞語可能存在的屬性進行分析,判斷 所述詞語具體的屬性;輸出模塊,輸出根據檢索屬性得到的檢索結果。本發明提供的技術方案的有益效果是通過本系統,網頁前臺不需要用戶輸入屬性信息;獲取到檢索需求后,將首先調用 本系統獲取屬性字段,然后再從數據庫相應的屬性字段中查尋檢索需求。系統的運行時間 對檢索時間沒有較大影響,所占內存空間比較小,能夠支持多線程訪問。
圖1是本發明系統結構圖;圖2是本發明系統結構流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方 式作進一步地詳細描述本實施例提供了一種智能檢索系統,如圖1所示,該系統包括初始化處理模塊, 用戶的檢索需求可能是一個詞或者多個詞,當檢索多個詞時,要求用戶用空格隔開,因此不 需要分詞及短詞組合即可保證速度和準確性。詞典查詢模塊,用于查找詞語或詞句的屬性; 該模塊主要是將一些常見的檢索需求,或者很難判斷的檢索需求及其所對應的屬性寫入到 一個詞典,通過查詢詞典,能夠快速的判斷檢索需求的屬性,如果該詞典中沒有檢索需求, 那么可以做后續的一些名實體識別工作,因此,本模塊查詢所需的時間很少,詞典規模也不 大。當從詞典中查到檢索需求詞的屬性時,則輸出,否則,則調用初步分析模塊。初步分析 模塊,根據檢索需求的字符類型,字符串的長度,先大致判斷檢索需求有可能是哪些屬性,
4然后調用相應的名實體屬性分析模塊識別檢索需求。屬性分析模塊,判斷詞語的屬性。所 述屬性分析模塊包括CN號識別模塊、專利號識別模塊、ISBN識別模塊、ISSN識別模塊、基金 識別模塊、機構名識別模塊及人名識別模塊,但是在一次查詢中并不要求所有的模塊全部 調用,根據初步分析模塊的結果,選擇調用其中的一部分模塊來識別檢索需求。其中,CN號 識別模塊、專利號識別模塊、ISBN識別模塊和ISSN識別模塊是根據各種號碼的定義規則來 識別,而基金識別模塊、機構名識別模塊及人名識別模塊是根據機器學習的方法,利用概率 統計原理識別屬性。輸出模塊,輸出根據檢索屬性得到的檢索結果。如圖2所示,系統結構實施流程,具體包括接收用戶輸入的檢索需求,并對檢索需求進行初始化處理;檢索需求包括一個詞、或多個詞、或詞句。根據詞典查找詞語或詞句的屬性,如果查詢到相關的屬性,則輸出,否則執行下一步驟。初步分析詞語或詞句的屬性;根據檢索需求詞語或詞句的字符類型與字符串的長度先大致判斷檢索需求有可 能是哪些屬性,然后調用字詞檢索需求。調用字詞檢索,如果檢索到詞語或詞句的屬性,則輸出;否則輸出全文進行查找;在調用字詞檢索詞語或詞句的屬性時,判斷詞語或詞句是否是機構名稱、ISSN名 稱、CNN名稱、基金名稱、人名、ISBN碼或是否為專利等。當判斷詞語是否是人名時,根據P(姓名)的概率與閾值間的關系進行判斷,當其 P(姓名)>閾值,則認為是人名,輸出。其中姓名的概率計算公式為P (姓名)=P (姓)*P (名 I 姓)P(姓)為人名庫和主詞典中每個字作為姓的概率,其P(姓)的計算公式為
m=人名庫中作為姓氏的頻度+主詞典中作為姓氏的頻度 ^人名庫中該字的總頻度+主詞典中該字的總頻度P(名I姓)為在人名庫中每個字作為名的概率,當名只有一個字時,Pl(名 I 姓)=p(單字名),其中,P (單字名)為在人名庫中每個字作為單子名的概率;當名有兩個字時,雙字名的概率計算公式
P2(名I姓)=^Pi名首字名尾字)P(名首字)為在人名庫中每個字作為雙字人名首字的概率,P(名尾字)為在人名 庫中每個字作為雙字人名尾字的概率。當輸入為“姓+單字+單字”的形式時,為明確名的字數,比較Pl (名I姓)和 P2(名I姓),取較大者作為P(名I姓)。外文人名識別,從現有外國人名資源中提取出外文名,并統計外文名的字集,在識 別過程中,如果遇到分詞碎片,則依次向后考察每個分詞碎片,記錄其中在外文人名字集中 出現的字數;根據閾值判斷是否是人名并得到最終的識別結果。當判斷詞語是否為機構名時,首先從機構名庫中篩選出一級機構名;判斷每個詞
5語是否符合機構名開始條件,條件同時滿足在機構首詞詞典中,且概率大于0. 1 ;詞長大 于2,即非碎片,“第”字除外;詞性不是動詞;如果符合,統計得到每個詞語作為機構首詞、 機構中間詞及機構尾詞的概率,上述機構首詞概率的計算公式為
機構庫中作為機構首詞的次數+主詞典中作為機構出現的次數
P(OrgBegin)=
機構庫中該詞語出現的總次數+主詞典中該詞語出現的總次數
其中,主詞典認為是機構名的候選詞性為機構團體nt,地名ns,其他專名nz。 機構中間詞概率的計算公式
pm , . ,、_詞語作為機構中間詞的次數 nurgmsiae) _ 詞語出現的總次數^
機構尾詞概率的計算公式
額F “、i司劇乍減腿i珊欠雙 P(OrgEnd)=
詞語出現的總次數如果上述P (OrgInside) > P (OrgEnd),且不為停用詞,則合并當前詞到機構名,并 記錄概率;如果當前詞為數詞,且前一個詞為“第”,則合并當前詞到機構名,并記錄概率;如果P (OrgEnd) > P (OrgInside),則掃描結束,當平均概率> 0. 4時,認為是機構 名,輸出。基金名識別,對輸入文本分詞;判斷每個詞是否符合基金名開始條件,基金名開 始條件同時滿足在基金首詞詞典中,且概率大于0. 1 ;詞長大于2,即非碎片;詞性不是 動詞;有些基金專用詞語在分詞時為碎片,但對于基金識別很重要,因此在此時附加提出, 包括十五、i^一(五)等。如果符合計算基金首詞概率P(FimdBegin)、基金中間詞概率 P(FundInside)與基金尾詞概率P (FundEnd),開始向后掃描,考察每個詞作為基金中間詞 和尾詞的概率;其P(FundBegin)、P (FundInside)及P (FundEnd)的計算公式分別為
. 基金庫中作為基金首詞的次數+主詞典中作為機構出現的次數 C UH £gin) 一基金庫中該詞語出現的總次數+主詞典中該詞語出現的總次數
^t」、詞語作為基金中間詞的次數 P( =詞語出現的總次數
■ ^zr力詞語作為基金尾詞的次數 —Α=詞語出現的總次數如果P (Fundlnside) > P (FundEnd),且不為停用詞,則合并當前詞到基金名,并記 錄概率;如果P(FundEnd) > P (Fundlnside),則掃描結束,當平均概率> 0.4時,認為是基 金名,輸出。在基金名識別之前的流程還包括對基金庫分詞,分別得到基金首詞、基金中間詞 和基金尾詞;統計基金首詞、中間詞和尾詞的詞頻;統計基金名的總詞頻分布;根據基金首詞概率P(FundBegin)、基金中間詞概率P(FundInside)與基金尾詞概率P(FundEnd)的計算 公式計算基金首詞、基金中間詞和基金尾詞的概率分布。ISBN判斷,根據國際ISBN標準,識別輸入的字符串是否為正確的ISBN號。以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍 為準。
權利要求
一種智能檢索系統,包括初始化處理模塊,用于對接收到的檢索需求的多個詞語進行初始化處理;詞典查詢模塊,用于查找詞語或詞句的屬性,其特征在于,所述系統還包括初步分析模塊、屬性分析模塊及輸出模塊,其中初步分析模塊,根據詞語的字符類型、字符串的長度,判斷檢索需求可能存在的屬性;屬性分析模塊,根據初步分析模塊所判斷的詞語可能存在的屬性進行分析,判斷所述詞語具體的屬性;輸出模塊,輸出根據檢索屬性得到的檢索結果。
2.根據權利要求1所述的智能檢索系統,其特征在于,其中所述檢索需求還包括單個 詞語或詞句。
3.根據權利要求1所述的智能檢索系統,其特征在于,所述屬性分析模塊包括人名識 別模塊、機構名識別模塊、基金名識別模塊、ISBN識別模塊、CN號識別模塊、專利號識別模 塊及ISSN識別模塊。
4.根據權利要求3所述的智能檢索系統,其特征在于,所述人名識別模塊,判斷字符串 是否是人名;其具體的識別判斷包括對檢索需求的詞語進行分詞;判斷每個詞是單姓、復 姓或專有人名,若在姓氏詞典中,則記下姓氏概率;判斷姓氏后面的第一個分詞單元及姓氏 后面的第二個分詞單元,并計算名的概率;根據姓名的不同類別,計算得到姓名。
5.根據權利要求3所述的智能檢索系統,其特征在于,所述人名的識別判斷還包括外 文人名的識別。
6.根據權利要求3所述的智能檢索系統,其特征在于,所述機構名識別模塊,判斷字符 串是否是機構名;其具體判斷包括對輸入的多個詞語進行分詞;判斷每個詞是否符合機 構名開始條件;計算每個詞作為機構中間詞和尾詞的概率,并比較機構中間詞與機構尾詞 的概率,根據平均概率的大小進行機構名的判斷。
7.根據權利要求6所述的智能檢索系統,其特征在于,所述機構名判斷之前的流程 還包括從機構庫中篩選出一級機構名;對一級機構名分詞,分別得到機構首詞、機構中間 詞和機構尾詞的詞頻并對所述詞頻進行統計;統計一級機構名的總詞頻分布;計算機構首 詞、機構中間詞和機構尾詞的概率分布。
8.根據權利要求3所述的智能檢索系統,其特征在于,所述基金名識別模塊,判斷一個 字符串是否是基金名;其具體判斷包括對輸入的多個詞語進行分詞;判斷每個詞是否符 合基金名開始條件;計算每個詞作為基金中間詞和尾詞的概率,并比較基金中間詞與機構 尾詞的概率,根據平均概率的大小進行基金名的判斷。
9.根據權利要求7所述的智能檢索系統,其特征在于,所述基金名判斷之前得流程還 包括計算基金概率;對基金庫分詞、分別得到基金首詞、基金中間詞和基金尾詞;統計基 金首詞、中間詞和尾詞的詞頻;統計基金名的總詞頻分布;計算基金首詞、基金中間詞和基 金尾詞的概率分布。
10.根據權利要求3所述的智能檢索系統,其特征在于,所述ISBN識別模塊判斷一個 字符串是否是ISBN碼。
全文摘要
本發明公開了一種智能檢索系統,初始化處理模塊和詞典查詢模塊,所述系統還包括初步分析模塊,根據詞語的字符類型、字符串的長度,判斷檢索需求可能存在的屬性;屬性分析模塊,根據初步分析模塊所判斷的詞語可能存在的屬性進行分析判斷所述詞語具體的屬性;輸出模塊,根據用戶的檢索要求輸出詞語的屬性。通過本系統,網頁前臺不需要用戶輸入屬性信息,獲取到檢索需求后,將首先調用本系統獲取屬性字段,然后再從數據庫中相應的屬性字段中查尋檢索需求。
文檔編號G06F17/30GK101894158SQ20101023210
公開日2010年11月24日 申請日期2010年7月21日 優先權日2010年7月21日
發明者孫俊, 張振海, 王月穎, 趙紀元 申請人:同方知網(北京)技術有限公司