人工智能学科诞生之初起,自然语言处理(NLP)就是人工智能核心的研究问题之一。NLP的重要性是毋庸置疑的,它能够实现以自然语言交流为特征的高级人机交互,使机器能“阅读”所有以文字形式记录的人类知识,并提供各种高层智能服务的基础和关键技术。

目前在NLP领域最受瞩目的要数谷歌的NLP模型BERT(Bidirectional Encoder Representa-tions from Transformers),它在Trans-former的基础上,借助海量跨领域语料和超高计算能力,通过多任务预训练,在十余种不同NLP任务达到了目前最高水平。

在金融领域,NLP技术的作用主要在于自动从海量的宏观、行业、微观资讯中发现、分析并整合与各类决策(特别是投资决策)相关的信息,即首先通过信息检索技术获取相关文本,然后借语义分析技术从非结构化文本中提取结构化的信息,最后将这些信息加以提炼,并且使之关联到未来可能的发展趋势,从而为预测和决策提供有价值的及时信息。

NLP技术与机器学习技术的结合,也正在成为智能金融浪潮中的新热点,已在多个场景得以成功应用,包括:智能客服、智能投研、智能投顾、智能风控、智能监管、智能运营等。

这方面国外值得关注的应用案例包括:华尔街的巨头开始应用自然语言处理和机器学习技术帮助客户理财和制订退休计划(类似财务经理角色);美国麻省理工学院融合机器学习等技术用于创建新的商业模式和重新定义金融服务,以提高投资的安全性;澳大利亚一家公司尝试采用自然语言处理技术自动监测和规范公司的金融服务。

目前NLP技术虽然已经在金融领域开展了一些尝试和探索,但仍然处于起步和发展阶段,存在一些有待解决的难点。

BERT能有效破解金融NLP难题吗?

金融是专业性很高的领域,很多词汇和表达在金融语境下有特殊含义,并且某些专业词汇在其他文本中很难见得到。数据集的缺乏也是目前NLP在金融领域应用所面临的问题之一,这也是金融领域高度的专业性所导致的。

另外,金融领域对发生的事件有其独特的理解,评价分析处理结果的方式也与其他领域有所不同。因而,金融领域的自然语言处理任务需要重新定义任务目标和评价方法,传统和成熟的NLP解决方案不一定仅通过简单订制就可以满足金融领域对文本信息分析和处理的需求。

那么在众多传统NLP任务上取得了实质性提升的BERT,能否助力破解金融NLP的难题呢?这是很多人都关心的问题,不过从目前看来可能收效甚微。因为BERT的设计目的和关注点着眼于纯自然语言表示模式本身,而任务本身与具体领域或者业务越密切,则其贡献越小。

虽然仍然需要通过实验才能确切了解BERT和Transformer对金融领域特定任务的影响,但可以预见的是,由于推理能力缺乏、输入长度限制、可解释性缺失等方面先天性的不足,其在市场消息面影响评估、事件因果关系发现、任务导向型上下文相关对话、文本摘要、智能推荐等方面影响比较有限。

金融NLP进阶的两种思路

知识图谱智能推理结合

将“NLP”和“知识图谱”看作金融科技领域的“双子星”是十分可取的想法,这两项关键技术在金融领域的应用场景高度重合,两者相互依托、互为补充。前者不断丰富后者的内容,后者则为前者提供背景知识的支持。

不过,在“NLP+知识图谱”这两个“双子星”中,还应加上“智能推理”一环,从而形成“语义理解+知识支撑+动态推理”的“三驾马车”。因为如果模型缺乏推理能力,欠缺揭示分析结果深层原因的“可解释性”,对于金融这种需要“刨根问底”的领域容易引发“灾难后果”。

知识图谱一般认为仅存储静态的知识,静态的知识需要与动态的推理规则相结合才能推导并得出新的认识和结论,发挥所构建知识库的最大效用。虽然目前已经提出“事理图谱”概念,其是否属于动态知识仍有待商榷。引入“智能推理”可以形成事实到结论之间的推理链条,从而能够对所得结论进行必要的解释。

例如,引入类似“原材料供应紧张 → 生产成本上升 → 净利润下降 → 股价下跌”反映专业知识的规则与推理不仅可以引导模型学习的方向,缩小的搜索空间,还可以作为先验信息,进行更为合理的贝叶斯统计推断。

经验主义、理性主义缺一不可

一般认为,NLP主要有两种研究思想和方法,第一种是理性主义方法,其主要思路是通过归纳语言学规则来分析和生成语言,优点是语言表达结构和组成成分可以借助规则直接清晰地表示出来,但规则过于“刚性”会导致无法处理例外情况、鲁棒性差、规则获取和更新代价高等问题。

另一种研究方法是经验主义方法,主要是采用机器学习(特别是统计学习)从语料集中自动或半自动地获取语言学统计知识来构建模型,然后对新的文本进行推断。目前最热门的深度学习也属于经验主义方法,近年来取得了快速进展和广泛应用,在学术界和企业界备受瞩目。

对于金融领域的NLP应用来说,经验主义和理性主义这两方面不应是“离异”状态,而应该积极的“联姻”,就如哲学家培根所主张的,既反对狭隘的理性主义,也反对纯粹的经验主义。具体说来,以逻辑推理为代表的符号主义与神经网络为代表联结主义的深度融合应是未来最具发展潜力的方向之一。

