项目概述
本项目利用知识图谱、深度学习技术,为企业及个人构建企业知识库,从而实现集知识管理、知识发现、知识服务等功能于一身的企业深度智能运营和运维平台,为企业提供知识化、数字化和智能化的管理服务,致力于帮助传统中小企业解决构建自身专业知识库的构建和管理问题,通过开箱即用、人机智能交互的方式提高企业的运营、运维的效率。促进我国对人工智能,知识库领域的核心技术能力,极大推进了人工智能“三步走”战略。
项目必要性、可行性概述
知识社会的发展以及学习、生活信息获取环境变化,已逐渐改变了人们的信息获取途径、方式、要求以及知识的管理与应用,如从企业对信息知识的需求变化来看,已呈现出向个性化、学科化、多元化、智能化等方向发展的趋势,并随着以数据密集型为科学研究特征的第四研究范式时代的到来,使得信息知识的需求向数据化、智能化方向的发展特征逐渐明显。对以面向企业提供知识存储、组织与服务的平台来说如何适应社会的发展与企业的知识需求,对其数据的信息知识进行科学的管理,最终实现向企业用户提供专业的个性化、智能化知识,已引起了业界的广泛讨论。
计算机技术与深度学习等技术的发展,推动着社会向自动化、网络化、数字化、智能化方向发展。数据的关联整合、实施跨库检索和元数据集中索引检索等多种更深层次的资源整合技术的出现,也让包括企业数据在内的资源整合、资源检索与知识发现走向了深入,向着语义化、智能化等方向发展。
Google等一站式知识检索、发现、服务系统的出现也为企业知识管理数据化、智能化提出了挑战,如何应用人工智能技术,借鉴Google等服务商,为企业提供集成了知识整合、发现与服务的一站式服务成为了近年来的研究与实践热点。
自2009年Serials Solution公司的Summon知识发现系统问世以来,几年间,包括Primo,Worldcat Local与Encore等在内的越来越多的知识发现系统被开发,并广泛的应用到了图书馆的资源检索、信息组织与知识服务中。
知识图谱(Knowledge Graph)是近年来文本分析和知识组织领域的研究热点,是一种以“语义网络”为基础的新型海量知识管理和服务模式,可支持综合性的知识检索、知识问答、决策支持等智能应用。知识发现服务是近年来知识服务的一个发展趋势,Primo等知识发现系统的开发与应用让知识发现服务走进了图书馆,但目前知识发现服务系统主要是借鉴谷歌等知识服务互联网企业,提供一站式资源检索和获取服务,对个性化知识服务的开发与建设还不完善。基于以上两点,本项目以知识管理,知识发现为视角,对企业用户提供个性化知识服务的开发平台进行了设计与研究。
项目实施的前期准备
本项目的实施主要包括了四个部分内容:
第一部分为搭建智能数据采集系统,实现多源数据的采集工作。智能数据采集系统主要将互联网数据通过特点规则采集下来,数据采集系统实现快速低成本开发特定主题网络爬虫,使得爬虫开发技术变成web窗口化界面操作,实现半自动化操作。现阶段已经基本完成了智能数据采集系统的搭建工作,智能数据采集系统已经上线提供试运营,并取得了良好的反馈效果。
第二部分构建基于多源数据的企业知识库。知识图谱自动构建系统主要对特定的文本数据进行处理,使用深度学习技术从而实现命名实体和关系的抽取,并将实体和关系存入图数据库中。
第三部分基于知识库构建知识问答系统。 利用深度学习结合知识库构建智能问答系统,主要包括两个主要部分: (1)利用深度学习技术将自然语言转化为SQL查询语句; (2)利用深度学习训练模型,对查询的异质图数据根据相似度进行排序。
第四阶部分构建智能运营系统与运维管理系统。 (1)智能运维管理系统主要针对平台运行日志检测,错误排查,预测维护等功能。可适用应用领域包括交通,电信等。 (2)智能运营主要针对产品内容设计、用户行为分析、用户粘度控制、用户销售等。可适用应用领域包括媒体,金融,医疗等。
经过多年行业积累和沉淀,申报单位在人才、资源、成果基础、资金投入等多方面做了大量的前期准备。申报单位聘请了在人工智能与知识图谱方面具有相当丰富的行业经验和较高的行业声望的领军人物—新加坡高级数字科学中心(ADSC)的研究员作为项目技术负责人,带领在人工智能相关专业领域具有一定成就的专业技术人员共同完成。现阶段已经基本完成了智能爬虫平台和大数据分析平台的搭建工作,并且完成基础知识库的构建,同时团队具有大量相关经验人才,在国际顶级期刊和会议发表过50多篇知识图谱及深度学习领域相关论文,在项目实施和推进方面具有强大的执行力。
项目立项依据
研究意义,国内外发展现状和趋势
随着知识经济的到来,作为其核心价值的知识凸显出了重要的战略地位。如何有效管理知识,使其发挥最大作用,以提高组织的核心竞争力,成为组织重点研究的问题。
从有效参与国内外激烈市场竞争的要求来看,我国广大中小制造企业的技术水平和创新能力与发达国家的跨国公司还是有相当大的距离。例如产业层次比较低,并且企业整体技术创新能力较弱。创新能力与企业利用现有资源和知识的能力密切相关。中小企业一般没有能力开发或购买成熟的、大型的知识管理系统,这使得中小企业与本领域内的优势企业在创新能力方面的差距进一步拉大,形成恶性循环。如果使中小型企业方便、快速地管理知识,已经成为急需解决的问题。为此,本项目提出了一个面向企业,以知识图谱和人工智能为驱动的企业深度智能运营和运维平台。平台集成了知识采集系统,即高效数据爬虫、知识管理系统、基于知识图谱的智能问答系统等,为企业整理、共享、评估内部知识资产提供了稳定高效的平台。
企业拥有大量的数据,主要可分为两大部分,一是以人为核心的数据。例如,对于网站中用户的浏览记录,个人信息等。二是以机器为核心的数据,例如系统运行日志等;这些数据通常包括丰富语义(semantics) 且是关系型数据(relational data)。在对复杂的关系型数据的管理上,知识图谱具备明显的优点。首先,在关联查询的效率上会比传统的存储方式有显著的提高。当涉及2、3度的关联查询,基于知识图谱的查询效率会高出几千倍甚至几百万倍。其次,基于图的存储在设计上会非常灵活,一般只需局部的改动即可。比如有了一个新的数据源,只需要在已有的图谱上插入就可以。与此相反,传统的存储方式灵活性比较差,它所有的Schema都是提前定义好的,如果后续要改变,代价是非常高的。最后,把实体和关系存储在图数据结构是一种符合整个故事逻辑的最好方式,并且可以通过关系进行知识推理。
所以,为了构建企业知识库,从而实现集知识管理、知识发现、知识服务等功能于一身的企业深度智能运营和运维平台,本项目采用知识图谱技术对企业知识数据进行存储、管理。知识图谱的概念由谷歌2012年正式提出,旨在实现更智能的搜索引擎,并且于2013年以后开始在学术界和业界普及,并在智能问答、情报分析、数据管理等应用中发挥作用。知识图谱是一种知识数据的管理方式,通过语义检索技术获取并有机整合多源数据,用于提高搜索引擎的质量。知识图谱本质上是一种语义网络,使用语义网络可以很方便的将自然语言的句子用图来表达和存储,用于机器翻译,问答系统和自然语言理解。知识图谱中的每个节点表达的是现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。也就是说,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力,也强调了数据驱动应用的概念。通过知识图谱,用户可以快速有效地获取相关知识以及知识之间的逻辑关系,并将不易理解的抽象信息以用户能够理解的可视化方式展示出来,并且能够返回更全面、更丰富的信息。
构建知识图谱的主要目的是获取大量的、让计算机可读的知识。在互联网飞速发展的今天,知识大量存在于非结构化的文本数据、大量半结构化的表格和网页以及生产系统的结构化数据中。基于统计学的方法将从文本中识别实体间关系的问题转化为分类问题。基于统计学的方法在实体关系识别时需要加入实体关系上下文信息确定实体间的关系,常用的方法有监督学习、非监督学习等。
Jain等人在Kambhatla的基础上加入了基本词组块信息和worldNet,使用SVM作为分类器,在实体关系识别的准确率达到了55.5%,实验表明实体类别信息的特征有助于提高关系抽取性能;Zelenko等人使用浅层句法分析树上最小公共子树来表达关系实例,计算两棵子树之间的核函数,通过训练例如SVM模型的分类器来对实例进行分。但基于核函数的方法的问题是召回率普遍较低,这是由于相似度计算过程匹配约束比较严格,因此在后续研究对基于核函数改进中,大部分是围绕改进召回率。但随着时间的推移,语料的增多,深度学习在图像和语言领域获得成功,信息抽取逐渐转向了基于神经网络模型的研究,相关的语料被提出作为测试标准,如SemEval-2010 tast 8。 基于神经网络方法的研究有,Hashimoto等人利用Word Embedding方法从标注语料中学习特定的名称对的上下文特征,然后将该特征加入到神经网络分类器中,在SemEval-2010 task 8上取得F1值82.8%的效果。基于神经网络模型显著的特点是不需要加入太多的特征,一般可用的特征有词向量、位置等。
当企业拥有海量的以用户为核心的数据,以及以机器为核心的日志数据,这种数据作为一种新的生产要素,正在带动业务和管理模式向“数据驱动型”转变,把数据“用活”,深度挖掘数据价值,是目前企业面临的重要挑战和机遇。目前对数据的应用可分为两大类,一是运营数据。即对以人为核心的数据拓展开的业务。例如,用户画像、行为分析、信用分析等;二是运维数据。即以机器为核心的日志数据拓展开的业务。例如,系统检测、检控、基础设施管理等;在传统的自动运营和自动运维中,对于不同的领域使用固定的模式、规则提供运营。在本项目中,当知识图谱来管理数据时,能通过实体与关系进行计算,从而智能推理。因此,对于不同的领域数据,可以通过知识图谱实现智能推理,并且自动制定运营、运维规则。
应用前景
智能运维系统
智能运维管理系统主要使用深度学习技术,针对平台运行日志检测,错误排查,预测维护等功能。如,结合知识图谱和当地地铁运行日志做故障诊断和排查等。可适用的应用领域包括交通,电信等。
(1)基于知识图谱的自动预警系统
系统运维面临越来越多的难点,包括服务器节点类型复杂、运维问题类型众多、问题发生不可预测,如何在大规模运维场景下,将重复度高的工作,基于监控数据智能决策触发,实现无人参与的自动操作的运维能力,是现代化运维手段的关键。
传统的自动化运维主要通过基于规则的模板进行触发,但是现在的服务器节点类型复杂、运维问题类型众多,具有许多基于人工的规则无法解决的问题,因此可以利用知识图谱构建一个全面的运维知识库,利用机器学习技术实现自动化运维。通过知识图谱技术对服务器硬件、操作系统、作业调度系统、计算应用的各种状态信息,如 CPU 使用率、作业负载、存储使用率等进行分析处理,形成业务运行数据,与运维事件特征知识库比对,可实现运维问题自动识别,对于特定的事件情况提前进行预警处理。
(2)基于知识图谱的员工培训助手
随着知识型经济在市场中大放异彩,知识管理所带来的的企业竞争软实力不容小觑,在企业的管理过程中,往往能产生大量的信息和文档,比如员工的工作经验、新员工的培训文档,项目管理过程中产生的调研报告、实施方案等,有效地利用知识将有利于企业发展。目前,传统的员工培训注重于知识传授,对于员工对知识的吸收、应用的关注较少,此外,目前许多知识管理模式对数据的存储比较零散,存在信息浪费,通过构建员工技能知识图谱,可以快速地帮助员工建立起对知识架构地认识,提高学习效率,改变学习曲线,提高知识应用比例,缩短知识学习到知识应用的距离,在知识经济时代构筑自身核心竞争力,同时可以通过利用知识图谱解决在实际工作中所遇到地问题。比如新员工入职地时候对公司的架构和人事关系不了解,可以通过企业知识图谱快速构建对企业架构的认识,提供培训的效率。
(3)基于知识图谱的机械维修运维平台
在机械维修领域中最为关键的信息就是机械的性能、机械工作流程信息以及机械故障信息。了解各类机械的性能和工作流程,能够为维修过程中提供科学而全面的理论指导,提高机械维修效率,同时,通过已有的故障信息,可以判别故障性质,查找故障根本原因,从而提出有效的维护方案。在机械维修的过程中,机械维修工作者为了能够对机械的性能、工作流程等信息有较为全面的了解,需要多年的学习和工作经验积累。这种方式需要耗费大量的时间、人力和财力。而科学合理地整合获得的知识能更好地为将来知识工作服务,可以通过知识图谱构建机械维修运维平台。通过提供可视化的图谱数据抽取机制、面向事件 Pattern 的技术文献意图理解及支持机械结构图的图谱数据查询,构建机械维修领域的知识图谱将简化机械维修工作者的工作并协助机械维修工作者进行新知识的挖掘。
智能运营系统
智能运营系统:智能运营运用大数据分析技术和图深度学习技术,针对产品内容设计、用户行为分析、用户粘度控制、用户销售等。如结合知识图谱和用户在互联网电视的点播行为做媒体推荐系统。可适用的应用领域包括媒体、金融、医疗等。
(1)股票投研情报分析
通过知识图谱相关技术从招股书、年报、公司公告、券商研究报告、新闻等半结构化表格和非结构化文本数据中批量自动抽取公司的股东、子公司、供应商、客户、合作伙伴、竞争对手等信息,构建出公司的知识图谱。在某个宏观经济事件或者企业相关事件发生的时候,券商分析师、交易员、基金公司基金经理等投资研究人员可以通过此图谱做更深层次的分析和更好的投资决策,比如在美国限制向中兴通讯出口的消息发布之后,如果有中兴通讯的客户供应商、合作伙伴以及竞争对手的关系图谱,就能在中兴通讯停牌的情况下快速地筛选出受影响的国际国内上市公司从而挖掘投资机会或者进行投资组合风险控制。
(2)电信反欺诈分析
反欺诈是对包含交易诈骗,网络诈骗,电话诈骗,盗卡盗号等欺诈行为进行识别的一项服务。传统的方法是特定的人工规则构建欺诈规则,但是如何将大量的全面的知识整合到一起,进行计算和预测欺诈行为需要一种高效的具有推理能力的网络处理方法。基于海量数据的反欺诈的难点在于如何把结构化、非结构话数据结整合在一起,并构建欺诈引擎,从而有效地识别出欺诈案件(身份造假,团体欺诈,代办包装等),同时,不少欺诈案件会涉及到复杂的关系网络,知识图谱基于图的表示方式和存储方式可以有效地解决这类问题。
要识别潜在的欺诈风险,首先,反欺诈的核心是人,需要融合不同数据源的信息构成知识图谱,比如判断借款人的欺诈风险,知识图谱不仅整合了借款人的基本信息,同时也整合借款人的消费记录、行为记录、网上浏览记录等信息,这些多源的,非结构化的数据需要利用机器学习、自然语言处理技术进行结构化处理。其次,根据领域专家建立的业务规则和知识图谱进行不一致性检验,比如借款人张 xx 和借款人吴 x 填写信息为同事,但是两个人填写的公司名却不一样 , 以及同一个电话号码属于两个借款人,这些不一致性很可能有欺诈行为。同时,通过对数据进行异常分析和知识推理,找出异常结构,最后,根据异常结构进一步分析,评估出欺诈风险。
(3)基于知识图谱的智能医疗
疾病的治疗知识大部分来自医生的临床经验、已形成的关于疾病治疗的有效方法等,特别是慢病,这种医疗经验及知识在具体的医疗诊治中的差异性给慢病知识的规范、标准化带来了困难,目前尚没有规范化体系的慢病病理、发病规律、医疗控制等方面的资源。慢病知识图谱的构建需要整合多方资源,如关于慢病的医学研究文献、慢病保健常识以及临床诊疗案例库数据等。这些数据分布在互联网、科学文献数据库、专科诊疗数据集、纸质书籍等多个地方,并且这些资源类型多样,具有不同的侧重点和不同的质量。构建关于慢病的知识图谱,需要考虑该体系的全面性、高质量,因此需要对众多的资源进行过滤、抽取,使之结构化、系统化。同时,为了实现慢病知识的有效组织及扩展性,需要对慢病知识中涉及的医学专业术语进行规范化,以保证慢病相关的资料数据都能够被有效地收集和处理。
因此,为了实现慢病治疗相关知识的体系化,需要对慢病知识资源进行收集、归类与整理,过滤不相关的内容,构建关于慢病诊疗的知识图谱,从而实现慢病的智能医疗。慢病知识图谱是智能慢病辅助诊断系统的基础,可以利用知识图谱和自然语言处理技术将不同来源、不同结构的慢病知识,例如临床路径、诊疗规范等按照一定的标准(如病情阶段等)和结构结合成一个可供利用的有机知识体系。通过使用核心的慢病知识库和不断地收集患者的临床诊疗数据、日常监测数据以及专科体检数据和各种输入的患者症状数据等,配合慢病知识库的语义匹配与推理技术辅助确认患者的慢病类型、治疗手段与计划、慢病保健常识与注意事项等。
项目研究内容
研究目标和内容
随着科学技术的发展,人类社会进入了一个新的时代——知识经济时代,知识的产生、分配、使用和传播成为经济增长的主要动力,企业的竞争、产业的竞争、综合国力的竞争,集中表现为科技发展水平、管理水平和技术转变为生产能力的竞争。
不论你是企业的新兵还是老将,都可能遇到:新加入某项目组,查找不到相关资料,也没有前辈特地给你传授经验,导致迟迟上不了手;项目开发中,想向企业里某些方面的专家请教,却不知该找谁;自己写过或见过的一份有价值的报告,在需要时却找不着了;一位离职同事带走了他手头所有的客户关系,企业因此蒙受巨大损失,这些都是知识管理进驻企业之前常遇到的困境。
以上种种问题,究其原因,在于知识的管理,没有一个可靠的知识管理体系来支撑。2000年左右,知识管理在中国落地,进入应用阶段,在软件公司、咨询公司等实践企业的推动下,越来越多的企业开始关注知识管理,并投入人力、财力将其付诸实践。但企业实践知识管理还处于起步阶段,远不成熟。特别是中小型企业,由于规模的限制,其知识管理思路和知识管理体系都只能在限制的资源中发挥,这就需要一个通用性,开放性的产品,用于提升企业在知识管理领域的能力。
因此,该项目为企业制定了一整套基于知识图谱和人工智能驱动的知识管理系统,并且在知识管理系统的基础之上,利用申报单位现有的大数据技术,增加了知识发现和知识服务等方案。
(1) 知识管理
企业有很多数据,主要分为两大类:一、以人为核心的数据。例如,网站中用户的浏览记录,个人信息等,定位数据中人的轨迹路径等数据。二、以机器为核心的数据。例如,系统的调用日志信息,地铁管理系统的运行日志等。这些数据通常包括丰富语言(semantics)且是关系型数据(relational data)。为了管理这些数据,我们引入了企业知识图谱。通过将企业数据构建成知识图谱,实现了企业的知识管理。同时,在企业自身的知识之上,通过申报单位的高效数据爬虫,获取与企业知识高度相关联的多源数据,用以扩展企业知识图谱的内容和范围。
(2) 知识发现
在企业知识图谱的基础上,提供基于自然语言的人机交互接口,即通过自然语言问题进行知识图谱查询和问答,实现了人机智能交互获取知识。同时,通过深度图学习(deep graph learning)技术,结合企业知识图谱和当前系统日志做推理诊断如:结合知识图谱和用户的行为习惯做推荐系统,或者结合知识图谱和当地地铁运行日志做故障诊断和排查。
(3)知识服务
智能运营主要针对以人为核心的数据进行产品内容设计。包括用户行为分析,用户粘度控制,用户销售等。例如,对于网站中用户的浏览记录,个人信息等,定位数据中人的轨迹路径等数据,通过数据分析人的社会属性,生活习惯和消费行为等信息而抽像出的一个标签化的用户画像。或者,在银行信用体系中,通过将借款人相关的所有的数据源打通,并构建包含多数据源的知识图谱,如,消费记录、行为记录、网上浏览记录等。从而对借款人进行分析和预测等。智能运营可适用于应用领域包括媒体(用户画像),金融(投资,保险,风控),医疗(就诊,医疗咨询)。
智能运维主要针对以机器为核心的数据进行的日志检测,错误排查,预测维护等。在工业过程,尤其是流程工业,在同一过程中的不同变量间往往存在相互关联的关系。比如在地铁系统中,主处理单元MPU、司机室智能显示单元IDU、牵引控制单元PCU等等多个模块。从直观上看,这种多变量间的关系变化是错综复杂的。而知识图谱这种语义网络可以很方便的将实体和关系,即变量和变量之间的关系用图来表达和存储,转化为计算机可读的知识。从而利用深度图学习技术,研发出的错误排查系统,和预测维度系统。智能能运维可适用于应用领域包括交通(高铁,地铁),电信(基础设施管理),流程工业(错误检测,监控、预测)等。
项目实施的成果将助力企业高效率、智能化的管理知识数据。例如,当查找不到资料,有问题想请教专家时,可以使用人工智能交互系统,进行查询问答。在总多复杂的文件中查找某份有价值的报告时,可以使用人工智能交互系统,进行查询。在系统运行过程中,出现错误时,可以通过知识图谱查询哪个变量出错导致的问题等。
拟解决的关键技术问题
知识管理
多源数据的知识抽取和关联
通常而言,知识抽取是指从数字资源中识别、发现和提取出概念、类型、事实以及相关关系、结束规则,以及进行问题求解的步骤、规则的过程。依据数字资源类型的不同,知识抽取的概念有广义和狭义之分。广义的知识抽取泛指从各种类型的数据和信息资源中获取各种知识的过程,例如从数字信号中、从多种媒体资源(如图像、数据、视频、音频)中抽取出知识,从数据集中发现重要模式的过程等。 狭义的知识抽取是指从非结构化的自由文本中获取相关知识内容的过程。与广义知识抽取针对各种类型数据的情况不同,狭义的知识抽取基本上属于文本挖掘的范畴,其处理的对象是自由文本,目标是分析文本内容,通过识别文本中的知识片段(Knowledge Fragments),促进对文本内容的理解。
目前,市面上大部分的知识抽取方法尚处在狭义的知识抽取上,即仅仅对文本数据进行分析、挖掘。然而目前对于企业来说,数据的类型不仅仅是文本文档类型的结构化数据,其中还包含了大量的非结构化、半结构化数据等,例如图片,视频等。所以,如果知识抽取不能从狭义的知识抽取推广到广义的知识抽取,在实际应用中对企业的效益有限。
知识查询与发现
(1)基于知识表示的知识推理方法
为了使计算机具有智能,仅仅使计算机拥有知识是不够的,还必须使它具有思维能力、推理能力。即能够运用已知的知识推理问题,求解问题。所以知识推理也是人工智能研究的重点。
目前的知识的表示方法有很多,如:谓词逻辑、产生式规则、语义网络和框架等等,这些知识表示各有各的特点,如生产式的自然性,语义网络的层次性,框架的通用性,模糊逻辑对模糊知识的适用性等,它们都在智能系统中发挥了重要的作用。但它们也各有其局限性,如产生式规则用于表达表层知识,而表达深层知识则十分困难。框架的固定式使许多表达结果与原型不符等等。知识表示的能力直接影响了推理的有效性和知识获取的能力。因此,目前智能问答系统构造中面临了一些较迫切需要解决的问题。一是知识库中知识的容量和质量问题。这包括不同数据结构的知识获取,需要设计出有效而且使用绝大部分数据结构的知识表示;二是现有的问答系统很少有自学推理能力。例如,在基于知识图谱的问题系统中,在问答时知识时,现在的做法通常是简单的从问题里解析出话题实体(topic entity)和对应的关系(relations),然后在知识图谱上做检索,即从话题实体沿着对应的关系走到目标实体,然后返回,缺乏对知识图谱进行推理的功能。 所以如果知识图谱存在不确定关系(即从问题中解析得到的某个关系链在知识图谱上不存在),这种检索有很大大机会不能得到有效的答案;
同时,现在的做法通常认为知识图谱上的关系(relations)是离散的,已经定义好的谓词(predicates);但实际企业知识图谱中,很可能实体之间的关系是一堆自然语言文本(比如上下文),而不是谓词,所以现在的做法(即通过话题实体-谓词1-谓词2-目标实体进行检索)也不适用。
(2)面向自然语言的图查询技术
现在基于知识图谱的问答系统主要有两大类方法:基于深度学习的端到端的训练和基于规则的知识库的匹配。但是这两种方法都存在着缺陷,基于规则的知识库的匹配面对自然语言处理的时候缺乏泛化性,对于出现规则中没能匹配的特征无能为力。基于深度学习的端到端的答案生成虽然解决了规则匹配的泛化性问题,但由于自然语言的开放性,通常无法很好的给出准确的回答,同时对训练样本数量要求很高,无法利用现有的知识库。
知识服务
大规模数据处理能力
在互联网时代信息呈现爆炸性的增长。在科学领域、工程领域以及商业计算领域每天产生大量的数据。据不完全统计报告,2016年全球信息量已达到了25ZB(相当于2.5万亿GB),储存单位从小到大依次是B,KB,NB,GB,TB,PB,EB,ZB,YB,IDC报告显示,预计到2020年全球数据总量将超过40ZB,这一数据量是2011年的22倍。如此海量数据给计算机数据的存储和计算带来了严峻的挑战,实际对计算能力的需求远超自身IT架构的计算能力,传统的方式是不断地加大硬件投入来适应大数据的增长。但是由于传统并行编程模型的复杂性,这无疑限制了系统的可扩展性,同时也降低了系统的易维护性。面对此种情况,这就迫切的需要一种全新的并行计算框架。
主要创新点
在项目中分为了三个部分,知识管理,知识发现和知识服务;在知识管理层中,企业的数据不仅仅为文本类型的结构化数据,其中还包括了大量的非结构化数据、半结构化数据,例如文本、图片、视频等。为了从这些多源的数据中抽取知识,使用结构化实体结合半结构化、非结构化文本或多媒体的弹性表征方式,以应对企业的多源异构数据;利用集成学习 (ensemble learning)框架来有效结合多种实体抽取工具,以获取最好的实体抽取效果。同时,采用了利用混合匹配(hybrid matching)的框架,即结合模式匹配和实例匹配,来实现有效的实体关联和数据关联,从而将多源的知识进行知识融合,建立企业知识图谱,实现知识管理。在知识发现层中,为了能够实现对图数据库快速查询、检索,利用深度图学习(deep graph learning)技术和自然语言处理技术,将自然语言问题翻译成SQL查询语句,即答案可以直接通过图数据库查询得到。同时,为了使得检索过程中,计算机能够有智能推理的能力,采用了基于翻译模型(Trans系列)的方法将自然语言问题翻译成图推理查询语句,即答案需要通过图数据的逻辑推理得到。在知识服务层中,为了解决数据的存储和计算问题,创建了一种基于CPU和GPU的分布式混合架构。
基于多源数据的知识抽取方法
知识抽取主要包括实体抽取和关系抽取。知识抽取是知识构建中最重要得一环。本项目采用了集成学习( ensemble learning)的框架,因此在知识抽取过程中,针对多源的数据应用了不同的实体抽取工具。其中,对于文本数据,主要采用双层的 LSTM-RNN 模型进行知识抽取;对于图像和视频数据,主要采用了Fast RCNN模型对图像进行语义分割(Image Sematic Segmentation),从而实现实体的抽取。
(1) 基于双层的 LSTM-RNN 模型。第一层 LSTM 输入的是词向量、位置特征和词性来识别实体的类型。训练得到的 LSTM 中隐藏层的分布式表达和实体的分类标签信息作为第二层 RNN 模型的输入,第二层的输入实体之间的依存路径,第二层训练对关系的分类,通过神经网络同时优化 LSTM 和 RNN 的模型参数。
(2)基于Fast RCNN模型的图像语义分割。Faster RCNN 是在Region CNN算法之上改进而成。主要包括四个步骤候选区域生成,特征提取,分类,位置精修。重要步骤如下:通过多个尺度的窗口选择性搜索,并搜寻共享纹理、颜色或强度的相邻像素,创造了这些边界框,或者区域提案(region proposal)关于这个被称为选择性搜索(Selective Search)的方法,选择性搜索通过不同尺寸的窗口查看图像,并且对于不同尺寸,其尝试通过纹理、颜色或强度将相邻像素归类,以识别物体。在创建一组区域提案(region proposal)后,Fast R-CNN 只需将图像传递给一个训练好的卷积神经网络以确定其是否为有效区域,然后再通过SVM查看框图像目标,最后 通过线性回归模型运行边框,一旦目标完成分类,输出边框的更紧密的坐标。
Fast R-CNN 将卷积神经网络(CNN),分类器和边界框回归器组合为一个简单的网络。Fast R-CNN 在单一模型中联合训练卷积神经网络、分类器和边界框回归器。之前有不同的模型来提取图像特征(CNN),分类(SVM)和紧缩边界框(回归器),而 Fast R-CNN 使用单一网络计算上述三个模型。
多源数据融合
多源数据融合对知识库的构建是非常重要,与传统数据融合(data fusion)任务的主要不同是,知识融合可能使用多个知识抽取工具为每个数据项从每个数据源中抽取相应的值,而数据融合未考虑多个抽取工具。多源数据融合可以丰富知识库,使得知识库可以表示的维度更多。
知识融合包括了本体的融合和实例的融合。在知识融合技术中,本体匹配扮演着非常重要的角色,提供了概念或者实体之间的对应关系。本体匹配算法,一般可以分为模式匹配(schema matching)和实例匹配(instance matching)。本项目采用了混合匹配(hybrid matching)的框架,即模式匹配和实例匹配相结合的方法进行知识融合,对于文本类数据主要采用模式匹配,对于图片视频等其他类型数据主要采用实例匹配。
模式匹配主要寻找本体中属性和概念之间的对应关系。本项目采用自动的语义匹配方法,该方法首先利用像WordNet之类的词典以及本体的结构等信息进行模式匹配,然后将结果根据加权平均的方法整合起来,再利用一些模式(patterns)进行一致性检查,去除那些导致不一致的对应关系。该过程可循环的,直到不再找到新的对应关系为止。同时先实现过程中也考虑多种匹配算法的结合,利用基于术语的一些相似度计算算法,例如 n-gram 和编辑距离,这里算法计算的结果根据加权求和进行合并,还考虑了概念的层次关系和一些背景知识,最后通过用户定义的权重进行合并。
实例匹配是评估异构知识源之间实例对的相似度,用来判断这些实例是否指向给定领域的相同实体。首先使用向量空间模型表示实例的描述性信息,再基于规则采用倒排索引(inverted indexes)获取最初的匹配候选,在使用用户定义的属性值对候选进行过滤,最后计算出的匹配候选相似度用来作为整合的向量距离,由此抽取出匹配结果。
基于知识表示的知识推理方法
知识库推理可以分为基于符号的推理和基于统计的推理。基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑)或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理可以从一个已有的知识图谱,利用规则,推理出新的实体间关系,还可以对知识图谱进行逻辑的冲突检测。基于统计的方法一般指关系机器学习方法,通过统计规律从知识图谱中学习到新的实体间关系。
本项目采用基于翻译模型(Trans系列)的知识表示学习来解决知识推理问题。表示学习旨在将研究对象的语义信息表示为稠密低维实值向量,知识表示学习主要是面向知识图谱中的实体和关系进行表示学习。使用建模方法将实体和向量表示在低维稠密向量空间中,然后进行计算和推理。翻译模型包括了TransE、TransR、TransH等。其实质是基于同一损失度量关系向量空间的头实体加上关系等于关系向量空间中的尾实体(hr r=tr)。
TransE: $$ h_r = h $$ $$ t_r = t $$
TransH: $$ h_r = h - (w_r)^{T.h.w_r} $$ $$ t_r = t - (w_r)^{T.t.w_r} $$
TransR: $$ h_r = M_r.h $$ $$ t_r = M_r.t $$
本项目主要采用TransR模型做知识表示学习,构建推理系统。TransR在准确性和性能上都达到一个比较好的平衡,TransR模型如下图所示。对于每个元组(h,r,t),首先将实体空间中的实体通过Mr向关系r投影得到hr和tr,然后使hr r=tr。特定的关系投影(彩色的圆圈表示)能够使得头/尾实体在这个关系下真实的靠近彼此,使得不具有此关系(彩色的三角形表示)的实体彼此远离。
基于深度学习的SQL语句生成技术
现在做问答系统主要有两大类方法:基于深度学习的端到端的训练和基于规则的知识库的匹配。但是这两种方法都存在着缺陷,基于规则的知识库的匹配面对自然语言处理的时候缺乏泛化性,对于出现规则中没能匹配的特征无能为力。基于深度学习的端到端的答案生成虽然解决了规则匹配的泛化性问题,但由于自然语言的开放性,通常无法很好的给出准确的回答,同时对训练样本数量要求很高,无法利用现有的知识库。因此,我们提出一种利用深度学习和知识库相结合的方法,利用深度学习技术将自然语言问题翻译成SQL查询语句对现有的知识库进行搜索。
利用LSTM-attention模型对输入的自然语言进行端到端的训练,输出分为两个部分:关于所需要查询的表名、列名和操作符号的选择。
大规模分布式混合架构
传统的大数据技术多基于CPU上运行,如Hadoop、Spark等。但对于深度学习模型来说,由于其参数非常庞大,对并行计算要求非常高,传统的基于CPU架构下的分布式框架无法满足需求。为了可以同时使用CPU和GPU,本项目创建了一种基于CPU和GPU的分布式混合架构。
为了可以同时处理两种异构的底层框架,我们设计了一个抽象层来屏蔽底层资源,实现对底层物理资源的屏蔽,尤其是对GPU资源的抽象和调度。在屏蔽和抽象底层接口技术上,容器技术具有天然的优势,特别是Docker和Kubernetes的发展,其在GPU调度上十分完善,因此,本项目采用基于的Kubernetes容器集群作为中间调度层。
集群内置了Docker镜像仓库服务,多副本的API Server和Etcd集群,保证了整个集群所有组件的高可用性,后端使用Kubernetes编排系统,通过API Server实现授权认证和Quota配额功能。基于Web服务器可以实现集成内部权限管理系统的业务逻辑,系统提供了类似AWS的AKSK签名认证机制,用户注册登录后可以自行创建Access key和Secret key,请求时在客户端进行AKSK的签名后发送,这样用户不需要把账号密码或密钥加到请求中,即使密钥泄露也可以由用户来禁用,请求时即使签名被嗅探也只能重放当前的请求内容,同时,系统参考OpenStack项目的体系架构,实现了多租户和Quota功能,通过认证和授权的请求需要经过Quota配额检查,在高可用数据库中持久化相应的数据,这样平台管理员就可以动态修改每个租户的Quota,而且用户可以随时查看自身的审计信息。
采用的方法、技术路线以及工艺流程
系统总体架构
本项目的整体架构主要包括四层:数据采集层、知识管理层、知识发现层、知识服务层。数据采集层主要由一个分布式智能采集系统构成,其主要功能为对互联网数据进行定向采集,利用外部数据补充企业知识数据,是底层的异构数据的主要来源之一。知识管理层主要负责对知识进行抽取、识别、存储、管理和维护工作,知识管理层主要包括了知识自动构建系统和知识管理系统,是提供知识服务的保障。知识发现层主要是将知识进行表征学习,使得知识可以做推理,从而提供自动问答和查询服务,知识发现层主要包括了知识表征系统和知识推理系统两个系统。知识服务层是整个系统的价值的直接展现方式,是对外提供服务的渠道,知识服务包括了两个模块:基于知识图谱的智能运营服务系统和基于知识图谱的智能运维服务系统。
大规模分布式混合架构
传统的大数据技术多基于CPU上运行,如Hadoop、Spark等。但对于深度学习模型来说,由于其参数非常庞大,对并行计算要求非常高,传统的基于CPU架构下的分布式框架无法满足需求。为了可以同时使用CPU和GPU,本项目创建了一种基于CPU和GPU的分布式混合架构。为了可以同时处理两种异构的底层框架,我们设计了一个抽象层来屏蔽底层资源,实现对底层物理资源的屏蔽,尤其是对GPU资源的抽象和调度。在屏蔽和抽象底层接口技术上,容器技术具有天然的优势,特别是Docker和Kubernetes的发展,其在GPU调度上十分完善,因此,本项目采用基于的Kubernetes容器集群作为中间调度层。
集群内置了Docker镜像仓库服务,多副本的API Server和Etcd集群,保证了整个集群所有组件的高可用性,后端使用Kubernetes编排系统,通过API Server实现授权认证和Quota配额功能。基于Web服务器可以实现集成内部权限管理系统的业务逻辑,系统提供了类似AWS的AKSK签名认证机制,用户注册登录后可以自行创建Access key和Secret key,请求时在客户端进行AKSK的签名后发送,这样用户不需要把账号密码或密钥加到请求中,即使密钥泄露也可以由用户来禁用,请求时即使签名被嗅探也只能重放当前的请求内容,同时,系统参考OpenStack项目的体系架构,实现了多租户和Quota功能,通过认证和授权的请求需要经过Quota配额检查,在高可用数据库中持久化相应的数据,这样平台管理员就可以动态修改每个租户的Quota,而且用户可以随时查看自身的审计信息。
数据采集层
数据采集层主要包括两部分:(1)从企业提供的结构化和非结构化的数据流中收集知识数据,如通过企业的机器日志采集CPU、内存和程序运行等状态,通过员工打卡考勤登记表搜集员工的考勤信息;(2)利用分布式爬虫从互联网数据中采集外部数据,构建外部数据知识库,对企业知识库进行补充。下面重点对分布式智能采集平台的架构进行说明。
分布式智能采集系统主要分为五个部分:第一部分通过前端将CSS或XPATH规则转化为爬虫代码存入爬虫数据库CrawlerDB中;第二部分为通过CrawlerDB下达抓取命令,生产抓取列表fetchlist;第三部分Fetchlist通过组合url请求和IP地址、login登录信息得到网络请求;第四部分Fetchlist通过网络请求获取目标网页内容,并提交给parser模块进行页面解析;第五部分将解析结果被存储数据库中,同时向CrawlerDB反馈爬取结果状态,更新爬取信息。
知识管理层
知识管理层主要负责抽取、识别、存储、管理和维护工作,知识管理系统包括了知识库自动构建和知识管理两部分组成。
知识图谱构建主要分为两大部分,第一个部分是知识获取,主要阐述如何从非结构化、半结构化、以及结构化数据中获取知识。第二部是数据融合,主要阐述如何将不同数据源获取的知识进行融合构建数据之间的关联。知识获取主要包括了实体识别和关系抽取、消除歧义、知识增强、知识纠错。
实体识别需要通过自然语言技术识别文章中的实体,实体识别通常有两种方法,一种是用户本身有一个知识库则可以使用实体链接将文章中可能的候选实体链接到用户的知识库上。另一种是当用户没有知识库则需要使用命名实体识别技术识别文章中的实体。若文章中存在实体的别名或者简称还需要构建实体间的同义词表,这样可以使不同实体具有相同的描述。歧义性和多样性是自然语言的固有属性,也是实体链接的根本难点。如何挖掘更多、更加有效的消歧证据,设计更高性能的消歧算法依然是实体链接系统的核心研究问题。本项目提出构一种基于图的模型,其中图节点为所有实体指称和所有候选实体;图的边分为两类,一类是实体指称和其对应的候选实体之间的边,权重为实体指称和候选实体之间的局部文本相似度,采用词袋模型和余弦距离计算得出。另一类是候选实体之间的边,权重为候选实体之间的语义相关度,采用谷歌距离计算。算法首先采集不同实体的初始置信度,然后通过图中的边对置信度进行传播和增强。
当获得实体后,则需要关注实体间的关系,即实体关系识别,有些实体关系识别的方法会利用句法结构来帮助确定两个实体间的关系,因此在有些算法中会利用依存分析或者语义解析。如果用户不仅仅想获取实体间的关系,还想获取一个事件的详细内容,那么则需要确定事件的触发词并获取事件相应描述的句子,同时识别事件描述句子中实体对应事件的角色。
当知识从各个数据源下获取时需要提供统一的术语将各个数据源获取的知识融合成一个庞大的知识库。提供统一术语的结构或者数据被称为本体,本体不仅提供了统一的术语字典,还构建了各个术语间的关系以及限制。本体可以让用户非常方便和灵活的根据自己的业务建立或者修改数据模型。通过数据映射技术建立本体中术语和不同数据源抽取知识中词汇的映射关系,进而将不同数据源的数据融合在一起。同时不同源的实体可能会指向现实世界的同一个客体,这时需要使用实体匹配将不同数据源相同客体的数据进行融合。不同本体间也会存在某些术语描述同一类数据,那么对这些本体间则需要本体融合技术把不同的本体融合。最后融合而成的知识库需要一个存储、管理的解决方案。知识存储和管理的解决方案会根据用户查询场景的不同采用不同的存储架构如 NoSQL 或者关系数据库。同时大规模的知识库也符合大数据的特征,因此需要传统的大数据平台如 Spark 或者 Hadoop 提供高性能计算能力,支持快速运算。
知识发现层
知识发现层主要是将知识进行表征学习,从而实现知识的推理和计算。知识计算主要是根据图谱提供的信息得到更多隐含的知识,如通过本体或者规则推理技术可以获取数据中存在的隐含知识;而链接预测则可预测实体间隐含的关系;同时使用社会计算的不同算法在知识网络上计算获取知识图谱上存在的社区,提供知识间关联的路径;通过不一致检测技术发现数据中的噪声和缺陷。通过知识计算知识图谱可以产生大量的智能应用如可以提供精确的用户画像为精准营销系统提供潜在的客户;提供领域知识给专家系统提供决策数据,给律师、医生、公司 CEO 等提供辅助决策的意见;提供更智能的检索方式,使用户可以通过自然语言进行搜索;同时也可以做问答系统。
(1)知识推理系统
知识计算的核心是知识推理技术。知识库推理可以粗略地分为基于符号的推理和基于统计的推理。在人工智能的研究中,基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑)或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理可以从一个已有的知识图谱,利用规则,推理出新的实体间关系,还可以对知识图谱进行逻辑的冲突检测。基于统计的方法一般指关系机器学习方法,通过统计规律从知识图谱中学习到新的实体间关系。
知识图谱中基于统计的推理方法一般指利用机器学习方法技术做知识推理,如类型推理(type inference)方法、模式归纳(schema induction)方法、基于实体关系学习方法。知识图谱上的类型推理目的是学习知识图谱中的实例和概念之间的属于关系,例如SDType利用三元组主语或谓语所连接属性的统计分布以预测实例的类型。该方法可以用在任意单数据源的知识图谱,但是无法做到跨数据集的类型推理。模式归纳方法学习概念之间的关系,主要有基于 ILP 的方法和基于 ARM 的方法。ILP 结合了机器学习和逻辑编程技术,使得人们可以从实例和背景知识中获得逻辑结论。实体关系学习的目的是学习知识图谱中实例和实例之间的关系,例如翻译(translation)模型就是将实体与关系统一映射至低维向量空间中,且认为关系向量中承载了头实体翻译至尾实体的潜在特征。因此,通过发掘、对比向量空间中存在类似潜在特征的实体向量对,可以得到知识图谱中潜在的三元组关系。基于实体关系学习的方法可以很好的和深度学习技术相结合,因此本次项目的知识推理采用了基于实体关系学习的方法。
(2)面向自然语言查询的知识搜索
在知识发现层提供了一种面向自然语言查询得知识搜索功能。采用了基于知识图谱的知识搜索和基于搜索引擎的知识搜索。基于自然语言的知识检索主要包括两方面,一个是将自然语言转化为查询语句,一个是基于深度图学习的搜索。
本项目提出一种基于基于语义关系抽取的自动生成算法,实现从无结构化自然查询语句到结构化查询语句之间的映射。针对非事实性的问题,本项目提供了基于无结构化的社区问答数据的知识搜索服务,从基于问题跟问题相似度匹配和问题跟答案相似度匹配两个方向解决问题。在问题跟问题相似度匹配模型中,我们提出改进的WMD算法,该算法根据社区问答数据的特性对原始的WMD算法进行改进,算法的结果比传统的BM25算法以及原始的WMD算法在性能上都有了较大提高。在问题与答案相似度匹配模型中,通过深度学习在NLP领域的应用来比较两个句子或者段落的语义相似度,考虑问题和答案在数据集上的共现特征,提高了模型在处理答案简短、关键词与问题语义不匹配等情况下性能低下的问题。
传统的知识搜索是基于结构化查询的形式进行,这种检索模式存在检索语法复杂、数据结构复杂等问题,而且无法做知识推理。而且企业的知识图谱和传统的知识图谱搜索不同,传统的知识图谱是基于离散性关系的搜索,其谓语动词是定义好的,如头实体-谓词-尾实体。因此本项目采用一种利用深度学习在异质图上做语义推理的方法,利用LSTM根据两点之间的路径结构训练其邻近性表示,从而实现邻近性的嵌入表示。
知识服务层
知识服务层是整个系统的价值的直接展现方式,是对外提供服务的渠道,是整个系统的应用层,知识服务包括了两个方面应用:智能运营服务系统和智能运维服务系统。
(1)基于智能运营系统
自动化运营体系功能架构分为三层,由下至上依次为数据层、 能力层和应用层。 上层调用下层的能力和应用,下层为上层提供支撑服务。
数据层。 数据层主要依托企业知识库,汇聚客户标签、产品信息、触点信息、场景模型、运营指标等基础数据,形成标准化的数据库,供能力层调用。在汇总海量客户数据的基础上,准确描述客户特征,从自然属性、社会属性、电信属性、互联网属性等维度对全量客户进行画像,实现对客户的“ 超细分”。
能力层。 能力层主要依托业务逻辑,调用下层的标准数据库,形成可供应用层调用的标准化能力,主要包括事件(时机)识别能力、数据标签能力、场景模型能力、动态内容发布能力、触点管理能力和评估监控能力。其中,关键事件(时机)识别能力是开展自动化运营的前提和基础。
应用层。 应用层调用下层的标准化能力,实现闭环的自动化流程,包括需求分析、策略适配、时机识别、触点匹配、效果评估五个环节。
(2)智能运维系统
智能运维系统架构层次主要包括了三部分:
系统监测自动化。系统监测是运维自动化的基础,自动化抓取服务器硬件、操作系统、作业调度系统、计算应用的各种状态信息,如 CPU 使用率、作业负载、存储使用率等,全面掌握集群状态,并将数据和事件存储于知识库,为自动化运维提供原始数据与事件关系。
数据分析自动化。监测数据一般为运行信息,无法直接用于业务运维,必须对其进行分析处理,形成业务运行数据,方可实现运维问题自动识别。
问题处理自动化。经分析的业务数据出现异常时,说明业务存在运行问题,需运维人员处理,其中大部分是重复出现的简单问题,占用了运维人员大量时间。将运维人员处理问题的方法总结形成标准化工作流程,或将复杂操作封装为可视化操作,业务异常发生时,自动触发问题处理流程,保证业务连续性。
项目效益分析
项目产品市场分析,并明确说明本项目产品市场定位
产品: 构建知识图谱和人工智能驱动的企业深度智能运营和运维平台
背景:企业有很多数据,包括各种类型日志:文本日志(比如电信文档,法律卷宗),用户日志(比如媒体浏览,地理轨迹),机器日志(比如生产线传感器,高铁/地铁运行日志)等。数据宝贵。如何对这些企业数据进行管理,进而做知识发现和知识服务,在人工智能时代尤为重要。
申报单位希望能够构建一个智能平台,可以帮助企业:
一、知识管理;
1)将企业的数据构建成企业专属的知识图谱,实现企业知识管理。比如可以用来帮助培训员工,降低员工训练成本; 2)人机智能交互界面系统。通过该系统界面,使得企业能够使用自然语言问题查询知识库中知识,提高工作效率。
二、知识发现;
1)通过高效数据爬虫,获取多源关联数据,用以扩展企业知识图谱的内容和范围;
2)通过多源数据关联融合,用以帮助企业做知识发现,最大化企业数据的效能,实现企业知识发现。比如可以用来提供自动问答和技术支持,降低人工成本;
三、知识服务;
利用扩展过的企业知识图谱所带来的丰富语义和关联信息,来实现知识服务,帮助提高企业效能。即利用企业知识图谱来帮助企业原有的业务,比如推荐等。同时平台可以支持多种商业模式:
1)知识服务模式(针对中小型企业):申报单位已经在某些应用行业有深耕,并已构建该行业的大型知识图谱和有着一套相关的企业应用解决方案。 这样对于一个有业务需求的企业,可以将该企业的数据和平台对接,让该企业在平台上进行企业应用。
2)技术服务模式(针对大中型企业):对于一个有业务需求的企业,但其所属行业不在申报单位已有的业务范围之内,申报单位可以提供一整套企业知识图谱的端到端方案,帮助他们构建起自己的企业知识图谱并提供技术支持。