Java技术和专家系统 持久性机制的知识库实现外文翻译资料

 2022-10-27 15:43:57

Java Technologies and Persistence
Mechanisms in Expert Systems
Knowledge Base Implementations

Mironela Pirnau and Spirescu Alexandru

Titu Maiorescu University, Faculty of Informatics, Bucharest, Romania

Abstract

This paper will focus on the general principles pertaining to the Java programming language
and relational and non-relational databases in expert systems implementation. Java
technologies employ a vast array of mechanisms dedicated to mapping and manipulating
numerous persistency solutions, thus representing an ideal candidate when implementing large
projects and complex systems, such as enterprise-level applications and expert systems. Java
displays a large and complex series of possibilities of integration with almost any persistency
mechanism and facilitates the process of adding functionality, leveraging Object/Relational
Mapping solutions and NoSQL technologies, and does this with a high degree of efficiency. It
is because of these advantages, Java can be thought of as an appropriate solution for an expert
system environment. This paper presents various mechanisms in which Java and adjacent
technologies can be integrated in order to (better) implement expert systems, such as
Persistency implementations, Business Process Management solutions and so, also providing
an insight into the performance aspects by touching on aspects such as memory management
and consumption, data caches, management extensions etc.

Introduction

Expert systems represent intelligent systems based on knowledge modeling, symbolic
representation and its storage which allows for an unconventional method approach of
complex applied analysis, sorting planning, design and diagnosis of problems in different
areas of activity where an algorithmic description cannot be fully accomplished. From a
structural perspective an expert system can be presented using different types of architectures,
while from a functional perspective it can be characterized by a declarative knowledge
approach to be used dynamically based on set reasoning and rules for obtaining solutions in
accordance to the expertrsquo;s human logic. The unprecedented development of calculation
techniques and the fast evolution of software products developed on the concept of artificial
intelligence allowed for the development of increasingly complex knowledge based
applications, reasoning models and rules - generically referred to as expert systems. It is estimated that identi^ing and solving engineering problems will become significantly more
important [10]. The implementation success for intelligent technologies will increase as this
type of software will be incorporated in conventional informatics products with artificial
intelligence becoming a fundamental component. Techniques developed based on classic
programming only work for a relatively low number of applications (when used in the
description of finite elements or for the processing of algorithmic problems); as the main
objective for any organization is represented by the improvement of the activityrsquo;s efficiency,
the efficient and due time usage of decisions becomes imperative. Considering the
overabundance of information in every organization in order to speed up the decision making
process, the existence of capable information processing systems is essential for proper
decision making assistance. Computerization is mainly about making faster and more
efficient decisions using intelligent systems [2].

Database technologies have opened the way for fast access to data and information for
decision factors. Intelligent systems technology is increasingly used for decision making and
favors knowledge processing. Expert systems are at the base of intelligent systems, with rules
of structure and functionality focused on processing knowledge with a major impact on the
required information and solution prioritization.

Presently, the most intelligent systems from organizations are expert systems developed
in accordance with the fast prototyping methodology, according to which the results of
interviews with an expert is coded into a system prototype that is then subjected to
demonstration for the purpose of validation. Expert systems are presently used in a variety of
areas, such as: technical, economic, banking, industrial, and other professional areas, as a
solution for using the experience gathered over time and available when needed [11]. The
programs used for the development of expert systems must allow for the representation of a
variety of knowledge. The specific programming technologies for expert systems influence
other steps in this direction. In order to be efficient every new programming technology must
have usage guides and methodologies which lead to an increased efficiency of the program
and of the programmed expert systems. Using specific techniques for expert systems with a
significant knowledge base will require a new set of methodologies based on acquired
knowledge (always growing for the development of applications).

  1. The Main Elements of an Expert System

Expert systems (ES) are programming systems based on A.I. techniques that store the
knowledge from human experts from a well-defined area of activity and then use this
knowledge for solving problems in this area o^f acti^vity.
Expert systems mainly try to imitate
the reasoning of the human expert by using artificial reasoning; after processing the
knowledge from the human expert the ES multiplies and details its experience [1]. The main
elements for an expert syste

剩余内容已隐藏,支付完成后下载完整资料


Java技术和专家系统

持久性机制的知识库实现

齐图Maiorescu大学,信息学院,布加勒斯特,罗马尼亚

摘要

