技术解读 | 知识图谱在智能审单场景中的实践及其构建技术-程序员宅基地

2020年7月3-4日,由CSDN主办的第三届AI开发者大会(AI ProCon 2020)以线上直播的形式与大家见面,大会历时两天,一次性设立6大主题,20场分论坛,吸引了10000+开发者的关注,为人工智能爱好者带来满满的技术干货。

其中,一览群智技术副总裁刘占亮受邀参加了“知识图谱与认知智能”论坛,以“知识图谱信息抽取在智能审单业务中的应用实践”为题,向大家分享了一览群智在知识图谱领域的技术优势及行业落地应用。

(以下内容根据演讲实录整理)

1

前言:从感知智能到认知智能

近年来人工智能行业的发展正在从以语音识别、人脸识别为主的感知智能层,转向包括自然语言处理、文本分析、文本挖掘、知识图谱在内的认知智能层。

在生活中,人们最常接触到的证件比对、人脸识别,经过高铁闸口的红灯停、绿灯行,又或者是在疫情期间北京健康宝的面部扫描登记的流程,当你经历这些时刻的时候,你也许会疑惑:这是机器认识我么?答案是“NO”。

当前的人工智能(AI)识别主要工作是信息对比,缺少信息进入大脑之后的“加工、理解和思考”步骤,从“感知”到“认知”,需要让AI有类似大脑的活动,让它不但可以接受信息,还能掌握知识、进行推理。也正因如此,目前AI从“感知智能”走向“认知智能”的实践在通用状态下还处于早期阶段,但在细分行业领域中,诸如金融反洗钱、经济侦察等场景已经落地开花。

那么,如何实现机器的认知能力?如何让机器具有理解和推理能力?我们认为知识图谱,或者说以知识图谱为代表的这一波知识工程的一系列技术,在认知智能的实现中起到非常关键的作用。

2

什么是知识图谱?

知识图谱本身是从语义网发展出来的,是谷歌提出来的概念,知识图谱的构建也是现在AI领域里面的非常大的难点,这是因为不仅涉及到AI领域各方面的技术,还包括人类各种领域的知识所形成的专家系统。

知识图谱本质上是一种语义网络,将客观的经验沉淀在巨大的网络中,结点代表实体(entity)或者概念(concept),边(edge)代表实体/概念之间的语义关系,成熟的图数据库如neo4j,Dgraph,JanusGraph等可以用来存储知识图谱。

构建高质量、不断演化的知识图谱也是AI领域的难点之一,因为知识图谱本身研究的意义就是可以为语言提供更多的背景知识,让计算机更好的读写文字。基本现状像谷歌、百度、搜狗都有大量的通用知识图谱,还有垂直领域的医疗或者是金融领域的知识图谱的广泛应用也很多,如何结合业务场景使用好知识图谱是落地的根本要素。

知识图谱更加广泛的被认知的是一个三元组的表示形式。通俗的说法是有三个值,第一个表示第一个实体,第二个值表示第二个实体,中间值是两者之间的关系。三元组本身基于三元组的语义网发展起来,有RDF的检索语言,还有基于RDF的存储的开源的方式,这些都是很方便的使用方式。

深度学习的发展促使知识的表示从三元组迈向稠密向量表示,从Word2Vec到对三元组的表示学习,稠密向量,实体等本身可以用Word2Vec等进行表示学习,例如 Vector(山东省) - Vector(威海市) = Vector(广东省) - Vector(佛山市) ,对于三元组的表示学习,有各类深度学习算法,如TransE、TransH、TransR、TransG、KBGAN、等。

3

知识图谱的分类:通用知识图谱与行业知识图谱

一般来讲我们会把知识图谱分成通用和行业知识图谱两类:通用型的就是像上文提过的谷歌,它构建的知识图谱是面向全领域使用,没有特别偏好,操作简单,通俗易懂。国内有百度或者搜狗的知识图谱,还有一些是开放式的像wikidata以及中文的OpenKG等。

行业垂直型知识图谱则是面向某一特定领域,例如金融、法律、公安等细分行业,以专家知识和领域数据为主,通过结合业务场景,基于行业数据构建,打造“语义层面的行业知识库”,因此,行业知识图谱通常也更加专业

以一览群智在金融行业和公安行业的具体实践来看,在toB领域中,知识图谱的需求正在从基于通用知识图谱做简单应用场景(搜索、推荐、对话)转向具有深度行业属性,领域专业知识非常密集,但数据量级未必很大的中小规模复杂应用。这里面复杂的业务需求场景、深度的专业知识应用、相对稀缺的数据资源都为知识图谱的落地带来了很多挑战。

具体来说,通用知识图谱一般是用在大规模的简单应用场景,大部分都是同质的数据(如百科、知识库),而行业知识图谱更多的则是在对小范围内信息的深度表示,其粒度相对通用知识图谱更为精细,其针对的主要也是小规模的复杂应用场景,在这些场景中的数据“小而杂”,基本上都是复杂的异构数据,如法规、细则、分类标准、甚至实际业务文档,都有可能是构建行业知识图谱的信息来源。因而构建行业知识图谱、应用行业知识图谱在细节上面临诸多技术上的挑战。

