摘要:人類個體差異等因素使得醫藥信息檢索需要用戶多興趣的個性化服務。基于這個思路,結合醫藥領域的特點,提出了一種面向求醫問藥應用的用戶多興趣描述方式,并給出了相應的多興趣更新算法。實驗表明,該多興趣模式比單興趣模式能更好地表達用戶興趣的內涵和變遷,具有更高的檢索精度。
關鍵詞:醫藥信息檢索;用戶描述文件;多興趣描述和更新
中圖分類號:TP39文獻標志碼:A
文章編號:1001-3695(2008)03-0799-04
Internet的普及使得越來越多的人選擇通過網上的醫藥信息檢索平臺進行足不出戶的求醫問藥,從檢索返回的相關網頁中獲取專家解答或同類患者的治療經歷。醫藥信息檢索系統和開放式搜索引擎一個顯著的區別是:其設計需要充分考慮到醫藥領域的特點。正所謂因人而異、對癥下藥,對于不同的求醫者,由于個體的差異,即使是患同樣的病,其用藥和治療方式都不盡相同。醫藥檢索系統有必要結合用戶查詢請求以及用戶背景檔案,提供個性化的檢索服務。
個性化檢索考慮了用戶的區別,通過收集和更新用戶興趣,建立用戶背景檔案,從而對用戶的再次檢索進行結果過濾以及主題推薦[1,2]。但是,僅僅單興趣模式的個性化檢索還不夠,面向醫藥領域的信息檢索系統由于患者個體差異等領域特點,需要用戶多興趣處理技術。一個用戶可能同時染上多種疾病,或者同時關注多種疾病。如果將不同疾病的信息放在一個興趣中,不僅使得興趣描述冗長,而且興趣內容不清晰,檢索精度偏低。
在實現過程中,用戶多興趣主題的描述方式以及多興趣主題的更新是兩個關鍵技術。傳統的加權詞條的興趣表示方式[3,4]不能滿足用戶的多興趣信息描述,領域無關的概念空間描述[2]無法有效地結合領域知識,提高檢索效率。
而傳統的基于向量[3,4]和概率模型[4,5]的興趣更新算法在醫藥信息檢索系統中也存在缺陷。
1實驗系統框架
一個檢索系統主要包括索引、請求處理和搜索三個模塊。在此基礎上,本文的醫藥信息檢索系統加入了領域本體和興趣管理兩個模塊。圖1為系統的概要框架,給出了這五個模塊的分工及模塊間的關聯。其中醫藥領域本體的用途體現在:可以利用領域本體在建索引時進行文本分類;在請求處理時分析問題的概念類型,以及在多興趣更新算法中提供領域知識。
多興趣管理模塊提供用戶的個性化服務,通過用戶對檢索結果的評價來收集用戶感興趣的主題和內容,從而為用戶的再次檢索提供過濾和推薦。本文提出的面向醫藥檢索的多興趣描述方式以及相應的多興趣更新算法在該模塊中得到了實現。
2醫藥領域本體的構建
提高檢索系統的效率和精度需要領域知識的輔助。因此,領域本體的構建是本文系統實現的前提。在實驗系統中,筆者構建了一個簡單的醫學本體,使得可以提高系統的語義分析和處理能力,改進檢索性能。
本體是對特定領域中概念及概念之間關聯的明確形式化表示, 其作用是實現領域概念的可理解性和可重用性[6,7]。在第1章中指出了醫學領域本體在實驗系統中三個方面的運用,它包括概念樹、領域詞典、實例、實例間的關聯。
概念樹是對領域概念之間上下位關系的形式化描述。本文中的概念樹滿足多繼承關系,其建立方式是為了適應醫藥領域中概念的多種分類方法的需要。醫藥學是一個蘊涵豐富知識的領域,疾病和藥材是其中非常重要的兩個部分,因此本文的概念樹以這兩個概念為根節點展開。以概念樹為依據,可以進行概念的泛化和特化、概念的相似度比較等操作。領域詞典用于分詞及詞性標注,主要包括疾病詞典、藥材詞典、屬性詞典和同義詞詞典。
實例是概念樹上概念節點的實體化對象。一個實例有若干個屬性,每個屬性均是由一個或多個滿足約束條件的確定的值填充。在本體中,采用〈 SubjectPredicateObject 〉三元組的集合來描述一個實例。實驗系統中的3 000多個各類疾病和藥材實例是通過對相關網頁進行信息抽取而生成的。在生成實例之后,通過關聯規則挖掘技術[8]來計算實例屬性之間及實例之間的關聯度。
3面向醫藥檢索的用戶多興趣管理
個性化檢索結合用戶背景,通過收集和更新用戶的興趣信息,實現檢索結果的過濾及相關信息的推薦。個性化檢索系統設計的關鍵部分是用戶興趣描述方式和興趣更新算法。本文提出了一種面向醫藥領域信息檢索的用戶多興趣描述方式,以及相應的多興趣更新算法。實驗系統對多興趣模式和單興趣模式的檢索性能進行了實驗和比較。
3.1興趣描述方式
3.1.1傳統的興趣描述方式
用戶興趣描述也被稱為用戶描述文件。到目前為止,用戶描述文件還沒有一個統一的標準。對于應當收集哪些用戶興趣信息,如何組織存儲、收集以及更新都沒有達成共識。用戶描述文件可以用文件來組織,也可以用關系數據庫來組織。在現有的個性化檢索平臺中,用戶描述文件可表示為加權詞條模型、類型層次結構模型、加權語義網模型、書簽和目錄結構等[2,3,5]。
加權詞條模型基于VSM,它將用戶的興趣表示為關鍵詞向量,通過調整關鍵詞權重來近似地反映用戶的興趣信息[3]。這種模型的優點是易于實現,缺點在于加權詞條是一種低級的平面表示形式,無法滿足興趣在概念層次上的升降和推理;傳統的加權詞條模型不支持用戶的多興趣管理。
Preteschner[2]將用戶的興趣描述成一個概念子空間,通過對用戶感興趣的文檔進行分類,將用戶的興趣類型對應到目錄式本體的概念節點。概念層次結構能夠描述用戶多興趣信息,但是其系統中的本體涵蓋了幾乎所有的領域和主題,對用戶興趣內容的表示粒度較粗,不能利用特定領域的相關知識和特點,無法滿足面向特定領域檢索所需的精度。
3.1.2面向醫藥檢索的多興趣描述方式
細化領域知識、引入領域特性是提高面向特定領域的信息檢索系統性能的關鍵。針對醫藥領域特點,本文設計了如圖2所示的多興趣描述結構。描述信息有靜態和動態兩種。靜態信息包含用戶的固定特征以及更新緩慢的特征;動態信息即為用戶的興趣列表,列表中存儲著多個興趣信息,是多興趣更新算法的操作對象。
特征信息存儲了用戶的靜態信息,如年齡、性別、家族病史等,這些信息是在創建用戶時手工填寫的。筆者希望在出現相同興趣點時仍然能夠通過靜態信息為用戶過濾檢索結果。因為在醫學領域,個體的一些固有差異決定了其治療手段和用藥處方迥然不同。同樣一種疾病,年輕人和老年人很可能采用不同的醫療手段。例如胃潰瘍出血穿孔,年輕人一般只需做修補術,而老年人則多選擇大部分切除。
現實世界中,每個人都是同時擁有多個興趣。每個興趣都具有一個概念上與其他興趣區分開來的主題信息。主題并非簡單的文字集合,而是一個復雜的難以形式化的語義單元。此外,受個體內在和外在的刺激和觸發,每個興趣都會經歷“產生——變濃——淡化——消失”的過程。為了模擬現實中的興趣,筆者設計了一個興趣列表,其中存儲了若干個興趣點,每個興趣點均包含了興趣內容和興趣管理數據兩部分。
1)興趣內容——概念類型和加權詞條
興趣的主題應該由個體之間達成共識的知識來表示,它應具有共享、可理解、可重用的性質。本文采用概念類型來描述主題信息。概念類型對應于領域本體中的概念實例,正好具備了上述性質。為了更加細化興趣內容,還可以將概念類型對應于一個實例的屬性。例如,用戶反復地詢問關于胃病的病癥、病因、檢查指標、治療方法等,可以將用戶的這個興趣點的概念類型對應于疾病概念實例“胃病”。如果用戶只是對“胃病該如何治療”感興趣,就可以將其概念類型對應到“胃病”實例的“胃病治療方法”這個屬性上?;诟拍铑愋偷墓蚕肀硎镜牧硪粋€優點是可實現基于協作過濾[1]的個性化搜索。
概念類型是用來在個體之間達成共識的,而個體對興趣內容的描述是有其自身的語言方式,使用加權詞條來建立興趣信息和特定用戶的提問方式、描述語言之間的關聯。加權詞條來源于領域詞典,是從本體實例的領域詞群中選出的帶權的關鍵詞向量,并根據用戶的查詢關鍵詞不斷進行調整而成。加權詞條主要用于修正和擴展請求處理中提取的關鍵詞。如果一個興趣點與用戶的提問吻合,則需要根據用戶問題中的關鍵詞來修改此加權詞條。
2)興趣管理數據——興趣存活時間和關注度
為了模擬現實中興趣的“產生——變濃——淡化——消失”這幾個狀態,本文引入了興趣存活時間和興趣關注度這兩個元素。從產生一個新的興趣開始,予以分配一個存活時間。興趣存活時間會隨著現實時間的流逝逐漸減少,當時間為零時,這個興趣即為消失,將從興趣列表中刪除。不同類型的興趣淡化的速度是不一樣的。例如對于急性病,用戶只會對它保持短期的興趣;而對于慢性病,則會保持較長時間的興趣。所以基于領域特點,將興趣的衰減速度分為快、中、慢三種,分別對應于興趣概念類型中的急性病、藥材、慢性病。衰減速度是影響興趣存活時間的主要因素,此外興趣點的檢索以及更新可以延長該興趣點的存活時間。
興趣關注度量化了用戶對一個興趣點的關注程度。用戶對于該興趣點的最新關注時間以及關注次數決定了興趣的關注度。在進行個性化檢索時,根據關注度順序來遍歷興趣列表,能夠提高個性化檢索處理的速度。
用戶興趣的表示形式與檢索對象的組織方式是相關的,采用基于XML的RDF標記語言來描述用戶多興趣。在提出多興趣描述方式之后,需要設計相應的多興趣更新算法以輔助對用戶描述文件的管理和操作。
3.2興趣更新算法
在定制好一個用戶描述文件后,可以由用戶修改,也可以由系統自適應地修改,這樣隨著用戶興趣的變化,描述文件也發生改變。系統要自適應修改,需要分析當前用戶的行為,從而調整用戶興趣的主題和內容。系統中采用顯式提交的方式跟蹤用戶行為,限定檢索結果評價為五個等級:很好、不錯、一般、差、很差,用戶根據對檢索結果內容的滿意程度給出評價。評價等級代表了用戶的興趣信息,決定該文檔和檢索請求的相關度。如果用戶對該網頁的評價持肯定態度,說明用戶對這方面信息感興趣;如果持否定態度,說明用戶不感興趣或在淡化這方面的興趣。
3.2.1傳統的興趣更新算法
兩種傳統的興趣收集更新算法分別是基于向量空間模型[3,4]和概率模型[4,5]。
基于向量空間模型的興趣更新算法主要是針對加權詞條的興趣描述方式,模型中文檔和用戶興趣的組織方式都是關鍵詞權重向量表示?;谙蛄靠臻g模型的更新算法可以表示為
V′←αV+β×(ηi× Drel)-γ×(ηi× Dnonrel)
其中:V和V′分別為更新前后用戶興趣u的詞條向量;Drel和Dnonrel分別代表用戶感興趣和不感興趣文檔的關鍵詞向量;η為用戶評價等級;權重因子為α、β、γ。
在概率模型中,用戶興趣表示為領域分類模型上的概率分布。依據用戶感興趣文檔的領域類型,來修正興趣的領域概率分布,實現興趣的適應和漂移。針對每個領域分類cj,首先計算文檔d在分類cj上的條件概率;然后利用下式來修改用戶興趣向量中對應領域分類的條件概率:
p(cj|u)←[α×p(cj|u)+β×η×p(cj|d)]/(α+β)
3.2.2面向醫藥檢索的多興趣更新算法
基于圖2所示的多興趣描述結構,上述兩種算法并不能很好地運用在多興趣更新操作中。于是筆者設計了一種面向醫藥檢索的多興趣更新算法,通過對用戶多興趣描述結構的修改,來反映用戶多興趣的形成和變遷。
在3.1.2節的介紹中,多興趣描述方式包括靜態信息和動態信息兩部分。動態信息即為興趣列表,存儲了若干個概念上獨立的興趣點,是更新算法的操作對象。一個興趣點包括興趣內容和興趣管理數據兩部分。其中:興趣內容是由興趣的概念類型和加權詞條表現;管理數據包括興趣存活時間和關注度。多興趣更新算法的核心任務就是通過創建新興趣或者修改已有興趣來調整興趣列表,實現用戶興趣的產生和變化。下面是多興趣更新算法的詳細描述。
算法1面向醫藥檢索的多興趣更新算法
輸入:用戶興趣模型,查詢關鍵詞,用戶已評價的網頁。
輸出:更新后的用戶興趣模型。
a)文本分析,將已評價網頁的內容映射到領域本體中的概念實例c。
b)遍歷興趣列表,搜索概念類型為c的興趣點。如果找到該興趣點Si,則跳至d)。
c)創建新興趣點,填寫興趣屬性:興趣的概念類型賦為c;結合實例c的領域詞群和查詢關鍵詞,生成加權詞條;根據領域知識為興趣存活時間和衰減速度賦值;興趣關注度設為默認值。跳至e)。
d)修改興趣點Si:結合原加權詞條和查詢關鍵詞,生成新的加權詞條;延長興趣存活時間;增加興趣關注度。
e)遍歷興趣列表,對每個興趣點,根據其衰減速度調整興趣的存活時間。
f)返回更新后的用戶興趣模型。
算法中用到了基于領域知識的文本分類技術,目的在于將文檔映射到領域本體中的概念實例。在實驗系統中筆者預先計算好了索引庫中每一篇文檔的概念映射,所以這一步驟并沒有影響算法的性能,從而滿足了實時處理的檢索需要。
3.3實驗分析
實驗系統中的興趣管理模塊實現了本文提出的用戶多興趣描述方式,以及多興趣更新算法。用戶興趣信息可用于查詢請求的修正擴展和檢索結果的過濾重排。
用戶以自然語言形式提交檢索問題,請求處理模塊提取關鍵詞序列和問題概念類型;關鍵詞序列和用戶興趣列表進行相似度比對之后進行擴展及權重修改;請求處理模塊的結果將送到檢索模塊。
檢索模塊首先根據提取的關鍵詞序列及概念類型從索引庫中檢索出檢索結果;然后結合用戶興趣文件對初次檢索結果集進行相關度計算,過濾掉一些相關度較低的檢索結果,并對剩余結果進行重排。
本文運用了用戶多興趣模式和單興趣模式兩種個性化檢索來進行實驗對比。下面是一個簡單直觀的對比例子。假設用戶一直對胃病信息感興趣,而最近得了感冒,產生了新的興趣點。在此期間該用戶提交了一系列問題請求,并反饋了對檢索結果的評價,系統據此更新用戶的興趣描述。下面是用戶的一串順序的問題請求:a)胃病是怎么一回事?b)感冒咳嗽是什么原因?c)頭痛、咳嗽該吃什么藥?d)胃病怎么辦?e)感冒頭痛怎么治?
在圖3中給出了這兩種模式各自的檢索精度。圖中橫軸表示每個問題編號,縱軸表示針對每個問題的前100個檢索結果的準確率。從圖中可以看出多興趣模式中興趣變化過程:當用戶提交第一個問題時,用戶還只有胃病這一個興趣點,因此是否使用多興趣模式在檢索精度上并沒有差別。而當用戶對感冒感興趣之后,多興趣模式會立即產生一個新的興趣點,而單興趣模式沒有分析新興趣的概念類型,只是將兩種興趣的信息表示在一個加權詞條中,導致興趣適應后檢索精度偏低??梢钥吹皆诖撕蟮牟樵冎校瑔闻d趣模式的檢索精度將會受到很大影響,其主要原因就是興趣的內容表示不夠清晰,而這正是多興趣模式的優勢,即通過自適應,用戶產生了兩個主題獨立的興趣點,使得在個性化檢索時不會混淆興趣內涵。當兩個興趣特征穩定下來后,多興趣模式的個性化服務能夠為用戶返回更加精確的檢索結果。圖4是單興趣和多興趣兩種模式分別在返回的前10~100個結果中的平均準確率統計(多主題模式曲線為多興趣檢索精度),可以看到多興趣模式顯著地提高了檢索性能。
4結束語
結合用戶興趣背景的個性化檢索是下一代搜索引擎的一個發展方向。一個面向多興趣的個性化服務能夠更精確地把
握用戶的實際興趣和需求,提高檢索準確率。面向醫藥領域的信息檢索系統由于患者個體差異等特點,需要用戶多興趣處理技術。在實現過程中,用戶多興趣主題的描述方式以及多興趣主題的更新是兩個關鍵技術。
傳統的加權詞條的興趣表示方式不能滿足用戶的多興趣信息描述,而領域無關的概念空間描述無法有效地結合特定領域知識,達到提高檢索效率的目的。
本文提出了一個面向醫藥領域的支持用戶多興趣的信息檢索系統,系統利用了領域特點以及領域本體來描述用戶多興趣信息,并設計了一種有效可行的多興趣更新策略。實驗表明,本文提出的多興趣檢索模式比起單興趣模式在檢索精度上有很大的提高。
參考文獻:
[1]曾春,邢春曉,周立柱.個性化服務技術綜述[J].軟件學報,2002,13(10):19521961.
[2]PRETSCHNER A,GAVCH S.Ontology based personalized search[C]//Proc of the 11th IEEE International Conference on Tools with Artificial Intelligence.Washington DC:IEEE Computer Society,1999:391-398.[3]劉紹翰,武港山,張福炎.基于詞條權值的相關反饋算法在Web信息檢索中的應用[J].情報學報,2002,21(6):688-673.
[4]SALTON G,BUCKLEY C.Improving retrieval performance by relevance feedback[J].Journal of the American Society for Information Science,1990,41(4):288-297.
[5]曾春,邢春曉,周立柱.基于內容過濾的個性化搜索算法[J].軟件學報,2003,14(5):9991004.
[6]NOY N F,McGUINNESS D L.Ontology development 101:a guide to creating your first ontology[R].[S.l.]:Stanford Knowledge Systems Laboratory.2001.
[7]周肖彬,曹存根.基于本體的醫學知識獲取[J].計算機科學, 2003,30(10):35-39,54.
[8]HAN Jiawei,KAMBER M.Data mining:concepts and techniques[M].San Francisco,CA:Morgan Kaufmann Publishers, 2001.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”