本文将重点研究的原则包含java编程语言和关系数据库、非关系型数据库的专家系统的实现。java技术采用VAS机构致力于映射和操纵许多持久性解决方案的阵列,从而代表一个理想的大型项目或复杂的系统,如企业E级的应用程序和专家系统。java显示了庞大而复杂的系列与任何持久性机制整合的可能性和方便添加功能的过程性,利用对象/关系映射解决方案和NoSQL技术,以及达到效率很高的程度。正是因为这些优点,java可以被作为是一个合适的专家系统环境的解决方案。本文介绍了java和相邻的技术可以集成为各种机制实现的专家系统,如持续stency实现,业务流程管理解决方案等,还提供了一个洞察性能优良的方面,通过触摸实现如内存管理和消费方面,数据缓存、管理扩展等。

介绍

专家系统是基于知识建模的智能化系统,符号表示和存储允许复杂的应用分析的传统方法,分别解决在不同领域的问题,算法描述不能完全完成,规划,设计和诊断问题。从结构的角度来看,专家系统使用不同类型的架构,而从功能的角度来看,按照专家的人的逻辑,它可以通过一个声明知识的方法来使用动态的基础上设置推理和规则从而获得解决方案。计算技术的空前发展和人工化智能软件产品的快速发展基于知识的发展,这种推理模型和规则一般被称为专家系统。据估计,确定^ ING并解决工程问题将变得尤为重要。智能技术的实施成功将逐渐增加,因为这种类型的软件将被合并在传统的信息技术产品和人工智能上,从而成为一个基本组成部分。基于经典编程技术开发的一种应用程序,仅用于相对级别较低的应用程序(当使用有限元素的描述和算法问题的处理);对于任何组织的主要目的是提高活动的效率,由于决策时间的使用,这个目标势在必行。考虑到为每个组织信息,加快决策过程中存在过多信息处理,有能力的信息处理系统是必不可少的正确援助。计算机化主要是利用智能系统的决策更快,更高效的决策。

数据库技术已经为决策因素打开了数据和信息的快速访问方式。智能系统技术越来越多地用于决策和支持知识的专业处理。专家系统在智能系统的基础上,与规则的结构和功能集中处理知识的主要影响所需的信息和解决方案。

目前,最智能的系统为组织后的专家系统,根据快速原型设计方法,根据专家访谈的结果被编码成一个系统原型,然后进行验证。专家系统目前使用在各种领域,如:技术,经济,银行,工业,工业和其他专业领域,作为一个解决方案,随着时间的推移,使用的经验,在需要时得到提供。专家系统开发的程序必须允许它能够代表各种知识。专家系统的具体编程技术,在这个方向上,影响到了其它的步骤。为了每一个新的编程技术达到高效,必须有使用指南和方法,最终可以促进程序和程序化的专家系统的效率提高。使用特定的技术,具有专家系统的知识库将需要一个基于知识的新的设置的方法(应用的发展不断成长)。

1.专家系统的主要元素

专家系统(ES)基于A.I.编程系统存储技术,一个明确了定义的人类专家知识活动领域,然后使用这些知识解决在此领域的各种问题。专家系统主要是尝试通过人工推理模仿人类专家的推理,处理后根据人类专家知识在ES相乘并详细介绍它的经验。对于一个专家系统主要的元素是:知识库,推理引擎(机构)和描述模块。除了在ES模块,上方还具有一系列确保模块和知识获取模块:在操作者和人类专家之间的具有通信和用户接口。知识库(KB)包含人类专家专业的知识组件。存储在知识库的知识体现了在现实世界中和它们有关系的对象。最有名的表示方法为知识的语义网络,产生式规则和框架。该FAC基地包含描述该问题最初的事实,这些被作为中间结果获得,以及解决推断的过程。 TL ^ E R 2 ULE库包含了适用于事实的所有规则。它需要存储在知识库里的知识,并构造推理从而解决特定的问题。这些模旨为用户解决问题和证明推理,并最终实现了推理引擎的完成。知识采集模块帮助人类专家转换成知识工程师,可以在计算机的内部体现记忆。用户接口保证了用户和系统之间对通信请求的推理引擎。

专家系统试图模仿人类专家,具有以下特点:

bull;知识是独立于演绎机构和被引入“原样”,没有影响力的演绎机制;

bull;演绎机构(推理)基于的动态处理是根据规则而来,而不是一个数学算法,这些具体到了经典编程;

bull;高容量的知识库帮助管理了不精确的能力和不完整的知识;

bull;根据专家的经验,采用经验性方法,这能够得到最好的解决方案;

bull;专门解决来自特定区域的问题,而不是传统的基于算法只解决个别问题;

bull;知识处理是反对经典的象征,声明了编程的性质;

bull;作为一个人类专家会解释推理和证明,从而获得解决方案。

