Human-Computer Interaction
- 格式:pdf
- 大小:53.61 KB
- 文档页数:11
人机交互技术在游戏设计中的应用人机交互技术(Human-Computer Interaction, HCI)是指人类与计算机之间进行信息交互的过程和技术。
随着信息技术的不断发展,人机交互技术在各个领域得到广泛应用,游戏设计领域也不例外。
本文将探讨人机交互技术在游戏设计中的应用,并分析其对游戏体验的提升。
一、触摸屏技术在游戏设计中的应用触摸屏技术是一种直接使用手指或触控笔进行操作的技术,它摒弃了传统游戏设备中的按键和摇杆,使得游戏玩家可以更直接地与游戏进行互动。
触摸屏技术被广泛应用于智能手机、平板电脑等移动设备上的游戏中。
以《愤怒的小鸟》为例,该游戏利用触摸屏技术实现了简单直观的游戏操作。
玩家通过触摸屏幕来调整弹弓的力度和方向,然后释放小鸟,以击中敌人并完成关卡。
触摸屏技术使得游戏操作更加灵活便捷,增强了游戏的可玩性和娱乐性。
二、体感控制技术在游戏设计中的应用体感控制技术是一种通过感应人体动作来进行游戏控制的技术。
它利用摄像头、加速度传感器等设备来识别和捕捉玩家的肢体动作,将其转化为游戏中的操作指令。
《Wii运动》是一款广泛使用体感控制技术的游戏。
通过Wii遥控器和红外线摄像头,玩家可以模拟打网球、投篮、击剑等动作,身临其境地参与游戏。
体感控制技术的应用不仅增加了游戏的趣味性,也提供了一种全新的游戏方式,使人们更加积极地参与其中。
三、虚拟现实技术在游戏设计中的应用虚拟现实技术(Virtual Reality, VR)是一种可以模拟真实环境并进行人机交互的技术。
通过佩戴VR头盔和手柄,玩家可以进入游戏世界,并与虚拟环境进行互动。
《全景战争》是一款运用虚拟现实技术的战争策略游戏。
在游戏中,玩家可以通过头部转动来观察3D场景,并通过手柄进行指挥。
虚拟现实技术使得玩家感受到身临其境的沉浸式游戏体验,进一步增强了游戏的真实感和刺激性。
四、语音识别技术在游戏设计中的应用语音识别技术是一种通过识别和理解人类语音指令来进行游戏操作的技术。
人工智能常见名词解释人工智能(Artificial Intelligence,简称AI)是指模拟和复制人类智能的理论、方法、技术和应用系统,以使机器能够像人一样具备推理、学习、认知、创造和适应等能力。
1. 机器学习(Machine Learning)机器学习是一种人工智能的分支领域,通过给机器提供大量数据和算法,使机器能够自动学习和改进性能。
机器学习的主要方法包括监督学习、无监督学习和强化学习。
2. 深度学习(Deep Learning)深度学习是机器学习的一种特殊形式,通过构建深层神经网络模型,模拟人脑的神经网络结构,从而实现更高级别的学习和推理能力。
深度学习在图像识别、语音识别和自然语言处理等方面取得了显著的成果。
3. 自然语言处理(Natural Language Processing,简称NLP)自然语言处理是将人类语言与计算机进行交互和通信的技术。
它涵盖了语音识别、机器翻译、情感分析和信息检索等领域,旨在使计算机能够理解、分析和生成自然语言。
4. 机器视觉(Computer Vision)机器视觉是指让计算机通过摄像头或其他传感器来感知和理解图像或视频的能力。
机器视觉在人脸识别、目标检测和图像分析等方面应用广泛,可以用于自动驾驶、安防监控等领域。
5. 数据挖掘(Data Mining)数据挖掘是从大量数据中发现模式、关系和趋势的过程。
通过运用各种统计学和机器学习的方法,数据挖掘可以从原始数据中提取出有价值的信息,并应用于商业智能、市场分析和风险预测等领域。
6. 强化学习(Reinforcement Learning)强化学习是一种通过试错和奖惩机制来训练智能体的学习方法。
智能体通过与环境的交互不断尝试,根据环境的反馈来调整自己的行为,以达到最大化奖励的目标。
强化学习在游戏、机器人控制和交通优化等领域具有广泛的应用潜力。
7. 语音识别(Speech Recognition)语音识别是将人类语音转换为文字或命令的技术。
Human-Computer Interaction Human-Computer Interaction (HCI) is a crucial aspect of technology thatfocuses on the interaction between humans and computers. It plays a significantrole in shaping how we interact with technology and how technology can be designed to meet the needs and preferences of users. HCI encompasses various disciplines such as computer science, psychology, design, and usability, all working together to create user-friendly and efficient interfaces. One of the key requirements in HCI is to ensure that the design of technology is user-centered. This means that the needs, preferences, and abilities of the users should be at the forefront of the design process. By understanding the users' behaviors, motivations, and goals, designers can create interfaces that are intuitive, easy to use, and enjoyable. User-centered design also involves conducting user research, usability testing,and gathering feedback to continuously improve the interface based on user input. Another important aspect of HCI is accessibility. Designing technology that is accessible to all users, including those with disabilities, is essential for creating inclusive and equitable experiences. This involves considering factors such as visual, auditory, motor, and cognitive impairments, and designinginterfaces that accommodate different needs. Accessibility in HCI is not only a legal requirement but also a moral imperative to ensure that technology is usable by everyone. In addition to user-centered design and accessibility, HCI also focuses on the emotional aspect of technology. Emotions play a significant role in how users interact with technology, influencing their decisions, behaviors, and overall experience. Designing interfaces that evoke positive emotions, such as joy, satisfaction, and trust, can enhance user engagement and satisfaction. On theother hand, interfaces that evoke negative emotions, such as frustration, confusion, and anxiety, can lead to user dissatisfaction and abandonment. Moreover, HCI also considers the cultural and social aspects of technology. Different cultures have unique values, beliefs, and norms that influence howpeople perceive and interact with technology. Designing interfaces that are culturally sensitive and inclusive can help bridge cultural barriers and create meaningful experiences for users from diverse backgrounds. Furthermore,considering the social implications of technology, such as privacy, security, andethics, is crucial in ensuring that technology benefits society as a whole. Overall, HCI plays a vital role in shaping the relationship between humans and computers. By focusing on user-centered design, accessibility, emotions, culture, and society, HCI aims to create technology that is not only functional and efficient but also user-friendly, inclusive, and meaningful. As technology continues to evolve and become more integrated into our daily lives, the principles of HCI will become increasingly important in designing technology that enhances the human experience.。
习题11.什么是人机交互?人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。
它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。
人机交互技术是计算机用户界面设计中的重要内容之一。
它与认知学、人机工程学、心理学等学科领域有密切的联系。
1.简单介绍人机交互技术的研究内容。
1.人机交互界面表示模型与设计方法2.可用性分析与评估3.多通道交互技术4.认知与智能用户界面5.群件6.Web设计7.移动界面设计。
2.简单介绍人机交互技术的发展历史。
人机交互的发展过程,也是人适应计算机到计算机不断地适应人的发展过程。
它经历了几个阶段:命令行图形用户界面自然和谐的交互1.命令行界面交互阶段计算机语言经历了由最初的机器语言,而后是汇编语言,直至高级语言的发展过程。
这个过程也可以看作早期的人机交互的一个发展过程2.图形用户界面(GUI)交互阶段1)图形用户界面(Graphical User Interface,GUI)的出现,使人机交互方式发生了巨大变化。
GUI 的主要特点是桌面隐喻、WIMP技术、直接操纵和“所见即所得”。
2)与命令行界面相比,图形用户界面的人机交互自然性和效率都有较大的提高。
图形用户界面很大程度上依赖于菜单选择和交互小组件(Widget)。
3)图形用户界面给有经验的用户造成不方便,他们有时倾向使用命令键而不是选择菜单,且在输入信息时用户只能使用手这一种输入通道。
4)图形用户界面需要占用较多的屏幕空间,并且难以表达和支持非空间性的抽象信息的交互。
3.自然和谐的人机交互阶段随着虚拟现实、移动计算、无处不在计算等技术的飞速发展,自然和谐的人机交互方式得到了一定的发展。
基于语音、手写体、姿势、视线跟踪、表情等输入手段的多通道交互是其主要特点,其目的是使人能以声音、动作、表情等自然方式进行交互操作。
人机交互工程专业英语英文回答:Human-Computer Interaction Engineering (HCI) combines computer science, design, and psychology to create interactive systems that are usable, efficient, and enjoyable to use. It encompasses a wide range of fields, including:User experience (UX) design: The process of creating products and services that are easy to use and meet the needs of users.Interaction design: The design of the ways in which users interact with computer systems, including the design of user interfaces, input devices, and output devices.Information architecture: The organization and structuring of information in a way that makes it easy for users to find and access.Usability engineering: The process of evaluating and improving the usability of computer systems.Human factors engineering: The study of how humans interact with machines and environments, and how to design systems that are compatible with human needs and capabilities.HCI is a critical field for creating technology that is both effective and enjoyable to use. By understanding the needs and capabilities of users, HCI engineers can design systems that are tailored to their specific requirements.中文回答:人机交互工程。
沉浸式自然人机交互综述人机交互(Human–Computer Interaction)是实现用户与计算机之间信息交换的通路,由Liklider JCR于上世纪六十年代首次提出的人机紧密共栖的概念发展而来。
在历史上,人机交互经历了三次重要的转变。
首先是由苹果公司设计出了世界上第一款大众普及鼠标Lisa,实现了比传统键盘更加人性化的操作需求;其次是苹果公司将多点触控技术推向大众,颠覆了传统键盘、鼠标的人机交互模式,引发了基于手势的人机交互革命;然后是由微软公司设计的Kinect设备,通过利用即时动作捕捉、影响识别、麦克风输入、语音识别等技术,实现了人机交互从多点触控技术向体感技术的飞跃。
并且该技术引发了关于新一代人机交互研究的热潮。
伴随着人机交互技术的发展、计算机的普及以及性能的提升,酝酿着新一代以人工智能技术为基础的科技革命。
在这新一代的科技革命的浪潮下,我国科技部于二零一六年六月印发了《“十三五”国家社会发展科技创新规划》的通知,并且提出我国在十三五规划期间的一些重大科技攻关项目,其中提出了关于战略性新兴行业发展计划以及对新一代信息技术产业创新、空间信息智能感知等一系列要求。
并且我国为了突出“中国智造”的理念,又于二零一七年的十九大把科技创新作为报告的重要内容。
在国家制定十三五规划纲要和十九大之后,河南省郑州市积极响应国家号召,于二零一六年印发了《郑州市国民经济和社会发展第十三个五年规划纲要(讨论稿)》,把科技创新作为郑州发展的动力。
在国家和政府的大力支持下,科技创新尤其是信息产业迎来了前所未有的发展机遇。
并且在十九大提出了现阶段“我国社会主要矛盾已经转化为人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾”,因此提高人民的生活质量和生活水平已成为我国现在的主要任务,而沉浸式技术在人民的生活中所可以带来的改变是巨大的。
尤其是随着计算机技术、沉浸式技术和体感设备的不断发展,如果人民可以足不出户就可以享受到来自世界各地的资源,那么这对于人民生活的改善是非常有价值的。
The Study of Human-Computer Interaction Human-computer interaction (HCI) is a multidisciplinary field that focuses on the design, evaluation, and implementation of interactive computing systems for human use. It involves studying how people interact with computers and designing technologies that let humans interact with computers in novel ways. HCI encompasses a wide range of topics, including user interface design, usability, accessibility, and user experience. It also draws from fields such as computer science, psychology, sociology, and design to understand and improve theinteraction between humans and computers. One of the key challenges in HCI is designing interfaces that are intuitive and easy to use. This involves understanding the cognitive and perceptual abilities of users and designing interfaces that match their mental models. For example, when designing a mobile app, HCI researchers need to consider how users will navigate through the app, how they will input information, and how they will understand the feedback provided by the app. This requires a deep understanding of human psychology and behavior, as well as the ability to translate that understanding into practical design principles. Another important aspect of HCI is accessibility. HCI researchers and practitioners strive to make computing systems accessible to people with disabilities, ensuring that everyone can use technology regardless of their physical or cognitive abilities. This involves designing interfaces that can be used with assistive technologies, such as screen readers or alternative input devices, as well as conducting user studies with people with disabilities to understand their needs and challenges. In addition to usability and accessibility, HCI also focuses on user experience (UX), which encompasses the overall experience of using a product or system. This includes not only the usability of the interface, but also the emotional and affective responses that users have when interacting with technology. For example, a well-designed website not only allows users to easily find the information they need, but also evokes positive emotions and a sense of satisfaction. HCI researchers often use qualitative research methods, such as interviews and observations, to understand the emotional and experiential aspects of user interaction. From a technological perspective, HCI involves developing new interaction techniques and technologies that enable novelways for humans to interact with computers. This can include touch and gesture-based interfaces, voice recognition systems, and virtual reality environments. These technologies have the potential to revolutionize the way we interact with computers and open up new possibilities for communication, creativity, and productivity. Overall, HCI is a dynamic and rapidly evolving field that plays a critical role in shaping the future of computing. By understanding and improving the ways in which humans and computers interact, HCI researchers and practitioners are driving innovation and creating technologies that are more intuitive, accessible, and enjoyable to use. As technology continues to advance, the importance of HCI will only grow, as it will be essential to ensure that new technologies are designed with the needs and abilities of humans in mind.。
人机交互的软件工程方法人机交互(Human-Computer Interaction,简称HCI)是指人类与计算机之间进行信息交流和互动的过程。
在软件工程中,人机交互的方法和技术起到至关重要的作用,能够帮助开发人员设计和实现用户友好的软件系统。
首先,人机交互的软件工程方法包括用户需求调研与分析。
在软件开发过程中,了解用户的需求和期望非常重要。
通过定期与用户交流、使用问卷调查和观察用户的行为等方法,开发人员可以准确捕捉用户的真实需求,从而为他们提供更好的体验和功能。
其次,设计与呈现是人机交互中的关键步骤。
开发人员需要使用丰富的设计工具和技术来制定用户界面和交互设计,以确保用户能够方便、直观地使用软件系统。
在设计过程中,人机交互专家需要考虑用户的心理模型、习惯和认知特点,以及不同平台(如手机、平板、桌面电脑等)的特殊要求。
另外,软件工程中的人机交互方法还包括开发与测试阶段。
在实现软件系统的过程中,开发人员需要使用可视化设计工具、编程语言和框架来创建用户界面,并结合用户反馈进行迭代改进。
同时,测试人员负责对用户界面的可用性、易用性和用户满意度等进行评估,以发现和解决潜在的问题。
最后,人机交互的软件工程方法强调评估与持续改进。
为了确保软件系统的质量和用户满意度,开发团队应该通过用户调查、用户测试和用户反馈等方式进行评估。
通过收集用户的意见和建议,开发人员可以不断改进用户界面和交互设计,提升系统的易用性和用户体验。
总结起来,人机交互的软件工程方法是一个综合性的过程,它涉及到用户需求调研、设计与呈现、开发与测试以及评估与改进等多个环节。
借助这些方法和技术,开发人员能够设计出用户友好的软件系统,提升用户的满意度和使用体验。
人机交互新技术英语## Emerging Technologies in Human-Computer Interaction.英文回答:Human-computer interaction (HCI) is a rapidly evolving field that is constantly being shaped by new technologies. These technologies are making it possible for us tointeract with computers in more natural and intuitive ways, and are opening up new possibilities for human-computer collaboration.Some of the most exciting new technologies in HCI include:Natural language processing (NLP): NLP enables computers to understand and respond to human language. This is making it possible to create more natural and conversational user interfaces, and to develop applications that can assist us with tasks such as language translationand document summarization.Artificial intelligence (AI): AI can be used to create intelligent agents that can learn from their experiences and adapt to their users. This is making it possible to develop more personalized and responsive interactive systems.Virtual reality (VR) and augmented reality (AR): VR and AR are immersive technologies that can transport users to other worlds or overlay digital information onto thereal world. These technologies are being used to create new forms of entertainment and education, and to assist with tasks such as training and design.Wearable devices: Wearable devices, such as smartwatches and fitness trackers, are becomingincreasingly popular. These devices can collect data about our activity levels, sleep patterns, and other health-related metrics. This data can be used to provide us with insights into our health and wellness, and to help us make better lifestyle choices.中文回答:人机交互(HCI)是一个快速发展的领域,不断受到新技术的塑造。
任务名称:人机交互通俗解释一、什么是人机交互?1.1 人机交互的定义人机交互(Human-Computer Interaction,简称HCI)是指人与计算机或其他数字设备之间的交互过程。
它关注如何设计和开发人们可以轻松、高效地与计算机交互的界面,以实现用户友好的体验。
1.2 人机交互的重要性人机交互的目标是使用户能够在使用计算机时感到舒适和便利。
良好的人机交互设计可以提高用户的工作效率、降低出错率,并增强用户的满意度。
随着技术的不断进步,人机交互在计算机领域中扮演着越来越重要的角色。
二、人机交互的原理和设计2.1 认知心理学在人机交互中的应用认知心理学研究了人类的认知过程和信息处理方式,它对人机交互的设计具有指导作用。
设计人机交互界面时,可以利用认知心理学的原理,以更好地满足用户的需求和期望。
2.2 用户中心设计思想用户中心设计思想强调将最终用户的需求放在设计的核心位置。
要实现良好的人机交互,设计师需要深入了解用户的特点、行为模式和偏好,并根据这些信息进行界面设计。
2.3 可用性和易用性的考虑在设计人机交互界面时,可用性和易用性是重要的考虑因素。
可用性指用户对界面的理解和操作的容易程度,易用性则强调界面的简洁性和直观性。
通过提高可用性和易用性,可以减少用户的学习成本,提高用户的工作效率。
2.4 响应时间和反馈机制人机交互中的响应时间和反馈机制对用户体验起着至关重要的作用。
快速的响应时间和适当的反馈机制可以增强用户的参与感,使用户感到与计算机之间存在一种有效的互动。
三、人机交互的发展和应用3.1 人机交互的发展历程人机交互作为一个学科领域,已经有着悠久的发展历史。
从最早的命令行界面到现代的图形用户界面再到近年来的触摸屏和语音控制,人机交互经历了许多变革和创新。
3.2 人机交互的应用领域人机交互在各个领域都有广泛的应用。
例如,智能手机和平板电脑的界面设计、医疗设备的操作界面、虚拟现实技术的交互界面等都离不开人机交互的设计和应用。
人机交互技术对未来生活的影响与发展随着技术在日常生活中的应用越来越广泛,人们与机器之间的互动方式也发生了翻天覆地的变化。
人机交互技术(Human-Computer Interaction, HCI)不仅仅是媒介,更是一种新的生活方式。
本文将探讨人机交互技术对未来生活的影响与发展。
一、智能家居的发展智能家居是指通过智能终端设备对家居环境进行自动化控制和优化管理,提供便利的生活体验和舒适的居住环境的一种家居系统。
由于人机交互技术的不断发展,智能家居得以不断完善。
目前市场上已经有很多家庭智能终端设备如智能音箱,智能灯泡,智能插座等等。
随着这些设备的不断发展,未来的智能家居将可以实现的更多,比如全屋智能控制,人脸识别开门等等。
智能家居的发展不仅是为了满足人们的生活需求,更是为了使人们的居住环境更加智能化和舒适化。
未来的智能家居将更加注重人机交互技术的应用,通过对人们需求的了解,智能家居能够更好地满足人们的需求,提供更加智能和舒适的生活。
二、虚拟现实的应用虚拟现实(virtual reality, VR)是一种能够创造出虚拟世界的技术。
通过人机交互技术,我们可以将虚拟现实应用于各种领域,比如人类的生活、医学、商业等等。
未来,随着技术的不断进步,虚拟现实技术将更加成熟,应用范围将更加广泛。
虚拟现实的应用可以提供更加真实的体验,代替现实中的体验。
比如医学领域中,医生可以通过虚拟现实技术对手术进行模拟和练习,以提高手术的成功率;商业领域中,消费者可以通过虚拟现实技术在家里就能购买到商品,这会带来更加便利的购物体验。
三、智能交通的实现智能交通是通过人机交互技术来提高交通运输效率、减少能源浪费和减少交通事故的技术。
未来的智能交通将涉及各种领域,包括车辆、汽车导航、交通控制策略等等。
在未来,人机交互技术将会在汽车领域得到更多的应用。
未来的汽车将会变得更加智能化,它们可以自主寻找最佳路线、避免拥堵、自动驾驶等等。
这不仅能够提高交通效率,更可以带来更安全的驾驶体验。
什么是人机交互技术?人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。
它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。
人机交互技术是计算机用户界面设计中的重要内容之一。
它与认知学、人机工程学、心理学等学科领域有密切的联系。
什么叫人机智能交互技术产品?目前CPU的处理能力已不是制约计算机应用和发展的障碍,最关键的制约因素是人机交互技术( Human Computer Interaction,HCI)。
人机交互是研究人、计算机以及它们之间相互影响的技术,是人与计算机之间传递、交换信息的媒介和对话接口。
作为一门交叉性、边缘性、综合性的学科,人机交互是计算机行业竞争的焦点从硬件转移到软件之后,又一个新的、重要的研究领域。
前,人机交互正朝着自然和谐的人机交互技术和用户界面的方向发展。
本期技术专题将从多角度阐述人机交互的最新发展及应用状况,包括多通道用户界面、笔式用户界面、智能用户界面和三维交互中的多种关键技术,特别是对人机交互中的用户模型、用户界面模型、多通道交互信息整合、笔式交互技术、人机交互软件体系结构等进行了深入的阐述。
人机交互技术是和计算机的发展相辅相成的,一方面计算机速度的提高使人机交互技术的实现变为可能,另一方面人机交互对计算机的发展起着引领作用。
正是人机交互技术造就了辉煌的个人计算机时代(20世纪八、九十年代),鼠标、图形界面对PC的发展起到了巨大的促进作用。
人机交互是计算机系统的重要组成部分,是当前计算机行业竞争的焦点,它的好坏直接影响计算机的可用性和效率,影响人们日常生活和工作的质量和效率。
计算机处理速度和性能的迅猛提高并没有相应提高用户使用计算机交互的能力,其中一个重要原因就是缺少一个与之相适应的高效、自然的人-计算机界面。
有关科技的名词有关科技的名词科技是现代社会的核心,它带给人类无尽的方便和创新。
下面列出一些科技领域常见的术语,希望能帮助大家更好地理解科技行业。
1. 人工智能(Artificial Intelligence,简称AI)人工智能是计算机科学和人工智能学中的重要分支,它致力于开发智能机器,使它们能够完成人类通常会认为需要智能才能完成的各种任务。
近年来,随着计算机技术的迅猛发展,人工智能的应用越来越广泛,例如智能语音识别、智能手机等。
2. 云计算(Cloud Computing)云计算是一种基于互联网的计算方式,它通过网络提供计算资源,包括软件、硬件和存储等。
云计算的重要特点是灵活性和可扩展性,它可以根据需要提供可靠且经济高效的计算资源,减少了企业和个人在硬件和软件上的投资成本。
3. 区块链(Blockchain)区块链是一种去中心化的分布式数据库技术,可以实现去中心化的数据存储、查找和交换。
区块链的一个重要特点是去中心化,它可以防止数据被篡改,使得交易更加透明和安全。
4. 物联网(Internet of Things,简称IoT)物联网是指将各种设备和物品与互联网连接起来并互相通信的网络,开创了数字生活和智慧城市新时代,是信息技术与实体经济的融合。
通过物联网技术,可以实现各种设备的智能化,例如智能家居和智能车辆等。
5. 人机交互(Human-Computer Interaction,简称HCI)人机交互是指人与计算机之间的交互,包括语音识别技术、手势识别技术和虚拟现实技术等。
人机交互的发展使得计算机更加符合人类的习惯和需求,提高了人机交互效率和体验。
6. 虚拟现实(Virtual Reality,简称VR)虚拟现实是一种利用计算机生成的仿真环境,使人可以进行身临其境的体验。
虚拟现实技术目前已经应用于多个领域,例如游戏、教育和医疗等。
7. 机器学习(Machine Learning)机器学习是人工智能的一种分支,它是让计算机自动学习无需明确编程的一种方法。
Extracting Concept Maps With CloudsFrancisco Câmara Pereira, Ana Cristina Oliveira and Amílcar Cardoso{camara, amilcar}@dei.uc.pt ana@student.dei.uc.ptCentro de Informática e Sistemas da Universidade de Coimbra (CISUC)Polo II – Pinhal de Marrocos 3030 CoimbraPortugalKey Words:Machine Learning, Concept Maps, Cognitive Modeling,Human-Computer InteractionAbstract.This paper presents Clouds, a program that aims to extract structural domain knowledge from the user. This extraction consists of the use of three different algorithms: one for choosing the concept to work with; and two, based on inductive learning, for suggesting new concepts and relations. In a first phase, the user must “teach” the computer with some important concepts from the domain that he wants to transmit. Then, gradually, in a simple dialogue, Clouds asks questions resulting from the learnt hypothesis.Each concept is an element of a map, called concept map, which consists of a graph with concepts on nodes, and relations on arcs.This work is an essay on the application of machine learning on knowledge extraction and is part of a wider project, named Dr. Divago, which will get from Clouds the help to build complete and coherent concept maps that it needs to work efficiently. Apart from this, we believe Clouds’ scope can be extended to many different areas, namely natural language processing, human-computer dialogue and intelligent tutoring.1. IntroductionRepresenting a domain of knowledge in a computer is usually a highly complex task, involving the knowledge representation itself, domain-specific particularities, problems in extracting knowledge from people, among others. This problem becomes bigger when there is dynamic introduction of knowledge from the user, who is not necessarily a computer expert. According to (Novak and Gowin, 1984), a formalism named “concept map” is extremely powerful for education and communication in humans. We think these simple nets may also be useful to computers, more specifically in tasks where structural domain knowledge is important.The goal of the project presented in this paper is to be able to represent knowledge from a domain, by building its concept map. Our concept maps are graphs in which nodes are concepts and arcs are relations.Although these maps can represent few more than structural knowledge of a domain, this seems sufficient for our purposes. Its inherent freedom (the user can assert any concept or relation in the map) brings us the expressiveness and generality we need for Dr. Divago (Pereira and Cardoso, 1999), the major framework in which Clouds is integrated.The building of these maps results from a symbiosis between the computer and the user, each having a different role. Initially, the user “teaches” the program with some basic concepts of the domain. Afterwards, Clouds asks for the concepts it wants the user to talk about and, after a number of observations introduced, it starts improving its own performance, by asking more specific questions. It uses two inductive learning1 algorithms to accomplish this, each of them focusing on two different points of view on the concepts: its categorization and its definition by context. This shall be clarified later in this paper.In section 2, we present our main motivations about this work. Clouds is presented in more detail in the following sections: Representation (section 3), Selection of concepts (section 4), Learning (section 5) and Interacting with the user (section 6). Then, we will draw some conclusions from this work (section 7).2. MotivationSoon after the first steps of the development of Dr. Divago, a system that relies on Case Based Reasoning and Metaphor Theory (Veale and Keane, 1994) to search for creative solutions, we felt the need for the automatization of a difficult and exhausting task: the construction of concept networks. We then decided to build a module, to which we named Clouds, to help us on this task, whose goal is to build concept maps from observations of the user, gradually improving its performance. After a sufficient number of observations, it is expected to guide the user in the transmission of knowledge, by asking questions and proposing relations between concepts.3. Representation and Ontological Issues“According to the theory-based model (Murphy and Medin, 1985), concepts are embedded in theoretical understanding of the world. While a prototype representation of the concept bird would consist of a list of unconnected attributes, the theory-based representation would also represent theoretical knowledge about the relation of each attribute to others in a complex network of causal and explanatory links, represented 1 We recommend (Muggleton, 1992) for an introductory course on Inductive Logic Programming.in a structure frame or schema. Birds have wings in order to fly, which allows them to rest in trees, which they do to escape predation, and so forth. According to this view, objects are categorized in the class which best explains the pattern of attributes which they possess (Rips, 1999). “ (Hampton, 1998).Following these ideas, we understood that we needed a formalism that could transmit to some extent this “concept of concept”. And we found it in Novak’s (Novak and Gowin, 1984) concept maps. A concept map is a graph in which nodes are concepts and arcs relations (see figure 1). It doesn’t follow any strong constraints, being its main concern to reflect natural association of ideas.Every relation in a Clouds’ concept map consists on Prolog predicates with 2 arguments, which means we only accept binary relations. We believe its extension to n-arity will be straightforward, and the only reason for delaying this improvement is to prevent ourselves from losing focus.Since each concept is entirely defined by its connections to others, our knowledge base will consist on a large set of prolog binary predicates.isa(human, mammals). produce(apple_tree, apple) breathe(human, oxygen).eat(cow, grass). eat(rabbit, grass)isa(rabbit,mammals). isa(cow, mammals).isa(apple_tree, tree). produce(cow, milk).eat(human, apple). eat(human, cow). drink(human, milk). size(rabbit, small). size(cow, big).Fig. 1. A small concept map and its representation in CloudsAs can be seen, every concept is defined with respect to others, so it is important to state a rather solid base of ground facts: the ontological base of Clouds. This set of primitive concepts is composed by a default isa-tree in which the first levels are the same as the ones used in the WebKB project (Craven et al, 1998), as shown below.isa(entity, something).isa(situation, something).isa(state, situation).isa(process, situation).isa(temporal_entity, entity).isa(spatial_entity, entity).isa(information_entity, entity).Fig. 2. The first three levels (Prolog representation)Fig. 3. The first three levels (graph representation)Every time a new concept is presented to the program, it asks for its isa-relation to an existing concept in that tree, and therefore integrates it in the tree. As can be easily inferred from this, every concept in the map must be a descendant of a node from the default ontological base. This is the central assumption for one of the inductive learning algorithms used by Clouds, described below. The resulting categorization will allow the program to clusterize concepts/relations according to the observations given so far.4. Selecting ConceptsOne of the first problems that occur, when transmitting this kind of knowledge, is that of “what to say next?”. It is interesting the ease how one tends to focus too much on a specific “area” of concepts, specially when trying to introduce large quantities of unorganized knowledge. To accomplish as much completeness as one can ask for, we need to “walk” through different points of view, in a more far-reaching way, sometimes returning to the same point (it is common to forget something that later, after visiting other concepts, is obvious). Choosing a proper sequence of concepts to think about will be the halfway for a correct concept map construction.When reading Hostadter’s (1996) “Fluid Concepts & Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought”, the notion of “scout” appeared gradually as fitting the place for solving this problem. In this book, “a scout namely looks at a potential action and tries to estimate its promise; the only kind of effect itcan have is to create one or more (…) scouts or effectors – to follow up on its findings”.Inspired on this notion of scouts, we developed the algorithm to find, for a given moment, for the set of concepts to work with. This algorithm is based on a competitive search for the most relevant, but not fully explained concepts of the map. We consider relevance of a node, in respect to another, as the number of separate paths between them. Furthermore, we consider “absolute relevance” of a node as the sum of its relative relevances. It is an estimation of this value that the scouts try to maximize. They jump from concept to concept until finding a promising position. Each jump consists of creating scouts in neighbor concepts, surviving (with major probabilities) only the ones that are conceptually more relevant (in relation to the original scout).The search starts by seeding scouts in some central concepts, the ones that are the most referrer or referent. Using two kinds of memory, named “long term memory”(composed by the concepts the user explicitly refuses to talk about anymore – thus already explained) and “short term memory” (the n last selected ones), Clouds eliminates some undesirable choices. Here goes an overview of the algorithm:1- Launch a small number of scouts(usually less than 4), starting froma random set of central concepts.2 - If any concept is a leaf (i.e., it has no output relations) and it is notpresent in long or short-term memories, keep it and check whetherthere is any more alive scouts to search (if not, stop).2 - Spread new scouts through their neighbourhood (if any of thecurrent scouts is an ilegal leaf, spread backwards).3 - Rank the new scouts according to relevance (relative to theprevious generation).4 - Choose randomly the surviving ones according to rank distribution.5 - Go back to 2.Fig. 4. The algorithm for choosing the next concepts to work with.5. LearningIn Clouds, the role of the two inductive learning algorithms is to improve its performance in the guidance of the user. More than getting what a concept is, it is important to understand what makes a given concept be related to another. This, we believe, is the key to improve gradually the capabilities of Clouds, allowing it to predict the existence of new concepts and relations.As can overcome from the discussion about Knowledge Representation in Clouds, concepts are not explicitly declared, being implicitly described through their relations, so the task of learning concepts turns into learning its relations. The next two sections will describe these algorithms.5.1. Category divide and conquerThe first algorithm used in the program aims at finding, for each relation, for pairs of categories that it typically links (e.g. “trees typically produce fruit”). In order to do it,Clouds relies on the ontological isa-tree to find generalizations and specializations.Generalizing corresponds to get categories up in the tree, and specializing the opposite. The algorithm is very simple: each time it receives an observation, it detects the categories of concepts involved. In doing so, Clouds extracts the ontological path from the most general concept “something” to the specific concept of the observation.produce(apple_tree, apple).{[apple_tree, tree, plantae, biological_kingdom,physical_entity, spatial_entity, entity, something][apple, fruit, plantae, biological_kingdom,physical_entity, spatial_entity, entity,something]Fig. 5. Ontological paths of both arguments of the relation “produce(apple_tree, apple)”.The leftmost intersection of both ontological paths of a relation (one for argument)with the ones of other relations (from already user-asserted observations) yields a generalization.produce(pear_tree, pear).{produce(apple_tree, apple).{produce(tree, fruit).Fig. 6. Intersecting the paths of “produce(pear_tree, pear)” and “produce(apple_tree, apple)”,and selecting the leftmost elements (tree and fruit), yields a generalization “produce(tree,fruit)”.The specialization occurs when a negative example is given. In this case, Clouds searches down in the tree for the most general specializations that “avoid” this new observation. The result of this, conversely to generalization, is to split the space into new hypothesis. This divide and conquer results in a number of binary predicates that represent the pairs of categories of the arguments that cover the positive examples and avoid the negative ones. These predicates are helpful mainly in the first phase of knowledge introduction, by asking the user questions like “what is the tree thatproduces bananas?” after the observations, for example of “monkeys eat bananas”and “banana isa fruit”.5.2. Inductive Logic ProgrammingInspired on studies from Inductive Logic Programming (Muggleton and Feng, 1990;Quinlan, 1990), we implemented a relation explanation generator that concentrates on the context of each argument. The relations each argument has with other concepts,down to a predefined maximum depth uniquely define this context.Relation: eat(human, cow)depth=1Fig. 7. The relation “eat(human, cow)” and its contexts of depth=1 (relations immediately linked to its arguments).This method enables Clouds to understand each relation in terms of what usually characterizes its context, opening the way for applying deduction and abduction.The result of this algorithm has the form of Prolog expressions, as in the example shown in fig. 8eat( human,X):-eat(X, grass),isa(X, mammals).Fig. 8. Joining the contexts of “eat(human, cow)” and “eat(human, rabbit)”, leads to a generalization.Generalization may happen in two ways: universal quantification and dropping of a term.Universal quantification occurs when, in a given clause, one atom representing a concept becomes a variable representing a set of concepts.isa(lion, mammals).eat(lion, cow).isa(X, mammals).eat(Y,X):-isa(Y, mammals),eat(X, grass),isa(X, mammals).Fig. 9. . Universal quantification of the first argument of eat/2.The dropping of a term occurs whenever a new observation reflects an over-specialization of the clause (e.g. after saying that “Lion eat ostrich” and that an “ostrich is a bird that eats grass”, the term “isa(X, mammals)” in figure 8 will be droppedSpecialization is a more complicated procedure in this algorithm. To avoid loosing information or covering negative examples, a deeper examination of the clauses in question must be done. The search for specificities that can safely differentiate a positive context from a negative one are not always clear. The method we apply here is probably not the most elegant, but surely the most reliable: when a negative example is given, Clouds selects the faulty clauses (the clauses that cover the example) and finds all predicates already asserted as positives and that are also covered by the same clauses. Now, the generation of the new hypotheses is made by adding to the previous faulty clauses terms that are satisfied by the positive examples,but not by the negative ones. Therefore, the output of this sometimes corresponds to a big number of new clauses that cluster the space of concepts. This is, in the end, what we intend Clouds to do.6. Interacting with the UserAs stated in the beginning of this paper, the primary goal of Clouds is to guide the user in the creation of concept maps. How can it do it? First of all, the method for choosing the concept to explore is itself, as we could see in experiments, a helpful mechanism. There are several reasons for this: Clouds chooses the concepts that are,at a given moment, the ones that seem the most relevant (according to the conceptual relevance heuristics). And it will get any of these concepts back again each time long and short time memory allows it. This means that some concepts are periodically re-inspected, each time probably with new data that can bring the user to other points of view on the concept.The second mechanism used by Clouds is to apply the results of the first inductive learning algorithm, in which, as said above, there is a definition of each relation in terms of the categories of each of its arguments. This information becomes important in suggesting relations in the first phase of map construction. After selecting the concept to work with, Clouds checks if there is any relation whose categories match with the concept’s (Fig. 10).Concept: bananaClouds question: "Complete the following relation:produce(tree, banana)."User input: "produce(banana_tree, banana)."Fig. 10. After matching the concept “banana” with the generalization of fig. 6, Clouds asks for which is/are the descendants of the concept “tree” that turn the relation into a positive example. The reason why this is very important in the beginning of the process concerns to the fact that, in the early stages of map construction, Clouds hasn’t got yet sufficient information to behave effectively in the other inductive learning algorithm. Finally, the ILP algorithm becomes important to “strengthen” the map in that it searches for relations between pairs of already existing concepts, either with deduction or abduction.At this moment, deduction is used only when a concept is investigated, but it surely could be applied at any time in the program execution, depending only on the existence of clauses that cover examples that were not already asserted by the user. In spite of this, Clouds presents its deductions only when asking new observations to the user, in a list of “suspected relations”. At this point, the user can assert one of them or even say it is false (triggering the specialization procedures).In the figure 11, we can see an excerpt of a session in the domain of Biology:-->Complete the relationhave(hippopotamus, teeth): y.I already know that:isa(hippopotamus,ruminantia)have(hippopotamus, teeth)I suspect that:property(hippopotamus,friendly)Can you give more observations related to the concepthippopotamus ?-->property(hippopotamus, big).-->Is it true that eat(hippopotamus,water_plants)? y.-->Is it true that have(hippopotamus,fin)? n.-->Is it true that have(hippopotamus,gill)? n.-->Is it true that live_in(hippopotamus,water)? y.-->Is it true that isa(big,behaviour)? n.-->live_in(hippopotamus, land).-->Is it true that isa(hippopotamus,reptilia)? n.-->property(hippopotamus, big).I already know that!-->property(hippopotamus, heavy).-->no.Fig. 11. An excerpt of session 8 of the experiment in Biology domain.After selecting the concept (hippopotamus) and matching it with the relation have(mammals, teeth), Clouds starts by asking to complete the relation. Then, it shows its knowledge and suspicions. The user asserts a new fact (property(hippopotamus, big)), after which an abduction mechanism (Kakas et al, 1998) asks about the truth of the relation eat(hippopotamus, water_plants). Its positive answer generates some more questions. When a repeated assertion (property(hippopotamus, big)) is given, the program shows a warning. To pass to the next concept, the user says “no”, and a new cycle begins.7. ConclusionsClouds was initially designed to be part of our Dr. Divago project, in which we are starting to apply it, and is now also part of another framework, along with TextStorm, where these two modules cooperate to extract knowledge directly from text. In both frameworks, we have noted that, even in the worst case, in which it suggests only wrong relations, it is useful because it guides us on the selection of the concepts to work with (after some dozens of concepts, we tend to loose focus without Clouds). In the better cases, it surprised us with some interesting conclusions (e.g. in the Biology domain, it considered the “eat” relation transitive, therefore if a eats b and b eats c, then a eats c – this is not quite true, obviously, but it showed us an idea of the incomplete way we defined that relation) and fertile suggestions.In which respects to applications of Clouds, it seems an interesting tool to be included in any Natural Language conversation program because it emulates at some extent theconceptual apprehension mechanism. Needless to say, it would be necessary to improve some of its parts in order to accomplish this goal effectively (n-arity relations; higher deepness of context in rule generation), but the whole architecture seems to us sufficiently solid to perform such task.In a world where knowledge organization and management seems to become more and more important, programs that propose to help the user on organizing his own concepts also tend to be useful. There is already several of this kind (in the World Wide Web, for example), and Clouds can possibly join the group. More than the program itself, the framework seems valuable. The idea of using these learning algorithms in apprehending users’ models may be useful, especially in situations in which it is important to have a structure of his knowledge (e.g. text interpretation, WWW search, etc.).Being part of a bigger AI project (the above-referred Dr. Divago), Clouds is a major milestone that served as an important point of reflection. Individually, it is becoming an autonomous project aimed at knowledge extraction and user modeling. ReferencesCraven, M., DiPasquo, D., Freitag, D., McCallum, A., Mitchell, T., Nigam, K. and Slattery, S.: Learning to Extract Symbolic Knowledge from the World Wide Web. Technical report (1998) CMU-CS-98-122.Hampton, J.: Concepts: The elements from which prepositional thought is constructed, thus providing a means of understanding the world (1998) /MITECS/work/hampton_r.html.Hofstadter, D.: Fluid Concepts & Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought. (1996) Basic Books; ISBN: 0465024750Kakas, A.; Michael, A. and Mourlas, C; Abductive Constraint Logic Programming. Technical Report, University of Cyprus, 1998.Muggleton, S. and Feng, C.: Efficient Induction of Logic Programs. In Proceedings of the First Conference on Algorithmic Learning Theory, Tokyo. (1990) Ohmsa Publishers. Reprinted by Ohmsa Springer Verlag.Muggleton, S.: Inductive Logic programming. (1992) Academic Press.Murphy, G. L. and Medin, D. L.: The role of theories in conceptual coherence. Psychological Review 92. (1985)Novak, J. D. and Gowin, D. B.: Learning How To Learn, New York: Cambridge University Press. (1984)Pereira F. C. and Cardoso, A.: Wondering in a Multi-Domain Environment with Dr. Divago.Proceedings of the 8th Cognitive Science of Natural Language Processing (CSNLP-8).Ireland. August (1999)Quinlan, J. R.: Learning Logical Definitions from Relations, Machine Learning 5. (1990) Rips, L. J.: Similarity, typicality and categorization. In Vosniadou, S. and Ortony, A. (Eds.), Similarity and Analogical Reasoning. (1989) Cambridge: Cambridge University Press. Veale, T. and Keane, M. T.: Metaphor and Memory: Symbolic and Connectionist. Issues in Metaphor Comprehension, in the Proceedings of the European Conference on Artificial Intelligence Workshop on Neural and Symbolic Integration, Amsterdam. (1994)。