4

知识图谱在智能审单场景中的实践

以金融行业为例,存在很多小规模复杂应用场景。在这些场景下,利用知识图谱技术,可以使机器能够理解业务,进行重复性业务密集型任务,降低相应的人力成本。我们在金融行业的实践中发现,传统的单据审核业务正是这样适用于知识图谱的场景

单据审核是一项人力密集型的任务,在以往的处理流程中,需要具有一定金融知识且英语能力较强的业务专家对各类单据进行人工比对,依次进行数十项业务逻辑对比后,才能审核通过。这样复杂费时的业务流程很容易让审核人员短时间内产生疲惫感,因此降低审核效率。

为了让这样的重复性、业务密集型的审核任务智能化、自动化、标准化,我们协同业务专家通过本体设计形成审单领域知识,基于图系统进行知识图谱构建,预设节点审核动作, 实现了基于知识图谱的实时审单应用

具体来说,金融行业中流通的各类单据票据往往是以扫描图片形式存在的,扫描图片质量良莠不齐。在传统的人工审核过程中,审核人员需要通过人眼识别单据文字内容、位置,并理解文字,数字的具体含义。而在我们的智能审核流程中,对于不同的扫描图片,我们先进行倾斜矫正、前后背景色提取等预处理。然后按照票据图像类型调用不同的OCR模型,进行包括表格识别还原、弯曲文本识别、手写体识别等文字图像识别任务。在OCR模型识别后,文字内容可能存在一定的误识别字符,我们利用构建的行业词库,融合前后文语义,进行文本纠错。实际应用表明,这样的票据图片识别方法高效稳定,准确率媲美人眼。

得到文字还原后的票据后,我们需要对票据进行分类。与常规的文本分类任务中的自然语言文本不同的是,票据中的文本内容较为零散,直接使用常见常规文本分类模型效果较差。另外,在技术验证阶段,我们发现使用基于特征规则的分类方案泛化能力较差,尤其是当票据信息中存在噪音的时候。为此,我们在自研的深度学习模型中充分利用了了空间、视觉方面的多模态信息,并耦合强特征过滤机制,对票据信息进行多模态信息的融合分类,大幅提高分类准确率。

确定票据类型后,我们需要进行票据要素信息抽取,这个过程中存在各种复杂场景。为此,我们提出了模型工厂票据要素抽取方案。通过设计统一的模型工厂,实现对各种票据各种要素的统一抽取。

在知识图谱构建阶段,我们定义了三类图谱:基础知识图谱、单据图谱、审核规则图谱。其中,基础知识图谱的构建方法与常见的大规模知识图谱相似,其节点属性主要为各类实体。审核规则图谱是针对具体票据类型而预先定义的,其中节点和边代表着票据审核过程中的审核规则和审核动作。单据知识图谱是为具体某笔业务的单据数据实时生成的,它的节点由信息抽取结果填充,而边代表着单据信息之间的逻辑关系。利用实时生成的单据知识图谱,系统实例化一个审核知识图谱,根据审核知识图谱中边和节点定义的审核逻辑和审核动作触发实际审核动作,对此业务的单据自动进行合规性审查。

这样,我们综合运用NLP、OCR、知识图谱等人工智能技术,构建了金融场景下的智能审核系统。在实际生产中,机器代替了大部分重复性业务工作,大幅降低人力成本。单据审核人员的工作流程从传统的人眼识别、条款查询、条款比对简化为自动识别、自动审核之后的人工单据信息核验、审核失败复核等,实际将“纯人工审核”简化为“人工校验复核”,显著降低人力成本、提升生产效率。这个过程是在人机协作交互界面上执行,操作简便、高效。

另外,系统还提供知识图谱的可视化管理功能,完成审核领域知识图谱的构建,并结合自动审核引擎,实现汇出汇款申请书票面审核、外汇海关报关单审核、高风险审核提示等智能预审功能,出具预审报告,辅助业务人员快速完成业务审核。

小结

近年来,我们利用知识图谱及相关人工智能技术在智能审单场景中进行了系列应用实践并且取得了显著效果,实际已经形成一套成熟的方法论及系统工具,相信在未来金融的其他相关场景中会有更广阔的应用空间。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ElensAi/article/details/107241309

智能推荐

个人联想Thinkpad X1 carbon 笔记本遇到的问题及解决办法_thinkpad x1carbon开机黑屏-程序员宅基地

文章浏览阅读214次。新买的一台联想Thinkpad X1 carbon 12代笔记本,不知道怎么搞的,突然有一天启动后会出现一段黑屏时间,然后等一段时间才会正常,非常地烦人。打电话给联想客服只提供了附近的维修地点,但那得花时间跑去啊。今天下午自己摸索终于解决问题了。没什么好办法,我开始卸载电脑上很多的软件,一是不想用了,二是想卸载的这些软件可能就是导致这个问题出现的原因,在卸载的时候看到电脑上的相关应用,但是在点开相机应用的时候竞然发现相机不能用了。怎么这么奇怪,我想到我以前确实是设置了一下相机的权限,难道是这个问题引起的。_thinkpad x1carbon开机黑屏

