精华内容
下载资源
问答
  • 入门教材,适合广泛应用,对于初学者可以进行体系建立,了解当前时代更新知识。紧跟时代变化知识体系。快来看一看。。
  • Java框架总结

    万次阅读 多人点赞 2020-01-17 14:14:13
    本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。 欲速则不达,欲达则欲速! 一、SSH 1、基本概念 SSH框架是JAVA EE中三种...

    🍅 Java基础教程系列: Java基础教程系列

    🍅 Java学习路线总结:搬砖工逆袭Java架构师

    🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)

    🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

    🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

    🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

    本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。

    一、SSH

    1、基本概念

    SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。

    集成SSH框架的系统从职责上分为(Struts2--控制;spring--解耦;hibernate--操作数据库),以帮助开发人员在短期内搭建结构清晰、可服用好、维护方便的web应用程序。使用Struts作为系统的整体基础框架,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持,spring做管理,管理Struts和hibernate。

    2、Struts2

    (1)基本概念

    Struts2是一个基于MVC设计模式的web应用框架,相当于一个servlet,在MVC设计模式中,Struts2作为控制器(controller)来建立模型与视图的数据交互。Struts2在Struts1融合webwork。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计使得业务逻辑控制器能够与servletAPI完全脱离。

    (2)Struts2框架的运行结构

    解析:客户端发送请求(HttpServletRequest)到服务器,服务器接收到请求就先进入web.xml配置文件看看有没有配置过滤器,发现有有Struts2的过滤器,然后找到struts.xml配置文件,struts.xml配置文件里定义一个action,然后就去找到action类,此类继承ActionSupport接口,并且实现了execute()方法,返回一个字符串“success”给struts.xml配置文件,struts.xml配置文件的action会默认调用action类的execute()方法,result接收到返回的字符串,result就会调用你指定的jsp页面将结果呈现,最后响应给客户端。

    (3)Struts2的优势

    • 实现了MVC模式,层次结构清晰,使程序员只需要关注业务逻辑的实现。
    • 丰富的标签库,大大提高了开发的效率。
    • Struts2提供丰富的拦截器实现。
    • 通过配置文件,就可以掌握整个系统各个部分之间的关系。
    • 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做响应的处理。
    • Struts2的可扩展性高。
    • 面向切面编程的思想在Struts2中也有了很好的体现。
    • 体现了拦截器的使用,拦截器是一个一个的小功能模块,用户可以将这些拦截器合并成一个大的拦截器,这个合成的拦截器就像单独的拦截器一样,只要将它配置到一个Action中就可以。

    (4)Struts2的缺点:

    • 校验较繁琐,多字段出错返回不同。
    • 安全性太低
    • 获取传参时较麻烦

    2、Spring

    (1)基本概念

    spring是一个开源开发框架,是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

    spring主要用来开发java应用,构建J2EE平台的web应用。其核心就是提供一种新的机制管理业务对象及其依赖关系。

    (2)spring的流程图

    解析:上面是在Struts结构图的基础上加入了spring流程图,在web.xml配置文件中加入了spring的监听器,在struts.xml配置文件中添加

    “<constant name="struts.objectFactory" value="spring" />”

    是告知Struts2运行时使用spring来管理对象,spring在其中主要做的就是注入实例,所有需要类的实例都由spring管理。

    (3)spring的优点

    • 容器:spring是一个容器,包含并管理对象的生命周期和配置。可以配置每个bean如何被创建,基于一个可配置原型prototype,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例。
    • 支持AOP:spring提供对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。
    • 轻量级框架:spring是轻量级框架,其基本的版本大约2M。
    • 控制反转:spring通过控制反转实现松耦合。对象们给他们依赖,而不是对象本身,方便解耦,简化开发。
    • 方便程序测试:spring提供了Junit4的支持,可以通过注解方便的测试spring程序。
    • 降低java EE API的使用难度:spring对java EE开发中非常难用的一些API(比如JDBC),都提供了封装,使这些API应用难度大大降低。
    • 方便集成各种优秀框架:spring内部提供了对各种优秀框架(如Struts、mybatis)的直接支持。
    • 支持声明式事务处理:只需要通过配置就可以完成对事务的管理,而无须手动编程。

    (4)spring的缺点

    • 依赖反射,反射影响进程。
    • 太过于依赖设计模式。
    • 控制器过于灵活。
    • 不支持分布式应用。

    Spring常用注解(绝对经典)

    Spring视频教程--颜群

    3、hibernate

    (1)基本概念

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

    (2)hibernate的核心构成和执行流程图

    (3)hibernate的优点

    • 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
    • Hibernate是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作,将软件开发人员从大量相同的数据持久层相关编程工作中解放出来,使开发更对象化了。
    • 透明持久化(persistent)带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的javabeans/POJO,(POJO概念,plain ordinary java object,简单的java对象,可以简单理解为简单的实体类entity。)这个对象没有实现第三方框架或接口,唯一特殊的是他们正与session关联。一旦这个session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。
    • 事务transaction应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA(java transaction API,JTA允许应用程序执行分布式事务处理,在两个或多个网络计算机资源访问并且更新数据,JDBC驱动程序的JTA支持极大地增强了数据访问能力)以及CORBA(公用对象请求代理程序体系结构,common object request broker architecture,简而言之,CORB允许应用程序和其它的应用程序通讯)事务隔离开。某些情况下,一个session之内可能包含多个transaction对象,事务边界的开启与关闭时必不可少的。
    • 它没有侵入性,是轻量级框架。
    • 移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
    • 缓存机制,提供一级缓存和二级缓存。

    一级缓存:是session级别的缓存,一个session做了一个查询操作,它会把这个操作的结果放到一级缓存中,如果短时间内这个session又做了同一个操作,那么hibernate直接从一级缓存中拿出,而不会去连数据库取数据。

    二级缓存:是sessionFactory级别的缓存,就是查询的时候会把结果缓存到二级缓存中,如果同一个sessionFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿出结果,而不会再去连接数据库。

    (4)hibernate的缺点

    • 持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活应用原生SQL。
    • 批量数据处理的时候较为弱势。
    • 框架中使用ORM原则,导致配置过于复杂,遇到大项目,维护问题不断。

    Hibernate实现CRUD(附项目源码)

    为什么很多人不愿意用hibernate了?

    尚硅谷Java视频_SSH整合&综合案例 视频教程

    手动实现教程源码:

    链接: https://pan.baidu.com/s/1BK0V1wxA-GQrWco10WEzeg 提取码: 2e3e 

    二、SSM

    SSM架构,是三层结合所成的框架,分别是Spring、SpringMVC、MyBatis所组成。Spring依赖注入来管理各层,面向切面编程管理事务,日志和权限。SpringMVC代表了model、view、controller接收外部请求,进行开发和处理。mybatis是基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来。

    1、spring

    详细介绍见SSH中spring。

    2、SpringMVC

    (1)基本概念

    属于spring框架的一部分,用来简化MVC架构的web应用程序开发。

    (2)SpringMVC的优点

    • 拥有强大的灵活性,非侵入性和可配置性
    • 提供了一个前端控制器dispatcherServlet,开发者无需额外开发控制器对象
    • 分工明确,包括控制器、验证器、命令对象、模型对象、处理程序映射视图解析器,每一个功能实现由一个专门的对象负责完成
    • 可以自动绑定用户输入,并正确的转换数据类型
    • 可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,而不需要去扩展某个特定框架的基类。

    (3)SpringMVC的缺点

    • servlet API耦合难以脱离容器独立运行
    • 太过于细分,开发效率低

    SpringMVC中put和post如何选择

    GET和POST的区别

    @RequestParam、@ModelAttribute、@RequestBody的区别

    HttpServletResponse response实现文件上传、下载

    3、mybatis

    (1)基本概念

    mybatis是一个简化和实现了java数据持久层的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。

    (2)mybatis的优点

    • 与JDBC相比,减少了50%以上的代码量。
    • mybatis是最简单的持久化框架,小巧并且简单易学。
    • mybatis灵活,不会对应用程序或者数据库的限售设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,可重用。
    • 提供XML标签,支持编写动态SQL语句(XML中使用if,else)。
    • 提供映射标签,支持对象与数据库的ORM字段关系映射(在XML中配置映射关系,也可以使用注解)

    (3)mybatis的缺点

    • SQL语句的编写工作量较大,对开发人员的SQL语句编写有一定的水平要求。
    • SQL语句过于依赖数据库,不能随意更换数据库。
    • 拼接复杂SQL语句时不灵活。

    【MyBatis 基础知识总结 1】SQL注入

    【MyBatis 基础知识总结 2】MyBatis-Plus

    MyBatis常用标签和注解(绝对经典)

    MyBatis事务管理

    MyBatis逆向工程(Example + Criteria简介)

    MyBatis xml配置文件详解

    Spring JdbcTemplate简介

    纯干货,Spring-data-jpa详解,全方位介绍。

    尚硅谷SSM整合视频教程雷丰阳雷大神讲解

    SpringMVC视频教程--颜群

    颜群版SSM整合示例

    示例源码:

    链接:https://pan.baidu.com/s/1NIDjQ5wRBN9hNc_4G1Nhng 
    提取码:18vi

    三、Springboot

    1、springboot基本概念

    springboot是一个全新的框架,简化Spring的初始搭建和开发过程,使用了特定的方式来进行配置,让开发人员不再需要定义样板化的配置。此框架不需要配置xml,依赖于maven这样的构建系统。

    2、Springboot的优点

    (1)减少了大量的开发时间并提高了生产力

    (2)避免了编写大量的样板代码,注释和XML配置

    (3)解决了spring的弊端

    (4)代码少了、配置文件少了、不需要对第三方框架烦恼了、项目精简了,对整个团队的开发和维护来说,更大的节约了成本。

    3、springboot的缺点

    (1)修复bug较慢,报错时难以定位。

    (2)集成度较高,不易于了解底层。

    4、springboot总结

    简单、快速、方便的搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。

    5、springboot和spring的区别

    (1)springboot可以建立独立的spring应用程序。

    (2)内嵌了如tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作。

    (3)无需再像spring那样写一堆繁琐的XML配置文件

    (4)可以自动配置spring

    (5)提供的POM可以简化maven的配置

    6、springboot和springMVC的区别

    (1)SpringMVC是基于spring的一个MVC框架。

    (2)springboot的基于spring的条件注册的一套快速开发整合包。

    🍅 Java基础教程系列: Java基础教程系列

    🍅 Java学习路线总结:搬砖工逆袭Java架构师

    🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)

    🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

    🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

    🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

    添加微信,备注1024,赠送Java学习路线思维导图 

    展开全文
  • HTML的基础知识框架,xmind格式,只包含了基础的HTML的知识框架,可以帮助建立HTML的知识网络
  • 软件组织使用框架来积累知识,对推动软件开发是一种有效的方式,但前提是你能够了解如何设计一个框架。什么是框架在软件开发中出现过各种各样的框架,开源软件的兴起,使得各种各样的框架纷纷出现,例如,Apache组织...
  • HTML5的知识框架

    2020-11-05 14:41:14
    HTML5的知识框架,帮助建立HTML5的知识网络,适用于入门级前端的学习,内容有新增标签,video和audio等等
  • 知识图谱】知识图谱的基础概念与构建流程

    千次阅读 多人点赞 2019-11-09 18:46:49
    目录 1、引言 2、知识图谱的定义 3、知识图谱的架构 3.1知识图谱的逻辑结构 3.2知识图谱的体系架构 ...4、代表性知识图谱库 ...5、知识图谱构建的关键技术 ...我们专知的技术基石之一正是知识图谱-构建AI知识体系-专...

    目录

    1、引言

    2、知识图谱的定义

    3、知识图谱的架构

    3.1 知识图谱的逻辑结构

    3.2 知识图谱的体系架构

    4、代表性知识图谱库

    5、知识图谱构建的关键技术

    5.1 知识提取

    5.2 知识表示

    5.3 知识融合


    【导读】知识图谱技术是人工智能技术的组成部分,其强大的语义处理和互联组织能力,为智能化信息应用提供了基础。我们专知的技术基石之一正是知识图谱-构建AI知识体系-专知主题知识树简介。下面我们特别整理了关于知识图谱的技术全面综述,涵盖基本定义与架构、代表性知识图谱库、构建技术、开源库和典型应用。

    1、引言

    随着互联网的发展,网络数据内容呈现爆炸式增长的态势。由于互联网内容的大规模、异质多元、组织结构松散的特点,给人们有效获取信息和知识提出了挑战。知识图谱(Knowledge Graph) 以其强大的语义处理能力和开放组织能力,为互联网时代的知识化组织和智能应用奠定了基础。最近,大规模知识图谱库的研究和应用在学术界和工业界引起了足够的注意力[1-5]。一个知识图谱旨在描述现实世界中存在的实体以及实体之间的关系。知识图谱于2012年5月17日由[Google]正式提出[6],其初衷是为了提高搜索引擎的能力,改善用户的搜索质量以及搜索体验。随着人工智能的技术发展和应用,知识图谱作为关键技术之一,已被广泛应用于智能搜索、智能问答、个性化推荐、内容分发等领域。

    2、知识图谱的定义

    在维基百科的官方词条中:知识图谱是Google用于增强其搜索引擎功能的知识库。本质上, 知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。现在的知识图谱已被用来泛指各种大规模的知识库。 在具体介绍知识图谱的定义,我们先来看下知识类型的定义:

    知识图谱中包含三种节点:

    实体: 指的是具有可区别性且独立存在的某种事物。如某一个人、某一个城市、某一种植物等、某一种商品等等。世界万物有具体事物组成,此指实体。如图1的“中国”、“美国”、“日本”等。,实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。

    语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。 概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等。

    内容: 通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。

    属性(值): 从一个实体指向它的属性值。不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值。如图1所示的“面积”、“人口”、“首都”是几种不同的属性。属性值主要指对象指定属性的值,例如960万平方公里等。

    关系: 形式化为一个函数,它把kk个点映射到一个布尔值。在知识图谱上,关系则是一个把kk个图节点(实体、语义类、属性值)映射到布尔值的函数。

    基于上述定义。基于三元组是知识图谱的一种通用表示方式,即,其中,是知识库中的实体集合,共包含|E|种不同实体; 是知识库中的关系集合,共包含|R|种不同关系;代表知识库中的三元组集合。三元组的基本形式主要包括(实体1-关系-实体2)和(实体-属性-属性值)等。每个实体(概念的外延)可用一个全局唯一确定的ID来标识,每个属性-属性值对(attribute-value pair,AVP)可用来刻画实体的内在特性,而关系可用来连接两个实体,刻画它们之间的关联。如下图1的知识图谱例子所示,中国是一个实体,北京是一个实体,中国-首都-北京 是一个(实体-关系-实体)的三元组样例北京是一个实体 ,人口是一种属性2069.3万是属性值。北京-人口-2069.3万构成一个(实体-属性-属性值)的三元组样例。

    微信图片_20170930152906.jpg

    图1 知识图谱示例

    3、知识图谱的架构

    知识图谱的架构包括自身的逻辑结构以及构建知识图谱所采用的技术(体系)架构。

    3.1 知识图谱的逻辑结构

    知识图谱在逻辑上可分为模式层与数据层两个层次,数据层主要是由一系列的事实组成,而知识将以事实为单位进行存储。如果用(实体1,关系,实体2)、(实体、属性,属性值)这样的三元组来表达事实,可选择图数据库作为存储介质,例如开源的Neo4j[7]、Twitter的FlockDB[8]、sones的GraphDB[9]等。模式层构建在数据层之上,是知识图谱的核心,通常采用本体库来管理知识图谱的模式层。本体是结构化知识库的概念模板,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。

    3.2 知识图谱的体系架构

    图2 知识图谱的技术架构

    知识图谱的体系架构是其指构建模式结构,如图2所示。其中虚线框内的部分为知识图谱的构建过程,也包含知识图谱的更新过程。知识图谱构建从最原始的数据(包括结构化、半结构化、非结构化数据)出发,采用一系列自动或者半自动的技术手段,从原始数据库和第三方数据库中提取知识事实,并将其存入知识库的数据层和模式层,这一过程包含:信息抽取、知识表示、知识融合、知识推理四个过程,每一次更新迭代均包含这四个阶段。知识图谱主要有自顶向下(top-down)与自底向上(bottom-up)两种构建方式。自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如Freebase项目就是采用这种方式,它的绝大部分数据是从维基百科中得到的。自底向上指的是从一些开放链接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式[10]。目前,大多数知识图谱都采用自底向上的方式进行构建,其中最典型就是Google的Knowledge Vault[11]和微软的Satori知识库。现在也符合互联网数据内容知识产生的特点。

    4、代表性知识图谱库

    根据覆盖范围而言,知识图谱也可分为开放域通用知识图谱和垂直行业知识图谱[12]。开放通用知识图谱注重广度,强调融合更多的实体,较垂直行业知识图谱而言,其准确度不够高,并且受概念范围的影响,很难借助本体库对公理、规则以及约束条件的支持能力规范其实体、属性、实体间的关系等。通用知识图谱主要应用于智能搜索等领域。行业知识图谱通常需要依靠特定行业的数据来构建,具有特定的行业意义。行业知识图谱中,实体的属性与数据模式往往比较丰富,需要考虑到不同的业务场景与使用人员。下图展示了现在知名度较高的大规模知识库。

    微信图片_20170930153056.jpg

    图3 代表性知识图谱库概览

    5、知识图谱构建的关键技术

    大规模知识库的构建与应用需要多种技术的支持。通过知识提取技术,可以从一些公开的半结构化、非结构化和第三方结构化数据库的数据中提取出实体、关系、属性等知识要素。知识表示则通过一定有效手段对知识要素表示,便于进一步处理使用。然后通过知识融合,可消除实体、关系、属性等指称项与事实对象之间的歧义,形成高质量的知识库。知识推理则是在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。分布式的知识表示形成的综合向量对知识库的构建、推理、融合以及应用均具有重要的意义。接下来,本文将以知识抽取、知识表示、知识融合以及知识推理技术为重点,选取代表性的方法,说明其中的相关研究进展和实用技术手段 。

    5.1 知识提取

    知识抽取主要是面向开放的链接数据,通常典型的输入是自然语言文本或者多媒体内容文档(图像或者视频)等。然后通过自动化或者半自动化的技术抽取出可用的知识单元,知识单元主要包括实体(概念的外延)、关系以及属性3个知识要素,并以此为基础,形成一系列高质量的事实表达,为上层模式层的构建奠定基础。

    1.1 实体抽取

    实体抽取也称为命名实体学习(named entity learning) 或命名实体识别 (named entity recognition),指的是从原始数据语料中自动识别出命名实体。由于实体是知识图谱中的最基本元素,其抽取的完整性、准确率、召回率等将直接影响到知识图谱构建的质量。因此,实体抽取是知识抽取中最为基础与关键的一步。参照文献[13],我们可以将实体抽取的方法分为4种:基于百科站点或垂直站点提取、基于规则与词典的方法、基于统计机器学习的方法以及面向开放域的抽取方法。基于百科站点或垂直站点提取则是一种很常规基本的提取方法;基于规则的方法通常需要为目标实体编写模板,然后在原始语料中进行匹配;基于统计机器学习的方法主要是通过机器学习的方法对原始语料进行训练,然后再利用训练好的模型去识别实体;面向开放域的抽取将是面向海量的Web语料[14]。

    1) 基于百科或垂直站点提取

    基于百科站点或垂直站点提取这种方法是从百科类站点(如维基百科、百度百科、互动百科等)的标题和链接中提取实体名。这种方法的优点是可以得到开放互联网中最常见的实体名,其缺点是对于中低频的覆盖率低。与一般性通用的网站相比,垂直类站点的实体提取可以获取特定领域的实体。例如从豆瓣各频道(音乐、读书、电影等)获取各种实体列表。这种方法主要是基于爬取技术来实现和获取。基于百科类站点或垂直站点是一种最常规和基本的方法。

    2) 基于规则与词典的实体提取方法

    早期的实体抽取是在限定文本领域、限定语义单元类型的条件下进行的,主要采用的是基于规则与词典的方法,例如使用已定义的规则,抽取出文本中的人名、地名、组织机构名、特定时间等实体[15]。文献[16]首次实现了一套能够抽取公司名称的实体抽取系统,其中主要用到了启发式算法与规则模板相结合的方法。然而,基于规则模板的方法不仅需要依靠大量的专家来编写规则或模板,覆盖的领域范围有限,而且很难适应数据变化的新需求。

    3) 基于统计机器学习的实体抽取方法

    鉴于基于规则与词典实体的局限性,为具更有可扩展性,相关研究人员将机器学习中的监督学习算法用于命名实体的抽取问题上。例如文献[17]利用KNN算法与条件随机场模型,实现了对Twitter文本数据中实体的识别。单纯的监督学习算法在性能上不仅受到训练集合的限制,并且算法的准确率与召回率都不够理想。相关研究者认识到监督学习算法的制约性后,尝试将监督学习算法与规则相互结合,取得了一定的成果。例如文献[18]基于字典,使用最大熵算法在Medline论文摘要的GENIA数据集上进行了实体抽取实验,实验的准确率与召回率都在70%以上。近年来随着深度学习的兴起应用,基于深度学习的命名实体识别得到广泛应用。在文献[19],介绍了一种基于双向LSTM深度神经网络和条件随机场的识别方法,在测试数据上取得的最好的表现结果。

    微信图片_20170930153146.jpg

    图4 基于BI-LSTM和CRF的架构

    4) 面向开放域的实体抽取方法

    针对如何从少量实体实例中自动发现具有区分力的模式,进而扩展到海量文本去给实体做分类与聚类的问题,文献[20]提出了一种通过迭代方式扩展实体语料库的解决方案,其基本思想是通过少量的实体实例建立特征模型,再通过该模型应用于新的数据集得到新的命名实体。文献[21]提出了一种基于无监督学习的开放域聚类算法,其基本思想是基于已知实体的语义特征去搜索日志中识别出命名的实体,然后进行聚类。

    1.2 语义类抽取

    语义类抽取是指从文本中自动抽取信息来构造语义类并建立实体和语义类的关联, 作为实体层面上的规整和抽象。以下介绍一种行之有效的语义类抽取方法,包含三个模块:并列度相似计算、上下位关系提取以及语义类生成 [22]。

    1) 并列相似度计算

    并列相似度计算其结果是词和词之间的相似性信息,例如三元组(苹果,梨,s1)表示苹果和梨的相似度是s1。两个词有较高的并列相似度的条件是它们具有并列关系(即同属于一个语义类),并且有较大的关联度。按照这样的标准,北京和上海具有较高的并列相似度,而北京和汽车的并列相似度很低(因为它们不属于同一个语义类)。对于海淀、朝阳、闵行三个市辖区来说,海淀和朝阳的并列相似度大于海淀和闵行的并列相似度(因为前两者的关联度更高)。

    当前主流的并列相似度计算方法有分布相似度法(distributional similarity) 和模式匹配法(pattern Matching)。分布相似度方法[23-24]基于哈里斯(Harris)的分布假设(distributional hypothesis)[25],即经常出现在类似的上下文环境中的两个词具有语义上的相似性。分布相似度方法的实现分三个步骤:第一步,定义上下文;第二步,把每个词表示成一个特征向量,向量每一维代表一个不同的上下文,向量的值表示本词相对于上下文的权重;第三步,计算两个特征向量之间的相似度,将其作为它们所代表的词之间的相似度。 模式匹配法的基本思路是把一些模式作用于源数据,得到一些词和词之间共同出现的信息,然后把这些信息聚集起来生成单词之间的相似度。模式可以是手工定义的,也可以是根据一些种子数据而自动生成的。分布相似度法和模式匹配法都可以用来在数以百亿计的句子中或者数以十亿计的网页中抽取词的相似性信息。有关分布相似度法和模式匹配法所生成的相似度信息的质量比较参见文献。

    2) 上下位关系提取

    该该模块从文档中抽取词的上下位关系信息,生成(下义词,上义词)数据对,例如(狗,动物)、(悉尼,城市)。提取上下位关系最简单的方法是解析百科类站点的分类信息(如维基百科的“分类”和百度百科的“开放分类”)。这种方法的主要缺点包括:并不是所有的分类词条都代表上位词,例如百度百科中“狗”的开放分类“养殖”就不是其上位词;生成的关系图中没有权重信息,因此不能区分同一个实体所对应的不同上位词的重要性;覆盖率偏低,即很多上下位关系并没有包含在百科站点的分类信息中。

    在英文数据上用Hearst 模式和IsA 模式进行模式匹配被认为是比较有效的上下位关系抽取方法。下面是这些模式的中文版本(其中NPC 表示上位词,NP 表示下位词):

    NPC { 包括| 包含| 有} {NP、}* [ 等| 等等]
    NPC { 如| 比如| 像| 象} {NP、}*
    {NP、}* [{ 以及| 和| 与} NP] 等 NPC
    {NP、}* { 以及| 和| 与} { 其它| 其他} NPC
    NP 是 { 一个| 一种| 一类} NPC

    此外,一些网页表格中包含有上下位关系信息,例如在带有表头的表格中,表头行的文本是其它行的上位词。

    3) 语义类生成

    该模块包括聚类和语义类标定两个子模块。聚类的结果决定了要生成哪些语义类以及每个语义类包含哪些实体,而语义类标定的任务是给一个语义类附加一个或者多个上位词作为其成员的公共上位词。此模块依赖于并列相似性和上下位关系信息来进行聚类和标定。有些研究工作只根据上下位关系图来生成语义类,但经验表明并列相似性信息对于提高最终生成的语义类的精度和覆盖率都至关重要。

    1.3 属性和属性值抽取

    属性提取的任务是为每个本体语义类构造属性列表(如城市的属性包括面积、人口、所在国家、地理位置等),而属性值提取则为一个语义类的实体附加属性值。属性和属性值的抽取能够形成完整的实体概念的知识图谱维度。常见的属性和属性值抽取方法包括从百科类站点中提取,从垂直网站中进行包装器归纳,从网页表格中提取,以及利用手工定义或自动生成的模式从句子和查询日志中提取。

    常见的语义类/ 实体的常见属性/ 属性值可以通过解析百科类站点中的半结构化信息(如维基百科的信息盒和百度百科的属性表格)而获得。尽管通过这种简单手段能够得到高质量的属性,但同时需要采用其它方法来增加覆盖率(即为语义类增加更多属性以及为更多的实体添加属性值)。

    微信图片_20170930153321.jpg

    图5 爱因斯坦信息页

    由于垂直网站(如电子产品网站、图书网站、电影网站、音乐网站)包含有大量实体的属性信息。例如上图的网页中包含了图书的作者、出版社、出版时间、评分等信息。通过基于一定规则模板建立,便可以从垂直站点中生成包装器(或称为模版),并根据包装器来提取属性信息。从包装器生成的自动化程度来看,这些方法可以分为手工法(即手工编写包装器)、监督方法、半监督法以及无监督法。考虑到需要从大量不同的网站中提取信息,并且网站模版可能会更新等因素,无监督包装器归纳方法显得更加重要和现实。无监督包装器归纳的基本思路是利用对同一个网站下面多个网页的超文本标签树的对比来生成模版。简单来看,不同网页的公共部分往往对应于模版或者属性名,不同的部分则可能是属性值,而同一个网页中重复的标签块则预示着重复的记录。

    属性抽取的另一个信息源是网页表格。表格的内容对于人来说一目了然,而对于机器而言,情况则要复杂得多。由于表格类型千差万别,很多表格制作得不规则,加上机器缺乏人所具有的背景知识等原因,从网页表格中提取高质量的属性信息成为挑战。

    上述三种方法的共同点是通过挖掘原始数据中的半结构化信息来获取属性和属性值。与通过“阅读”句子来进行信息抽取的方法相比,这些方法绕开了自然语言理解这样一个“硬骨头”而试图达到以柔克刚的效果。在现阶段,计算机知识库中的大多数属性值确实是通过上述方法获得的。但现实情况是只有一部分的人类知识是以半结构化形式体现的,而更多的知识则隐藏在自然语言句子中,因此直接从句子中抽取信息成为进一步提高知识库覆盖率的关键。当前从句子和查询日志中提取属性和属性值的基本手段是模式匹配和对自然语言的浅层处理。图6 描绘了为语义类抽取属性名的主框架(同样的过程也适用于为实体抽取属性值)。图中虚线左边的部分是输入,它包括一些手工定义的模式和一个作为种子的(词,属性)列表。模式的例子参见表3,(词,属性)的例子如(北京,面积)。在只有语义类无关的模式作为输入的情况下,整个方法是一个在句子中进行模式匹配而生成(语义类,属性)关系图的无监督的知识提取过程。此过程分两个步骤,第一个步骤通过将输入的模式作用到句子上而生成一些(词,属性)元组,这些数据元组在第二个步骤中根据语义类进行合并而生成(语义类,属性)关系图。在输入中包含种子列表或者语义类相关模式的情况下,整个方法是一个半监督的自举过程,分三个步骤:

    模式生成:在句子中匹配种子列表中的词和属性从而生成模式。模式通常由词和属性的环境信息而生成。

    模式匹配。

    模式评价与选择:通过生成的(语义类,属性)关系图对自动生成的模式的质量进行自动评价并选择高分值的模式作为下一轮匹配的输入。

    1.3 关系抽取

    关系抽取的目标是解决实体语义链接的问题。关系的基本信息包括参数类型、满足此关系的元组模式等。例如关系BeCapitalOf(表示一个国家的首都)的基本信息如下:

    参数类型:(Capital, Country)
    模式:

    微信图片_20170930153412.jpg

    元组:(北京,中国);(华盛顿,美国);Capital 和 Country表示首都和国家两个语义类。

    早期的关系抽取主要是通过人工构造语义规则以及模板的方法识别实体关系。随后,实体间的关系模型逐渐替代了人工预定义的语法与规则。但是仍需要提前定义实体间的关系类型。 文献[26]提出了面向开放域的信息抽取框架 (open information extraction,OIE),这是抽取模式上的一个巨大进步。但OIE方法在对实体的隐含关系抽取方面性能低下,因此部分研究者提出了基于马尔可夫逻辑网、基于本体推理的深层隐含关系抽取方法[27]。

    开放式实体关系抽取

    开放式实体关系抽取可分为二元开放式关系抽取和n元开放式关系抽取。在二元开放式关系抽取中,早期的研究有KnowItAll[28]与TextRunner[27]系统,在准确率与召回率上表现一般。文献[29]提出了一种基于Wikipedia的OIE方法WOE,经自监督学习得到抽取器,准确率较TextRunner有明显的提高。针对WOE的缺点,文献[30]提出了第二代OIE ReVerb系统,以动词关系抽取为主。文献[31]提出了第三代OIE系统OLLIE(open language learning for information extraction),尝试弥补并扩展OIE的模型及相应的系统,抽取结果的准确度得到了增强。

    然而,基于语义角色标注的OIE分析显示:英文语句中40%的实体关系是n元的[32],如处理不当,可能会影响整体抽取的完整性。文献[33]提出了一种可抽取任意英文语句中n元实体关系的方法KPAKEN,弥补了ReVerb的不足。但是由于算法对语句深层语法特征的提取导致其效率显著下降,并不适用于大规模开放域语料的情况。

    基于联合推理的实体关系抽取

    联合推理的关系抽取中的典型方法是马尔可夫逻辑网MLN(Markov logic network)[34],它是一种将马尔可夫网络与一阶逻辑相结合的统计关系学习框架,同时也是在OIE中融入推理的一种重要实体关系抽取模型。基于该模型,文献[35]提出了一种无监督学习模型StatSnowball,不同于传统的OIE,该方法可自动产生或选择模板生成抽取器。在StatSnowball的基础上,文献[27,36]提出了一种实体识别与关系抽取相结合的模型EntSum,主要由扩展的CRF命名实体识别模块与基于StatSnowball的关系抽取模块组成,在保证准确率的同时也提高了召回率。文献[27,37]提出了一种简易的Markov逻辑TML(tractable Markov logic),TML将领域知识分解为若干部分,各部分主要来源于事物类的层次化结构,并依据此结构,将各大部分进一步分解为若干个子部分,以此类推。TML具有较强的表示能力,能够较为简洁地表示概念以及关系的本体结构。

    5.2 知识表示

    传统的知识表示方法主要是以RDF(Resource Description Framework资源描述框架)的三元组SPO(subject,property,object)来符号性描述实体之间的关系。这种表示方法通用简单,受到广泛认可,但是其在计算效率、数据稀疏性等方面面临诸多问题。近年来,以深度学习为代表的以深度学习为代表的表示学习技术取得了重要的进展,可以将实体的语义信息表示为稠密低维实值向量,进而在低维空间中高效计算实体、关系及其之间的复杂语义关联,对知识库的构建、推理、融合以及应用均具有重要的意义[38-40]。

    2.1 代表模型

    知识表示学习的代表模型有距离模型、单层神经网络模型、双线性模型、神经张量模型、矩阵分解模型、翻译模型等。详细可参见清华大学刘知远的知识表示学习研究进展。相关实现也可参见 [39]。

    1)距离模型

    距离模型在文献[41] 提出了知识库中实体以及关系的结构化表示方法(structured embedding,SE),其基本思想是:首先将实体用向量进行表示,然后通过关系矩阵将实体投影到与实体关系对的向量空间中,最后通过计算投影向量之间的距离来判断实体间已存在的关系的置信度。由于距离模型中的关系矩阵是两个不同的矩阵,使得协同性较差。

    2)单层神经网络模型

    文献[42]针对上述提到的距离模型中的缺陷,提出了采用单层神经网络的非线性模型(single layer model,SLM),模型为知识库中每个三元组(h,r,t) 定义了以下形式的评价函数:

    微信图片_20170930153950.png

    式中, ut的T次幂∈R的k次幂为关系 r 的向量化表示;g()为tanh函数; Mr,1×Mr,2∈R的k次幂是通过关系r定义的两个矩阵。单层神经网络模型的非线性操作虽然能够进一步刻画实体在关系下的语义相关性,但在计算开销上却大大增加。

    3)双线性模型

    双 线 性 模 型 又 叫 隐 变 量 模 型 (latent factor model,LFM),由文献[43-44]首先提出。模型为知识库中每个三元组 定义的评价函数具有如下形式:

    微信图片_20170930154623.png

    式中,Mr∈R的d×d次幂是通过关系r 定义的双线性变换矩阵;
    lh×lt∈R的d次幂是三元组中头实体与尾实体的向量化表示。双线性模型主要是通过基于实体间关系的双线性变换来刻画实体在关系下的语义相关性。模型不仅形式简单、易于计算,而且还能够有效刻画实体间的协同性。基于上述工作,文献[45]尝试将双线性变换矩阵r M 变换为对角矩阵, 提出了DISTMULT模型,不仅简化了计算的复杂度,并且实验效果得到了显著提升。

    4)神经张量模型

    文献[45]提出的神经张量模型,其基本思想是:在不同的维度下,将实体联系起来,表示实体间复杂的语义联系。模型为知识库中的每个三元组(h,r,t)定义了以下形式的评价函数:

    微信图片_20170930154916.png

    式中, ut的T次幂∈R的k次幂为关系 r 的向量化表示;g()为tanh函数; Mr∈d×k×k是一个三阶张量;Mr,1×Mr,2∈R的k次幂是通过关系r定义的两个矩阵。

    神经张量模型在构建实体的向量表示时,是将该实体中的所有单词的向量取平均值,这样一方面可以重复使用单词向量构建实体,另一方面将有利于增强低维向量的稠密程度以及实体与关系的语义计算。

    5)矩阵分解模型

    通过矩阵分解的方式可得到低维的向量表示,故不少研究者提出可采用该方式进行知识表示学习,其中的典型代表是文献[46]提出的RESACL模型。在RESCAL模型中,知识库中的三元组集合被表示为一个三阶张量,如果该三元组存在,张量中对应位置的元素被置1,否则置为0。通过张量分解算法,可将张量中每个三元组(h,r,t)对应的张量值解为双线性模型中的知识表示形式lh的T次幂×Mr×lt并使|Xhrt-lh的T次幂×Mr×l|尽量小。

    6)翻译模型

    文献[47]受到平移不变现象的启发,提出了TransE模型,即将知识库中实体之间的关系看成是从实体间的某种平移,并用向量表示。关系lr可以看作是从头实体向量到尾实体向量lt的翻译。对于知识库中的每个三元组(h,r,t),TransE都希望满足以下关系|lh+lt≈lt|:,其损失函数为:fr(h,t)=|lh+lr-lt|L1/L2, 该模型的参数较少,计算的复杂度显著降低。与此同时,TransE模型在大规模稀疏知识库上也同样具有较好的性能和可扩展性。

    2.2 复杂关系模型

    知识库中的实体关系类型也可分为1-to-1、1-to-N、N-to-1、N-to-N4种类型[47],而复杂关系主要指的是1-to-N、N-to-1、N-to-N的3种关系类型。由于TransE模型不能用在处理复杂关系上[39],一系列基于它的扩展模型纷纷被提出,下面将着重介绍其中的几项代表性工作。

    1)TransH模型

    文献[48]提出的TransH模型尝试通过不同的形式表示不同关系中的实体结构,对于同一个实体而言,它在不同的关系下也扮演着不同的角色。模型首先通过关系向量lr与其正交的法向量wr选取某一个超平面F, 然后将头实体向量lh和尾实体向量lt法向量wr的方向投影到F, 最后计算损失函数。TransH使不同的实体在不同的关系下拥有了不同的表示形式,但由于实体向量被投影到了关系的语义空间中,故它们具有相同的维度。

    2)TransR模型

    由于实体、关系是不同的对象,不同的关系所关注的实体的属性也不尽相同,将它们映射到同一个语义空间,在一定程度上就限制了模型的表达能力。所以,文献[49]提出了TransR模型。模型首先将知识库中的每个三元组(h, r,t)的头实体与尾实体向关系空间中投影,然后希望满足|lh+lt≈lt|的关系,最后计算损失函数。

    文献[49]提出的CTransR模型认为关系还可做更细致的划分,这将有利于提高实体与关系的语义联系。在CTransR模型中,通过对关系r 对应的头实体、尾实体向量的差值lh-lt进行聚类,可将r分为若干个子关系rc 。

    3)TransD模型

    考虑到在知识库的三元组中,头实体和尾实体表示的含义、类型以及属性可能有较大差异,之前的TransR模型使它们被同一个投影矩阵进行映射,在一定程度上就限制了模型的表达能力。除此之外,将实体映射到关系空间体现的是从实体到关系的语 义联系,而TransR模型中提出的投影矩阵仅考虑了不同的关系类型,而忽视了实体与关系之间的交互。因此,文献[50]提出了TransD模型,模型分别定义了头实体与尾实体在关系空间上的投影矩阵。

    4)TransG模型

    文献[51]提出的TransG模型认为一种关系可能会对应多种语义,而每一种语义都可以用一个高斯分布表示。TransG模型考虑到了关系r 的不同语义,使用高斯混合模型来描述知识库中每个三元组(h,r,t)头实体与尾实体之间的关系,具有较高的实体区分度。

    5)KG2E模型

    考虑到知识库中的实体以及关系的不确定性,文献[52]提出了KG2E模型,其中同样是用高斯分布来刻画实体与关系。模型使用高斯分布的均值表示实体或关系在语义空间中的中心位置,协方差则表示实体或关系的不确定度。

    知识库中,每个三元组(h,r,t)的头实体向量与尾实体向量间的

    微信图片_20170930160102.png

    关系r可表示为:

    微信图片_20170930160147.png

    5.3 知识融合

    通过知识提取,实现了从非结构化和半结构化数据中获取实体、关系以及实体属性信息的目标。但是由于知识来源广泛,存在知识质量良莠不齐、来自不同数据源的知识重复、层次结构缺失等问题,所以必须要进行知识的融合。知识融合是高层次的知识组织[53],使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤[54],达到数据、信息、方法、经验以及人的思想的融合,形成高质量的知识库。

    3.1 实体对齐

    实体对齐 (entity alignment) 也称为实体匹配 (entity matching)或实体解析(entity resolution)或者实体链接(entity linking),主要是用于消除异构数据中实体冲突、指向不明等不一致性问题,可以从顶层创建一个大规模的统一知识库,从而帮助机器理解多源异质的数据,形成高质量的知识。

    在大数据的环境下,受知识库规模的影响,在进行知识库实体对齐时,主要会面临以下3个方面的挑战[55]:1) 计算复杂度。匹配算法的计算复杂度会随知识库的规模呈二次增长,难以接受;2) 数据质量。由于不同知识库的构建目的与方式有所不同,可能存在知识质量良莠不齐、相似重复数据、孤立数据、数据时间粒度不一致等问题[56];3) 先验训练数据。在大规模知识库中想要获得这种先验数据却非常困难。通常情况下,需要研究者手工构造先验训练数据。

    基于上述,知识库实体对齐的主要流程将包括[55]:1) 将待对齐数据进行分区索引,以降低计算的复杂度;2) 利用相似度函数或相似性算法查找匹配实例;3) 使用实体对齐算法进行实例融合;4) 将步骤2)与步骤3)的结果结合起来,形成最终的对齐结果。对齐算法可分为成对实体对齐与集体实体对齐两大类,而集体实体对齐又可分为局部集体实体对齐与全局集体实体对齐。

    1)成对实体对齐方法

    ① 基于传统概率模型的实体对齐方法

    基于传统概率模型的实体对齐方法主要就是考虑两个实体各自属性的相似性,而并不考虑实体间的关系。文献[57]将基于属性相似度评分来判断实体是否匹配的问题转化为一个分类问题,建立了该问题的概率模型,缺点是没有体现重要属性对于实体相似度的影响。文献[58]基于概率实体链接模型,为每个匹配的属性对分配了不同的权重,匹配准确度有所提高。文献[59]还结合贝叶斯网络对属性的相关性进行建模,并使用最大似然估计方法对模型中的参数进行估计。

    ② 基于机器学习的实体对齐方法

    基于机器学习的实体对齐方法主要是将实体对齐问题转化为二分类问题。根据是否使用标注数据可分为有监督学习与无监督学习两类,基于监督学习的实体对齐方法主要可分为成对实体对齐、基于聚类的对齐、主动学习。

    通过属性比较向量来判断实体对匹配与否可称为成对实体对齐。这类方法中的典型代表有决策树 [60]、支持向量机[61]、集成学习[62]等。文献[63]使用分类回归树、线性分析判别等方法完成了实体辨析。文献[64]基于二阶段实体链接分析模型,提出了一种新的SVM分类方法,匹配准确率远高于TAILOR中的混合算法。

    基于聚类的实体对齐算法,其主要思想是将相似的实体尽量聚集到一起,再进行实体对齐。文献[65]提出了一种扩展性较强的自适应实体名称匹配与聚类算法,可通过训练样本生成一个自适应的距离函数。文献[66]采用类似的方法,在条件随机场实体对齐模型中使用监督学习的方法训练产生距离函数,然后调整权重,使特征函数与学习参数的积最大。

    在主动学习中,可通过与人员的不断交互来解决很难获得足够的训练数据问题,文献[67]构建的ALIAS系统可通过人机交互的方式完成实体链接与去重的任务。文献[68]采用相似的方法构建了ActiveAtlas系统。

    2)局部集体实体对齐方法

    局部集体实体对齐方法为实体本身的属性以及与它有关联的实体的属性分别设置不同的权重,并通过加权求和计算总体的相似度,还可使用向量空间模型以及余弦相似性来判别大规模知识库中的实体的相似程度[69],算法为每个实体建立了名称向量与虚拟文档向量,名称向量用于标识实体的属性,虚拟文档向量则用于表示实体的属性值以及其邻居节点的属性值的加权和值[55]。为了评价向量中每个分量的重要性,算法主要使用TF-IDF为每个分量设置权重,并为分量向量建立倒排索引,最后选择余弦相似性函数计算它们的相似程度[55]。该算法的召回率较高,执行速度快,但准确率不足。其根本原因在于没有真正从语义方面进行考虑。

    3)全局集体实体对齐方法

    ① 基于相似性传播的集体实体对齐方法

    基于相似性传播的方法是一种典型的集体实体对齐方法,匹配的两个实体与它们产生直接关联的其他实体也会具有较高的相似性,而这种相似性又会影响关联的其他实体[55]。

    相似性传播集体实体对齐方法最早来源于文献[70-71]提出的集合关系聚类算法,该算法主要通过一种改进的层次凝聚算法迭代产生匹配对象。文献[72]在以上算法的基础上提出了适用于大规模知识库实体对齐的算法SiGMa,该算法将实体对齐问题看成是一个全局匹配评分目标函数的优化问题进行建模,属于二次分配问题,可通过贪婪优化算法求得其近似解。SiGMa方法[55]能够综合考虑实体对的属性与关系,通过集体实体的领域,不断迭代发现所有的匹配对。

    ② 基于概率模型的集体实体对齐方法基于概率模型的集体实体对齐方法主要采用统计关系学习进行计算与推理,常用的方法有LDA模型[73]、CRF模型[74]、Markov逻辑网[75]等。

    文献[73]将LDA模型应用于实体的解析过程中,通过其中的隐含变量获取实体之间的关系。但在大规模的数据集上效果一般。文献[74]提出了一种基于图划分技术的CRF实体辨析模型,该模型以观察值为条件产生实体判别的决策,有利于处理属性间具有依赖关系的数据。文献[66]在CRF实体辨析模型的基础上提出了一种基于条件随机场模型的多关系的实体链接算法,引入了基于canopy的索引,提高了大规模知识库环境下的集体实体对齐效率。文献[75]提出了一种基于Markov逻辑网的实体解析方法。通过Markov逻辑网,可构建一个Markov网,将概率图模型中的最大可能性计算问题转化为典型的最大化加权可满足性问题,但基于Markov网进行实体辨析时,需要定义一系列的等价谓词公理,通过它们完成知识库的集体实体对齐。

    3.2 知识加工

    通过实体对齐,可以得到一系列的基本事实表达或初步的本体雏形,然而事实并不等于知识,它只是知识的基本单位。要形成高质量的知识,还需要经过知识加工的过程,从层次上形成一个大规模的知识体系,统一对知识进行管理。知识加工主要包括本体构建与质量评估两方面的内容。

    1)本体构建

    本体是同一领域内不同主体之间进行交流、连通的语义基础,其主要呈现树状结构,相邻的层次节点或概念之间具有严格的“IsA”关系,有利于进行约束、推理等,却不利于表达概念的多样性。本体在知识图谱中的地位相当于知识库的模具,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。

    展开全文
  • 构建自己的知识体系框架

    千次阅读 2018-01-23 21:32:48
    第四课:构建自己的知识框架1、为什么要建立知识框架(一定要有框架意识) 便于提取 便于分享 便于记忆 2、一般性的学习误区 只收藏,不阅读 只阅读,不归类 只归类,不提炼 3、框架思维下的学习步骤 第一步——收集...

    第四课:构建自己的知识框架

    1、为什么要建立知识框架(一定要有框架意识)

    • 便于提取
    • 便于分享
    • 便于记忆

    2、一般性的学习误区

    • 只收藏,不阅读
    • 只阅读,不归类
    • 只归类,不提炼

    3、框架思维下的学习步骤

    • 第一步——收集
    • 第二步——整理
    • 第三步——消化
    • 第四步——输出

    一般性学习只有第一步,没有后面三个步骤


    第一步——收集

    • 收集工具:发送至印象笔记;备忘录
    • 收集途径:从喜爱的做着或者感兴趣的话题出发,形成一个舒适的学习路径

    第二步——整理

    • 整理目标:形成秩序;形成关联
    • 整理工具:标签和思维导图
    • 另外整理学到的东西,也可以利用博客,写出来既可以加深自己的印象,又可以分享给他人,给别人提供借鉴。

    第四步——输出

    • 输出方式——写作(或者与人讲解)
    • 倒逼自己去完善知识框架
    • 检验自己对于知识框架的掌握和理解

    4、思维框架

    成为更有秩序和更聪明的人

    做事之前,先从框架上考虑做事的步骤和方面

    做事之后,再从框架上去提炼思维和理论

    对于知识的整理,消化和提炼是非常重要的几个步骤,因为平时我们利用碎片化学习到的东西可能过段时间就会被其他东西冲掉,所以在我们学习到一些东西以后就要抓紧把那些细碎的东西记录下来进行整理,再思考,这也就是消化和加深印象的过程。

    知识就是在一点一点的积累才会变得越来越丰富,其实,如今我们每天都可以从手机上,电脑上接收到海量的数据与知识,如果我们能够每天对这些学到的关键性的东西进行收集整理,会发现长此以往,自身就会有变化。无论是谈吐上,还是举止上

    展开全文
  • 【概率论与数理统计】简单梳理知识框架和概数史

    千次阅读 多人点赞 2020-11-29 21:29:52
    【概率论与数理统计】简单梳理知识框架和概数史 前言 写一下概数的知识框架。看情况补充概率论的历史帮助理解概率论的应用。 快速写一下,立一个靶子,然后后期慢慢修饰勾勒。 知识框架参考《张宇30讲2021》、36讲...

    【概率论与数理统计】简单梳理知识框架和概数史

    前言

    写一下概数的知识框架。看情况补充概率论的历史帮助理解概率论的应用。

    快速写一下,立一个靶子,然后后期慢慢修饰勾勒。

    知识框架参考《张宇30讲2021》、36讲、闭关修炼、《数理统计学简史》

    本来想结合概数史的例子来讲概数的知识点的,但是目前还没好的思路来串通。

    这篇文章也是热身,梳理一遍概率论与数理统计。

    我对数理统计特别感兴趣。

    大样本与小样本。

    1857-1908以卡尔.皮尔逊为代表的旧统计学,处理大样本,如社会统计、生物统计,使用矩估计

    1908-1954以费歇尔为代表的新统计学,处理小样本,如生物实验,使用t分布、F分布、Z分布)

    1954以杰弗里斯为代表的贝叶斯学派,处理大样本。

    笔记

    我是一个追求实用的人,感兴趣,我才能投入精力,不感兴趣,事倍功半。

    但是我根据课本或者教辅资料去学习的时候,真的是事倍功半,一堆自嗨的描述,看完跟看了个寂寞一样。于是我打算不按照书本上的来,自己梳理一个逻辑框架。

    概率知识框架

    概率论与数理统计

    一维随机变量及其分布

    知识结构

    image-20201129210015402

    做题框架

    image-20201129210135312

    多维随机变量及其分布

    image-20201129210241480

    数字特征

    知识框架

    image-20201129210418487

    做题框架

    image-20201129210456590

    image-20201129210511088

    大数定律

    知识框架

    image-20201129210553290

    做题框架

    image-20201129210619193

    数理统计

    知识框架

    image-20201129210705326

    做题框架

    image-20201129210724015

    image-20201129210742560

    概数史

    内容参考《数据挖掘中所需的概率论与数理统计知识》、《数理统计学简史(陈希孺)》

    之前写过部分笔记《 考研数学一的基本计算与应用以及对概数的膜拜》、《 有趣的微积分历史

    在数量统计学历史上,1908年以前,统计学的主要用武之地先是社会统计问题,后来加入生物统计问题。这些问题中的数据都是大量的、自然采集的。所用的方法,以拉普拉斯中心极限定理为依据,总是归结到正态。简而言之,那之前的统计问题是大样本的。其顶峰和押阵大将是卡尔.皮尔逊。(Mark I统计)

    在1908年以后,受人工控制的试验条件下所得数据的统计分析问题,日渐引人注意。由于试验数据量一般不大,那种依赖近似正态分布的传统方法,开始不适用,并促使人们研究小样本的统计方法。这一方向的先驱是戈塞特(笔名student,t分布),主力是费歇尔(1890-1962生于伦敦,工作量多质高面广,Z分布)。

    如果把多维正态纳入线性统计模型这个大体系中,从19世纪初以来,其发展大致可分为三个阶段:

    • 第一阶段自19世纪初到19世纪末。代表人物有高斯、拉普拉斯、勒让德等人,形式是误差论,逐渐渗入统计数据分析问题。
    • 第二阶段19世纪末到20世纪20年代初期,代表人物主要是卡尔.皮尔逊,形式是多元正态与线性统计模型联系起来,重点转到相关回归。
    • 第三阶段开始自1922年,代表人物是费歇尔,形式是回复到以自变量为非随机并离散化,重点问题是方差分析联系到试验设计的发展。

    弄清楚这个模型发展的脉络,才大体上懂得了自19世纪初以来统计学发展的主流。

    贝叶斯学派经过百余年的沉寂,到20世纪上半叶,经过一些学者的鼓吹而复活,到20世纪下半叶进入全盛时期。其中起了重要作用的有杰弗里斯,他在1939年出版的《概率论》一书,成了如今贝叶斯学派的经典著作。萨凡奇在1954年出版了《统计推断》一书,也是贝叶斯统计的著作。前两者的著作偏于理论和思辨,而林德来的著作则比较具体,他给一些重要的频率学派工作以贝叶斯统计的解释,在应用界有更大影响。

    贝叶斯学派在20世纪上半叶不得势的原因,一是像费歇尔、奈曼这样的大统计学家对它持否定态度。

    自20世纪中叶以来,频率统计学派的发展开始碰到一些问题,如数学化程度越来越高,有用的方法的产出相对减少,小样本方法缺乏进展从而转向大样本研究等,在应用工作者中产生不满。在这种背景下,贝叶斯统计以其简单的操作方式加上在解释上的某些合理性吸引了不少应用者。甚至使一些频率派统计学家改为贝叶斯学派。

    早期概数史(1657-1837)概率论

    从1657年惠更新发表《论赌博中的计算》(概率论的诞生)到1837年,海根提出元误差学说,统计学家们正式确立误差服从正态分布

    概率论历史人物和关键事件

    • 惠更新:1657年发表了《论赌博中的计算》(《机遇的规律》),被认为是概率论诞生的标志。从关于公平赌博值的一条公理出发,推导出有关数学期望的三个基本定理。成就与牛顿相当。
    • 伯努利(1654-1705):1713年出版了《推测术》。伯努利在此书中,不仅对惠更斯的关于掷骰子等赌博活动中出现的额各种情况的概率进行了计算,而且还提出了著名的“大数定律”。标志着数学概率论的开端。与莱布尼兹保持密切联系,在微积分方面,是牛、莱以下的第一人。
    • 棣莫弗:1718年出版《机遇论》,1733年,棣莫弗从二项分布逼近得到正态密度函数,首次提出中心极限定理;
    • 拉普拉斯:1812年出版《概论的分析理论》。1780年,拉普拉斯建立了中心极限定理的一般形式
    • 贝叶斯(1701-1761):遗作《机遇理论中一个问题的解》。可以解决伯努利和棣莫弗未能解决的二项分布概率P的“逆概率”问题(由原因推结构,概率论;由结果推原因,数理统计)
    • 勒让德:1805年,勒让德发明最小二乘法;
    • 高斯:1809年,高斯引入正态误差理论,导出了误差服从正态分布的结论。
    • 海根:1837年,海根提出元误差学说,统计学家们正式确立误差服从正态分布

    概率论与数理统计的基础是微积分。正态分布的概率密度函数中用到了相关定积分的知识。最小二乘法问题的相关探讨求证用到了求偏导数的等概念

    伯努利的大数定律和棣莫弗的中心极限定理的主角都是二项分布,在早期的概率统计史,这是唯一的一个分布。

    概率论与微积分息息相关

    积分的发展史

    • 牛顿(1642–1726):万有引力,微积分。
    • 莱布尼兹(1646-1716):张宇老师眼馋莱布尼茨纪念馆的莱布尼兹手稿。
    • 伯努利:牛顿-莱布尼兹之后,,微积分第一人。伯努利大数定律。
    • 洛必达(1661-1704):洛必达法则。富二代。
    • 泰勒(1685-1731):泰勒公式
    • 高斯(1777-1855):高斯公式,数学王子
    • 格林(1783-1841):格林公式
    • 阿贝尔(1802-1829):阿贝尔定理,享年27岁。
    • 黎曼(1826-1866):黎曼积分、定积分。有名的数学分析大师。

    中值定理的发展史

    • 费马:1601-1665,提出费马大定理
    • 罗尔:1652-1719,搞方程的,不会微积分,与牛顿作对,说微积分有缺陷,死前说微积分有可取的地方。为了纪念他,有个罗尔定理。
    • 欧拉(1707-1783):拉格朗日的老师。师生故事感人。数学史上的传奇人物,28岁得眼病。
    • 拉格朗日(1736-1813):欧拉的学生,法国人,后来去了俄国,使俄国近代数学突飞猛进。拉格朗日中值定理
    • 柯西(1789-1857):拉格朗日的学生,拉格朗日告诉他父亲十五岁前不接触数学,十五岁之后亲自教他数学。柯西中值定理。

    中期概数史(1857-1981)数理统计

    随便限定的一个时间段,以卡尔皮尔逊的出生为开始,以奈曼的去世为结束

    数理统计历史人物和关键事件

    • 卡尔.皮尔逊(1857-1936):统计学权威,一枝独秀(9世纪末到20世纪20年代初期)。大样本的数理统计的巅峰,体系核心是矩法。在大样本的数理统计上大放异彩。
    • 哥色特(笔名student):1876年出生,1907年在 皮尔逊那里学习和研究统计学。他着重关心由认为实验下所得的少量数据的统计分析问题,在当时这是一个全新的课题。而当时统计学占主导地位的卡尔.皮尔逊学派强调由自然观察得到的大量数据的统计处理。这一研究的成果就是让他名垂统计学史册的论文《均值的或然误差》。后又研究出t分布,被统计界尊为小样本理论的开创者。为人谦逊,人缘好,人不在江湖,但江湖处处都是哥的传说。是卡尔.皮尔逊的朋友。和费歇尔经常书信往来。1925年奈曼去找卡尔.皮尔逊未遇,student给予他帮助。并且奈曼与费歇尔的初次见面也是student介绍的。爱根.皮尔逊也是和其经常书信往来。
    • 费歇尔(1890-1962):与卡尔.皮尔逊争锋相对。将眼光放在小样本的数理统计上,继卡尔.皮尔逊之后的统计学大佬。是20世纪成就最大的统计学家,是以卡尔.皮尔逊为代表的旧统计学,朝向以他为代表的新统计学的转变中的关键人物。1912年费歇尔研究student的《均值的或然误差》,发现了其中的推导漏洞,于是和student联系,这也开始了两人长达二十余年的友谊。1914年一战,费歇尔弃笔从戎,但视力不好,此后五年的职业是中学教师,期间萌生了一种思想,发展农业,为此他还短时期内运营过一个小型农场。1919年接受达尔文一位亲戚的介绍,进入农业试验站工作,这成了他一生的重大转折点,也是统计学发展的转折点,在那工作的十余年里,他发展了一整套试验设计的思想,这十余年是费歇尔统计学生涯的全盛时期,他的大部分重要研究成果都产生于这一时期。1922年费歇尔想在大学学院扩建一个正式的生物计量学俱乐部,但是此事需要卡尔.皮尔逊的发起,但是和卡尔.皮尔逊不对付,于是托student说情,虽然事情没办成,但是可以看出两者的亲密关系。1933年卡尔.皮尔逊退休并将其职务一分为二,费歇尔接替其高尔登优生学讲座教授。
    • 爱根.皮尔逊(1895-1980):卡尔.皮尔逊的儿子。为人性格内向,不善于与人交往。在当时统计界名流中,唯有student与他保持良好的关系。他1926年开始与student通信以来,一直到student去世的1937年。年轻时随父亲研究统计学,待奈曼1925年秋到大学学院参加卡尔.皮尔逊的研究生班时,爱根在班上协助其父任辅导,后来到1933年卡尔.皮尔逊退休并将其职务一分为二,爱根接替其统计系主任的工作直到退休。实际在1920年代中期开始,爱根背离其父亲的那套大样本统计,转而研究费歇尔的小样本统计。
    • 奈曼(1894-1981):年轻时对纯数学有强烈的兴趣并有很高的素养。1926年会见了费歇尔,在卡尔.皮尔逊那里进修了一年,最后离开,对那里的统计学表示失望,认为没有多少数学。奈曼格外重视统计学中数学严格性的观点。1938年4月应美国加州伯克利大学数学系的招聘担任该系教师。这成了美国统计学发展以及他个人的转折点。

    大样本与小样本。

    以卡尔.皮尔逊为代表的旧统计学与以费歇尔为代表的新统计学

    为解决受人工控制的试验条件下所得数据的统计分析问题而诞生的。1908年开始,1919年到1933年达到顶峰。有三个关键人物,student、费歇尔、奈曼。

    在数量统计学历史上,1908年以前,统计学的主要用武之地先是社会统计问题,后来加入生物统计问题。这些问题中的数据都是大量的、自然采集的。所用的方法,以拉普拉斯中心极限定理为依据,总是归结到正态。简而言之,那之前的统计问题是大样本的。其顶峰和押阵大将是卡尔.皮尔逊。(Mark I统计)

    在1908年以后,受人工控制的试验条件下所得数据的统计分析问题,日渐引人注意。由于试验数据量一般不大,那种依赖近似正态分布的传统方法,开始不适用,并促使人们研究小样本的统计方法。这一方向的先驱是戈塞特(笔名student,t分布),主力是费歇尔(1890-1962生于伦敦,工作量多质高面广,Z分布)。

    数理统计学中有三大分布之说,因为这三大分布和许多重要的统计推断问题有关。在20世纪前20年,统计学的重点仍在相关回归,而这与多维正态密切联系,不过三大分布与多维正态分布无关,其根子是高斯线性模型。

    χ²分布作为描述统计量的分布,最初是从线性模型最小二乘法的残差平方和分布问题导出的。

    如果把多维正态纳入线性统计模型这个大体系中,从19世纪初以来,其发展大致可分为三个阶段:

    • 第一阶段自19世纪初到19世纪末。代表人物有高斯、拉普拉斯、勒让德等人,形式是误差论,逐渐渗入统计数据分析问题。
    • 第二阶段19世纪末到20世纪20年代初期,代表人物主要是卡尔.皮尔逊,形式是多元正态与线性统计模型联系起来,重点转到相关回归。
    • 第三阶段开始自1922年,代表人物是费歇尔,形式是回复到以自变量为非随机并离散化,重点问题是方差分析联系到试验设计的发展。

    弄清楚这个模型发展的脉络,大体上懂得了自19世纪初以来统计学发展的主流

    皮尔逊在1936年去世,其与费歇尔的争论也划上了句号。但费歇尔在1937年还发表了一篇文章:《皮尔逊教授与矩法》,指责皮尔逊把过多的注意力放在“用矩来拟合曲线”上,影响了学生们学习其他一些材料,如小样本、方差分析和估计理论等,这会愈来愈被认为是浪费时间。

    从这场争论的结局看,费歇尔是胜利的一方。不过如果从两种方法的比较上看,而不涉及二人整个的体系,公允的结论应该是各有所长。在非参数领域,极大似然估计基本不适用,但矩估计可以顺利使用。但极大似然估计渐进方差最小是其主要优点,一般都认为极大似然估计优于矩估计。

    皮尔逊之所以执着于矩法,是因为事关他的整个体系,所以他不认同student、费歇尔等人小样本的那一套。

    近代意义下的假设检验,始于奈曼和爱根.皮尔逊(1895-1980)在20世纪20-30年代的工作,就其实用层面来看,则是卡尔.皮尔逊和费歇尔两位大师主导。

    贝叶斯学派

    20世纪上半叶复活,20世纪下半叶全盛。

    从小样本研究转向大样本研究

    贝叶斯学派经过百余年的沉寂,到20世纪上半叶,经过一些学者的鼓吹而复活,到20世纪下半叶进入全盛时期。其中起了重要作用的有杰弗里斯,他在1939年出版的《概率论》一书,成了如今贝叶斯学派的经典著作。萨凡奇在1954年出版了《统计推断》一书,也是贝叶斯统计的著作。前两者的著作偏于理论和思辨,而林德来的著作则比较具体,他给一些重要的频率学派工作以贝叶斯统计的解释,在应用界有更大影响。

    贝叶斯学派在20世纪上半叶不得势的原因,一是像费歇尔、奈曼这样的大统计学家对它持否定态度。

    • 奈曼本人终身属于频率学派,但他不大参与者两大学派的辩论。费歇尔则不然,20世纪30年代,费歇尔与杰弗里斯以写论文一应一答的形式,进行了长时间的辩论。由于费歇尔当时在统计界持牛耳的地位而杰弗里斯又不是实用统计学家,费歇尔的倾向影响了一大群人。
    • 另外,20世纪上半叶正是频率学派得到大发展的一个时期,发现了一些有普遍应用意义的、有力的统计方法。在这种情况下,数学家不会想另寻出路。

    自20世纪中叶以来,频率统计学派的发展开始碰到一些问题,如数学化程度越来越高,有用的方法的产出相对减少,小样本方法缺乏进展从而转向大样本研究等,在应用工作者中产生不满。在这种背景下,贝叶斯统计以其简单的操作方式加上在解释上的某些合理性吸引了不少应用者。甚至使一些频率派统计学家改为贝叶斯学派。

    现代概数史(1981-至今)大数据

    随便写写,暂时没研究,毕竟不是数学专业的人,而且我也没精力去深入了,以后如果需要再去学。

    列一个坑,也欢迎大佬填坑。

    总结

    内容涉及过多,不好一次性写好,之后分小块小块的写。

    更新地址:GitHub

    更多内容请关注:CSDNGitHub掘金

    展开全文
  • 网络信息安全知识框架

    万次阅读 多人点赞 2018-12-30 22:10:32
    如需要下列知识的详细内容,欢迎评论或私信联系我。 第0章 基础概述 1.网络信息安全的原则(包括对网络攻击的对策措施、最小权限原则等) 2.TCP/IP概述(包括OSI的七层网络互连、tcp/ip地位、数据包格式、主要...
  • 知识图谱构建技术一览

    万次阅读 多人点赞 2019-09-03 23:21:11
    知识图谱构建技术一览一、什么是知识图谱二、知识图谱技术架构(一)数据获取(Data Acquisition)(二)信息抽取(Information Extraction)(1)实体抽取(Entity Extraction)/命名实体识别(Name Entity ...
  • 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构。 一、知识图谱商业应用 01 唯品金融大数据 使用的是OrientDB,Orientdb提供了大量的接口, 其中最常用的...
  • 测试开发需要学习的知识结构

    万次阅读 多人点赞 2018-04-12 10:40:58
    并负责产品线特色化的测试框架和测试工具,运用技术手段提升代码交付的质量和效率 -参与互联网产品整个工程生产、发布过程中的技术创新,包括研发敏捷研发工具、线上监控系统、性能测试和监督工具等精确评估线上系统...
  • ArcGIS教程 - 2 ArcGIS基础知识

    千次阅读 多人点赞 2020-02-08 11:47:37
    第2章 ArcGIS基础知识 2.1 ArcGIS10.x概述 ArcGIS10.x是ESRI公司开发的GIS产品家族,它集合了数据库、软件工程、网络技术、移动技术、云计算等主流的IT技术,目的是提供给用户一套完整的、开放的企业级GIS解决方案...
  • 用Dreamweaver建立框架页面 能够帮助初学者更好的学习dreamweaver的基础知识
  • C语言学习框架

    千次阅读 多人点赞 2018-07-03 22:39:00
    学习框架都帮你列好了!随着高考结束,在未来计算机专业讲又要迎来一批新生小鲜肉!C语言入门到入土,从长发飘飘到秃顶的老铁也越来越多,其中,想自学成才的也占了不少数;想笨鸟先飞的也占有不少数。传说中的C语言...
  • java面试题框架知识点总结

    千次阅读 2018-07-18 18:33:25
    框架 springMVC的流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器...
  • 构建知识体系(3):建立体系6个步骤

    千次阅读 2020-05-07 16:47:20
    建立个人知识体系的第一步是,学会提问。 你要建立什么样的知识体系?你想达到什么样的目的和效果?你关注了哪些领域?你对哪些方面比较感兴趣呢?比如时间管理,阅读,写作,手绘,美食,健身,心理咨询……你要...
  • 知识图谱项目(SSM框架

    千次阅读 2019-10-28 16:53:49
    使用Neo4j图数据库,对数据进行存储,然后使用echarts库,将知识节点化展示。 使用SSM框架进行web项目的构建。 二、实现原理 1.批量向Neo4j数据库中添加数据 我在此篇博客有详细说明:向Neo4j导入数据。 2....
  • 通过分析企业中各种知识的特点及作用,结合Nonaka的知识螺旋过程提出知识转化框架。然后以知识转化框架为基础...本文的研究对于现代的企业如何实施知识管理,如何建立一个学习型的组织具有一定的理论和应用的指导意义。
  • 这个也是超详细的,自己遇到的问题,然后总结下来的,有查的和自己理解的,很多点,对于做java...从客户端浏览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话 。常用的方法有 : getAttribute(StringattName)...
  • webrtc系列1—— webrtc入门知识

    千次阅读 2019-08-20 13:22:11
    WebRTC框架介绍详细组件介绍3. 模块细致讲解国内方案厂商WebRTC发展前景文章借鉴: 1. 什么是WebRTC WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音...
  • Scrapy框架实战(一):Scrapy基础知识

    千次阅读 多人点赞 2020-09-21 14:10:41
    Scrapy 是一个非常优秀的爬虫框架,通过 Scrapy 框架,可以非常轻松地实现强大的爬虫系统,我们只需要将精力放在抓取规则以及如何处理抓取的数据上即可,本文通过实战来介绍 Scrapy 的入门知识以及一些高级应用。...
  • agent设计的坚实理论基础必须建立知识表示和推理的理论之上.针对目前逻辑理论模型及行为理论模型的不足,提出以描述逻辑及其扩展来描述agent的静态、动态及不确定性知识等信念知识,结合描述逻辑与行为理论进行...
  • 资源含了C语言程序设计的知识框架,提高记忆和建立编程思维。
  • 产品经理知识框架+求职面经——快手,字节跳动,

    万次阅读 多人点赞 2019-06-01 15:53:45
    大流程框架 简历准备策略: 1、对即将面试的公司的产品写一些竞品分析、产品体验报告,有时间花2个月时间做了一个产品demo。 2、优化简历(一面就行,HR没时间看,重点突出关键词):对应聘公司和岗位的深刻理解...
  • 知识图谱架构(Knowledge Graph)

    万次阅读 多人点赞 2020-04-07 16:10:57
    本文以通俗易懂的方式来讲解知识图谱相关的知识、尤其对从零开始搭建知识图谱过程当中需要经历的步骤以及每个阶段需要考虑的问题都给予了比较详细的解释。 知识图谱( Knowledge Graph)的概念由谷歌2012年正式...
  • 总结的javaWeb后端开发框架知识

    千次阅读 2017-03-04 16:26:48
     hibernate是一个全自动轻量级的持久化的orm框架,底层封装了jdbc,  通过对象关系操作数据库,它使用hql语句,大大的提高了开发效率。  hibernate使用了java的反射机制,实现了结果集和pojo自动映射。 ...
  • 简单收录入门知识概念,为下一步深入学习做准备~
  • 这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 182,771
精华内容 73,108
关键字:

怎么建立知识框架