- 人机交互概论:从理论到应用
- 程时伟
- 4155字
- 2025-04-14 13:34:13
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]
用户兴趣是随时间的推移而动态变化的,一些用户原本感兴趣的内容会随时间的推移渐渐被遗忘,而新的兴趣也会逐渐产生。在用户第一次使用个性化系统时,根据用户注册信息或提供的兴趣信息建立了初始的用户模型来描述用户的个人兴趣,这可以看作用户兴趣的一个静态描述,它在与用户的交互过程中是不发生改变的,当用户兴趣随时间推移而动态变化时,用户模型也随着改变,就能真实地反映用户当前的兴趣。在系统与用户的交互过程中,一旦学习到用户新的兴趣,就需要自适应地修改用户兴趣的动态描述;用户也可以自主修改当前的用户模型,这样,系统就可以随着用户兴趣的变化而变化。
用户模型的更新通常有两种方法,显式更新和隐式更新。显式更新,即根据用户的反馈信息进行更新,要求用户在每次浏览结束时,对页面进行反馈和评价,例如,用户浏览完一个页面时,标注感兴趣与否或者感兴趣程度,系统据此对用户模型进行更新。这种做法很难收到实效,因为需要中断用户的正常浏览和阅读过程,而很少有用户向系统主动表达自己的喜好。隐式更新,即根据用户访问的信息进行更新,不需要用户的参与,主要是利用用户的浏览行为信息进行用户模型的更新。个性化服务系统都要时刻关注用户兴趣的变化,更新用户模型是系统不可缺少的一部分。