1.4 研究现状与发展趋势
软计算方法由若干种方法构成,包括神经网络、支持向量机、模糊集合理论、近似推理及一些非导数优化方法,如基于熵的计算、遗传算法、人工免疫和蚁群算法等[31]。其中,机器学习(Machine Learning)是软计算领域中的重要方法,它利用算法来训练数据集,并让其模拟人脑对未来发展趋势进行预测,或采取某种行为来优化系统。机器学习主要是利用算法来分析大数据,从中找出有价值的信息对客观世界进行分析、预测或决策。同传统的软件硬编码相比,机器学习借助海量数据进行训练和学习,通过算法从数据中找到解决问题的规律和方法。神经网络是其代表性的算法,对语音、图像和自然语言的识别和处理是其主要的研究和应用领域[32]。近年来,以专家系统、模糊逻辑、神经网络(ANN)等智能技术为基础的建模方法在线加热成形中得到了应用,显示出了智能建模技术在该工艺中的应用潜力[33]。
通过调查分析,近10年来软计算技术的研究和使用都在快速增长,但在很多领域软件可靠性预测方法还是采用指标的方法度量。事实上,智能机器学习技术用于可靠性预测已逐渐引起人们的注意。因此,软件可靠性的研究应该继续使用公共数据集和其他的机器学习算法来建立更好的预测模型。软计算方法是指对所研究对象不以追求精确解为目标,而是允许存在不精确性、不确定性和部分真实性,从而得到易于处理、稳健性强和成本较低的解决方案,它不是一种单一的方法,而是由若干种计算方法构成的。Madsen(2005)研究使用软计算方法解决软件可靠性工程,提出了一个支持模糊方法和数据挖掘技术的框架。Marcia(2010)采用多种软计算方法进行可靠性建模和可维修系统的分析。他们指出许多软计算方法(包含神经网络、模糊系统和随机方法)都已被用于解决许多不同工程中的复杂问题。而精确地捕捉软件特性中的变化是十分困难的,软计算方法能够帮助软件开发者提高软件质量。软计算方法主要包括人工神经网络、支持向量机、遗传算法和遗传编程等[34]。
知识发现是一项重要活动。以关联数据和本体为代表的语义网技术试图在连接信息孤岛的基础上,提升机器理解信息的能力,从而改变人类知识工作的环境。知识发现是由多种主观和客观因素交织完成的。例如,知识发现的工具是从不同类型的数据库及其他有关资源中通过利用相应的网络技术与工具实现的,知识发现的对象是那些存在于不同类型的数据库与网络中的各种类型的数据,知识发现的结果是找到某种或某些知识,并将其组织为有效的信息。这些知识被称为人们感兴趣的并且符合研究实践的、可利用的有用知识[35]。
知识表示是指通过对真实世界的知识进行建模,表示出知识蕴含的语义信息,以便于机器识别和理解。现有的知识表示技术分成符号主义和连接主义两类[36]。符号主义知识表示基于物理符号系统假设,认为人类认知和思维的基本单元是符号,认知的过程就是在符号表示上进行的运算。连接主义认为人类的认知是互相联系的神经单元所形成网络的整体活动,知识信息不存在于特定的地点,而是在神经网络的连接或权重中。知识表示方法主要分成以下三种。
(1)基于符号逻辑的知识表示,包括产生式系统、谓词逻辑、框架表示、语义网等。这种方法与自然语言较为接近,能较好地描述逻辑推理过程,但往往需要依靠人力来生成规则,故这种方法已经不再适用于当前的大规模数据时代。
(2)互联网资源的开放知识表示方法,如基于标签的半结构化的标记语言XML、基于互联网资源的语义元数据描述方法RDF、基于逻辑的本体描述语言OWL等。其中,RDF被表示为三元组的形式来描述数据之间的语义联系,知识图谱中的知识也多被表示为这种三元组形式。
(3)表示学习,即通过机器学习或深度学习的方法,将研究对象表示为低维连续空间中的向量,同时保留其中的语义信息。相比传统的知识表示方法,表示学习可以有效缓解数据稀疏问题,显著提升计算效率,而且利用表示学习更容易实现多种来源的信息融合。由此看来,表示学习对于知识图谱构建、知识推理和应用具有十分重要的意义[37]。
人工神经网络是20世纪80年代以来人工智能领域兴起的研究热点。通过抽象人脑神经元网络进行信息处理的过程,通过不同的连接方式组成不同的网络来构建模型。每一个神经元模型包括多个输入,每个输入上分别使用不同的权值,通过计算某一函数模型来确定是否激发神经元,最后通过权值计算函数来计算人工神经元的输出[38]。
当前的搜索引擎一般都包括四大部分——搜索器、索引器、检索器及Web前端接口。搜索器也称后端网络爬虫[39],其工作内容为抓取网页,通常在深度优先或广度优先爬行抓取的方式中出现。严格来说,只要有合适的时间和地点,且相关数据设置正确,网络爬虫就可以支持搜索器随时进行搜索[40]。
较早开始进行文本挖掘研究的是拉丁语系的国家,国外学者先加入文本挖掘的理论、技术研究之中,我国的学者早期通过研究外国文献结合中文特色进行翻译或改进。袁军鹏等(2006)对文本挖掘进行了定义和流程介绍,并详细列举了预处理技术和挖掘分析技术,其中包括分词技术、特征表示、文本摘要、文本聚类等[41]。李芳(2010)提出了文本挖掘的难点技术,对其展开研究并进行了仿真实验,提出了优化方案,解决了文本数据中高度相关难以划分、存在大量层次类别关系等问题[42]。随着研究进程的发展,越来越多的学者提出了基于中文的文本挖掘技术实现方法,如网页信息提取技术、分词技术、文本相似度计算、主题模型的提出及应用等[43]。
聚类分析是无监督学习方法的一种,它是多元统计分析中的常用方法,也是数据挖掘、机器学习与模式识别领域的重要研究内容。聚类分析与有监督学习方法的区别在于聚类分析所用的样本事先不做任何标记,样本所属的类别由聚类分析算法自动确定,它是一种在没有训练数据的情况下将数据集按照样本的特征相似程度划分为若干个簇的过程,使得同一个簇内的样本有较高的相似性,而不同簇的样本之间有较高的相异性[44]。
数据挖掘方法的总体目标是从信息集合中提取信息,并将其关联到一个综合的结构中以供将来使用。分类是一种十分重要的数据挖掘方法,它是一个查找分类器的过程。通过一些约束条件来将数据集中的对象分配到不同的类中[45]。它使用给定的类别标签对数据集中的对象进行分析,通常使用一个训练集,其中所有的对象已经与已知的类别标签相关联。分类算法从训练集中学习并建立模型,而后用这个模型分类新的对象。可以说,分类是根据不同的类来概括数据的过程[46]。分类技术能够处理更广泛的数据,并且越来越受欢迎[47]。