- 人機交互概論:從理論到應用
- 程時偉
- 4155字
- 2020-02-26 15:10:44
2.1.1 用戶模型
用戶模型(User Model, UM)[1]是指根據用戶相關信息,如用戶興趣、行為、背景知識等歸納出計算機系統可讀、可計算的模型。用戶模型實際上包含兩類不同的概念:一類是用戶自身在與系統交互過程中形成的概念模型,是用戶對外部世界認知的描述;另一類則是描述用戶與外部世界聯系、交互的知識,是系統進行處理與分析所依據的知識模塊。需要解決兩個關鍵問題:模型包含哪些因素和特征;模型是否對用戶有較好的概括性和區分度。
廣義上的用戶模型有三種,如圖2.1所示。

圖2.1 三種用戶模型之間的關系
(1)用戶頭腦中的概念模型。用戶頭腦中關于計算機系統及其所應具有的功能的模型,表示了用戶對計算機系統的理解和期望。該模型隨著用戶使用系統經驗的增加而不斷完善。
(2)設計者的用戶模型。設計者頭腦中關于用戶的模型,是設計者對用戶特征的描述,被設計者用來作為系統設計的基礎。
(3)計算機系統的用戶模型。由設計者在設計階段依據設計者的用戶模型,用計算機軟件構造,在系統的運行過程中實現。
設計者根據用戶頭腦中的概念模型調整設計者的用戶模型,將設計者的用戶模型用軟件的方法轉換為計算機系統的用戶模型,用戶建模的最終目標是計算機系統的用戶模型。狹義上的用戶模型是指軟件系統的用戶模型,是我們更關心的也是計算機所擁有的關于用戶特征的模型。用戶模型是機器理解和操作用戶特征信息的基礎,也是系統在與用戶交互的過程中實現知識獲取的基礎。通過獲取的新知識,可對模型進行不斷修正和完善,最終調整系統應對用戶的策略和提供的服務內容。一個完整的用戶建模過程如圖2.2所示,包括用戶信息收集、模型表示、模型學習與更新三個部分。

圖2.2 構建用戶模型的一般過程
1.用戶模型分類
從具體實現和應用的角度來看,用戶模型可以分成不同的類別,相關用戶模型的定義、特點和建模方法可總結歸納為表2.1。
表2.1 UM建模研究比較[1]

