本文根据 3 月 23 日数库 CTO 夏磊在大数据杂谈里的分享内容整理而来。
大家好,我是数库科技的 CTO 夏磊,我们是一家创业型企业,成立于 2009 年,先后获得穆迪和京东金融的投资,在 2016 年被 KPMG 评为金融科技 50 强,非常高兴有机会跟大家分享下我们在行业工作中的一些经验。今天我主要想从下面几个方面来讲:
演讲提纲:
?
第一部分:人工智能与金融创新
我相信今天大家每天都能听到甚至接触到人工智能相关的信息和产品,最近人工智能也被首次写入 2017 年的全国政府工作报告。从百度、阿里、腾讯、滴滴、今日头条到 Facebook, Microsoft, Google, IBM, Amazon 都在将人工智能技术融入数据、产品和服务,通过大数据、机器学习及深度学习为用户提供更好的服务和互动。
在金融领域,人工智能将与传统金融市场的诸多功能紧密结合从而提高效率;涉及到决策、交易以及风险控制,学习模仿专家进行交易、通过用户画像和交易行为分析进行风险控制等。
下图是数库统计的在金融领域与科技相关的最热门的一些概念。
在开始介绍数库的智能助手之前,想先简单介绍一下金融领域这两年很热的两个人工智能的应用方向:智能投顾和服务机器人。
先说智能投顾,2016 年,毕马威在对 1500 名银行客户调查后发布《智能投顾——跟进步伐,引领潮流》报告 (Robo Advising Catching Up And Getting Ahead),预计到 2020 年美国智能投顾的资产管理规模将会达到 2.2 万亿美元。智能投顾实质上是解决了平衡风险与收益的同时,提高效率、降低成本。这类公司有像 Betterment、Wealthfront、Future Advisor 等;在国内,智能投顾解决的一个问题是以前通过专业的理财投顾来服务少数高净值人群,现在可以通过机器用更低的费用服务更广大的中低净值人群。目前国内的金融机构多是通过黑盒方式提供服务的,其背后或者是结合投资者风险偏好、财产状况与理财目标做智能投资组合分析,或者是通过量化分析进行交易决策。但国内的问题是刚刚起步,我们大数据的挖掘不够深入,标准理财品种比较少,投资者以追求短期收益为主等,所以人工智能到底发挥了多少价值这个很难说清楚。
再来说服务机器人,这里主要说聊天机器人(chatterbot),提供一个人机交互界面来做问答,多用在客服、教育等特定领域,国内已经有很多这种中文聊天机器人的产品,更类似一种百科或者知识库,但是在金融领域,关于投资的决策往往非常复杂,决策往往不是一个有标准答案的问题,想实现智能问答还有很长一段路要走,一方面把已经有的一些先进的方法论用机器实现,一方面要收集清洗并提取大量数据形成知识。
所以就以上的两点,数库对于金融领域智能问答的定位,更偏向于两者的结合,投顾 + 智能问答。数库在金融领域专注于交易前的决策环节,我们挖掘有价值的数据,在图像识别和自然语言处理的技术支持下,我们可以对更多非结构化数据进行信息提取、知识分类和聚类,加入量化分析,形成知识库,以此来辅助决策,不断减少个体从得到信息到决策的时间。
我们在服务机构用户时,实际是如何操作的呢?通常分为两步:
第一,首先对企业内部散落的数据进行挖掘和关联,形成知识库;知识库的搭建并不是简单的数据的汇总,现在企业比较困扰的是数据过多,对于基础数据的整理需要耗费大量的人力。比方说关于一家上市公司的研报会有几十篇,上百页,如果仅仅是把数据做汇总,需要大量的时间去消化理解这些信息。所以在面对当前信息过量的情况,我们做的是基于数据做提取观点、挖掘知识,才能够真正地辅助决策。
这里我举个例子,对研究员来说可能想了解某个行业、上市公司的一些信息,如:公司业务分布、产量产能、供应链、产业链图谱、研究员评级和观点、公司业务的外币构成(美元升值)、主要客户、参控股关系、主题概念、公司事件轴、量化分析等,这些信息其实分布在研究报告、上市公司财报、互联网媒体资讯中,我们要做的就是首先从这些数据源挖掘出知识和观点,通过我们的多因子和事件驱动回测分析服务进行实时分析。
第二,知识库搭建后,如何让用户使用呢。通过搜索、问答的方式,是目前最为便捷和简单的一个方式。但是如何理解用户的问题并给一个有效的答案是技术上的一个很大的挑战。这部分也是我今天分享的重点。除了智能问答以外,我们也为金融企业中一些特定的场景,搭建从信息到决策的自动化流程。
图示:从知识到问答
?
第二部分:数库智能助手引擎的架构与技术实现
前面已经提到了,数库的智能助手引擎包含两个端:
- 一端是对海量数据的解析,包括文本自然语言处理(实体识别 / 摘要 / 情感分析 / 事件提取),PDF 表格和图像解析,数据基于标签的关联分析;
- 一端是怎么样去构建个交互式问答的搜索引擎。
今天我们着重讲下后者,下面这张图描述了我们这块最初的技术架构。
整个架构主要分成 3 大块:
- Query 解析:包含对用户输入进行分词、拼写检查、组块分析、词性标注、命名实体识别、依存句法分析、语义角色标注、Ontology 词义扩展、实体歧义消解、指代消解、主题探测、意图分析和相同会话检测等;
- 问题回答引擎:这块目前我们融合了多种方式,包括基于意图的结构化问答(API),基于检索的问答系统(news and reports),基于领域知识图谱查询和推理的问答系统(业务,产业链,事件,参控股关系)以及利用深度学习 (如 Encoder-Decoder+LSTM+Attention model) 借用机器翻译的思想实现端到端的问答匹配及更深入结合语言模型自动生成问题答案。
- 场景定义及上下文管理:通过提供管理后台,让用户建立起自己的业务场景,并在场景中建立起上下文会话,而会话则由实体、意图和生成模板构成。在新的问题中,如果语法错误,比如缺少实体和目标属性,那么我们需要根据上下文回溯到之前提到的实体和属性,如果上下文中还是缺少这些,我们则需要用追问的方式让用户补充回答以填充(slot-filling)。
下面就几种问答实现方式进行展开:
基于意图的结构化问答系统
我们来举一个例子,来说明什么是基于意图来回答。
如果我们在百度搜索“银江股份的市盈率”,百度并没有直接给出答案,而是基于搜索推荐了相关网站内容。而对于这种有直接答案的问题,我们现在要做的就是理解用户的意图并直接给出答案。
对于像上市公司财务指标这种结构化信息的查询,我们只需要将回答对应到我们 API 服务就可以了,这种情况下,理解用户的问题,其实就是挖掘出用户的意图,比如:“银江股份的市盈率”,我们识别出其中的实体是银江股份(300020),意图是查询财务指标,目标参数是市盈率,隐藏的时间是当前日期,那么我们只需要把这个问题对应到财务的微服务 API 就可以了,拿到 API 的返回结果,调用响应模板做填充。当然在这里我们还需要处理很多细节问题,比如实体的别名、消歧、时间提取、意图识别、模板生成等;
基于检索的问答系统
有一种问题,我们是不需要自己去生成答案的,只需要通过启发式方法从现有的文档中挖掘出对应的观点和经验就可以很专业的回答问题了。例如,对于像新闻、研究报告类的文档内容的搜索和观点挖掘,应该是一种精细化的搜索方式,不是直接对文档的全文进行检索,而是首先提取分析出文档的重要成分,比如:公司事件、摘要、情感、评级、作者正负面观点等,建立到搜索引擎中,基于启发式方法根据输入的内容进行匹配回复。比如:“航天信息可以买吗?”,我们不一定能准确的告诉用户可以或不可以,但是告诉他航天信息在当前的技术指标(金叉、死叉等),资金流量,研究员的正负面观点以及年报对 2017 年的管理层意见摘要等等。
基于领域知识图谱的问答系统
除上面的情况之外,还有一种问题是可以通过对大数据信息提取推理生成答案的,比如:“和苹果手机有关系的股票有哪些?”,“治理雾霾对哪些上市公司会产生影响?”,“钴价上升对哪些股票产生影响最大?”等,当然这些问题通过搜索的方式也能给出答案,但我们发现它们有一些共同点,那就是问题的本身都描述着实体和实体之间的关系或者相关性,而这个正是知识图谱能够解决的问题,知识图谱将搜索引擎从字符串匹配推进到实体关系查询推理层面,自 2012 年 Google 搜索发布知识图谱,它便成为下一代搜索引擎和问答系统等智能应用的基础设施。所以上面的这些问题我们可以基于新闻资讯去抽取实体和关系,并建立相应的概念事件、参控股及产业链图谱,然后基于图谱去查询和推理出相关的答案。
进行中的工作
目前我们还有一些工作没有做好,比如在实体关系抽取上,在检索和问答中融入个性化,使用深度学习模型来做检索和问答,比如使用生成模型,我们一直在探索这些工作。同时非常欢迎机器学习和自然语言处理方向的牛人加入数库,携手用智能推进金融发展。
最后,非常感谢大家今天的时间,本次分享仅代表个人观点。
答疑环节 问答机器人能否给出肯定的回答, 比如"同花顺"当前可以买入, "银江股份"当前不可以买入 , 如果可以给出肯定的回答, 正确率大概有多少?
夏磊:其实股票的涨跌是很难准确预测的,它只是一个概率事件,金融市场由太多因素的影响了,但是我们有一些方法得到充足的信息来辅助判断,比如像刚才分享提到的,我们可以通过对资讯的分析,提取出研究员的一些观点,对公司基本面及技术面走势给出一些分析,也可以通过对公司历史发生的事件进行回测分析,从而得到大概率事件。
知识图谱选择什么图数据库实现,高并发场景能否支持?
夏磊:我们目前使用了多种数据库,如 neo4j、mongodb、redis 等,主要还是侧重在存储和查询,如果数据量大的话可以选择一些商业的图引擎,或者使用 spark 的 graphx。我们的知识图谱描述了公司、概念、事件、产品、参控股等关系,节点在几十万级别,用 neo4j 结合 ES 没有什么问题。
在智能问答和投顾方面能否做到预测?
夏磊:这个问题可以分以下层次:
- 是对用户预期结果的预测,不同用户问一个期望得到的答案不尽相同,大数据可以对用户行为进行分析,进一步分析出用户的兴趣点,并结合数据给出期望结果;
- 对标的如股价、公司、某个事件发展进行预测,市面上有类似的智能投顾,背后有的是拿一些传统量化模型做得;有的确实有大数据的预测,数库在这两方面都有涉及。
经济算到最后还是政治,政治讲的就是风险与机会,大数据怎么体现价值?> 夏磊:问题提到了风险与机会,实际上大数据在这两个方面都已经有很不错的表现。拿金融领域举例,在风险衡量方面,越来越金融机构利用大数据建立风控模型,对用户的风险发生概率进行预测,从而提高定价的弹性和风险的规避能力;机会把握上,利用大数据的营销在金融及诸多行业已经有非常多成功案例。
作为一个搜索系统,投入这么大,应用场景是不是有点窄了?投入回报率是怎么考虑的
夏磊:对这个问题,我的看法有所不同。在金融领域的搜索投入不是太大而是太小了,资本在这个领域的投入还会不断加大。智能化的金融搜索和问答或者说金融科技带来的行业效率改进所产生的收益在很多方面都远远没有被体现出来。
作者介绍
夏磊, 数库(上海)科技有限公司 CTO, 2012 年加入数库,负责数库整体研发和技术发展,推动人工智能在金融证券领域的应用,在加入数库之前,曾先后就职于 IBM Demandtec 和 HP,分别从事 retailer 大数据架构、云计算和移动互联网架构相关工作。
评论