目前NLP技术在自然语言的深度理解方面,仍然存在大量的探索空间,例如如何准确处理篇章范围内的指代消歧;如何正确理解比拟、比喻和隐喻等。随着金融NLP经验主义与理性主义研究方法的融合提升,并且与知识图谱、智能推理等进一步结合,更多的难题将期望得到解决。

知识图谱辅助金融领域NLP任务的更多相关文章

  1. 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架

    目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...

  2. Atitit 知识图谱的数据来源

    Atitit 知识图谱的数据来源   2. 知识图谱的数据来源1 a) 百科类数据2 b) 结构化数据3 c) 半结构化数据挖掘AVP (垂直站点爬虫)3 d) 通过搜索日志(query record ...

  3. [NLP] 语义网络与知识图谱入门(一)

    语义网络与知识图谱入门(一) RDF/XML 本体:一种形式化的对于共享概念体系明确而又详细的说明.就是指一种抽象的模型,可以用来描述对象类型.属性以及关系类型所构成的世界. RDF/XML主要讲的就 ...

  4. [NLP] 语义网络与知识图谱入门(二)

    语义网络与知识图谱入门(二) OWL 本体声明 owl用owl:Ontology来声明一个本体.rdf:about属性为本体提供一个名称或引用.根据标准,当rdf:about属性的值为"&q ...

  5. 如何系统学习知识图谱-15年+IT老兵的经验分享

    一.前言 就IT而言,胖子哥算是老兵,可以去猝死的年纪,按照IT江湖猿龄的规矩,也算是到了耳顺之年:而就人工智能而言,胖子哥还是新人,很老的新人,深度学习.语音识别.人脸识别,知识图谱,逐个的学习了一 ...

  6. 哈工大知识图谱(Knowledge Graph)课程概述

    一.什么是知识图谱 知识(Knowledge)可以理解为 精炼的数据,知识图谱(Knowledge Graph)即是对知识的图形化表示,本质上是一种大规模语义网络 (semantic network) ...

  7. 知识图谱-生物信息学-医学顶刊论文(Briefings in Bioinformatics-2021):生物信息学中的图表示学习:趋势、方法和应用

    4.(2021.6.24)Briefings-生物信息学中的图表示学习:趋势.方法和应用 论文标题: Graph representation learning in bioinformatics: ...

  8. 知识图谱顶会论文(KDD-2022) kgTransformer:复杂逻辑查询的预训练知识图谱Transformer

    论文标题:Mask and Reason: Pre-Training Knowledge Graph Transformers for Complex Logical Queries 论文地址: ht ...

  9. 知识图谱-生物信息学-医学论文(Chip-2022)-BCKG-基于临床指南的中国乳腺癌知识图谱的构建与应用

    16.(2022)Chip-BCKG-基于临床指南的中国乳腺癌知识图谱的构建与应用 论文标题: Construction and Application of Chinese Breast Cance ...

随机推荐

  1. Linux第二章-Linux常用命令

    一.Linux常用快捷键 快捷键 作用 Tab 补全文件名或者路径 Ctrl + L 清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容. Ctrl + C 终止当前进程 Ctrl + D 注 ...

  2. day96_11_28 mongoDB与scrapy框架

    一.mongodb mongodb是一个面向文档的数据库,而不是关系型数据库.不采用关系型是为了获得更好的扩展性. 它与mysql的区别在于它没有表连接,但是可以通过其他办法实现. 安装数据库. 上官 ...

  3. hibernate opensission.createSQLquery 问题

    在进行分页查询的时候,通常会用到,页码,每页容量等等的参数进行操作,如下图: query.list()的时候会执行得到所需要的集合的值,在这个过程中, 如果使用自定义的返回参数,比如将日期做一些基本处 ...

  4. Java面试题和解答(五)

    1.在Java中Executor和Executors的区别? Executor是线程池的顶层接口,它的实现类如下图所示: Executors是一个类,提供了多个静态方法,用于生成不同类型的线程池,如下 ...

  5. Linux 部署 java1.8

    1.安装 查看java安装包 yum list | grep java 使用yum安装 yum install java-1.8.0-openjdk.x86_64 修改环境变量 vi /etc/pro ...

  6. 在Python中使用MySQL--PyMySQL的基本使用

    PyMySQL的使用 安装 sudo pip3 install pymysql 基本使用 from pymysql import connect # 1.创建链接 coon = connect() & ...

  7. 2019年最新阿里Java工程师面试题

    一.单选题(共10题,每题5分) 1 关于设计模式遵循的原则,说法错误的是?   A.组合优于继承 B.针对实现编程 C.对扩展开放,对修改关闭 D.降低对象之间的耦合 参考答案:B 答案解析: 设计 ...

  8. Spring Cloud Gateway、并发编程等等

    2019年 JUC线程池服务ExecutorService接口实现源码分析 Github Page:http://www.throwable.club/2019/07/27/java-concurre ...

  9. 利用重写R3环的ReadProcessMemory来防止恶意程序钩取

    访问这里---> Windows系统调用中API的三环部分(依据分析重写ReadProcessMemory函数)

  10. MySQL学习——管理事务

    MySQL学习——管理事务 摘要:本文主要学习了使用DCL语句管理事务的操作. 了解事务 什么是事务 事务是一组逻辑处理单位,可以是执行一条SQL语句,也可以是执行几个SQL语句. 事务用来保证数据由 ...