资讯内容采集系统(搭建业务型知识库实时学习系统的必要性和覆盖度的必要前提)

优采云 发布时间: 2021-12-03 16:29

  资讯内容采集系统(搭建业务型知识库实时学习系统的必要性和覆盖度的必要前提)

  刘焕勇

  知识库是支持知识服务等服务的必要基础设施。金融预测、智能问答、搜索推荐等常规服务的运营和拓展,都需要相关知识库的赋能,而这种赋能的大小很大程度上取决于知识的准确性和覆盖面基地本身。实时更新是保证这种准确性和覆盖率的必要前提,也是业务知识库的固有属性。

  本文是我们在构建此类系统的一些经验,写出来与大家分享。

  一、构建业务知识库实时学习系统的必要性

  世界上最大的不变就是变化。实时更新是当前知识系统最重要也是不可避免的属性。目前,各行各业都有垂直和针对性的大量需要实时更新的领域知识场景。. 一个易于使用的知识系统需要尽可能保证所收录知识的准确性和覆盖率,及时捕捉现有知识的变化,从而修改属性值。紧跟社会发展,增加和记录新知识,才能保持整个知识体系的“准”、“广”、“活”,从而保证业务的正常运行。

  在准确性方面,知识本身在知识库中的地位或价值往往会因外部条件的变化而发生根本性的变化。例如,两个人的婚姻关系数据会随着离婚的发生而发生变化;公司所有者的业务产品信息会随着公司业务的调整而变化。

  在覆盖方面,每时每刻都在产生大量的知识。比如最近波及全国的新型冠状病毒疫情,在发展过程中产生了很多新的概念;每次都会出现新词。而对于同一个词,它的意思也会发生变化。一个典型的例子是“无辜”这个词。本义是不拘礼节。但现在已经演变成“节日没有大小,只要是节日,就有它的意义,所以老板们不要拘泥于小节日,节日就应该是节日”。

  纵观各个行业,每个行业都有垂直和针对性的大量需要实时更新的领域知识场景。在金融领域,公司在产品管理、公司间业务合作、公司业务变化等方面的知识往往会发生变化。这种变化与经济效益密切相关;在情报领域,敌人的战略部署和军事力量的变化等信息将随着战争状态而变化。敌我双方都需要及时掌握这一信息,制定相应的调整措施;在常识问答领域,一些敏感信息,比如*敏*感*词*的变动、婚姻状况的变化、疫情的发展(确诊病例数、

  二、知识库实时学习系统基本架构

  目前,数据视界已成功搭建多套知识库实时学习系统,包括事务知识库实时学习系统、概念知识库实时学习系统、产业链实时学习系统。知识库。这三个学习系统可以为推理和预测学习系统的实现提供数据和算法支持。经验表明,一个稳定高效的实时知识库学习系统需要学习源组件、源处理组件、知识更新组件、知识监控等多个组件协同工作。

  1、学习源组件。需要根据具体业务需求确定可用于实时输入的学习源,实现日、时、分甚至秒级的*敏*感*词*数据采集、采集包括两个重要的内容:爬取和解析。

  2、源处理组件。学习源需要有效提取,包括两部分,一是实时采集内容的有序稳定消费,二是实时输入的提取,包括结构化知识三元组(实体关系三元组、事件关系三元组、数据指标三元组、概念三元组等)等业务知识抽取。

  3、知识更新组件。业务知识抽取完成后,需要与后台已有的知识库进行对比验证,如基于已有知识的链接、纠错、置信权重更新、值变化等操作。

  4、知识监控组件。在完成学习源输入和学习源处理更新新获得的知识后,基本上意味着整个知识库实时学习系统已经成功运行。除此之外,还需要对知识库的最终状态进行有效的存储和监控,以监控整个学习系统的运行状态,包括数据总量的变化、新增数据或异常值等。

  接下来,我们将结合我们的实际工作,谈谈知识库实时学习系统的几个核心内容。

  三、基于Scrapy-Redis的*敏*感*词*学习源采集

  不同的企业会有不同的数据源。这个出处体*敏*感*词*融领域的学习资源包括各类公告、研究报告、公司信息、行业信息等不同主题的文本,以及Image、纯文本、网页、pdf、docx、xlsx等多模态类型。通过选择目标源地址,建立实时采集系统,实时监控和捕获目标源。可以实现不同级别的实时粒度,例如天、小时、分钟甚至秒。

  1、实现*敏*感*词*实时采集

  *敏*感*词*实时数据采集,尤其是对于自然语言处理领域的非结构化网页文本,互联网上广泛的、定点的采集网页信息数据需要一个成熟、稳定的分布式 采集 解决方案。经过采集系统几年的稳定运行和发展,数据地平线已经完成了采集数千个网站和数十万个信息导航页面的工作,积累了超过2000万行业信息数据和1000万百科信息数据每天还在增加。

  Scrapy是当前实时数据的常用框架采集。实时信息源的处理具有广泛的用途。可用于数据挖掘、监控、自动化测试等领域。它还可以用于获取 API(例如 Amazon Associates Web Services)或通用网络爬虫返回的数据。下图描述了 Scrapy 的整体运行机制。

  重复数据删除采集是实时数据更新中经常需要解决的问题。按照正常流程,大家会重复采集。一般来说,进程间内存中的数据是不能共享的。当多个Scrapy启动时,它们不知道彼此采集有什么,哪些不是采集。此时,我们可以使用 Scrapy-Redis 来解决因请求和去重而无法共享的两个问题,并将调度器组件独立放置在 Scrapy 中每个人都可以访问的地方,最终实现分布式爬取。.

  2、常见网页文字内容分析

  网页信息通常是一种实时性高的文本类型。每天发生的各种新事物,包括社会热点、重大事件、国家政策发布等信息都可以在网页上有效表达,但是不同的网站 HTML标签的组织方式也不同。这类问题主要体现在列表页和信息页两个页面。如何准确定位导航页及其列表页中的实时信息采集,准确快速提取单个新闻页面的关键信息,包括新闻标题、发布时间、正文内容、标签等., 是 作为后续处理阶段信息完整性和准确性的重要前提。

  Shudi Workshop(),为特定的网页元数据提供结构化服务,包括新闻资讯内容标题、发布时间、正文提取、网页表单提取接口。欢迎大家使用。

  四、Kafka+Flume下基于Restful-API的实时处理

  完成已建立的网站的分布式采集后,需要对采集的数据进行实时分析。为了保证实时分析过程的有序稳定运行,我们通常会引入分布式消息系统Kafka,并与Flume一起使用。

  1、 订阅基于Kafka-Flume的实时学习资源

  最初开发的是Kafka。它是一个分布式的、分区支持的、多副本(replica)、由zookeeper协调的分布式消息系统。它最大的特点是可以实时处理大量数据,满足各种需求。需求场景。Kafka常用于记录web用户或app用户的各种活动,如浏览网​​页、搜索、点击等活动。这些活动信息由各个服务器发布到Kafka主题,然后订阅者可以通过订阅这些主题进行实时操作。监控分析,或加载到hadoop,数据仓库进行离线分析和挖掘,完整的基于hadoop的批处理系统,低延迟实时系统,storm/Spark流引擎,web/nginx日志,访问日志,消息服务,等等。

  Flume 是一个分布式的、可靠的、高可用的日志采集系统,用于海量日志采集、聚合和传输。支持自定义日志系统中的各种数据*敏*感*词*来采集数据;同时,Flume 提供了简单处理数据和写入各种数据接收者(可定制)的能力。Flume的核心是从数据源采集数据,然后发送到目的地。为了保证一定要投递成功,数据在发送到目的地之前会进行缓存,在数据真正到达目的地后,缓存的数据会被删除。Flume 使用事务的方式来保证传输 Event 的整个过程的可靠性。

  经验上,我们通常使用Flume连接Kafka。使用Flume作为消息生产者,将生产的消息数据(日志数据、业务请求数据等)通过Kafka Sink发布到Kafka。使用Flume作为数据生产者,无需编程即可导入数据源,使用Kafka Sink作为数据消费者,可以获得更高的吞吐量和可靠性。

  2、基于RestFul-API服务的实时信息处理

  解析建立的网站的分布式信息采集和网页文本后,可以通过Kafka-Flume有序地进行基于信息文本的信息处理。这个信息处理过程通常涉及由于实际业务需求而形成的管道。比如我们搭建的抽象概念学习系统、产业链学习系统、事务逻辑学习系统是同时进行的,学习的源头是同一个输入。因此,在具体的实现阶段,我们会对每个学习系统进行处理,根据接口之间信息的依赖关系,将接口有序组合,形成一个有序的处理链。

  在进行流水线处理时,有几点需要注意。一是对于学习系统中各个接口的调用,我们最好将各个接口模块化,通常采用grpc或者Restful-API接口的形式;第二,当每个接口都有一个通用的处理模块时,我们应该尽量作为独立的接口组件,例如,三个接口可以使用统一的依赖分析服务、情感分析服务或相似度计算服务。这些服务对应于重型模型。一旦模型重复加载,会造成大量内存或资源浪费;三是保证整个流水线符合原子操作的原则,特别是有操作到各个数据库的时候,

  我们将一些用于搭建知识库实时学习系统的服务封装成Restful-API的形式,部署在数字工场()中,可以满足用户的网页信息采集,多-源异构信息中文自然语言处理需求,如抽取、语义计算、舆情分析、语言资源构建等;在此基础上,用户可以提供基于平台的API,实现问答搜索、舆情分析、文本结构化、事件分析等语义分析应用。欢迎大家转发。

  四、基于大屏数据可视化的知识库实时学习系统监控

  大数据屏是利用可视化大屏对复杂数据进行分析和展示的重要方式。旨在让更多人看到数据可视化的魅力,帮助非专业工程师通过图形界面轻松打造自己的职业。高层可视化应用,满足会议展览、业务监控、风险预警、地理信息分析等各类业务的展示需求。

  同样,大数据屏幕在整个知识库实时学习系统中也扮演着非常重要的角色。也是非工程师参与整个知识库实时学习系统的重要切入点。它面临着多个网站信息源采集对已经采集的信息的消费,对基于结构化抽取方法获得的结构化知识的更新,对信息存储的验证最终数据,所有阶段的数据都可以通过连接大数据屏幕进行有效的显示和监控。

  为全面有效监控现有的数据积累和各类数据的生产环节,数据地平线围绕三大知识库实时学习系统的输入和最终输出搭建了“数据地平线全景概览数据大屏” . 引入直方图、图形、饼图、面积图等多种可视化插件,提供现有信息数量、每天新增信息数量、因果关系数量、唯一性数量等信息事件、每天新增因果关系对数、抽象概念数、抽象概念关系数、产业链节点数、产业链关系数、产业链数据增量得到有效监控和展示。如果您对我们各种数据的具体规模有任何兴趣或需求,请随时与我们联系。

  五、总结

  实时更新是当前知识体系最重要也是最不可回避的属性。目前,各行业垂直定向沉淀了大量需要实时更新的领域知识场景。一个稳定高效的实时知识库学习系统需要学习源组件、源处理组件、知识更新组件、知识监控等多个组件的协同工作。基于Scrapy-Redis,可以进行*敏*感*词*的学习源码采集;基于Kafka+flume下的Restful-API,可以实时处理学习源;基于大的可视化数据屏幕,知识库学习系统可以进行实时监控。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线