基于依存句法分析的资金账户交易画像
- 时间:2019-01-15
- 来源:亿万先生软件
本文作者:丁德智,李玫,李国栋(亿万先生软件股份有限公司)
摘要:为了提升电网企业资金安全管控能力,有效防范资金安全风险,保障资金高效运转,文章利用企业海量的银行交易流水数据,应用自然语言处理技术,基于依存句法分析的结果设计摘要标签化的提取规则,得到与交易记录有关的交易标签与业务标签。进一步构建出动态完整、实时反映的资金账户交易画像,帮助企业管理人员全面了解账户的历史交易行为,及时发现异常交易风险,辅助管理决策。使用某电网公司6个月的资金交易数据对模型的效果进行测试和评估,获得了平均96%以上的F1值,结果证实了模型具有很好的实用性,能够在电网企业进行推广应用。
关键词:账户画像;资金管理;依存句法分析;交易摘要
0 引言
电网企业资金流动大,交易频繁,属于典型的资金密集型企业。目前电网企业在资金安全管理方面普遍存在资金监控信息化程度低和监督监控不完善等问题。改变现有监控系统低效、信息孤岛的现状,需要构建基于大数据的集安全监控、信息共享、数据分析、决策支撑为一体的资金智能安全防控平台,实现信息化的资金安全管理模式。这一管理模式的实现需要使用自然语言处理(Natural Language Processing, NLP)及机器学习等技术。目前NLP技术的研究主要集中于情感分析方面,多应用于互联网行业。在电力行业,尤其是资金安全管理领域应用存在较多空白。
传统的资金账户画像主要是基于账户的静态属性进行标签分类,存在更新不及时、信息滞后的缺点。本文通过对企业海量的银行资金交易流水摘要进行句法关系解析,智能提取交易标签和业务标签,构建动态、完整、全面的资金账户交易画像,帮助管理人员实时了解账户的历史交易行为,及时洞察账户异常动作,精准定位交易风险,为资金账户的全面监控和安全使用提供高精准度的风险防控手段。
1 资金账户交易画像提取框架
1.1 整体提取框架
标签提取流程如图1所示,提取流程包括数据预处理、自然语言处理、词库构建及标签提取4个步骤。实现思路是先对交易摘要进行预处理,过滤掉噪声数据,然后进行自然语言处理,解析得到句法关系树,根据标签提取规则,从句法关系树中提取交易标签和业务标签。对于提取不成功的摘要,先用交易标签和业务标签相互填补,如果仍然存在摘要提取失败,则将其归为“未知交易”。
1.2 核心步骤说明
1.2.1 数据预处理
本步骤主要是去重和剔除摘要中的噪声数据,例如日期、数字、英文及收款单位名称等,清洗后的摘要只保留了关键信息。
示例:“aHYX_付5月购电费(3001)”→“付购电费”。
1.2.2自然语言处理
本步骤利用哈尔滨工业大学的LTP(Language Technology Platform)开源中文NLP系统对预处理后的交易摘要进行分词、词性标注、命名实体识别、及依存句法分析,最终生成句法关系树。
根据摘要的特点,本模型主要用到的句法关系有核心词(HED)、主谓关系(SBV)、动宾关系(VOB)、并列关系(COO)及状中关系(ATT)。详细的语义关系说明请参考语言云简介。
1.2.3 词库构建
本模型应用到的词库有业务同义词库、业务动词库及业务关键词库。其中业务同义词库用于合并语义相同的交易业务,例如
上述词库需要资深业务专家参与构建,本模型词库的部分样例见表1所列。
1.2.4 标签提取
标签提取是本模型的核心步骤,包括交易标签提取、业务标签提取及未提取标签填充3部分。
1)交易标签
根据句法依赖关系树,按规则提取交易标签,例如差旅费、购电费等,主要用到了业务同义词库,详细的提取规则见2.1节。
2)业务标签
根据句法依赖关系树,按规则提取业务标签,例如报销差旅费、预付购电费等,主要用到了业务动词库和业务关键词库,详细的提取规则见2.2节。
3)未提取标签填充
对于未能提取交易标签但提取了业务标签的摘要,将业务标签去除与业务动词库相匹配的词,即可获得交易标签,例如:
2 基于句法模式的标签提取规则
2.1 交易标签提取规则
清洗后的交易摘要基本是短文本,句法关系相对简单,HED的词性主要为动词和名词,因此交易规则将围绕HED的词性进行设计,具体如下。
2.1.1规则1
若HED词性是名词(n表示),将HED与业务同义词库进行模糊匹配:
1)若匹配出零个标签,则不能提取交易标签;
2)若匹配出1个标签,则此标签的核心词为交易标签;
3)若匹配出多个标签:若多个标签对应的核心词是1个,则此核心词为交易标签;若多个标签对应的核心词是多个,则利用HED的ATT词进行过滤:若无ATT,将HED切换为精准匹配,如果能精准匹配出1个,则此标签的核心词为交易标签,否则不能提取标签;若有多个ATT,根据ATT的顺序,依次进行模糊匹配过滤,如果最终核心词是1个,则此核心词为交易标签,否则不能提取标签。
提取规则1示例如图2所示,示例为提取交易标签
2.1.2规则2
若HED词性是动词(v表示),HED存在VOB词且词性是名词,将VOB词与业务同义词库进行匹配,匹配逻辑与“规则1”一致(如果有多个VOB,则依次按本规则匹配)。
提取规则2示例如图3所示,示例为提取交易标签
2.1.3规则3
若HED词性是动词,且不存在VOB词或VOB词的词性不是名词:
1)若HED有COO关系的词。若该词的词性是动词,则将该词当作HED,按“规则2”逻辑进行匹配;若该词的词性不是动词,则按“HED无COO关系的词”的规则处理(如果有多个COO关系,则依次按本规则执行,由于是短文本,基本不存在这种情况)。
2)若HED无COO关系的词。若HED有ATT关系的词,将该词与业务同义词库进行匹配,匹配逻辑与“规则1”一致(如果有多个ATT关系的词,则按句法顺序,依次按本规则执行);若HED无ATT关系的词,但有SBV关系的词,则将该词与业务同义词库进行匹配,匹配逻辑与“规则1”一致,否则不能提取标签。
提取规则3示例如图4所示,示例为提取交易标签
2.1.4规则4
若HED词性既不是名词也不是动词:
1)若句中只有HED一个词,将HED与业务同义词库进行匹配,匹配逻辑与“规则1”一致;
2)若句中还有其他词,则不能提取出标签。
提取规则4示例如图5所示,示例为提取交易标签
2.2 业务标签提取规则
由于交易业务往往会带有明显的关键词,比如费、款、金等,因此业务标签提取规则将围绕这些关键字展开设计,思路是先定位业务词,再识别业务动词,具体如下。
2.2.1规则1
如果分词结果中的词能与关键词库中的词完全匹配,则将该词标记为H,根据句法分析结果找到与H有ATT关系的词,记为ATTH。如果没有ATT,则不能提取标签。
然后从分词结果中查找是否有词包含业务动词库中的词。
1)若没有,则业务动词默认为‘付’,记为V;
2)若只有1个,则该词为业务动词,将该词记为V;
3)若有多个,则优先级最高的词为业务动词,若优先级相同,则按句法关系顺序合并为1个业务动词,记为V;如果V是ATTH+H的子字符串,业务标签为+H;否则业务标签为V++H。
规则1部分示例如表2所列。
2.2.2规则2
如果分词结果中的词包含关键词库中的词(非完全匹配),则将该词标记为H。
1)若H只有1个,业务动词的查找规则与“规则1”一致。如果V是H的子字符串,则业务标签为H,否则业务标签为V+H;
2)若H有多个,则依次检查与H词语法关系为VOB的动词:若能找到,且该动词在业务动词库中,则该词为业务动词,否则默认业务动词为“付”,记为V,业务标签结果为V+H;若找不到,查找H中是否包含业务动词库中的词,如果包含,则业务动词为空,业务标签为H,否则业务动词默认为‘付’,记为V,业务标签结果为V+H。
规则2部分示例见表3所列。
2.2.3规则3
如果分词结果中的词不包含关键词库中的词,则不能提取业务标签。
3 实证分析
3.1 数据来源
实证分析所用数据来自某电网公司2018年1月至6月的银行交易流水数据(见表4)。
3.2 评价指标
本文使用精确率和召回率以及F-Measure对实证分析结果进行评估,同时将人工提取的标签作为准确标签结果。精确率是指算法提取结果中的正确标签数占提取出的总标签数的比例,召回率是指算法提取结果中正确标签数与交易摘要中实际可提取标签总数的比例。F-Measure则是综合了精确率和召回率的评价指标。计算公式分别如下。
式中,P表示精确率,A表示可提取并且提取正确的标签个数,B表示原本不可以提取标签但提取的标签个数以及提取错误的标签个数之和。
式中,R表示召回率,C表示未能正确提取标签的个数。
式中,α是用来衡量精确率和召回率的相对重要性的参数,本文将精确率和召回率视为同等重要,即α取值为1,故F-Measure故为F1:
3.3 结果分析
表5展示的是2018年6月银行交易摘要提取标签的部分结果。
3.3.1 模型精确率与召回率分析
考虑到每月提取标签的数量级大约在10万条,数量较多,人工识别成本高,因此,本文将采取随机抽样方式,每次随机抽取1000条交易摘要,将提取的标签与基于人工提取标签相比,计算模型的精确率、召回率和F1值。同时为了保证评价指标的可靠性,重复3次有放回抽样,并用3次结果的均值作为模型最后的评价指标,标签提取结果分析见表6所列。
从结果分析表中可知,6个月的交易摘要的交易标签和业务标签提取精确率均在90%以上,部分月份达到98%,召回率均在95%以上,整体F1值超过94%。
精确率方面,交易标签的精确率均较高,主要是因为本文的交易标签的提取规则考虑全面并且业务同义词库相对完整。相比交易标签,业务标签的精确率相对更高,主要是因为提取规则更加开放,更能体现一般性。
召回率方面,交易标签和业务标签的召回率均很高,主要是因为摘要语句较短,句子的核心词基本都具有业务含义词语,因此召回率较高。6个月的召回率都比较高且比较稳定,说明提取规则可以识别出大部分的交易摘要,同时表明构建的业务同义词库和业务动词库比较全面。
综上分析,模型整体效果很好,而且表现稳定。
3.3.2 影响模型效果因素分析
对实证结果中未能提取标签或标签提取错误的摘要进行归纳总结,主要原因如下。
(1)交易摘要过于简单、语义不明。存在省略主语、错别字、口语化及漏填等情况,例如
(2)分词及词性标注结果的准确性。由于电网企业涉及很多专业词汇,在专业字典不完整的情况下,会发生切词及词性标注出错的情况,导致无法准确提取标签。
(3)词库的完整性。少部分摘要未能提取交易标签是由于业务同义词库不完整导致的,另外,业务动词库和业务关键词库的完整性也在一定程度上影响了业务标签的提取。
3.4 画像展示
图6、图7分别展示了某一资金账户的交易标签和业务标签的提取效果。
4 结语
本文采用自然语言处理技术对电网企业银行交易流水摘要进行挖掘分析,构建了资金账户交易画像模型,突破了传统的数据查询分析对非结构化数据处理与应用的限制,能够从更全面的角度了解账户的历史交易特征,对未来新的交易行为是否存在异常具有重要的参考价值。
在对某电网公司近6个月的实证分析中,本模型获得了平均96%以上的F1值,证实了模型的有效性和实用性,能够在电网企业进行推广应用。
针对影响模型效果的因素,本文考虑从以下几方面做出改进:
①建立词库的完善机制。通过机制不断沉淀业务专家的知识经验,保持模型的有效性;
②进一步优化专业词典。一方面建立类似于词库的完善机制,不断加入专业词汇;另一方面需要充分应用自然语言处理技术发现新词的能力,从专业网站中提取新词;
③规范交易摘要填写。制定摘要规范性填写指导说明书,将摘要的规范性纳入绩效考核中,通过管理手段,保证摘要的完整性和规范性。