专家系统仿真的具体任务是根据人类推理活动,并运用行为模拟解决人类专家的特定区域中遇到的复杂问题。如果说知识与各种接口组合技术得到的结果能够解决此问题,那么利用人类专家系统得到的结果会更好。专家系统的特殊情况是模糊的专家系统,在利用系统的情况下能够进行那些基于模型的推理。

基于案例推理包括老问题的解决方案在新问题中使用的情况。这代表着以前同一块语境知识下决定因素的经验。在这种情况下的专家系统特别有用,能够提供在其活动领域中的经验,它为开发提供必要的帮助。基于模型的推理创造了在一个专家系统中被看作为一种模式的可能性,这一模式适合解决在一个推理机制中使用用户面临的相同类型的问题。该模型不仅纳入了专家的启发源,获取其经验,在解决问题的同时也准确描述了活动的目标区域。

专家系统使用人类专家和专业的知识从而获得经验的收集过程被称为KNO ^ wledge采集。为了构建知识库应特别注意给予必要的解释。有几个解释的标准分类为:解释的本质问题(什么,为什么,怎么样,何地,何时,如果发生了什么?),其解释的本质答案(术语,描述活动的领域,问题描述)。此外,必须着眼于为方式提供解释的之间相互作用的部分系统和用户。为达到此目的,可以用两种方式来表示训练过程:推理过程之前和之后。

所有这些元素,强调认知的专家和其他团队成员要对专家系统项目的一个有效的解释模块开发的重要性。对于这个目的,下面是影响有效的设施设计的因素:

bull;使用专家系统的任务特征和上下文;

bull;解释特征(类型和内容);

bull;界面设计和使用战略;

bull;用户特征。

2.用于专家系统开发的程序设计语言和环境

从软件实现的角度来看,专业的语言程序的实施为专家系统带来了快速的解决方案。有时,通过使用一个标准的方法可以尽可能更快地解决方案,但是这不是所有可能的情况。一些编程语言和环境在专家系统的开发和实施中能够得到成功的使用。

Prolog编程语言是最发达的,用逻辑和声明性编程语言,被广泛用于发展人工智能应用。这是一个基于知识的系统开发的有效工具。作为一个完整的编程环境,它的一些设施如可移植性、模块性、灵活性、功能predefinit离子,专家应用,执行快速有效的故障排除,丰富的菜单,交互式图形程序,与进口和出口设施的编辑器,强大的帮助功能,超文本和其他的品质使产品高度可用和可供出售的人工智能应用的发展,特别是专家系统。

智能应用的知识库表示的数据基础,构成了一个特定的问题的事实和规则的集合,当加载时,它可以查询控股某些存在的、真实的知识。

特定的仪器都写在Prolog模块,引入一个库的重用和保证专家系统复杂的功能,如处理知识结构包括在列表中,文字中等等。可以说,Prolog软件包括两种类型的表达式:事实和规则。事实代表的关系或性质,程序员知道是真实的和规则的依赖关系(他们允许Prolog软件从其他信息推断出信息)。如果一组条件被证明是真实的,则规则变为事实,每一个规则得依赖NDS证明其条件是真的。

剪辑的编程语言,通过基于规则和对象定位出事实表,数据库和决策模块。知识可以表示为规则,语义网络RK,分析树,对象的属性值,框架和逻辑,每一个都有自己的局限性和使用适当的区域活动。

Exsys开发是由美国公司生产的相同名称的产品,并于1989发布;一些主要特点如下:

bull;它可以利用决策树和或直接用于理解和解释自然语言的代数智能应用发展的C语法;

bull;推理引擎分析问题的逻辑性和相关性;

bull;该系统具有推理的控制策略(正向和反向链接-前馈控制和反向控制策略);

bull;它的程序,确保完全自动验证专家系统,无需复杂的设置;

bull;该命令语言涉及到完全控制程序性质的操作,也该系统具有多个外部程序的通信的可能性;

bull;配置允许的应用程序的扩展化,也说明和规则的多个引用可以插入。

exsys开发者对于知识获取的具有多种可能性,并且允许具有成千上万规则的专家系统的发展。该系统可以使用复杂的数学和逻辑公式,用逻辑和关系运算符,它可以被同化到规则。

CycL(从CYC语言)是一个程序,它允许检查新插入的规则,识别和拒绝虚假的无真实价值的编程语言。Cyc知识服务器是一个大型的多语境知识库和推理机。Cycorp的目的是打破软件的脆弱性,一旦和所有的新的共同的基地建设开发知识规则的语义层,术语和关系将允许基于该知识多样化的产品和服务。该计划提供了一个了解WH程序在可以使用其他程序,使他们更灵活。该技术包括几个基本概念:

bull;Cyc知识库;

bull;推理引擎;

bull;自然语言处理中的代表性语言及子系统;