Krpano:打造全景漫游体验—基础(一)-程序员宅基地

文章浏览阅读577次,点赞29次,收藏8次。由于基础知识太多,篇幅太长,本文只讲解了krpano的运作机制、tour.js的讲解以及krpano各个元素的简单介绍,下一篇文章将详细讲解krpano中的动作也就是< action >元素的使用和用法。

vue 前端表格导入与导出_vue fixdata-程序员宅基地

文章浏览阅读557次。excel导入到表格表格导入与导出,文末带Blob.js和Export2Excel.js导入按钮<input type="file" @change="import(this)" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"/>导入方法import(obj) { _vue fixdata

Error: protect(): protection stack overflow [防护堆叠上溢] 解决方案①_r studio中保护堆栈溢出-程序员宅基地

文章浏览阅读6.4k次。在执行R代码是遇到防护堆叠上溢的error,有效方案①1、命令行到Rgui.exe的地址(cmd)2、输入Rgui.exe --max-ppsize=5000003、在打开的R中输入options("expressions"=20000)memory.limit(size=8000000)https://www.researchgate.net/post/error_protect_protection_stack_overflow_in_R..._r studio中保护堆栈溢出

ORA-01092、ORA-00704、ORA-39700 错误的处理方法_ora-01092: oracle instance terminated. disconnecti-程序员宅基地

文章浏览阅读7.6k次。场景:通过rman做一个数据库的异机恢复,进行到最关键的一步,打开数据库的时候报了错误,详细如下SQL&gt; startup mount;Oracle 例程已经启动。Total System Global Area 6797832192 bytesFixed Size 2241264 bytesVariable Size 3523218704 bytesDatabase Buffers 3254..._ora-01092: oracle instance terminated. disconnection forced ora-00704: boots

java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在-程序员宅基地

文章浏览阅读202次。项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。免费学习视频教程分享:java课程具体实现代码:import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPR..._java判断ftp file是否存在

随便推点

ubuntu上opencv源码编译_libjasper-dev源码-程序员宅基地

文章浏览阅读301次。安装必备包sudo apt-get install build-essential cmake libjpeg-dev libtiff5-dev libjasper-dev安装gtkfor opencv3.2 and above:sudo apt-get install libgtk-3-devfor opencv2.4.x:sudo apt-get install libgtk2.0-dev安装v4l2sudo apt-get install v4l2ucp v4l-ut._libjasper-dev源码

安卓设备连接Unity Profiler进行性能分析_unity profile 手机-程序员宅基地

文章浏览阅读4.6k次,点赞2次,收藏7次。内容会持续更新,有错误的地方欢迎指正,谢谢!方式一:手机上运行游戏,以ADB方式连UnityProfiler分析游戏性能1.安卓环境:jdk、sdk:cmd(Win+R打开界面并输入cmd) 里直接输入 java 能正常输出即可 https://www.jianshu.com/p/21babde25dd5 adb:cmd 里直接输入 adb 能正常输出即可 https://www..._unity profile 手机

海思3559AV100实现8k文件编码_rk_mpi_cal_comm_getpicbuffersize-程序员宅基地

文章浏览阅读913次,点赞13次,收藏27次。有些小改动需要在common中改,都很简单就不写了,看一下就知道,另外我这边只测试了8k的一帧编码,如需连续编码视频需要再扩展一下,我这边由于公司项目安排就没再继续做了,测试出来8k文件编码的结果如下,颜色偏差是因为我的YUV和板子支持的YUV的存储顺序不一致,这里时间关系也就不调了,也算是顺利实现了芯片的8k文件编码。第二个函数是SAMPLE_VENC_CheckSensor,应该是检查镜头的分辨率支不支持要编的尺寸,这里我们先试的4k,所以也可以不管这个。_rk_mpi_cal_comm_getpicbuffersize

Android BLE 蓝牙通信库,2024年最新应届生面试销售岗位的面试问题技巧_android蓝牙通信-程序员宅基地

文章浏览阅读919次,点赞12次,收藏10次。然后根据自定义的协议,解析对应的 BeaconItem 中的 bytes,首先创建一个 BeaconParser,传入对应的 BeaconItem,然后根据协议不断读取数据, 如果协议中某个字段占 1 个字节,则调用 readByte,若占用两个字节则调用 readShort,如果要取某个字节的某个 bit 则调用 getBit。// 获取第 1 字节的第 1bit。可以在广播中携带设备的自定义数据,用于设备识别,数据广播,事件通知等,这样手机端无需连接设备就可以获取设备推送的数据。_android蓝牙通信

vue el-input表单验证禁止输入空格_element表单空格校验-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏7次。element ui 中自带的表单必填项校验输入空格时,依然能逃过验证(required: true还是可以通过),需要再 在v-model 加上.trim来禁止输入空格字符。加上之后则不能输入空格。..._element表单空格校验

推荐文章

热门文章

相关标签