自然语言处理技术在自动生成足球比赛战报上的应用
1. 背景介绍
自动生成新闻看似是一个很成熟的技术,很多年前就有各种应用,但是深入了解后我们可以发现机器自动生成的文章一般都是复述一些数字和简单的趋势变化。所以自动生成新闻的技术广泛应用在金融,体育领域,原因就是这类报道需要基于一定的事实,而这类事实通常又以结构化的信息出现。因此这类技术的本质是将结构化的信息转换成自然语言以飨读者。
但这类技术一旦遇到需要细节描述且细节变化种类繁多的新闻报道,就会显得捉襟见肘。足球比赛战报就是其中的一个典型例子。足球比赛战报的特点就是对于比赛的事件,比如进球,有威胁的射门,犯规等要能给出细节描述,比如怎么射门的,怎么传球的,怎么犯规的。如果报道中仅仅是说了一个队几次射门,几张黄牌,这种报道是不符合球迷需求的。而球迷要求的细节描述又不属于比赛统计的内容,因此之前的生成技术遇到巧妇难为无米之炊的困境。图1是国内某互联网公司的写作机器人产生的2018年世界杯决赛的战报(更多内容可访问http://www.nbd.com.cn/columns/803/)。虽然文中有类似“坐镇后场”,“伺机而动”,“不停的传球”等这样的词汇和表达,但是依然无法准确把握到足球比赛战报的重点。于此相对应的是篮球比赛报道,篮球比赛报道重点在于表述整场比赛的双方的趋势变化,比如是否交替领先;某队的连续得分等等。而这些信息在比赛统计中可以轻易获得,从而篮球报道就可以很容易的自动生成。图2是自动产生的一场NBA比赛第一节的比赛报道,虽然里面的绝大部分内容也是都可以从赛后统计里获得,但是由于篮球比赛自身的特性,使得这样的报道对篮球迷来说要更容易接受。
图1(国内某互联网公司的写作机器人产生的2018年世界杯决赛的战报)图2(自动产生的一场NBA比赛第一节的比赛报道)随着互联网直播行业的蓬勃发展,越来越多的足球直播平台在提供视频直播的同时也提供了文字直播。这个主要是为了方便当时没有条件看视频直播的球迷。文字直播员会尽量的将比赛场上的情况及时的用完整的句子表述出来并推送到球迷面前,让球迷获得类似观看视频的效果。这样的具体描述文字正是足球战报新闻里所需要的。当比赛结束时,如果有了完整的文字直播数据,是否可以自动生成一个包含具体描述的比赛战报呢?答案是肯定的。这个任务最早出现在2016年ACL的一篇论文[1],后来NLPCC 2016也将该任务采纳为当年的一个评测任务[2],吸引了更多的参与者。这类生成任务的难点是输入为自然语言的非结构化数据,需要利用自然语言技术先解析出结构化数据,然后再进行生成。当然利用基于编码解码的端到端神经网络方法不需要显式的解析数据的过程,但是需要大量的配对数据,并且系统不太容易调试和控制,所以不是直接实用方向的首选。
2. 实现方法
足球新闻战报基于抽取式摘要的思路,采用了模板化和监督学习混合的技术方案。具体系统架构如图3所示:
图3:系统架构首先系统会获取比赛的文字直播,然后对文字直播逐句进行事件检测,当出现预定义的关键事件时,会结合上下文识别出其中的球员、动作、比分、时间等信息。然后对相关的句子判断是否可以直接用在最终的新闻报道里,如果可以,直接抽取;如果不可以,则用事先准备的模板进行生成。
2.1 事件检测模块
对于事件检测模块我们可以采用非监督和有监督的方法进行事件类别识别。非监督的方法主要是通过收集对应事件的关键字,通过识别关键来触发事件类别。有监督的方法需要事先准备好有事件类别标注的句子,然后可以采用常规的分类模型进行训练和测试。
2.2 文本理解
这里主要是对相关的句子进行浅层和适度的深层理解获取到和事件相关的信息,比如球员名字,球员如何完成的这个事件等。涉及到的任务有词性标注,句法分析,语义角色分析等。
2.3 句子是否可直接用在新闻报道里
这个也是分类任务,但是难点在于如何获得一个句子是否能够被用在报道里的标签。通常我们在获取文字直播数据的同时,我们也会去收集相应比赛赛后记者写的比赛战报。然后我们将两者里的句子进行逐句比较,如果文字直播里的某句话和记者写的战报里的某句话高度相似,那么我们认为直播文字里的那句话就是适合用在新闻报道里的。这里对于如何定义相似,我们可以采用词袋(bag of words)模型然后用tfidf来计算相似度,也可以将句子向量化然后进行向量间的相似度比较。当获得了是否合适的标记后,依然可以采用常规的分类模型进行训练和测试。关于这类任务的数据,在第一届AACL2020会议上,有一篇论文[3]发布了比较大的数据集,感兴趣的读者可以去参考下。
3. 系统展示
目前我们将该套系统应用在了欧洲五大联赛,欧冠,欧联等各大足球赛事中,当然也会使用在各大杯赛中,比如即将开始的欧洲杯,美洲杯,世界杯预选赛等等。该系统获取各场比赛的图文直播和相关信息后,可以自动产生相应的比赛报道。对于没有充足时间观看全场比赛的球迷而言,是比较方便的在第一时间获取各场比赛信息的手段。感兴趣的朋友可以访问主站 https://www.51zhanbao.com 进行体验,也通过扫描这里提供的的二维码使用微型小程序进行体验,或者关注公众号,每天会对当天结束的比赛进行推送。当然也可以来知乎的“AI足球战报”专栏,每天我们会把一些豪门队伍比赛的战报搬运到这个专栏进行展示。
参考文献
[1] Towards Constructing Sports News from Live Text Commentary. Jianmin Zhang, Jin-ge Yao, Xiaojun Wan. ACL 2016.
[2] http://tcci.ccf.org.cn/conference/2016/dldoc/evagline5.pdf
[3] Generating Sports News from Live Commentary: A Chinese Dataset for Sports Game Summarization. Kuan-Hao Huang, Chen Li, Kai-Wei Chang. AACL 2020.