bull;Cyc语义集成总线;

bull;对于周期推理出一般的逻辑推理(包括假言推理,否定式和全称和存在量词)通过特定的推理机制的进化人工智能(例如自动分类等)。

Cyc知识库包含数以百计的规则,许多方法被其他推理引擎(如基于框架的专家系统,Prolog和其他)引用。作为一种结果,CYC不得不基于技术基础。CYC也包括某些推理类的一些推理模块。这样的一个模块实现了兼并的演绎过程化(属于或不属于一个类别)。

Jess(java专家系统外壳)是一个用java实现的剪辑机用于专家系统提供基于规则的程序的开发。Jess可以用来开发java Servlet、EJB、Applet使用知识作为语句规则来得出结论并进行推论的完整的应用程序,而不是将它作为不开源的。Jess软件允许基于规则的程序编写专家系统所需要的,被称为专家系统的外壳。杰西可以处理大量的规则,是一种最快的规则处理引擎。通过Jess,JA在人工智能领域中的应用可以在一组获取知识的基础上,用于绘制结论和进行推论的语句规则。使用Jess,知识可以表示为:规则-主要是基于经验的启发式知识,事实-功能的程序知识,面向对象的程序设计,也为程序性知识。Jess接受面向对象的编程组件,例如:类、抽象、封装、继承和多态。规则可以适用于对象或事实。只使用规则、对象或一个的软件对象和规则组合可开发。在实践中编写的程序可以包含使用Jess规则、事实和对象。推理机决定了哪些规则应该执行,Jess基于规则的专家系统是一种数据驱动程序,事实最终对象表示数据刺激的执行需要通过推理机。java专家系统外壳可用于:会计、医药、过程控制、金融服务、生产、人力资源等领域。基于Jess的高效的专家系统基础基于一系列技术和发展过程中,由技术人员和专家联系到特定的活动区域。在实施专家系统的关键方面是代表两种方法的持久性机制和应用程序的整体性能。这两者之间存在着内在的联系。在实施大型项目,如专家系统,设计阶段的选择将对项目的进一步发展产生巨大的影响。实施决策,如选择一个特定的编程语言和一定的持久性的执行是必要的。java是一种编程语言,包括许多构建复杂的系统所需的特性,也有众多的延伸(框架)和API,这进一步扩大在这个编程语言的专家系统的可能性。

3.在专家系统的开发背景下的java技术栈的优势

专家系统采用强大的持久性机制。为了适应这样的一个系统利用的要求,特别注意要分配给某个过程的解决方案。在有很多因素和许多方面需要考虑的背景下,工作/发展专家系统是一个不错的解决方案,ST敏感区在处理专家系统的持久层。这样的系统需要访问信息,以便进行推理引擎的查询。最“传统”关系数据库中持续信息的解决方案。这样的数据库提供了许多优点,这种持久性的解决方案,绝大多数都是标准化的。

SQL是关系数据库的常见因素,由SQL标准的RDBMS供应商遵守。然而,有许多微妙的差异,甚至是一个有详细规范的持久性机制,可能会导致使用不同的方法。当然,有许多这样的差异,适用于这样一个广阔的范例。例如,交易是在MySQL数据库的隔离级别,目前并不适用于Oracle数据库,后者提供了一种不同的方法来隔离和锁。在更高层次的复杂性(如在该情况下的企业应用和专家系统)。

非关系型数据库的持久性机制

非关系数据库提供了许多优点。例如,与“传统”的数据库相比,在这里,为了模拟一个代表作为表连接的实体之间的关系ULD已经发出要求,数据可以表示和检索数据库中的其他手段,例如,在这种特殊情况下,数据库中的问题是一个文档为导向的。信息这样的数据库中的信息保存在文件,即形式,包括完整的与信息有关的特定实体。

因此,比较容易找到所有需要的信息。对于这样的一个实体,通过执行联接表,不是从一个相关的实体到另一个,在面向文档的数据库的上下文中,它是可能的“抓取”一整套相关的信息(即,底层文件)。从性能的角度来看,这确实是有利检索的实体,而不是工作与标准化的关系数据。然而,这可能会导致在随后的数据复制问题,特别是当信息代表相关类型的实体。因此,数据一致性是一个问题,“传统”的关系型数据库可能被证明是一个更好的解决方案。

当建模和实现知识库系统,域模型可能被证明是相当复杂的,要求更适合于一个关系方面。解决持续机制是专家系统的设计与实现中的一个方面。数据虽然代表这样的系统中的一个主要组成部分,不能代表一个独立的组件。专家系统是包含由定义,从至少2个组成部分的知识库和推理机。

因此

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[153252],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。