原标题:飞笛科技CTO姚坤:人与机器智能如何共同进步?
2021年4月10日飞笛科技创始人、CTO姚坤受邀参加由智能投研技术联盟(ITL)和中国计算机学会(CCF)共同主办,在上海金融科技园区公共服务空间举行的自然语言处理(NLP)智能技术应用研讨会。
会议上,姚坤以飞笛科技自身经验作为具体案例分享了他对如何在实践中应用NLP的看法,以及其在财经领域文本分类和标签处理中的宝贵经验和教训,以飞笛科技的成长经历复盘了人与AI如何共同进步的技术实现路径。
(图:NLP智能技术应用研讨会嘉宾合影)飞笛科技创立以来专注于金融财经领域文本的收集、清洗,结构化以及价值挖掘,其中的文本还囊括了新闻以及社交平台的内容。飞笛科技自创立以来,在财经大数据领域的探索之路就是不断攻克一个个财经文本内容的分类与标签处理的技术性难题的过程。
以下是姚坤在会议上的发言全文:
一、标签维度是定义内容在价值网络中的坐标
我们认为标签的维度代表对信息的认知程度,标签维度是定义内容在价值网络中的坐标。我们处理信息主要包括四个维度:时间、热度、价值、相关性。一篇财经新闻,如果我们说它很重要,那可能是因为它超出了我们的预期,可能是来自重要媒体的报道,可能是来自某些重要人物言论,也可能是来自朋友圈的广泛传播。
我们所做的,就是从不同角度去分析和判断它的关键特征。比如我们定义的一些分类维度包括:
1、公告事件类:包括定增、减持、业绩增长、技术突破等。
2、行业板块类:例如天然气,机场,航运,银行,国产软件等。
3、主题概念类:主题概念是从另一个切面对公司和内容进行聚类,具有突发性、时效性,往往是炒作的热点。比如独角兽,特斯拉,粤港澳大湾区,区块链等。
4、内容正负向:分为正向、中性、负向三种情况。针对正负向,它的内涵比较丰富,不同的人会有不同的理解。比如可以理解为情感倾向性,是表达赞美或是批判;也可以是认为对整个资本市场的影响,比如贸易战对资本市场的整体影响偏负面;也可以是对某个投资标的的影响,比如新冠疫情的减弱对航空旅游类股票影响是正面的,对口罩呼吸机类股票则是负面影响。
5、实体类:比如公司,机构,知名人物,品牌等。
二、场景是检验标签分类与AI信息处理能力的唯一标准
对文本内容进行分类和标签化处理之后,非结构化的信息就具有了结构化的属性,再结合其他结构化数据,一起分析处理就方便多了。
场景一:关联与推荐
有了分类和标签,我们可以做内容的关联与推荐。
比如这条讲5G的新闻内容,当它有了5G这个主题标签后,就能关联到5G主题概念页。在这个概念下,能够继续关联到其他相关新闻内容、科普投教内容、以及关联到股票,基金等。通过标签,将突发新闻事件关联到内部其他产品,就能够打通内部产品整体的运营链路。这个是我们(飞笛科技)在3年前做的事情。
场景二:事件驱动策略
上图是飞笛科技做的个股事件驱动图谱,除此,我们还做了一张宏观事件图谱,以及122个行业的事件图谱。这张图谱,是我们把影响个股股价的因素进行分析,梳理成一个树形结构的分析框架。影响个股的因素总的来说包括业绩和估值两个大类。每一个大类之下,我们又对因素进行了层层分解。
如果新闻文本标记到了其中一个事件节点,那就相当于在某个节点触发了一个事件信号。信号经过层层传导,最终变成了对个股股价的一个影响因素。每天发生的所有事件信号汇集到一起,就能算出整体对股价的影响方向和强度。
这就是中国的Kensho(美国一家统计分析引擎公司,早期投资人是高盛,被称为华尔街之狼,2018年被标普以5.8亿美元收购,创下当年人工智能最大并购案),这是我们5年前就开始做的事情。听起来是不是很酷?但是它从具备实施基础,到在业务应用要求的准确率实际要走很长的路。
场景三:量化因子
文本的分类及标签还可以当做量化因子。这个方向我们目前是跟业内顶尖AI日内高频交易系统提供商跃然科技合作。跃然科技的AI交易系统目前在20多家券商机构后台运行,带动单日股票成交量可超100亿。飞笛为跃然科技提供不同维度的标签因子,跃然科技则进行多个方向维度的回测。下图是公告事件因子的回测结果,代表不同公告事件在不同持有时间的年化夏普比率(一般来说,年化夏普越高,证明因子表现越好)。
其中每一行代表一类事件因子。每一列代表不同持有时间。
第2列到第5列都是日内卖出,分别持有5分钟,30分钟,120分钟,以及持有至收盘。后面两列是下个交易日开盘10分钟和下周开盘10分钟卖出。回测时,扣除了千分之二的双边交易成本,并且还剔除了沪深300收益。
从效果来看,部分标签呈现出比较好的超额收益,部分呈现了较大负的收益,部分则没有明显的特征。这里面红框重点标识的几个事件类型:新品发布,定增,技术突破,投资理财则在不同的持有周期都有比较好的超额收益。这是飞笛科技去年做的事情之一。
三、技术实现路径分享:人与机器智能如何共同进步?
Step1:构建图谱+专家系统
在做完第一轮融资之后,我们雄心勃勃地规划了庞大的事件驱动图谱,试图从每天发生的所有信息中自动识别出影响个股、行业及宏观的各种因素。图谱我们花了半年时间建立好了,然后我们发现用不起来。因为将文本资讯关联到图谱上,这是个大难题。怎么知道一条消息、一篇新闻讲的就是某件事呢?就算是人来判断,那还得需要有较好的金融背景知识,怎么把人的知识转移给机器模型呢?
为了解决以上问题,我们建了个专家系统,每个图谱节点当做一个标签,每个标签铺一堆关键词、词组、规则。但是整体效果一般,主要有以下几个问题:
1、歧义词问题:比如小米、苹果、好想你等,歧义词得结合上下文来消歧,只靠关键词不行。
2、区分度问题:比如新能源汽车、汽车整车、智能汽车等,这些分类内涵是有重合的,怎么对这样的分类进行细化识别?
3、覆盖度问题:也就是召回率低。原因一方面是同一个意思表达多种多样,另一方面是新的概念层出不穷。
Step2:拥抱深度学习
2016年alphago火了,掀起了深度学习的热潮,我们也主动拥抱新技术。卷积神经网络还是很神奇的,只要语料给力,效果有明显提升。机器似乎对语义有了感知。不过离商业化应用落地的要求还有很大的距离,准确率还不够高,主要问题在于:
1、语料问题:标注成本高,必须是有财经金融专业背景的人才能做好标注。另外,有些事件极少发生,语料很难找。
2、持续运营效率低:神经网络模型是黑盒,发现它错了也不容易修正。另外是模型训练时间太长,比如有个新热点出现了,等收集语料调试好模型,时间已经过去好几天,热点都凉了。
3、区分度问题还存在:比如精准医疗、智能医疗、互联网医疗,这几个分类内涵是交叉的,边界是模糊的,甚至我们内部的专家在做判断和标注时都会有不清晰的感觉。
Step3:回归以人为本
2019年,我们转变了思路。前一个阶段我们把AI当大神伺候,一堆人训练它,希望它能变成专家替代人做判断。我们发现,怎么训练它还是很笨,经常出些莫名其妙的问题。
我们现在的思路是:以人文本,让AI提升我们工作的效率。所以不局限于通用的解决方案,对单一技术指标也不强求。
1、我们主要在工程架构上进行优化,将问题分解,分而治之。我们方便维护和快速迭代优化为目标。
2、找到合适的业务场景,从一个小点出发,星星之火慢慢燎原。
3、既利用已有数据积累吸收经验,也会融入专家的逻辑判断。
4、最后,人工审核把关,解决准确率的最后一公里问题。
我们主要服务于证券机构客户。客户对标签分类准确率的要求是极高的,一个错误可能就踩到合规线了。
比如一篇文章讲的是“企业并购重组没有获得通过”,结果模型预测成了“并购重组”的标签,就会误导用户,那问题就严重了。此时,还不如模型拿不准不给结论,漏掉了问题可能相对还小一些。
那么问题来了,既然都要用人把关了,今后还要不要投入技术研发,搞模型预测?
当然需要了。毕竟机器模型至少也有80%多准确率的。机器的问题是,小毛病不多,一出问题就是大问题。所以让机器先预测一遍,至少也能给人比较靠谱的提示,人工再修正明显有问题的部分,整体的效果和性价比就很不错了。
关于文本的内容属性分类,我们的方案是多级分类器进行拼接,比如一级、二级、三级每个子分类都有一个小的分类器。分类模型选取我们使用的是CRNN。
为什么选择CRNN这么一个比较“老”的模型呢?CRNN是在RNN前面接了CNN,增强特征提取能力,同时保留了RNN序列建模能力。其实预训练模型(比如BERT)效果也是不错的。只不过在我们应用的场景内,相比CRNN效果提升不大,性能还要差一些。关键的是,最后还得有人把关,因此模型提升1个百分点带来的收益率并不明显。
另外想说一下工程应用中的其他考量:1、对于多级分类,不同级别重要度不同。一级分类相对后两级重要度更高,预测错了影响更大,对它的投入也会更多。2、模型的运营维护需要重点考虑。比如错了要容易修正;更新迭代要能快速响应;模型之间尽可能独立解耦。3、工程上还需要考虑成本和性能。如果模型带来的收益提升小于成本的上升,那我们可能也不会考虑它。
四、小结
在智能化实践过程中,我们踩过了很多的坑,有几点经验教训总结分享给大家。
(图:CCF上海分部主席、ITL首席高级技术顾问白硕与飞笛科技创始人CTO姚坤)1、限制需求边界。边界清晰,不求大而全,才好落地实现出来。
2、AI+HI。这一方面是指融入专家的逻辑判断、知识图谱,来弥补AI的不足。另一方面则是指让AI回归到负责提升效率,人工负责最后的质量把关。
3、数据的价值非常大。但是数据标注成本高,特别是文本标注,所以评估一个NLP项目成本时这一块要有个心理预期。其实,目前各家AI公司都在独立重复的做着相同的标注工作,这其实是一个很大的浪费。我们也期待金融文本领域也能有一套标准的分类标签体系,有合适的激励机制能让内容生产者创作内容时就能做好内容标注,或是各家机构都能贡献及共享同一份标注资源池,这样从数据源头就有了高质量的标注数据。
(作者:邱咏莲 编辑:陶蹊)