政府信息化中的人机交互技术应用
来源:《中国新技术新产品》
作者:苏朋艳
摘要:在政府信息化应用当中,友好的人机交互环境可以让政府的工作人员更加方便的使用计算机系统,对应用系统项目的推广起到很大作用。规则研究是人机交互技术的关键点,因此,人机交互技术的应用是个急需解决的实际问题。
关键词:政府信息化;人机交互;规则;规则引擎
1 研究的背景及意义
随着政府信息化建设的不断发展和深入,各级政府部门都相应的建立了自己的信息化系统和比较专业的业务信息系统,在这些系统不断发展的今天,一个现象尤为突出起来,那就是很多专业的系统和信息化应用在建设之初都是规划完好,设计先进,各个部门的人员也都比较配合,但到了真正使用推广的时候却显得有些阻力重重,很多意见和反对声音都不约而同的体现出来,其中很重要的一个原因就是信息系统显得很难操作和使用,同工作人员日常的行为习惯不相匹配。这其中有部分原因属于政府的工作人员,但也有些原因要归咎于系统的不友好的人机交互界面,这种界面让使用人员感到困惑和难以使用。
在政府信息化应用当中,最为突出的一个问题就是如何让政府的工作人员更加方便的使用计算机系统特别是比较复杂的业务信息系统,这也是很多应用系统项目在进行推广工作时所面临的一个很大的阻碍。
解决这个问题最直接的方式就是让政府的业务工作人员在使用计算机系统时仍然使用他们日常所熟悉的业务术语而不是需要具有一定计算机专业知识的人员才能明白的计算机术语。由计算机系统根据一定的规则对业务人员输入的业务语句进行分析,然后转化成计算机可以理解并且执行的计算机语句,在计算机执行完这些操作后再转化成政府人员能够理解的业务术语显示给使用人员。换言之,人机交互问题是个急需解决的实际问题,而作为开发人员,为用户提供友好的人机交互界面是成功的一个必不可少的因素。
2 人机交互的概念及发展
2.1 人机交互技术的概念
人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。
2.2 人机交互技术的发展
自1946 年第一台计算机ENIAC 诞生到现在,人机交互技术已经历了巨大的变化和发展:就用户界面的具体形式而言,过去经历了批处理、联机终端(命令接口)、(文本)菜单等多通道—— 多媒体用户界面和虚拟现实系统。
就用户界面中信息载体类型而言,经历了以文本为主的字符用户界面(CUI)、以二维图形为主的图形用户界面(GUI)和多媒体用户界面,计算机与用户之间的通信带宽不断提高。
就计算机输出信息的形式而言,经历了以符号为主的字符命令语言、以视觉感知为主的图形用户界面、兼顾听觉感知的多媒体用户界面和综合运用多种感观(包括触觉等)的虚拟现实系统。
就人机界面中的信息维度而言,经历了一维信息(主要指文本流,如早期电传式终端)、二维信息(主要是二维图形技术,利用了色彩、形状、纹理等维度信息)、三维信息(主要是三维图形技术,但显示技术仍利用二维平面为主)和多维信息(多通道的多维信息)空间。
人民大学商学院教授、人机交互专家毛基业认为:“人机交互技术无论发展到什么程度,都必须围绕以用户为中心的宗旨”。不论从何种角度看,人机交互发展的趋势体现了对人的因素的不断重视,使人机交互更接近于自然的形式,使用户能利用日常的自然技能,不需经过特别的努力和学习,认知负荷降低,工作效率提高。这种“以人为中心”的思想在人机交互技术的研究中得到明显的体现。
3 友好人机交互技术中的规则研究
本文讨论的人机交互技术仅仅限于对于业务人员熟悉的业务语言如何通过计算机的转化技术变成机器可以理解的语言,使人员熟悉的语言通过人机交互技术转变为机器可以执行的语句,从而实现良好的人机交互沟通。为了使计算机能够理解并且执行业务人员的语言和命令,需要一套完整的转化程序,这个程序负责把业务人员熟悉的自然语言或者业务术语转化为计算机可以理解并执行的语句,这套转化语言成为规则定义或者规则库。
3.1 规则引擎的概念
本文论述的人机交互技术主要就是通过规则引擎来实现的。规则引擎是一种根据规则中包含的指定过滤条件,判断其能否匹配运行时刻的实时条件来执行规则中所规定的动作的引擎。与规则引擎相关的有四个基本概念:
信息元。信息元是规则引擎的基本建筑块,它是一个包含了特定事件的所有信息的对象。这些信息包括:消息、产生事件的应用程序标识、事件产生事件、信息元类型、相关规则集、通方法、通用属性以及一些系统相关信息等等。信息服务。信息服务产生信息元对象。每个信息服务产生它自己类型相对应的信息元对象。即特定信息服务根据信息元所产生每个信息元对象有相同的格式,但可以有不同的属性和规则集。需要注意的是,在一台机器上可以运行许多不同的信息服务,还可以运行同一信息服务的不同实例。但无论如何,每个信息服务只产生它自己类型相对应的信息元。
规则集。顾名思义,规则集就是许多规则的集合。每条规则包含一个条件过滤器和多个动作。一个条件过滤器可以包含多个过滤条件。条件过滤器是多个布尔表达式的组合,其组合结果仍然是一个布尔类型的。在程序运行时,动作将会在条件过滤器值为真的情况下执行。除了一般的执行动作,还有三类比较特别的动作,它们分别是:放弃动作(Discard Action)、包含动作(Include Action)和使信息元对象内容持久化的动作。
队列管理器。队列管理器用来管理来自不同信息服务的信息元对象的队列。
3.2 Rete 算法
规则引擎存在两种类似于人类思维的推理方式:演绎法(Forward-Chaining)和归纳法(Backward-Chaining)。演绎法从一个初始的事实出发,不断地应用规则得出结论(或执行指定的动作)。而归纳法则是从假设出发,不断地寻找符合假设的事实。
Rete 算法是目前效率最高的一个Forward-Chaining 推理算法,是卡内基美隆大学的Charles L.Forgy 在1974 年阐述的算法,用来实现产生式规则系统的高效模式匹配。Rete 算法可以分为两部分:规则编译(rulecompilatio)和运行时执行(runtime execution)。
规则编译方法是通过数据在网络中的传播来过滤数据。在顶端节点将会有很多匹配的数据。顺着网络向下走,匹配的数据将会越来越少,直至网络的最底部终端节点(terminal nodes)。运行时执行描述了当一个应用assert 一个对象,引擎将数据传递到rootnode。从那里,它进入ObjectTypeNode 并沿着网络向下传播。当数据匹配一个节点的条件,节点就将它记录到相应的内存中。
Rete 规则引擎的推理步骤如下:将初始数据(fact)输入Working Memory;使用Pattern Matcher 比较规则(rule)和数据(fact);如果执行规则存在冲突(conflict),即同时激活了多个规则,将冲突的规则放入冲突集合;解决冲突,将激活的规则按顺序放入Agenda;使用规则引擎执行Agenda 中的规则。重复步骤2)至5),直到执行完毕所有Agenda 中的规则。
4 友好人机交互技术的应用
下面是人机交互的一个实际案例,在这个案例中把人机交互技术应用到政府的经济管理系统中,通过政府经济部门的工作人员输入业务语言获得相应的计算机运行结果。
政府的工作人员通过系统提供的人机交互界面输入日常使用的业务术语来配置业务规则,系统通过实现存储的规则集中的规则对输入的业务语言进行解读,将它翻译成计算机可以执行的代码,并在系统中运行。这是一个典型的规则引擎在政府信息化项目中的应用。
5 结束语
人机交互是计算机系统的重要组成部分,是当前计算机行业竞争的焦点,它的好坏直接影响计算机的可用性和效率,计算机处理速度和性能的迅猛提高并没有相应提高用户使用计算机交互的能力,其中一个重要原因就是缺少一个与之相适应的高效、自然的人--计算机界面。人机交互是未来IT 的核心技术,更是决定一个项目成功与否的关键因素,如果在开发过程中始终能贯彻“以人为中心”的思想,相信一定能开发出人性化的、具有友好人机交互界面的产品,提高政府信息化办公的效率。
参考文献
[1]李学庆.《人机交互技术(原理与应用)》.清华大学出版社,2004.9
[2]Janet Finlay.《人机交互(第二版)》. 电子工业出版社,2003.2.
[3]刘伟,袁修干.《人机交互设计与评价》.科学出版社.2008.1.
[4]马卫娟,方志刚.人机交互风格及其发展趋势.航空计算技术,1999 年第29 卷第3 期;
[5]李天科.以人为本的人机界面设计思想.计算机工程与设计,
[6]方志刚,吴晓波,马卫娟.人机交互技术研究新进展[J].计算机工程与设计,1998,19(1):59-64.
[7]Java 规则引擎工作原理及其应用资料引用:http://www.knowsky.com/368736.html
[8]rete 算法,资料引用http://chillwarmoon.javaeye.com
[9]兰哲.软件人机界面设计的认知基础[J].山西科技,1998,(3):41-42.
[10]柴乔林,陈承文,朱红.如何使计算机更友好-谈人机界面设计[J].计算机工程与设计,2001,22(6):63-65.
[11]李岩芳.基于认知规律的CAI 课件人机界面设计[J].长春光学精密机械学院学报,2001,24(1):51-53.
[12]Java 规则引擎的工作原理及其实际应用. 资料引用:51CTO.com 网站.
[13]李国乐. 详解Java 规则引擎与其API.天极网.
[14] 执木. Java 的规则引擎工作原理及其应用. 赛迪网. 2007.12.