許多研究人員針對上述構建用戶模型的三個方面做了大量工作,下面將對這些工作進行分析與綜述。
2.用戶建模信息的獲取方式[16]
用戶模型的信息來源實質上是通過用戶的信息歸納出系統可讀、可計算的用戶模型的過程。以互聯網應用為例,用戶信息主要包括八類:①用戶輸入搜索引擎的查詢關鍵詞;②用戶維護的書簽(Bookmark); ③用戶瀏覽的頁面;④用戶的瀏覽行為;⑤服務器日志;⑥用戶下載、保存的頁面和資料等;⑦用戶手工輸入或選擇的其他信息;⑧Cookie Logs日志信息。可見,用戶訪問Internet過程中的大量信息都能夠反映用戶的興趣,可以作為用戶建模的信息來源。在所有的信息來源中,用戶瀏覽的頁面和瀏覽行為最能全面地反映用戶的興趣;服務器日志也能夠較好地體現用戶的興趣;用戶的Bookmark和保存整理的文檔雖然不一定能全面反映用戶的興趣,但能夠很好地反映用戶關注的信息;用戶輸入搜索引擎的查詢關鍵詞不宜單獨用于用戶建模;用戶主動提供的興趣主題信息是建模的重要信息;Cookie Logs日志信息主要用于一些提供個性化服務的互聯網站點。
3.用戶模型的表示[16]
用戶模型的表示決定了用戶模型反映用戶真實信息的能力,在一定程度上限制了用戶建模方法的選擇。用戶模型的表示目前還沒有一個統一的標準,常見的表示方法有以下幾種:
(1)關鍵詞列表法。以用戶感興趣信息的關鍵詞來表示,如用戶對政治類感興趣,則用戶模型可以用“政府”、“人民代表大會”等關鍵詞表示。這組關鍵詞可以由用戶指定,也可以通過學習算法得到。采用用戶指定關鍵詞法會增加用戶的負擔,而且要求用戶準確的描述自己的興趣也不太現實。通過學習算法得到表示用戶模型的關鍵詞在本質上與文本分類中的特征選擇問題相似,首先由用戶提供或由系統收集到一組用戶感興趣的文檔,然后采用機器學習算法通過訓練樣本得到一個較少的特征集合,得到表征用戶興趣的關鍵詞。
(2)主題表示法。以用戶感興趣信息的主題來表示用戶模型的。比如用戶對政治類、音樂類和體育類感興趣,則用戶模型就表示為政治、音樂、體育等主題。這種表示法往往與具體的應用領域相結合。如Yahoo的個性化入口My Yahoo的用戶模型就是以用戶選擇的網站欄目來表示的,如果用戶訂制了體育和科技,My Yahoo就會顯示根據保存的用戶模型定制的個性化頁面。
(3)Bookmark表示法。這種表示法是以用戶保存的重要站點或頁面的Bookmark來表示用戶模型的。在用戶瀏覽Web的過程中,如果遇到很感興趣或認為很有價值的頁面,用戶一般會將相應的URL保存在Bookmark中,以方便以后的瀏覽。用戶的Bookmark可以反映用戶關注的興趣主題。
(4)基于向量空間模型的表示法。這種表示法是指用關鍵詞構成的向量來表示用戶模型。向量空間模型是文檔表示的常用方法,其基本思想是以向量來表示文檔,每個文檔表示為{(t1, w1), …, (tn, wn)}, ti稱為文檔中的第i 項,它可以是字、詞、詞組或短語等。Wi為ti項在文檔中的權重,表示它們在文檔中的重要程度。t1, t2, …, tn可以是用戶感興趣的文檔中出現的全部項,也可以是經過選詞處理后的項。采用所有關鍵詞及其權重表示用戶興趣模型的方法,一般對應于直接采用用戶感興趣的文檔作為用戶模型。由于大量的用戶感興趣文檔中的特征項對表現用戶興趣主題沒有直接的益處,而且隨著用戶感興趣文檔的增加,用戶模型會不斷地增大,因而這種用戶模型表示方法需要大量的物理空間和計算開銷。
(5)基于本體的表示法。本體來源于哲學領域,原意是指一種存在的系統化解釋,借鑒至知識工程領域之后,有關研究者對本體進行了新的詮釋,認為本體是對概念化對象的明確表示和描述。由于本體對特定領域對象的表示與描述具有規范性、可重用性、可靠性等特點,這種形式的用戶個性化模式通過依托這些語義關系,構成一個層次結構,提供用戶感興趣領域的信息空間的抽象視圖。在層次結構的用戶個性化模式中,節點是描述用戶興趣的詞條,層次中的邊表述詞條間的語義關系。這種層次表示法在描述個性化興趣時更清楚和準確,能較好地反映用戶興趣的語義信息,從而彌補關鍵詞表示的缺陷。但這種方法缺乏定量表示,所以對未知文檔過濾的精確率不高。
(6)興趣粒度表示法。根據粒度大小分為粗興趣粒度和細興趣粒度。粗興趣粒度表示是指在用戶模型中只區分用戶感興趣和不感興趣兩大類的用戶模型表示方法;而細興趣粒度表示則要在用戶模型中區分用戶的興趣主題。粗、細興趣粒度表示法往往與前五種用戶模型表示法結合起來使用。粗、細興趣粒度表示用戶模型的形式如表2.2和表2.3所示。
表2.2 用戶模型的粗興趣粒度表示

表2.3 用戶模型的細興趣粒度表示

