Page 453 - 《软件学报》2024年第4期
P. 453
仝青山 等: 面向指-笔混合输入的交互原语和交互模型研究 2031
任务. 当前输入的具有多义性的交互原语, 可以从上下文中获取到更多的语义信息. 用户在本次交互之前输入的交
互原语序列或者历史交互记录蕴含着许多有价值的信息, 对这些潜在信息的挖掘和利用是解决指-笔混合输入意
图不确定性的关键, 而能够对部分可观测的时序数据建模的 POMDP 是解决这类问题的一种有效方法.
在用户利用指、笔持续输入的过程中, 我们得到的信息是不完整的, 利用部分信息提取到的用户意图具有很
高的不精确性, 但随着交互原语的持续输入系统可以获取到的有价值信息越来越多, 交互意图逐步由不确定性向
确定性转化. 因此, 利用 POMDP 进行意图推断的方法具有增量特征, 是一种增量式交互意图提取方法.
在人工智能领域, POMDP 描述了 Agent 在不确定性环境中的运行方式, 一般可以用一个 8 元组来定义, 即
[28] 表示状态空间, 是一组机器状态 表示动作空间, 是机器可能执行的
< S,A,T,R,Ω,O,γ,b 0 > . 其中, S s 的集合; A
动作 a 的集合; T 表示系统的状态转移函数集合, T(s,a, s ) = P(s |a, s) , 表示在当前状态 s 下执行动作 a 转移到状
′
′
′
态 s 的概率; R 表示回报函数的集合, R(s,a) 表示在状态 s 下执行动作 a 所获得的即时收益; Ω 表示观测空间, 是
所有观测 o 的集合; O : S × A → Π(Ω) 表示观测函数的集合, 观测函数用 O(s ,a,o) = P(o|s ,a) 表示, 为执行动作 a
′
′
s 的情况下得到观测 o
′
并且转移到状态 的概率; γ ∈ [0,1] 是折扣系数; b 0 表示初始信念状态.
在指-笔混合输入的系统中, 我们用 s t 表示系统 t 时刻的不可完全观测状态, 它隐含了 3 个方面的信息: 用户
a t 表示 t 时刻的机器动作, 它是用户的交互行为在系统
的最终意图、当前输入的交互原语、历史交互记录等; 用
o t 表示 t 时刻所能观测到的状态特征, 如系统中可视化构
中的映射, 表现为交互原语识别后所执行的交互任务; 用
件的选中状态、选中的数目、位置信息的变化等.
通过指-笔混合输入系统的建模, 可将交互原语意图提取问题转化为 POMDP 决策问题. POMDP 具有出色的
建模能力, 但其精确求解所带来的高计算复杂度使其难以应用; 近些年, 其近似求解方法取得了巨大进展并被广泛
使用, 如 PBVI [29] 、FBVI、Perseus、POMCP、DESPOT 等求解算法. 引入信念状态将 POMDP 转化为 Belief MDP
是使用最为广泛的一种求解方案, 很多求解算法都是基于该思想. 引入信念状态后, 不可完全观测的系统状态可以
通过一个完整的动作、观测序列来逐步推断系统状态的变化, 这一前后相继的时序序列被称为历史, 可用
h t = {a 1 ,o 1 ,a 2 ,o 2 ,...,a t ,o t } 表示, t 时刻的信念状态可表示为 b t = P(s t |a t ,o t ,a t−1 ,o t−1 ,..., a 0 ,o 0 , s 0 ) . 此时, POMDP 问题
求解的核心是寻求一个 (近似) 最优策略, 即将内部信念状态映射到动作的最优函数, 通常用 π 、 π(b) 或 π(b 0 ,h t ) 来
表示, 并且有 π(b) ∈ A .
使用 POMDP 进行用户意图提取的最终目的, 是为了通过对交互意图的建模使系统选择最优的机器动作, 表
现为实现折扣回报和的期望最大, 可用公式 (1) 来表示, 其中 π 为最优策略.
∗
∞
∑ ∑
∗ t
π = argmaxE γ b t (s)R(s,π(b t )) (1)
t=0 s∈S
4.2 意图提取示例
考虑到人的记忆容量和人的交互动作的复杂性, 有些指-笔混合交互原语会有多种交互意图, 接下来我们以指-
笔并行交互原语 HoldLeft 为例, 展示意图提取方法的具体示例.
状态空间 S = {s 0 , s 1 , s 2 } , 用来表征当前动作对后续交互原语 HoldLeft 多意图提取的影响, 空间中的状态可以
表示为 s i = < Position,SelectionCount,Intention > , 蕴含了位置、可视化构件选择数和意图等特征. 在集合中, s 0 用
于表示左对齐, s 1 表示撤销, s 2 表示返回上一界面 (或退出当前界面).
动作空间 A = {a 0 ,a 1 ,a 2 ,a 3 } , 是机器动作的集合, 当交互原语具有唯一性时, 机器动作可以用交互原语来表示.
a 0 表示点击动作, 用于选取构件或点击屏幕 (Tap a 1 表示移动动作, 可以用于改变构件的位置
其中, 交互原语);
(Pan 交互原语); a 2 表示批量选取动作, 可以同时选中多个构件 (Drag 交互原语); a 3 表示增量选取动作, 用于增选
或减选构件 (HoldTap 交互原语).
观察空间 Ω = {o 0 ,o 1 ,o 2 ,o 3 ,o 4 ,o 5 } . 其中, o 0 表示观察到各个构件都处于常态, 即没有构件被选中并且没有构件
的位置刚刚发生改变; o 1 表示观察到有一个构件被选中; o 2 表示观察到多个构件被选中; o 3 表示观察到多个构件
以某构件的左边为参照进行了移动; o 4 表示观察到系统返回到上一次操作的状态, 主要表现为选中项目数和位置