在現有的個性化服務系統中,用戶模型大多采用粗興趣粒度表示法,這是因為粗興趣粒度用戶建模實現起來較為簡單,可以借鑒成熟的機器學習方法。而采用細興趣粒度表示法的系統相對較少。但是細興趣粒度用戶模型更能細致地刻畫用戶的興趣和偏好,也利于用戶理解和修改模型,能提供更高質量的個性化服務。
在上述六種表示法大都需要知道用戶感興趣的關鍵詞。讓用戶手工輸入關鍵詞固然是一種可行的方法,但是這樣會給用戶帶來額外的負擔,而且用戶自己也未必能詳盡的羅列出自己感興趣信息的關鍵詞。因而通過機器學習算法獲得用戶興趣的關鍵詞是用戶建模的重要手段。
4.用戶建模技術的分類[16]
根據建模過程中用戶的參與程度,用戶建模技術可以分為用戶手工定制建模、示例用戶建模和自動用戶建模。
(1)用戶手工定制建模。是指用戶自己手工輸入或選擇感興趣的信息,例如用戶手工輸入感興趣的關鍵詞列表,或者在系統提交給用戶的一張表格上選擇感興趣的欄目等。用戶手工定制建模是用戶建模方法中最為簡單的方法,在個性化服務發展的早期,用戶手工定制建模是用戶建模的主要方法。用戶手工定制建模方法實現簡單,也具有較好的效果,但它也存在一些問題,例如:完全依賴于用戶,容易降低用戶使用系統的積極性;即使用戶樂意手工輸入用戶模型,用戶也難以全面、準確地羅列自己感興趣的欄目或關鍵詞,從而導致用戶模型不夠準確;當用戶興趣發生變化時,用戶必須重新輸入興趣信息。
(2)示例用戶建模。是指由用戶提供與自己興趣相關的示例及其類別屬性來建立用戶模型的建模方法。由于用戶對自己的興趣和偏好等最有發言權,因而用戶提供的有關自己興趣的示例最能集中、準確地反映用戶的興趣。這種方法一般要求對瀏覽過的內容,如網站頁面,標注感興趣、不感興趣或者感興趣的程度。瀏覽過的頁面及相應的標注成為用戶建模的示例。在得到示例以后,系統通過機器學習算法從示例中抽取關鍵詞構成反映用戶興趣的用戶模型。與用戶手工定制建模方法相比,示例用戶建模對用戶的依賴要少,構建的用戶模型也更能全面地反映用戶的興趣。但是示例用戶建模方法常常需要用戶在瀏覽的過程中標注頁面,這嚴重干擾了用戶的正常瀏覽過程,降低了用戶體驗水平。
(3)自動用戶建模。是指根據用戶的隱式反饋信息自動構建用戶模型,建模過程無須用戶干預。這種方法實際上是改進了示例用戶建模方法中的示例獲取途徑,將其轉化為無須用戶標注的自動示例獲取方法。這種方法雖然實現簡單,但容易引入噪聲,不利于構建高質量的用戶模型。總的來說,自動用戶建模由于無須用戶主動提供信息,因而不會造成對用戶的干擾,有利于提高個性化服務系統的易用性和促進個性化服務的發展,是用戶建模技術發展的趨勢。
5.用戶模型的更新[16]
用戶興趣是隨時間的推移而動態變化的,一些用戶原本感興趣的內容會隨時間的推移漸漸被遺忘,而新的興趣也會逐漸產生。在用戶第一次使用個性化系統時,根據用戶注冊信息或提供的興趣信息建立了初始的用戶模型來描述用戶的個人興趣,這可以看作用戶興趣的一個靜態描述,它在與用戶的交互過程中是不發生改變的,當用戶興趣隨時間推移而動態變化時,用戶模型也隨著改變,就能真實地反映用戶當前的興趣。在系統與用戶的交互過程中,一旦學習到用戶新的興趣,就需要自適應地修改用戶興趣的動態描述;用戶也可以自主修改當前的用戶模型,這樣,系統就可以隨著用戶興趣的變化而變化。
用戶模型的更新通常有兩種方法,顯式更新和隱式更新。顯式更新,即根據用戶的反饋信息進行更新,要求用戶在每次瀏覽結束時,對頁面進行反饋和評價,例如,用戶瀏覽完一個頁面時,標注感興趣與否或者感興趣程度,系統據此對用戶模型進行更新。這種做法很難收到實效,因為需要中斷用戶的正常瀏覽和閱讀過程,而很少有用戶向系統主動表達自己的喜好。隱式更新,即根據用戶訪問的信息進行更新,不需要用戶的參與,主要是利用用戶的瀏覽行為信息進行用戶模型的更新。個性化服務系統都要時刻關注用戶興趣的變化,更新用戶模型是系統不可缺少的一部分。