CN109697224A - 一种账单消息处理方法、装置和存储介质 - Google Patents
一种账单消息处理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109697224A CN109697224A CN201711002473.5A CN201711002473A CN109697224A CN 109697224 A CN109697224 A CN 109697224A CN 201711002473 A CN201711002473 A CN 201711002473A CN 109697224 A CN109697224 A CN 109697224A
- Authority
- CN
- China
- Prior art keywords
- bill
- message
- polymerization
- bill message
- failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种账单消息处理方法、装置和存储介质;本发明实施例采用获取账单消息集合,账单消息集合包括多个账单消息,将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,目标字符的字符类型为预设类型;对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;根据聚合后账单消息集合生成相应的消息解析规则;根据消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度。
Description
技术领域
本发明涉及信息处理技术领域,具体涉及一种账单消息处理方法、装置和存储介质。
背景技术
随着终端技术的发展,终端已经开始从以前简单地提供通话设备渐渐变成一个通用软件运行的平台。该平台不再以提供通话管理为主要目的,而是提供一个包括通话管理、游戏娱乐、办公记事、移动支付等各类应用程序在内的运行环境,随着大量的普及,已经深入至人们的生活、工作的方方面面。
为了便于用户记账理财,一些应用开发商提供了在一些具有记账功能的应用程序,这些应用程序可以实现用户还款提醒,或者预约还款等记账功能。目前记账功能实现方式包括:基于预设的消息解析规则对终端接收到的一系列账单消息如账单短信等进行解析,以提取相应的账单内容,然后,基于提取的账单内容实现相应的记账功能。
然而,目前记账功能实现方式中消息解析规则通常是开发人员通过经验,人工配置完成,因此,消息解析规则的生成效率比较低。
发明内容
本发明实施例提供一种账单消息处理方法、装置和存储介质,可以提升消息解析规则的生成效率。
本发明实施例提供一种账单消息处理方法,包括:
获取账单消息集合,所述账单消息集合包括多个账单消息;
将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,所述目标字符的字符类型为预设类型;
对所述替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;
根据所述聚合后账单消息集合生成相应的消息解析规则;
根据所述消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。
相应的,本发明实施例还提供了一种账单消息处理装置,包括:
消息获取单元,用于获取账单消息集合,所述账单消息集合包括多个账单消息;
替换单元,用于将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,所述目标字符的字符类型为预设类型;
第一聚合单元,用于对所述替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;
规则生成单元,用于根据所述聚合后账单消息集合生成相应的消息解析规则;
解析单元,用于根据所述消息解析规则对待解析账单消息进行解析,以提取相应的账单信息。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的账单消息处理方法。
本发明实施例采用获取账单消息集合,账单消息集合包括多个账单消息,将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,目标字符的字符类型为预设类型;对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;根据聚合后账单消息集合生成相应的消息解析规则;根据消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的信息交互系统的场景示意图;
图1b是本发明实施例提供的账单消息处理方法的第一种流程示意图;
图1c是本发明实施例提供的动态规范算法计算LCS的示意图;
图2a是本发明实施例提供的消息处理系统的场景示意图;
图2b是本发明实施例提供的账单消息处理方法的第二种流程示意图;
图2c是本发明实施例提供的还款提醒界面示意图;
图3是本发明实施例提供的消息解析系统的架构图;
图4是本发明实施例提供的账单消息处理方法的第三种流程示意图;
图5是本发明实施例提供的账单消息处理方法的第四种流程示意图;
图6是本发明实施例提供的消息解析系统的另一架构图;
图7是本发明实施例提供的账单消息处理装置的第一种结构示意图;
图8是本发明实施例提供的账单消息处理装置的第二种结构示意图;
图9是本发明实施例提供的账单消息处理装置的第三种结构示意图;
图10是本发明实施例提供的账单消息处理装置的第四种结构示意图;
图11是本发明实施例提供的账单消息处理装置的第五种结构示意图;
图12是本发明实施例提供的账单消息处理装置的第六种结构示意图;
图13是本发明实施例提供的账单消息处理装置的第七种结构示意图;
图14是本发明实施例提供的账单消息处理装置的第八种结构示意图;
图15是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种信息交互系统,该系统包括本发明实施例任一提供的账单消息处理装置,该账单消息处理装置可以集成在服务器等设备中;此外,该系统还可以包括其他设备,比如,终端,该终端可以为手机、平板电脑等。
参考图1a,本发明实施例提供了一种信息交互系统,包括:终端10和服务器20,终端10与服务器20通过网络30连接。其中,网络30中包括路由器、网关等等网络实体,图中并为示意出。终端10可以通过有线网络或无线网络与服务器20进行信息交互,比如可以从服务器20下载应用(如记账类应用)和/或应用更新数据包和/或与应用相关的数据信息或业务信息。其中,终端10可以为手机、平板电脑、笔记本电脑等设备,图1a是以终端10为手机为例。该终端10中可以安装有各种用户所需的应用,比如具备娱乐功能的应用(如视频应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用(如记账类应用、地图导航应用、团购应用等)。
基于上述图1a所示的系统,以记账应用为例,终端10可以通过网络30从服务器20中按照需求下载记账应用和/或记账应用更新数据包和/或与记账应用相关的数据信息或业务信息(如账单信息等)。采用本发明实施例,终端10可以向服务器2上传账单消息如账单短信等,服务器20可以根据上传的账单消息生成相应的消息解析规则,并基于消息解析规则对终端10上传的账单消息进行解析,以提取相应的账单信息,然后,向终端返回提取的账单信息。服务器20 生成消息解析规则的过程可以包括:将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,目标字符的字符类型为预设类型;对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;根据聚合后账单消息集合生成相应的消息解析规则。
上述图1a的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1a的系统结构,基于该系统架构,提出本发明各个实施例。
在一实施例中,提供了一种账单消息处理方法,可以由服务器的处理器执行,如图1b所示,该账单消息处理方法包括:
101、获取账单消息集合,账单消息集合包括多个账单消息。
其中,账单消息可以为包含账单信息的消息,该账单信息可以包括:消费日期、消费金额、消费类别、消费账号、还款金额、还款日期、还款账号等。
该账单消息的消息类型可以有多种,比如,可以为短信消息、即时通讯消息等等。
可选地,账单消息可以由终端上传,比如,终端在接收到金融机构或者商家发送账单消息后,可以将账单消息上传至服务器。
如下表1所示,该账单短信集合包括5条账单短信:
编号 | 账单短信 |
1 | 您的贷记卡(尾号9482)6月4日发生一笔消费金额15.00元 |
2 | 您的贷记卡(尾号9854)5月6日发生一笔消费金额58.00元 |
3 | 您的贷记卡(尾号9658)3月8日发生一笔消费金额96.00元 |
4 | 您的尾号1314信用卡05月29日消费2335.00元 |
5 | 您的尾号4456信用卡07月15日消费4678.00元 |
表1
102、将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合。
比如,在账单消息中确定字符类型为预设类型的目标字符,将所述账单消息中的目标字符替换为相应的预设标识字符。
其中,字符类型可以根据实际需求定义,比如,字符类型可以包括数字类型、字母类似、特殊符号类型等等。
比如,针对信账单消息集合中的每个账单消息,可以在账单消息中确定字符类型为数字类型的目标字符。
譬如,参考表1,可以在每条账单短信中确定数字类型的目标字符,如账单短信1中的目标字符可以包括“9482”、“6”、“4”、“15.00”。
本发明实施例可以针对每个账单消息,将账单消息中的目标字符替换为相应的预设标识字符,从而得到替换后账单消息集合。该替换后账单消息集合包括多个字符替换后的账单消息。
其中,预设标识字符为起标识作用的字符,根据实际需求设定,比如,预设标识字符可以包括“{0}”、“{1}”、“{2}”……等等。
比如,可以针对表1所示的账单短信集合中每条账单短信进行字符替换,得到替换后账单短信集合,如下表2所示。参考表2可以将账单短信1中目标字符“9482”、“6”、“4”、“15.00”分别替换为“{0}”、“{1}”、“{2}”、“{3}”;将账单短信2中目标字符“9854”、“5”、“6”、“58.00”分别替换为“{0}”、“{1}”、“{2}”、“{3}”,……将账单短信5中“1314”、“05”、“29”、“2335”分别替换为“{0}”、“{1}”、“{2}”、“{3}”。
编号 | 账单短信 |
1 | 您的贷记卡(尾号{0}){1}月{2}日发生一笔消费金额{3}元 |
2 | 您的贷记卡(尾号{0}){1}月{2}日发生一笔消费金额{3}元 |
3 | 您的贷记卡(尾号{0}){1}月{2}日发生一笔消费金额{3}元 |
4 | 您的尾号{0}信用卡{1}月{2}日消费{3}元 |
5 | 您的尾号{0}信用卡{1}月{2}日消费{3}元 |
表2
103、对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合。
其中,自动聚合是将一些相似的数据聚集在一起,本发明实施例分组聚合是将相似的账单消息聚合在一起。也即步骤“对替换后账单消息集合中的账单消息进行分组聚合”可以包括:
在所述替换后账单消息集合中确定相似的账单消息;
对相似的账单消息进行聚合。
其中,相似的账单消息可以包括相同的账单消息,或者类似的账单消息(比如,消息之间的相似度满足预设相似度调节的账单消息等等)。
比如,在对表2所示的账单短信信息进行分组聚合后可以得到如表3所示的聚合后账单消息集合。
例如,参考表2,账单短信1、账单短信2、账单短信3是相同的账单短信,账单短信4和账单短信5是相同的账单短信,因此,可以将账单短信1、账单短信2、账单短信3聚合在一起,将账单短信4和账单短信5聚合在一起,形成表3或表4所示的聚合后短信表格。
编号 | 账单短信 |
1 | 您的贷记卡(尾号{0}){1}月{2}日发生一笔消费金额{3}元 |
2 | 您的尾号{0}信用卡{1}月{2}日消费{3}元 |
表3
104、根据所述聚合后账单消息集合生成相应的消息解析规则。
比如,可以对聚合后账单消息集合中消息内容进行分析,提取相应的消息解析规则。又比如,还可以直接将该聚合后账单消息作为消息解析规则。
其中,消息解析规则为用于对账单消息进行解析以提取账单信息的规则。该消息解析规则的表征形式有多种,比如,以模板的形式表征,此时,消息解析规则即为消息解析模板。比如,当将聚合后账单消息集合作为消息解析模板后,可以得到如表3所示的消息解析模板
其中,聚合后账单消息集合可以包括若干聚合后的账单消息,此外,还可以包括:聚合后的账单消息的频次,该频次为聚合后的账单消息在替换后账单消息集合中出现的次数。比如,某个聚合后的账单消息在替换后账单消息集合中出现的次数为5,那么该聚合后的账单消息的频次为5。
比如,参考表1和表2,可以对字符替换后的短信账单集合进行分组聚合,得到聚合后账单消息集合。如参考表4,该聚合后账单消息集合为表格形式,包括:聚合后的账单短信及其频次。如聚合后账单消息集合包括聚合后的账单短信1及其频次。
表4
比如,参考表2,账单短信1、账单短信2、账单短信3是相同的账单短信,账单短信4和账单短信5是相同的账单短信,因此,可以将账单短信1、账单短信2、账单短信3聚合在一起,将账单短信4和账单短信5聚合在一起,形成表3或表4所示的消息解析规则。
采用上述介绍的分组聚合方法可以对大部分账单消息进行聚合,但是在实际应用中可能会存在一些比较特殊的消息如包含姓名等特殊字符的账单短信,导致这类消息无法聚合成功,因此,生成的消息解析规则非常复杂、数据量大,占用非常多的资源。
为了简化消息解析规则,节省资源,本发明实施例还可以对一未聚合成功的账单消息进行再次分组聚合;也即,本发明实施例方法还可以包括:
当聚合后账单消息集合包括多个聚合失败账单消息时,可以根据动态规划法对聚合失败账单消息进行分组聚合。
可选地,聚合失败账单消息的确定方式有多种,比如,可以基于聚合后账单消息的频次来确定,譬如,当合后账单消息集合中聚合后账单消息的频次小于预设频次时,可以认为该聚合后账单消息为聚合失败账单消息。
在一实施例中,聚合后账单消息集合可以包括:聚合后账单消息及其频次,其中,频次为聚合后账单消息在替换后账单消息集合中出现的次数;此时,步骤“当聚合后账单消息集合包括多个聚合失败账单消息时,根据动态规划法对聚合失败账单消息进行分组聚合”可以包括:
当聚合后账单消息的频次小于预设频次时,确定聚合后账单消息为聚合失败账单消息;
当聚合后账单消息集合包含多个聚合失败账单消息时,对聚合失败账单消息进行分组聚合。
例如,当账单消息集合为表5所示的账单短信集合时,通过对表5中账单短信进行字符替换,得到表6所示的替换后账单短信集合,对表6所示的替换后账单短信集合进行分组聚合后,得到如表7所示的聚合后账单短信集合。
编号 | 账单短信 |
1 | 您的贷记卡(尾号9482)6月4日发生一笔消费金额15.00元 |
2 | 您的贷记卡(尾号9854)5月6日发生一笔消费金额58.00元 |
3 | 您的贷记卡(尾号9658)3月8日发生一笔消费金额96.00元 |
4 | 您好王小明,尾号1314信用卡05月29日消费2335.00元 |
5 | 您好张三妹,尾号4456信用卡07月15日消费4678.00元 |
6 | 您好韩梅梅,尾号3577信用卡02月03日消费8564.00元 |
表5
表6
表7
如表7所示,聚合后账单短信集合中聚合后账单短信2、3、4的频次为1,小于预设频次2,此时,可以确定聚合后账单短信2、3、4为聚合失败账单短信。接着,可以再次对聚合后账单短信2、3、4进行分组聚合,如根据动态规划法对聚合后账单短信2、3、4进行分组聚合。
其中,对聚合失败账单消息进行分组聚合的方式如下:
对消息解析规则中的聚合失败账单消息进行分词处理,得到聚合失败账单消息对应的分词序列;
根据聚合失败账单消息对应的分词序列,对聚合失败账单消息进行聚合。
其中,分词序列包括聚合失败账单消息的若干分词或分词字符。
比如,对表7所示的聚合后账单短信集合中聚合失败账单短信2、3、4 进行分词,得到聚合失败账单短信2、3、4各自对应的分词序列S1、S2、S3。
S1:您好|张三妹|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
S2:您好|韩梅梅|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
S3:您好|王小明|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
比如,可以根据S1和S2对聚合失败账单短信3、4进行聚合,根据S1 和S3对聚合失败账单短信3、4进行聚合失败账单短信2、3进行聚合。
可选地,在获取聚合失败账单消息对应的分词序列后,可以获取分词序列自己的最长公共子序列(longest common sequence,LCS)及其长度,基于最长公共子序列及其长度对聚合失败账单消息进行聚合。
其中,最长公共子序列为两个分词序列之间的相同子序列,且该子序列的长度最长。子序列由分词序列中若干分词组成,例如S1的子序列可以包括{您好|张三妹|}。
具体地,步骤“根据聚合失败账单消息对应的分词序列,对聚合失败账单消息进行聚合”可以包括:
获取聚合失败账单消息的分词序列之间的最长公共子序列及其长度;
根据最长公共子序列及其长度确定聚合失败账单消息是否满足聚合条件;
若是,则对聚合失败账单消息进行聚合。
其中,最长公共子序列的获取方式可以有多种,比如可以采用穷举搜索法,即遍历两个分词序列的每一个子序列,判断是否为它们俩的公共子序列;然后,再选出所有公共子序列中最长的,就是它们俩的LCS了。
然而,穷举搜索法,需要遍历所有的子序列,而所有的子序列,共有2^n 种组合也就是说,穷举搜索法的时间复杂度,是O(2^n),是指数级的。因此,采用穷举搜索法获取LCS的复杂度高、且效率低。
为了降低获取LCS的复杂度高、以及提高LCS的获取效率;本发明实施例可以采用动态规划法来获取分词序列自己的LCS及其长度。也即,步骤“获取聚合失败账单消息的分词序列之间的最长公共子序列及其长度”可以包括:基于动态规划算法获取聚合失败账单消息的分词序列之间的最长公共子序列及其长度。
动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。
下面介绍基于动态规划算法获取两个分词序列之间的LCS及其长度的具体过程:
从聚合失败账单消息对应的分词序列中,选取第一聚合失败账单消息对应的第一分词序列、以及第二聚合失败账单消息对应的第二分词序列;
基于动态规划算法的递归方式,获取第一分词序列的子串、与第二分词序列的子串之间的最长公共子序列长度,得到长度集合;其中,第一分词序列的子串为第一分词序列中连续的分词字符所组成的子序列,第二分词序列的子串为第二分词序列中连续的分词字符组成的子序列;
从长度集合中获取第一分词序列与第二分词序列之间的目标最长公共子序列长度;
根据长度集合以及目标最长公共子序列长度,获取第一分词序列与第二分词序列之间的最长公共子序列。
例如,以对表7中聚合失败账单短信3和4进行聚合为例,对账单短信3 和4分词处理后,可以得到短信3对应的分词序列S1:您好|张三妹|,|尾号|{0}| 信用卡|{1}|月|{2}|日|消费|{3}|元;短信4对应的分词序列S2:您好|韩梅梅|,| 尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
通过动态规划算法的递归公式,递归地计算出S1的子串与S2的子串之间的LCS长度,可以得到S1与S2所有子串之间的LCS长度。
比如,假设有S1={x1…xm},S2={y1…yn}两个字符串,S1i={x1…xi}, S2j={y1…yj}分别是S1,S2的子串,则计算S1i,S2j的LCS长度的递归公式如下:
其中,C[i,j]为子串S1i与子串S2j的LCS长度。
可选地,为避免重复计算,提升计算效率,可以将所有子串之间的LCS 长度保存在一个二维数组中,在需要用到的时候,直接快速地从二维数组中读取相应的LCS长度和LCS。也即长度集合的表现形式为二维数组,该二维数组包括:子串,以及子串对应的LCS长度
比如,可以根据第一分词序列和第二分词序列构建相应的二维数组,将获取到的子串之间的最长公共子序列长度依次保存在二维数组中。其中,二维数组中每个元素为相应子串之间的最长公共子序列长度。例如,二维数组A中 aij为C[i,j]。
可选地,二维数组的表征形式可以为表格等形式。
参考图1c,可以先根据S1和S2构建相应的表格,图中的空白格子需要填上相应的数字(这个数字就是c[i,j]的定义,记录的LCS的长度值)。填的规则依据上述递归公式,简单来说:如果横竖(i,j)对应的两个元素相等,该格子的值=c[i-1,j-1]+1。如果不等,取c[i-1,j]和c[i,j-1]的最大值。
例如,S1的元素x1为“您好”,S2的y1元素为“您好”,二者相等,那么,C[1,1]=C[0,0]+1=1。S1的元素x2为“韩梅梅”,S2的y2元素为“张三妹”,二者不相等,那么,C[2,2]取C[2,1]、C[1,2]中的最大值。
按照上述方式递归地在图1c中填入相应的数字,便可以得到如图1c所示的最终二维数组。图1c所示,最右下角的格子,就是要求解的LCS长度;可以看出S1和S2之间的LCS长度是12。
在获取S1和S2之间的LCS长度之后,可以根据上述二维数组反推出LCS 内容,比如,从最右下角格子开始,向上反推LCS内容。
如图1c所示,C[13,13]=12,且S1[13]=S2[13],那么C[13,13]的值来源于 C[12,12]+1;C[12,12]=11,且S1[12]=S2[12],C[12,12]的值来源于C[11,11]+1; C[11,11]=10,且S1[11]=S2[11],C[11,11]的值来源于C[10,10]+1;…… C[2,2]=12,且S1[2]!=S2[2],C[2,2]的值来源于C[1,2]和C[2,1]中最大的一个,此时为C[1,2]=C[2,1],可以选取一个方向如C[1,2],接着反推。最终可以得到 LCS的内容由“S1[1]、S1[3]、……S1[13]”构成,即“您好,尾号{0}信用卡 {1}月{2}日消费{3}元”。
在通过动态规划算法获取聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)之间的LCS和LCS长度后,可以基于LCS和LCS 长度来确定聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)是否满足聚合条件,若是,则对聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)进行聚合。
其中,聚合条件可以根据实际需求设定,比如,聚合条件可以包括:两个聚合失败账单消息经过字符替换后一致,且LCS长度与聚合识别账单消息长度的比值大于预设阈值。具体地,步骤“根据最长公共子序列及其长度确定聚合失败账单消息是否满足聚合条件”可以包括:
根据长度集合以及目标最长公共子序列长度,确定第一聚合失败账单消息和第二聚合失败账单消息中的待替换分词字符;
分别将待替换分词字符替换为预设字符,得到替换后的第一聚合失败账单消息和第二聚合失败账单消息;
获取目标最长公共子序列长度分别与第一分词序列长度、第二分词序列长度的比值;
当替换后的第一聚合失败账单消息和第二聚合失败账单消息相同,且比值大于预设比值时,确定第一聚合失败账单消息和第二聚合失败账单消息满足聚合条件。
例如,获取S1与S2之间的LCS为“您好,尾号{0}信用卡{1}月{2}日消费{3}元”之后,可以从图1c所示的二维数组中反推出S1中需要替换的分词字符为“张三妹”,S2中需要替换的分词字符为“韩梅梅”;即S1[2]!=S2[2],且C[1,2]=C[2,1],可以确定S1中的待替换字符为S1[2],S2中待替换字符为 S2[2]。
也即,在反推过程中如果遇到S1[i]!=S2[j],且c[i-1][j]=c[i][j-1]存在分支情况下,可以确定S1[i]、S2[j]为待替换字符。
在确定S1和S2中的待替换字符后,分别将S1和S2中待替换字符替换为预设字符,如“*”。比如,对S1和S2进行字符替换后,S1变为“您好*,尾号{0}信用卡{1}月{2}日消费{3}元”;S1变为“您好*,尾号{0}信用卡{1} 月{2}日消费{3}元”。此时,替换后的S1和S2相同。
在获取LCS及其长度之后,还可以计算LCS长度与聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)的长度比值,比如,可以计算LCS长度分别与S1、S2的长度比值。实际应用中,长度比值的获取以及字符替换的时序不受限制,可以先后,也可以同时。
当替换后的S1和S2相同,且LCS长度与S1、S2的长度比值均大于预设比值如50%时,可以确定S1对应的账单短信3和S2对应的账单短信4满足聚合条件,此时,便可以对S1对应的账单短信3和S2对应的账单短信4进行聚合。
经过上述介绍的方式可以基于动态规划算法对消息解析规则中聚合失败账单消息进行二次聚合,得到相应的消息解析规则。
例如,可以基于动态规划算法对表7中账单短信2、3、4进行再次聚合,最终得到表8所示的聚合后账单短信集合。
表8
105、根据消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。
在生成消息解析规则后,可以基于消息解析规则对终端上传的账单消息进行解析,得到相应的账单信息。该账单信息可以包括:日期信息、金额信息、消费类别信息等,比如该账单信息可以包括消费日期、消费金额、消费类别等;然后,可以向终端返回解析得到的账单信息发送给终端。
其中,本发明实施例提供的账单消息处理方法可以由一个实体或者多个实体实现,比如,可以由一个服务器来实现该账单消息处理方法,又比如,由一个聚合服务器实现对消息进行聚合生成消息解析规则,由另一个解析服务器来实现根据规则对账单消息进行解析。
由上可知,本发明实施例采用获取账单消息集合,账单消息集合包括多个账单消息,将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,目标字符的字符类型为预设类型;对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;根据聚合后账单消息集合生成相应的消息解析规则;根据消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度,大大提升了对账单消息的解析能力。
在一实施例中,提供了一种消息处理系统,参考图2a,该消息处理系统包括:终端21、聚合服务器22、解析服务器23和审核服务器24;终端21与聚合服务器22通过网络连接、聚合服务器22和解析服务器23通过网络连接。
以下将基于图2a所示的消息处理系统来对本发明的方法作进一步介绍。如图2b所示,一种账单消息处理方法,具体流程如下:
201、终端向聚合服务器发送账单消息。
其中,账单消息可以为包含账单信息的消息,该账单信息可以包括:消费日期、消费金额、消费类别、消费账号、还款金额、还款日期、还款账号等。
该账单消息的消息类型可以有多种,比如,可以为短信消息、即时通讯消息等等。
比如,用户在使用银行卡或信用卡在商家消费,并收到银行或商家发送的消费或账单短信时,用户的终端会把消费或账单短信上报到聚合服务器。
202、聚合服务器选取多个账单消息,并将每个账单消息中目标字符替换为预设标识字符,得到替换后账单消息集合。
其中,目标字符为账单消息中字符类型为预设类型的字符。字符类型可以根据实际需求定义,比如,字符类型可以包括数字类型、字母类似、特殊符号类型等等。
譬如,可以针对表5所示的账单短信集合中每条账单短信进行字符替换,得到替换后账单短信集合,如表6所示。参考表6可以将账单短信1中目标字符“9482”、“6”、“4”、“15.00”分别替换为“{0}”、“{1}”、“{2}”、“{3}”;将账单短信2中目标字符“9854”、“5”、“6”、“58.00”分别替换为“{0}”、“{1}”、“{2}”、“{3}”,……将账单短信5中“1314”、“05”、“29”、“2335”分别替换为“{0}”、“{1}”、“{2}”、“{3}”。
203、聚合服务器对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合。
其中,自动聚合是将一些相似的数据聚集在一起,本发明实施例分组聚合是将相似的账单消息聚合在一起。比如,聚合服务器可以将替换后账单消息集合中相似的账单消息聚合在一起。
相似的账单消息可以包括相同的账单消息,或者类似的账单消息(比如,消息之间的相似度满足预设相似度调节的账单消息等等)。
其中,消息解析模板可以包括若干聚合后的账单消息,此外,还可以包括:聚合后的账单消息的频次,该频次为聚合后的账单消息在替换后账单消息集合中出现的次数。比如,参考表7,聚合后的账单短信1在替换后账单短信集合中出现的次数为3,那么该聚合后的账单短信的频次为3。204、聚合服务器根据聚合后账单消息集合中聚合后账单消息的频次确定相应的聚合失败账单消息。
比如,当聚合后账单消息的频次小于预设频次时,确定聚合后账单消息为聚合失败账单消息。
参考表7,聚合后账单短信集合中聚合后账单短信2、3、4的频次为1,小于预设频次2,此时,可以确定聚合后账单短信2、3、4为聚合失败账单短信。
205、当存在多个聚合失败账单消息时,聚合服务器对聚合失败账单消息进行分词处理,得到聚合失败账单消息的分词序列。
比如,对表7所示的聚合后账单短信中聚合失败账单短信2、3、4进行分词,得到聚合失败账单短信2、3、4各自对应的分词序列S1、S2、S3。
S1:您好|张三妹|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
S2:您好|韩梅梅|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
S3:您好|王小明|,|尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
206、聚合服务器根据动态规划算法,获取聚合失败账单消息的分词序列之间的最长公共子序列及其长度。
其中,最长公共子序列为两个分词序列之间的相同子序列,且该子序列的长度最长。子序列由分词序列中若干分词组成,例如S1的子序列可以包括{您好|张三妹|}。
具体地,聚合服务器可以根据动态规划算法获取两个聚合失败账单消息的分词序列之间的LCS及其长度。
为了降低获取LCS的复杂度高、以及提高LCS的获取效率;本发明实施例可以采用动态规划法来获取分词序列自己的LCS及其长度。
基于动态规划算法获取LCS及其长度的过程,如下:
基于动态规划算法的递归方式,获取第一分词序列的子串、与第二分词序列的子串之间的最长公共子序列长度,得到长度集合;其中,第一分词序列的子串为第一分词序列中连续的分词字符所组成的子序列,第二分词序列的子串为第二分词序列中连续的分词字符组成的子序列;
从长度集合中获取第一分词序列与第二分词序列之间的目标最长公共子序列长度;
根据长度集合以及目标最长公共子序列长度,获取第一分词序列与第二分词序列之间的最长公共子序列。
例如,以对表7中聚合失败账单短信3和4进行聚合为例,对账单短信3 和4分词处理后,可以得到短信3对应的分词序列S1:您好|张三妹|,|尾号|{0}| 信用卡|{1}|月|{2}|日|消费|{3}|元;短信4对应的分词序列S2:您好|韩梅梅|,| 尾号|{0}|信用卡|{1}|月|{2}|日|消费|{3}|元。
通过动态规划算法的递归公式,递归地计算出S1的子串与S2的子串之间的LCS长度,可以得到S1与S2所有子串之间的LCS长度。
比如,假设有S1={x1…xm},S2={y1…yn}两个字符串,S1i={x1…xi}, S2j={y1…yj}分别是S1,S2的子串,则计算S1i,S2j的LCS长度的递归公式如下:
其中,C[i,j]为子串S1i与子串S2j的LCS长度。
可选地,为避免重复计算,提升计算效率,可以将所有子串之间的LCS 长度保存在一个二维数组中,在需要用到的时候,直接快速地从二维数组中读取相应的LCS长度和LCS。也即长度集合的表现形式为二维数组,该二维数组包括:子串,以及子串对应的LCS长度
比如,可以根据第一分词序列和第二分词序列构建相应的二维数组,将获取到的子串之间的最长公共子序列长度依次保存在二维数组中。其中,二维数组中每个元素为相应子串之间的最长公共子序列长度。例如,二维数组A中 aij为C[i,j]。
可选地,二维数组的表征形式可以为表格等形式。
参考图1c,可以先根据S1和S2构建相应的表格,图中的空白格子需要填上相应的数字(这个数字就是c[i,j]的定义,记录的LCS的长度值)。填的规则依据上述递归公式,简单来说:如果横竖(i,j)对应的两个元素相等,该格子的值=c[i-1,j-1]+1。如果不等,取c[i-1,j]和c[i,j-1]的最大值。
例如,S1的元素x1为“您好”,S2的y1元素为“您好”,二者相等,那么,C[1,1]=C[0,0]+1=1。S1的元素x2为“韩梅梅”,S2的y2元素为“张三妹”,二者不相等,那么,C[2,2]取C[2,1]、C[1,2]中的最大值。
按照上述方式递归地在图1c中填入相应的数字,便可以得到如图1c所示的最终二维数组。图1c所示,最右下角的格子,就是要求解的LCS长度;可以看出S1和S2之间的LCS长度是12。
在获取S1和S2之间的LCS长度之后,可以根据上述二维数组反推出LCS 内容,比如,从最右下角格子开始,向上反推LCS内容。
如图1c所示,C[13,13]=12,且S1[13]=S2[13],那么C[13,13]的值来源于 C[12,12]+1;C[12,12]=11,且S1[12]=S2[12],C[12,12]的值来源于C[11,11]+1; C[11,11]=10,且S1[11]=S2[11],C[11,11]的值来源于C[10,10]+1;…… C[2,2]=12,且S1[2]!=S2[2],C[2,2]的值来源于C[1,2]和C[2,1]中最大的一个,此时为C[1,2]=C[2,1],可以选取一个方向如C[1,2],接着反推。最终可以得到 LCS的内容由“S1[1]、S1[3]、……S1[13]”构成,即“您好,尾号{0}信用卡 {1}月{2}日消费{3}元”。
207、聚合服务器根据最长公共子序列及其长度根据最长公共子序列及其长度确定聚合失败账单消息是否满足聚合条件,若是,则执行步骤208。具体地,聚合服务器可以根据两个聚合失败账单消息的分词序列之间的LCS及其长度,确定这两个聚合失败账单消息是否满足聚合条件,若是,则对这两个聚合失败账单消息进行聚合。
在通过动态规划算法获取聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)之间的LCS和LCS长度后,可以基于LCS和LCS 长度来确定聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)是否满足聚合条件,若是,则对聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)进行聚合。
其中,聚合条件可以根据实际需求设定,比如,聚合条件可以包括:两个聚合失败账单消息经过字符替换后一致,且LCS长度与聚合识别账单消息长度的比值大于预设阈值。
比如,聚合服务器根据长度集合以及目标最长公共子序列长度,确定第一聚合失败账单消息和第二聚合失败账单消息中的待替换分词字符;
分别将待替换分词字符替换为预设字符,得到替换后的第一聚合失败账单消息和第二聚合失败账单消息;
获取目标最长公共子序列长度分别与第一分词序列长度、第二分词序列长度的比值;
当替换后的第一聚合失败账单消息和第二聚合失败账单消息相同,且比值大于预设比值时,确定第一聚合失败账单消息和第二聚合失败账单消息满足聚合条件。
例如,获取S1与S2之间的LCS为“您好,尾号{0}信用卡{1}月{2}日消费{3}元”之后,可以从图1c所示的二维数组中反推出S1中需要替换的分词字符为“张三妹”,S2中需要替换的分词字符为“韩梅梅”;即S1[2]!=S2[2],且C[1,2]=C[2,1],可以确定S1中的待替换字符为S1[2],S2中待替换字符为 S2[2]。
也即,在反推过程中如果遇到S1[i]!=S2[j],且c[i-1][j]=c[i][j-1]存在分支情况下,可以确定S1[i]、S2[j]为待替换字符。
在确定S1和S2中的待替换字符后,分别将S1和S2中待替换字符替换为预设字符,如“*”。比如,对S1和S2进行字符替换后,S1变为“您好*,尾号{0}信用卡{1}月{2}日消费{3}元”;S1变为“您好*,尾号{0}信用卡{1} 月{2}日消费{3}元”。此时,替换后的S1和S2相同。
在获取LCS及其长度之后,还可以计算LCS长度与聚合失败账单消息(如第一聚合失败账单消息和第二聚合失败账单消息)的长度比值,比如,可以计算LCS长度分别与S1、S2的长度比值。实际应用中,长度比值的获取以及字符替换的时序不受限制,可以先后,也可以同时。208、聚合服务器对聚合后账单消息集合中聚合失败账单消息进行聚合。
例如,当替换后的S1和S2相同,且LCS长度与S1、S2的长度比值均大于预设比值如50%时,可以确定S1对应的账单短信3和S2对应的账单短信4满足聚合条件,此时,便可以对S1对应的账单短信3和S2对应的账单短信4进行聚合。
209、聚合服务器根据聚合后账单消息集合生成相应的消息解析规则。
比如,聚合服务器可以对聚合后账单消息集合中消息内容进行分析,提取相应的消息解析规则。又比如,还可以直接将该聚合后账单消息作为消息解析规则。
其中,消息解析规则为用于对账单消息进行解析以提取账单信息的规则。该消息解析规则的表征形式有多种,比如,以模板的形式表征,此时,消息解析规则即为消息解析模板。例如,可以将表8所示的聚合后账单短信集合直接作为消息解析模板,或者,可以对表8所示的聚合后账单短信集合中账单短信进行分析,以提取相应的消息解析模板。
经过上述步骤206-209,可以确定聚合后账单消息集合中任意两个或者两个以上的聚合失败账单消息是否满足聚合条件,若是,则对这两个聚合失败账单消息进行聚合,这样便可以将聚合后账单消息集合中满足聚合条件的账单消息进行二次聚合,得到最终所需的消息解析规则。例如,以基于动态规划算法对表7中账单短信2、3、4进行再次聚合,最终得到表8所示的消息解析模板。
210、聚合服务器向校验服务器发送聚合后的消息解析规则。
211、校验服务器对消息解析规则进行审核、校验,在审核、校验向解析服务器发送该消息解析规则。
212、解析服务器根据该消息解析规则对待解析账单消息进行解析,以得到相应的目标账单信息,并向终端发送该账单消息。
比如,解析服务器可以根据消息解析规则对一些待账单消息如账单短信进行解析,以提取相应的账单信息该账单信息可以包括:日期信息、金额信息、消费类别信息等,比如该账单信息可以包括消费日期、还款日期、消费金额、还款金额、消费类别等。
终端在接收到账单信息之后,可以根据账单信息进行相应的处理。比如,生成相应的账单列表、或者进行还款提醒。参考图2c,终端可以显示还款提醒信息,以提醒用户还款,避免用户忘记还款,对用户信用造成影响。
由上可知,本发明实施例采用获取账单消息集合,账单消息集合包括多个账单消息,在将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,得到替换后账单消息集合,对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合,对聚合后账单消息集合中聚合失败账单消息进行再次聚合,形成相应的消息规则该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度,大大提升了对账单消息的解析能力。
此外,本发明实施例还通过聚合后账单消息集合中账单消息进行二次聚合,简化了消息解析规则、提升了消息解析规则的覆盖度以及节省了资源。
在一实施例中,提供了一种消息解析系统,参考图3,图3为该系统的架构图。该消息解析系统包括:客户端、聚合引擎、运营后台、以及解析引擎。
其中,客户端可以由终端实现。聚合引擎可由一个或者多个服务器实现,比如由一个服务器实现时该服务器可称为聚合服务器。又比如聚合引擎还可以由分布式文件系统如Hadoop分布式文件系统(HDFS)来实现。运营后台可以由一个或者多个服务器实现,解析引擎也可由服务器实现,该服务器可称为解析服务器。如下:
客户端,可以将账单消息上传至聚合引擎,比如,当用户授权客户端进行智能账单分析时,如果用户使用银行卡或信用卡在商家消费时,该用户的终端会收到银行或商家发送到账单消息如账单、消费短信时,客户端可以将该账单消息上传至聚合引擎。
聚合引擎,客户端上传的多个账单消息进行字符替换,得到替换后账单消息集合,对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合,然后,对聚合后账单消息集合中聚合失败账单消息进行分词处理,根据动态规划算法对分词后的聚合失败账单消息进行二次聚合,得到最终的消息解析规则。
其中,字符替换、分词、二次聚合的具体过程可以参考上述实施例的介绍,这里不再赘述。
聚合引擎在得到聚合后的消息解析规则后,向运营后台发送该消息解析规则。
运营后台,可以对消息解析规则进行审核、校验、上线,比如,在审核校验后将该消息解析规则保存到解析规则数据库中。运营后台可以解析规则数据库提取消息解析规则,并向解析引擎发送该消息解析规则。
解析引擎,可以根据获取到的消息解析规则对一些账单消息进行解析,得到包含账单信息等解析结果,并向客户端返回解析结果。其中,待解析的账单消息可以由客户端上传。
由上可知,该消息解析系统可以为自动聚合生成消息解析规则的方案,可以从海量的短信,自动提取消息解析规则如短信账单规则模版,大大提高了消息解析规则如短信账单规则模版的生成效率和覆盖度。从而大大提高客户端的消息账单的解析能力。
通过上述介绍的方案可以通过对账单消息进行聚合来生成消息解析规则,该消息解析规则可以对大部分账单消息进行解析。然而,在实际情况中,还是有部分账单消息不能被该解析规则解析如频次比较低、格式比较特殊的账单消息,该消息解析规则覆盖不到,可见目前的消息解析能力相对还是比较低的,且覆盖度较小。目前如果需要对这些账单消息进行解析那么就需要再次配置该类消息的解析规则,消耗大量的资源。
为了提升消息解析能力、覆盖度以及节省资源,在上述方法的基础上,本发明实施例还提供了另一种账单消息处理方法,如图4所示,该账单消息处理方法可以由服务器的处理器执行,具体流程如下:
401、当对待解析消息解析失败时,获取已解析成功的样本账单消息,得到样本消息集合。
比如,可以从解析规则数据库中获取消息解析规则,然后,根据消息解析规则对待解析账单消息进行解析,以从待解析账单消息中提取相应的账单信息。当解析失败时,从样本数据库中获取已解析成功的样本账单消息。
该待解析账单消息可以由终端发送。比如,由终端上传账单消息给服务器,服务器根据消息解析规则进行解析。
譬如,当对表9所示的账单短信解析失败时,可以获取如表10所示的已解析账单短信,即已解析成功的样本账单短信。
表9
表10
402、获取在样本消息集合中目标账单信息具有的共同特征,目标账单信息为从样本账单消息中解析出的账单信息。
其中,目标账单信息为从样本账单消息中解析出的账单信息,如从样本账单消息中解析出的账单金额等信息。
其中,样本消息集合可以包括若干已经解析成功的账单消息,解析成功指的是成功从账单消息中提取相应的账单信息。
其中,账单信息可以包括:账单金额信息、账单日期信息等账单信息,比如,可以包括账单日期、账单金额、最低还款额、最后还款日期等账单信息。
参考表10,该目标账单信息可以包括已解析出的账单金额。
其中,共同特征为目标账单信息在每个样本账单消息中所具有的相同特征或属性。比如,共同特可以包括:字母、数值、时间值等等。
例如,当目标账单信息为账单金额时,该账单金额在各样本账单消息中都是数值形式,因此,共同特征为数值。
又例如,当目标账单信息为账单日期时,该账单日期各样本账单消息中都是时间值形式,因此,共同特征为时间值。
403、获取样本账单消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合。
其中,样本匹配特征集合包括样本账单消息的样本匹配账单信息及其样本匹配特征。
其中,样本匹配账单信息为样本账单消息中与共同特征匹配的账单信息,比如,共同特征为数值时,该匹配样本账单信息为样本账单消息中数值信息。例如,表10中,样本账单消息1中与数值匹配的账单信息包括:“5”、“2000”、“500”。
其中,样本匹配特征为样本匹配账单信息对应的匹配特征,用于表征样本匹配账单信息与其他样本匹配账单信息之间的区别。该匹配特征信息可以包括句子、分词等。例如,样本账单消息1中样本匹配账单信息“5”对应的匹配特征包括“信用卡人民币账户”;样本匹配账单信息“2000”对应的匹配特征包括“应还人民币”;样本匹配账单信息“500”对应的匹配特征包括“最多可申请”等。
其中,样本匹配账单信息的样本匹配特征可以为一个或者多个;比如,样本匹配账单信息的样本匹配特征可以包括样本匹配特征1和样本匹配特征2。
比如,为便于匹配以及提升消息解析的准确性,本发明实施例中,样本匹配特征可以包括:前向匹配特征和后向匹配特征。
可选地,样本匹配账单信息的样本匹配特征可以包括样本账单消息中的信息,比如,可以包括样本账单消息中位于样本匹配账单信息前后的信息。为了便于特征匹配以及提升消息解析的速度,样本匹配特征可以包括:样本账单消息中位于样本匹配账单信息前后的分词,即词组。
此时,步骤“获取样本消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征”可以包括:
对样本账单消息进行分段,得到若干消息片段;
判断消息片段是否包含与共同特征匹配的样本匹配账单信息;
若包含,则对消息片段进行分词处理,得到消息片段对应的分词集合;
从分词集合中选取相应的特征分词,以组成样本匹配账单消息的匹配特征。
其中,消息的分段方式有多种,比如可以基于分段标志来对消息进行分段,该分段标志可以包括句号、分号、逗号等。
比如,以共同特征为数值为例,可以对账单消息分段,得到若干消息片段,判断每个消息片段是否包含数值,若包含,则对消息片段进行中文分词,得到该片段对应的分词序列,然后,从该分词序列中选取相应的分词,组成该数值即样本匹配信息的一个或者多个匹配特征。
其中,特征分词的选取规则可以有多种,可以根据实际需求设定。比如,步骤“从分词集合中选取相应的分词,以组成样本匹配账单消息的匹配特征”可以包括:
按照预设选取规则从分词集合中若干连续或非连续的分词作为特征分词;
将特征分词作为样本匹配账单消息的样本匹配特征。
可选地,可以选取相应的特征分词,以组成样本匹配信息如数值信息的一个或者多个匹配特征。其中,预设选取规则可以根据实际需求设定,预设选取规则可以包括分词选取方向和分词选取数量。该选取方向可以包括从分词集合的起始位置开始选取,或者,从分词集合的结束位置开始选取。
例如,可以从分词集合的起始位置开始选取若干连续或者非连续的分词作为特征分词,以组成样本匹配账单信息的第一匹配特征信息(即前向匹配特征),也即选取分词集合中前几个分词组成样本匹配账单信息的前向匹配特征。
又例如,还可以从分词集合的结束位置开始选取若干连续或者非连续的分词作为特征分词,组成样本匹配账单信息的第二匹配特征信息(即后向匹配特征),也即选取分词集合中后几个分词组成样本匹配账单信息的后向匹配特征。
例如,以目标账单信息为账单金额为例,对表10中样本账单消息1进行分段可以得到片段1“您民生信用卡人民币账户5月应还”、“应还人民币2000元”、片段2“其中最多可申请500元免息分期”。这里片段1包含数值“5”,此时对片段1进行分词“您|民生|信用卡|人民币|账户|5|月|应|还”,此时,前后各取若干个词(这里预设值3)作为“5”的特征词,得到“5”的前向匹配特征和后向匹配特征。同样对于片段2,片段2包含数值“2000”,此时,可以对片段2进行分词“应|还|人民币|2000|元”,前后各取若干个词(这里预设值3)作为“2000”的特征词,得到“200”的前向匹配特征和后向匹配特征;同理对于片段3也采用相同方式提取“500”的前向匹配特征和后向匹配特征。
参考下表11,采用上述匹配特征提取方式可以针对表10中每个样本账单消息进行分段匹配特征提取,得到每个样本账单消息中样本匹配账单信息及其匹配特征(前向匹配特征和后向匹配特征)。
表11
404、获取待解析账单消息中与共同特征匹配的候选账单信息及其匹配特征。
其中,候选账单信息为待解析账单消息中与共同特征匹配的匹配账单信息,如当共同特征为数值时,该匹配账单信息包括数值信息。
其中,候选账单消息及其匹配特征的获取方式与上述样本匹配账单信息及其匹配特征的获取方式相同,具体地,可以参考上述的介绍,这里不再赘述。
比如,以表9所示的账单短信,且目标账单消息为账单金额为例,可以基于上述匹配账单信息及其匹配特征的提取方式,获取如下表12所示的候选账单信息及其匹配特征(前向匹配特征和后向匹配特征)。
表12
405、根据样本匹配特征集合、候选账单信息及其匹配特征,从候选账单信息中提取目标账单信息。
比如,可以根据表11和表12从表12中的提取值中确定出账单金额。
具体地,可以根据匹配特征集合、候选账单信息及其匹配特征,获取候选账单信息与目标账单信息的匹配参数;根据匹配参数从候选账单信息中确定目标账单信息。
其中,匹配参数的获取方式可以有多种,比如,当匹配特征包括特征词时,可以基于候选账单信息的特征词在样本匹配特征集合中的词频来获取匹配参数。也即本发明实施例方法在获取候选账单信息及其匹配特征之前,还可以包括:
获取样本匹配账单信息的样本特征词在样本匹配特征集合中的词频,得到词频集合;
步骤“根据样本匹配特征集合、候选账单信息及其匹配特征,获取候选账单信息与目标账单信息的匹配参数”,可以包括:
根据词频集合获取候选账单信息的特征词在样本匹配特征集合中的词频;
根据词频获取候选账单信息与目标账单信息的匹配参数。
其中,词频为特征词在样本匹配特征集合中出现的次数。
可选地,为了能够提升准确地从候选账单信息中确定出目标账单信息,提升消息解析的准确性,可以将样本特征集合划分成样本匹配账单信息为目标账单信息的账单特征集合,以及样本匹配账单信息不为目标账单信息的非账单特征集合;然后,获取候选账单信息的特征词在账单特征集以及非账单特征集合合中的词频,基于词频获取候选账单信息与目标账单信息之间的匹配系数。
具体地,样本匹配特征集合可以包括样本账单消息及其样本匹配特征,比如,样本匹配特征集合可以包括样本匹配单元,样本匹配单元包括样本账单消息及其样本匹配特征。为了能够提升准确地从候选账单信息中确定出目标账单信息,提升消息解析的准确性,步骤“获取样本匹配账单信息的样本特征词在样本匹配特征集合中的词频,得到词频集合”可以包括:
对匹配特征集合中匹配特征单元进行划分,得到第一匹配特征子集合和第二匹配特征子集合,第一匹配特征子集合包括样本匹配账单信息为账单信息的样本匹配特征单元,第二匹配特征子集合包括样本匹配账单信息不为账单信息的样本匹配特征单元;
获取第一匹配子集合中样本匹配账单信息的样本特征词,在第一匹配子集合中的词频,得到第一词频子集合;
获取第二匹配子集合中样本匹配账单信息的样本特征词,在第二匹配子集合中的词频,得到第二词频子集合。
此时,步骤“根据词频集合获取候选账单信息的特征词在样本匹配特征集合中的词频”可以包括:
根据第一词频子集合,获取候选账单信息的特征词在第一匹配特征子集合内的第一词频;
根据第二词频子集合,获取候选账单信息的特征词在第二匹配特征子集合内的第二词频;
步骤“根据特征词的词频获取候选账单信息与目标账单信息的匹配参数”可以包括:
根据第一词频和第二词频,获取候选账单信息与目标账单信息的匹配参数。
可选地,为便于对样本匹配特征集合进行划分,其中,样本匹配特征单元还包括样本匹配账单信息的指示信息,指示信息用于指示样本匹配账单信息是否为目标账单信息;此时,步骤“对样本匹配特征集合中匹配特征单元进行划分”可以包括:根据样本匹配账单信息的指示信息对样本匹配特征集合中样本匹配特征单元进行划分。
比如,如表11所示,该表中一个表项即样本匹配特征单元,包括一个提取值即样本匹配账单信息、前向匹配特征、后向匹配特征、以及指示提取值是否为账单金额的指示信息(即指示样本匹配账单信息是否为目标账单信息)。在获取表11所示的样本匹配特征集合后,可以根据指示信息,即根据提取值是否为账单金额来将表11划分成账单金额特征词集合以及非账单金额特征词集合。然后,获取账单金额特征词集合中特征词在账单金额特征词集合出现的次数、以及非账单金额特征词集合中特征词在账单金额特征词集合出现的次数,得到账单金额特征词词频集合以及非账单金额特征词词频集合,参考表13和表14。表13中的提取值为账单金额,表14中的提取值为非账单金额。
表13
表14
在对样本匹配特征集合划分之后,可以从表13中获取候选账单信息的特征词在表13中的词频(即正向词频),候选账单信息的特征词在表14中的词频(即负向词频),然后,基于候选账单信息的正向词频和负向词频获取候选账单信息与目标账单信息的匹配系数。
例如,参考表12,可以获取提取值“3000”的各特征词“账单”、“金额”、“人民币”、“元”分别在表13中的正向词频以及在表14中负向词频;然后,基于每个特征词的正常词频和负向词频,获取提取值“3000”与账单金额的匹配系数。同理,对于提取值“300”各特征词分别在表13中的正常词频以及在表 14中负向词频;然后,基于每个特征词的正常词频和负向词频获取提取值“300”的匹配系数。对于提取值“95555”各特征词分别在表13中的正向词频以及在表14中负向词频;然后,基于每个特征词的正向词频和负向词频获取提取值“95555”的匹配系数。这样便可以通过提取值即候选账单信息的特征词的正向词频和负向词频获取每个提取值的匹配系数。
其中,基于候选账单信息特征词的第一词频和第二词频计算匹配系数的方式有多种,比如,可以将候选账单信息的特征词的第一词频和第二词频进行加权求和,得到各特征词的加权词频,将各特征词的加权词频进行相加,得到匹配系数。
又比如,为了提升消息解析的准确性,还可以根据特征词的第一词频和第二词频,计算特征词在第一匹配特征子集合中的词频概率,并基于候选账单信息的各特征词在第一匹配特征子集合中的词频概率计算出匹配系数。也即步骤“根据特征词的第一词频和第二词频,获取候选账单信息与目标账单信息的匹配参数”可以包括:
根据特征词的第一词频和第二词频,获取候选账单信息的特征词在第一匹配特征子集合内的词频概率;
根据词频概率获取候选账单信息与账单信息的匹配参数。
其中,词频概率为候选账单信息的特征词在第一匹配特征子集合内的出现概率,其可以通过第一词频/(第一词频+第二词频)得到。也即候选账单信息的特征词属于目标账单信息的特征词的概率或比例。
比如,某个候选账单信息的特征词包括{特征词1、特征词2……特征词n},以第一词频为正向匹配特征词在第一匹配特征子集合中的词频,以及负向匹配特征词在第二匹配特征子集合中的词频为例;该候选账单信息与目标账单信息的匹配系数可以通过如下方式计算得到:
特征词1词频(正向)/(特征词1词频(正向)+特征词1词频(负向))
+特征词2词频(正向)/(特征词2词频(正向)+特征词2词频(负向))
..
+特征词n词频(正向)/(特征词n词频(正向)+特征词n词频(负向))
例如,以表12所示的候选账单信息及其特征词为例:
第一个提取值3000的匹配系数
=[账单]词频(正向)/([账单]词频(正向)+[账单]词频(负向))
+[金额]词频(正向)/([金额]词频(正向)+[金额]词频(负向))
+[人民币]词频(正向)/([人民币]词频(正向)+[人民币]词频(负向))
+[元]词频(正向)/([元]词频(正向)+[元]词频(负向))
=4/18/(4/18+1/45)+1/18/(1/18+0/45)+3/18/(3/18+2/45)+6/18/(6/18+0/45)
=3.7
第二个提取值300的匹配系数
=[最小]词频(正向)/([最小]词频(正向)+[最小]词频(负向))
+[还款额]词频(正向)/([还款额]词频(正向)+[还款额]词频(负向))
+[元]词频(正向)/([元]词频(正向)+[元]词频(负向))
=0/18/(0/18+0/45)+0/18/(0/18+4/45)+6/18/(6/18+0/45)
=1.0
通过上述方式可以依次出计算各个候选账单信息与目标账单信息的匹配参数,如可以计算出表12中各提取值“3000”、“300”、“95555”的匹配系数。
最后,可以根据匹配参数从候选账单信息中确定出目标账单信息,比如,可以选取匹配参数值最大的候选账单信息为目标账单信息。
例如,通过计算可知,第一个提取值3000的匹配系数最大,所以账单金额是“3000”!
由上可知,本发明实施例可以在对账单消息解析失败时,取已解析成功的样本账单消息,得到样本消息集合,获取在样本消息集合中目标账单信息具有的共同特征,目标账单信息为从样本账单消息中解析出的账单信息,获取样本消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合,获取待解析账单消息中与共同特征匹配的候选账单信息及其匹配特征;根据样本匹配特征集合、候选账单信息及其匹配特征,从候选账单信息中提取目标账单信息。该方案在采用消息解析规则对消息解析失败时,可以通过账单信息的特征从该消息中提取相应的账单信息,无需重新配置消息解析规则,可以提升消息解析的能力、消息解析的覆盖度、以及节省资源。
在一实施例中,本发明实施例还提供了另一种账单消息处理方法,如图5 所示,该账单消息处理方法具体流程如下:
501、终端向解析服务器发送待解析账单消息。
其中,待解析解账单消息可以为包含账单信息的消息,该账单信息可以包括:消费日期、消费金额、消费类别、消费账号、还款金额、还款日期、还款账号等。
该账单消息的消息类型可以有多种,比如,可以为短信消息、即时通讯消息等等。
比如,用户在使用银行卡或信用卡在商家消费,并收到银行或商家发送的消费或账单短信时,用户的终端会把消费或账单短信上报到解析服务器。
例如,银行服务器会向终端发送如表9所示的账单短信,终端可以将如表9 所示的账单短信上传至解析服务器解析。
502、解析服务器根据消息解析规则对待解析消息进行解析。
比如,解析服务器可以从解析规则数据库中获取消息解析规则,然后,根据消息解析规则对待解析账单消息进行解析。
503、当对待解析消息解析失败时,解析服务器获取已解析成功的样本账单消息,得到样本消息集合。
当对消息解析失败时,解析服务器可以从样本数据库中获取已解析成功的样本账单消息。
其中,样本消息集合可以包括若干已经解析成功的账单消息,解析成功指的是成功从账单消息中提取相应的账单信息。
例如,当对表9所示的账单短信解析失败时,解析服务器可以从样本数据库中获取如表10所示的已解析成功的账单短信。
504、解析服务器从账单信息中确定目标账单信息,并获取在样本消息集合中目标账单信息具有的共同特征。
其中,账单信息为从样本账单消息中解析出的账单信息。其中,账单信息可以包括:账单金额信息、账单日期信息等账单信息,比如,可以包括账单日期、账单金额、最低还款额、最后还款日期等账单信息。
其中,目标账单信息为从样本账单消息中解析出的账单信息,如从样本账单消息中解析出的账单金额等信息。
例如,参考表10,该目标账单信息可以包括已解析出的账单金额。
参考表10,该目标账单信息可以包括已解析出的账单金额。
其中,共同特征为目标账单信息在每个样本账单消息中所具有的相同特征或属性。比如,共同特可以包括:字母、数值、时间值等等。
例如,当目标账单信息为账单金额时,该账单金额在各样本账单消息中都是数值形式,因此,共同特征为数值。
505、解析服务器获取样本账单消息中与共同特征匹配的样本匹配特征单元,得到样本匹配特征集合。
其中,样本匹配特征单元包括样本匹配账单信息及其样本匹配特征(前向匹配特征、后向匹配特征)、指示信息。指示信息用于指示样本匹配账单信息是否为目标账单信息。参考表11,指示信息用于指示提取值是否为账单金额。
其中,样本匹配账单信息为样本账单消息中与共同特征匹配的账单信息,比如,共同特征为数值时,该匹配样本账单信息为样本账单消息中数值信息。例如,表10中,样本账单消息2中与数值匹配的账单信息包括:“6”、“3000”、“500”。
其中,样本匹配特征为样本匹配账单信息对应的匹配特征,用于表征样本匹配账单信息与其他样本匹配账单信息之间的区别。该匹配特征信息可以包括句子、分词等。例如,样本账单消息1中样本匹配账单信息“6”对应的匹配特征包括“信用卡”;样本匹配账单信息“3000”对应的匹配特征包括“应还人民币”;样本匹配账单信息“500”对应的匹配特征包括“最低还款额”等。
样本匹配账单信息的样本匹配特征可以为一个或者多个;比如,为便于匹配以及提升消息解析的准确性,样本匹配账单信息的样本匹配特征可以包括前向匹配特征和后向匹配特征。
前向匹配特征可以包括样本账单消息中位于样本匹配账单信息之前的分词或词组;后向匹配特征可以包括样本账单消息中位于样本匹配账单信息之后的分词或词组。
比如,可以采用分段匹配解析方式获取前向匹配特征和后向匹配特征。具体地:
对样本账单消息进行分段,得到若干消息片段;
判断消息片段是否包含与共同特征匹配的样本匹配账单信息;
若包含,对消息片段进行分词处理,得到消息片段对应的分词集合;
从分词集合的起始位置开始向结束位置,选取若干连续或者非连续的分词组成样本匹配账单信息的前向匹配特征;
从分词集合的结束位置开始向起始位置,选入若干连续或者非连续的分词组成样本匹配账单信息的后向匹配特征。
其中,前向匹配特征和后向匹配特征的选取数量就可以根据实际需求设定,比如,可以选取3个分词。
通过分段匹配解析方式可以获取每个样本账单消息中的样本匹配账单信息及其前向匹配特征、后向匹配特征。例如,对表10中的每个账单短信进行分段匹配解析方式,便可以得到每个账单短信中提取值的前向匹配特征和后向匹配特征,参考表11。
如表11所示,该表中一个表项即样本匹配特征单元,包括一个提取值即样本匹配账单信息、前向匹配特征、后向匹配特征、以及指示提取值是否为账单金额的指示信息(即指示样本匹配账单信息是否为目标账单信息)。
506、解析服务器根据样本匹配账单信息的指示信息,对样本匹配特征集合中样本匹配特征单元进行划分,得到第一匹配特征子集合和第二匹配特征子集合。
第一匹配特征子集合包括样本匹配账单信息为账单信息的样本匹配特征单元,第二匹配特征子集合包括样本匹配账单信息不为账单信息的样本匹配特征单元。
比如,在获取表11所示的样本匹配特征集合后,可以根据指示信息,即根据提取值是否为账单金额来将表11中特征和提取值,划分成账单金额特征词集合以及非账单金额特征词集合。
507、解析服务器获取第一匹配子集合中样本匹配账单信息的样本特征词,在第一匹配子集合中的词频,得到第一词频子集合。
508、解析服务器获取第二匹配子集合中样本匹配账单信息的样本特征词,在第二匹配子集合中的词频,得到第二词频子集合。
比如,在对表11划分之后,可以获取账单金额特征词集合中特征词在账单金额特征词集合出现的次数、以及非账单金额特征词集合中特征词在账单金额特征词集合出现的次数,得到账单金额特征词词频集合以及非账单金额特征词词频集合,参考表13和表14。表13中的提取值为账单金额,表14中的提取值为非账单金额。
其中,步骤507和508的时序不受序号限制,可以前后执行,可以同时执行。
509、解析服务器获取待解析账单消息中与共同特征匹配的候选账单信息及其匹配特征。
其中,候选账单信息为待解析账单消息中与共同特征匹配的匹配账单信息,如当共同特征为数值时,该匹配账单信息包括数值信息。
其中,候选账单消息及其匹配特征的获取方式与上述样本匹配账单信息及其匹配特征的获取方式相同,具体地,可以参考上述的介绍,这里不再赘述。
比如,以表9所示的账单短信,且目标账单消息为账单金额为例,可以基于上述匹配账单信息及其匹配特征的提取方式,获取如表12所示的候选账单信息及其匹配特征(前向匹配特征和后向匹配特征)。
510、解析服务器根据第一词频子集合,获取候选账单信息的特征词在第一匹配特征子集合内的第一词频(即正向词频),以及根据第二词频子集合,获取候选账单信息的特征词在第二匹配特征子集合内的第二词频(即负向词频)。
解析服务器可以根据上述第一词频子集合和第二词频子集合,获取每个候选账单信息的所有特征词分别在第一词频子集合和第二词频子集合中的正向词频和负向词频。
例如,以表12中提取值“3000”为例,可以获取提取“3000”的特征词“账单”在表13中的正向词频以及在表14中的负向词频,特征词“金额”在表13 中的正向词频以及在表14中的负向词频,特征词“人民币”在表13中的正向词频以及在表14中的负向词频,特征词“元”在表13中的正向词频以及在表14 中的负向词频。
511、解析服务器根据候选账单信息的各特征词的第一词频(即正向词频) 和第二词频(即负向词频),获取候选账单信息与目标账单信息的匹配参数。
比如,根据特征词的第一词频和第二词频,获取候选账单信息的各特征词在第一匹配特征子集合内的词频概率;根据候选账单信息的各特征词的词频概率,获取候选账单信息与账单信息的匹配参数。
其中,词频概率为候选账单信息的特征词在第一匹配特征子集合内的出现概率,其可以通过第一词频/(第一词频+第二词频)得到。也即候选账单信息的特征词属于目标账单信息的特征词的概率或比例。
比如,某个候选账单信息的特征词包括{特征词1、特征词2……特征词n},以第一词频为正向匹配特征词在第一匹配特征子集合中的词频,以及负向匹配特征词在第二匹配特征子集合中的词频为例;该候选账单信息与目标账单信息的匹配系数可以通过如下方式计算得到:
特征词1词频(正向)/(特征词1词频(正向)+特征词1词频(负向))
+特征词2词频(正向)/(特征词2词频(正向)+特征词2词频(负向))
..
+特征词n词频(正向)/(特征词n词频(正向)+特征词n词频(负向))
例如,以表12所示的候选账单信息及其特征词为例:
第一个提取值3000的匹配系数
=[账单]词频(正向)/([账单]词频(正向)+[账单]词频(负向))
+[金额]词频(正向)/([金额]词频(正向)+[金额]词频(负向))
+[人民币]词频(正向)/([人民币]词频(正向)+[人民币]词频(负向))
+[元]词频(正向)/([元]词频(正向)+[元]词频(负向))
=4/18/(4/18+1/45)+1/18/(1/18+0/45)+3/18/(3/18+2/45)+6/18/(6/18+0/45)
=3.7
第二个提取值300的匹配系数
=[最小]词频(正向)/([最小]词频(正向)+[最小]词频(负向))
+[还款额]词频(正向)/([还款额]词频(正向)+[还款额]词频(负向))
+[元]词频(正向)/([元]词频(正向)+[元]词频(负向))
=0/18/(0/18+0/45)+0/18/(0/18+4/45)+6/18/(6/18+0/45)
=1.0
通过上述方式可以依次出计算各个候选账单信息与目标账单信息的匹配参数,如可以计算出表12中各提取值“3000”、“300”、“95555”的匹配系数。
512、解析服务器根据候选账单信息与目标账单信息的匹配参数,从候选账单信息中提取出目标账单信息。此时,便从待解析账单消息中提取目标账单信息,如提取账单金额。
比如,可以选取匹配参数值最大的候选账单信息为目标账单信息。
例如,通过计算可知,第一个提取值3000的匹配系数最大,所以账单金额是“3000”!
由上可知,本发明实施例可以在对账单消息解析失败时,取已解析成功的样本账单消息,得到样本消息集合,获取在样本消息集合中目标账单信息具有的共同特征,目标账单信息为从样本账单消息中解析出的账单信息,获取样本消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合,获取待解析账单消息中与共同特征匹配的候选账单信息及其匹配特征;根据样本匹配特征集合、候选账单信息及其匹配特征,从候选账单信息中提取目标账单信息。该方案在采用消息解析规则对消息解析失败时,可以通过账单信息的特征从该消息中提取相应的账单信息,如通过特征模糊匹配方式,从账单消息中提取相应的账单信息,无需重新配置消息解析规则,可以提升消息解析的能力、消息解析的覆盖度、以及节省资源。
比如,通过数据挖掘,构建特征模型,可以自动把短信账单里面的账单日期、账单金额、最低还款额、最后还款日期等信息提取出来,从而大大提高了运营效率和效果,进一步增强的短信账单解析能力。
在一实施例,还提供了一种消息解析系统的架构示意图,参考图6,该消息解析系统包括:解析引擎、特征模型、规则模板库以及已成功解析样本消息库。
其中,图6所示的消息解析系统可以由分布式文件系统如Hadoop分布式文件系统(HDFS)来实现,具体地,可以由分布式文件系统中的一台或者多台解析服务器实现。
其中,解析引擎,在接收到终端上传的账单消息时,可以从规则模板库中获取相应的消息解析规则,并根据该消息解析规则对该账单消息进行解析。
特征模型单元,在解析引擎对账单消息解析失败时从已成功解析样本消息库中提取多个已解析的样本账单消息,得到样本消息集合;然而,通过数据挖掘等方式提取每个样本账单消息中内容属性的特征(如:上下文条件等),构建特征模型。
具体地,获取在样本消息集合中目标账单信息具有的共同特征,,获取样本消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合。以及,获取该账单消息与共同特征匹配的候选账单信息及其匹配特征。
其中,匹配账单信息和匹配特征的提取,可以参考上述实施例的相关描述。
特征模型模糊匹配单元,根据样本匹配特征集合、候选账单信息及其匹配特征,从候选账单信息中确定出目标账单信息,以实现从账单消息中提取目标账单信息。也即,采用特征模糊匹配方式从账单消息中提取相应的账单信息。具体地,目标账单信息的确定过程可以参考上述实施例的描述,这里不再赘述。
应用上述消息解析系统通过数据挖掘,构建特征模型,可以自动把账单消息内里面的账单信息如账单日期、账单金额、最低还款额、最后还款日期等信息提取出来,从而大大提高了运营效率和效果,进一步增强账单解析能力。
为了便于更好的实施本发明实施例提供的账单消息处理方法,在一实施例中还提供了一种账单消息处理装置。其中名词的含义与上述账单消息处理方法中相同,具体实现细节可以参考方法实施例中的说明。
在一实施例中,还提供了一种账单消息处理装置,如图7所示,该账单消息处理装置可以包括:消息获取单元601、替换单元602、第一聚合单元603、规则生成单元604以及解析单元605;
消息获取单元601,用于获取账单消息集合,所述账单消息集合包括多个账单消息;
替换单元602,用于将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,所述目标字符的字符类型为预设类型;
第一聚合单元603,用于对所述替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;
规则生成单元604,用于根据所述聚合后账单消息集合生成相应的消息解析规则;
解析单元605,用于根据所述消息解析规则对待解析账单消息进行解析,以提取相应的账单信息。在一实施例中,第一聚合单元604,用于:在所述替换后账单消息集合中确定相似的账单消息;对所述相似的账单消息进行聚合。
在一实施例中,参考图8,账单消息处理装置还可以包括第二聚合单元606;
所述第二聚合单元606,用于在规则生成单元604生成相应的消息解析规则之前,当所述聚合后账单消息集合包括多个聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
在一实施例中,参考图9,第二聚合单元606可以包括:
消息确定子单元6061,用于当所述聚合后账单消息的频次小于预设频次时,确定所述聚合后账单消息为聚合失败账单消息;
聚合子单元6062,用于当所述聚合后账单消息集合包含多个所述聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
在一实施例中,聚合子单元6062,可以用于:
对所述聚合后账单消息集合中的聚合失败账单消息进行分词处理,得到聚合失败账单消息对应的分词序列;
根据所述聚合失败账单消息对应的分词序列,对所述聚合失败账单消息进行聚合。
在一实施例中,参考图10,聚合子单元6062,可以包括:
分词子级单元6062a,用于对所述消息解析规则中的聚合失败账单消息进行分词处理,得到聚合失败账单消息对应的分词序列;
序列获取子级单元6062b,用于获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度;
消息聚合子级单元6062c,用于根据所述最长公共子序列及其长度确定所述聚合失败账单消息是否满足聚合条件;若是,则对所述聚合失败账单消息进行聚合。
在一实施例中,为提升最长公共子序列及其长度的获取速度,序列获取子级单元6062b,可以用于基于动态规划算法获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度。
在一实施例中,序列获取子级单元6062b,可以具体用于:
从聚合失败账单消息对应的分词序列中,选取第一聚合失败账单消息对应的第一分词序列、以及第二聚合失败账单消息对应的第二分词序列;
基于动态规划算法的递归方式,递归地获取所述第一分词序列的子串、与第二分词序列的子串之间的最长公共子序列长度,得到长度集合;其中,所述第一分词序列的子串为第一分词序列中连续的分词字符所组成的子序列,所述第二分词序列的子串为第二分词序列中连续的分词字符组成的子序列;
从所述长度集合中获取第一分词序列与所述第二分词序列之间的目标最长公共子序列长度;
根据所述长度集合以及所述目标最长公共子序列长度,获取第一分词序列与所述第二分词序列之间的最长公共子序列。
在一实施例中,在一实施例中,消息聚合子级单元6062c,可以用于:
根据所述长度集合以及所述目标最长公共子序列长度,确定第一聚合失败账单消息和第二聚合失败账单消息中的待替换分词字符;
分别将所述待替换分词字符替换为预设字符,得到替换后的第一聚合失败账单消息和第二聚合失败账单消息;
获取所述目标最长公共子序列长度分别与第一分词序列长度、第二分词序列长度的比值;
当所述替换后的第一聚合失败账单消息和第二聚合失败账单消息相同,且所述比值大于预设比值时,确定第一聚合失败账单消息和第二聚合失败账单消息满足聚合条件。
在一实施例中,为了提升消息解析能力,在上述基础上,参考图11,账单消息处理装置还可以包括:样本获取单元607、共同特征获取单元608、第一匹配特征获取单元609、第二匹配特征获取单元610以及信息提取单元611。
其中,样本获取单元607,用于当所述解析单元对待解析消息解析失败时,获取已解析成功的样本账单消息,得到样本消息集合;
共同特征获取单元608,用于获取在样本消息集合中目标账单信息具有的共同特征,所述目标账单信息为从所述样本账单消息中解析出的账单信息;
第一匹配特征获取单元609,用于获取所述样本消息中与所述共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合;
第二匹配特征获取单元610,用于获取所述待解析账单消息中与所述共同特征匹配的候选账单信息及其匹配特征;
信息提取单元611,用于根据所述样本匹配特征集合、所述候选账单信息及其匹配特征,从所述候选账单信息中提取所述目标账单信息。
在一实施例,参考图12,第一匹配特征获取单元609,包括:
分段子单元6091,用于对所述样本账单消息进行分段,得到若干消息片段;
判断子单元6092,用于判断所述消息片段是否包含与所述共同特征匹配的样本匹配账单信息;
分词子单元6093,用于当判断子单元6092判断包含样本匹配账单信息时,对所述消息片段进行分词处理,得到消息片段对应的分词集合;
特征获取子单元6094,用于从所述分词集合中选取相应的特征分词,以组成所述样本匹配账单消息的样本匹配特征。
其中,特征获取子单元6094,可以用于按照预设选取规则从所述分词集合中若干连续的分词作为特征分词;将所述特征分词作为所述样本匹配账单消息的样本匹配特征。
在一实施例中,参考图13,信息提取单元611可以包括:
匹配参数获取子单元6111,用于根据所述样本匹配特征集合、所述候选账单信息及其匹配特征,获取所述候选账单信息与所述目标账单信息的匹配参数;
信息提取子单元6112,用于根据所述匹配参数从所述候选账单信息中提取所述目标账单信息。
在一实施例中,所述样本匹配特征包括若干样本特征词,参考图14,账单消息处理装置还可以包括:词频获取单元612;
所述词频获取单元612,用于在第二匹配特征获取单元610获取候选账单信息及其匹配特征之前,获取所述样本匹配账单信息的样本特征词在所述样本匹配特征集合中的词频,得到词频集合;
所述匹配参数获取子单元6111,用于:
根据所述词频集合获取所述候选账单信息的特征词在所述样本匹配特征集合中的词频;
根据所述词频获取所述候选账单信息与所述目标账单信息的匹配参数。
在一实施例中,所述样本匹配特征集合包括:所述样本账单消息的样本匹配特征单元,所述匹配特征单元包括所述匹配账单信息及其匹配特征;
所述词频获取单元612,可以用于:
对所述匹配特征集合中匹配特征单元进行划分,得到第一匹配特征子集合和第二匹配特征子集合,所述第一匹配特征子集合包括样本匹配账单信息为所述账单信息的样本匹配特征单元,所述第二匹配特征子集合包括样本匹配账单信息不为所述账单信息的样本匹配特征单元;
获取第一匹配子集合中样本匹配账单信息的样本特征词,在所述第一匹配子集合中的词频,得到第一词频子集合;
获取第二匹配子集合中样本匹配账单信息的样本特征词,在所述第二匹配子集合中的词频,得到第二词频子集合。
在一实施例中,匹配参数获取子单元6111,用于:
根据所述第一词频子集合,获取所述候选账单信息的特征词在第一匹配特征子集合内的第一词频;
根据所述第二词频子集合,获取所述候选账单信息的特征词在第二匹配特征子集合内的第二词频;
根据所述特征词的第一词频和第二词频,获取所述候选账单信息与所述目标账单信息的匹配参数。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本发明实施例账单消息处理装置可以通过消息获取单元601获取账单消息集合,账单消息集合包括多个账单消息,由替换单元602将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,由第一聚合单元603对替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合,由规则生成单元604根据聚合后账单消息集合生成相应的消息解析规则,由解析单元605根据消息解析规则对待解析账单消息进行解析,以得到相应的账单信息。该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度。
参考图15,本发明实施例提供了一种服务器800,可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器 802、射频(RadioFrequency,RF)电路803、电源804、输入单元805、以及显示单元806等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。
RF电路803可用于收发信息过程中,信号的接收和发送。
服务器还包括给各个部件供电的电源804(比如电池),优选的,电源可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
该服务器还可包括输入单元805,该输入单元805可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括显示单元806,该显示单元806可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器 802中的应用程序,从而实现各种功能,如下:
获取账单消息集合,账单消息集合包括多个账单消息,在账单消息中确定字符类型为预设类型的目标字符,将账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,对替换后账单消息集合中的账单消息进行分组聚合,得到消息解析规则,根据消息解析规则对待解析账单消息进行解析,以得到相应的账单信息。
在一实施例中,处理器801还用于实现以下功能:
在对账单消息解析失败时,取已解析成功的样本账单消息,得到样本消息集合,获取在样本消息集合中目标账单信息具有的共同特征,目标账单信息为从样本账单消息中解析出的账单信息,获取样本消息中与共同特征匹配的样本匹配账单信息及其样本匹配特征,得到样本匹配特征集合,获取待解析账单消息中与共同特征匹配的候选账单信息及其匹配特征;根据样本匹配特征集合、候选账单信息及其匹配特征,从候选账单信息中确定目标账单信息。
由上可知,本发明实施例服务器可以获取账单消息集合,所述账单消息集合包括多个账单消息,在所述账单消息中确定字符类型为预设类型的目标字符,将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,对所述替换后账单消息集合中的账单消息进行分组聚合,得到消息解析规则,根据所述消息解析规则对待解析账单消息进行解析,以得到相应的账单信息。该方案可以通过分组聚合方式从大量的账单消息中自动提取消息解析规则,提升了消息解析规则的生成效率和覆盖度,大大提升了对账单消息的解析能力。
此外,该方案还可以在采用消息解析规则对消息解析失败时,可以通过账单信息的特征从该消息中提取相应的账单信息,无需重新配置消息解析规则,可以提升消息解析的能力、消息解析的覆盖度、以及节省资源。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种账单消息处理方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种账单消息处理方法,其特征在于,包括:
获取账单消息集合,所述账单消息集合包括多个账单消息;
将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,所述目标字符的字符类型为预设类型;
对所述替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;
根据所述聚合后账单消息集合生成相应的消息解析规则;
根据所述消息解析规则对待解析账单消息进行解析处理,以提取相应的账单信息。
2.如权利要求1所述的账单消息处理方法,其特征在于,对所述替换后账单消息集合中的账单消息进行分组聚合,包括:
在所述替换后账单消息集合中确定相似的账单消息;
对所述相似的账单消息进行聚合。
3.如权利要求1所述的账单消息处理方法,其特征在于,在根据所述聚合后账单消息集合生成相应的消息解析规则之前,所述方法还包括:
当聚合后账单消息集合包括多个聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
4.如权利要求3所述的账单消息处理方法,其特征在于,所述聚合后账单消息集合包括:聚合后账单消息及其频次,所述频次为所述聚合后账单消息在所述替换后账单消息集合中出现的次数;
当所述聚合后账单消息集合包括多个聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合,包括:
当所述聚合后账单消息的频次小于预设频次时,确定所述聚合后账单消息为聚合失败账单消息;
当所述聚合后账单消息集合包含多个所述聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
5.如权利要求3所述的账单消息处理方法,其特征在于,对所述聚合失败账单消息进行分组聚合,包括:
对所述聚合后账单消息集合中的聚合失败账单消息进行分词处理,得到聚合失败账单消息对应的分词序列;
根据所述聚合失败账单消息对应的分词序列,对所述聚合失败账单消息进行聚合。
6.如权利要求5所述的账单消息处理方法,其特征在于,根据所述聚合失败账单消息对应的分词序列,对所述聚合失败账单消息进行聚合,包括:
获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度;
根据所述最长公共子序列及其长度确定所述聚合失败账单消息是否满足聚合条件;
若是,则对所述聚合失败账单消息进行聚合。
7.如权利要求6所述的账单消息处理方法,其特征在于,获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度,包括:
基于动态规划算法获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度。
8.如权利要求7所述的账单消息处理方法,其特征在于,基于动态规划算法获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度,包括:
从聚合失败账单消息对应的分词序列中,选取第一聚合失败账单消息对应的第一分词序列、以及第二聚合失败账单消息对应的第二分词序列;
基于动态规划算法的递归方式,递归地获取所述第一分词序列的子串、与第二分词序列的子串之间的最长公共子序列长度,得到长度集合;其中,所述第一分词序列的子串为第一分词序列中连续的分词字符所组成的子序列,所述第二分词序列的子串为第二分词序列中连续的分词字符组成的子序列;
从所述长度集合中获取第一分词序列与所述第二分词序列之间的目标最长公共子序列长度;
根据所述长度集合以及所述目标最长公共子序列长度,获取第一分词序列与所述第二分词序列之间的最长公共子序列。
9.如权利要求8所述的账单消息处理方法,其特征在于,根据所述最长公共子序列及其长度确定所述聚合失败账单消息是否满足聚合条件,包括:
根据所述长度集合以及所述目标最长公共子序列长度,确定第一聚合失败账单消息和第二聚合失败账单消息中的待替换分词字符;
分别将所述待替换分词字符替换为预设字符,得到替换后的第一聚合失败账单消息和第二聚合失败账单消息;
获取所述目标最长公共子序列长度分别与第一分词序列长度、第二分词序列长度的比值;
当所述替换后的第一聚合失败账单消息和第二聚合失败账单消息相同,且所述比值大于预设比值时,确定第一聚合失败账单消息和第二聚合失败账单消息满足聚合条件。
10.一种账单消息处理装置,其特征在于,包括:
消息获取单元,用于获取账单消息集合,所述账单消息集合包括多个账单消息;
替换单元,用于将所述账单消息中的目标字符替换为相应的预设标识字符,得到替换后账单消息集合,所述目标字符的字符类型为预设类型;
第一聚合单元,用于对所述替换后账单消息集合中的账单消息进行分组聚合,得到聚合后账单消息集合;
规则生成单元,用于根据所述聚合后账单消息集合生成相应的消息解析规则;
解析单元,用于根据所述消息解析规则对待解析账单消息进行解析,以提取相应的账单信息。
11.如权利要求10所述的账单消息处理装置,其特征在于,所述第一聚合单元,用于:在所述替换后账单消息集合中确定相似的账单消息;对所述相似的账单消息进行聚合。
12.如权利要求10所述的账单消息处理装置,其特征在于,还包括第二聚合单元;
所述第二聚合单元,用于在规则生成单元生成相应的消息解析规则之前,当所述聚合后账单消息集合包括多个聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
13.如权利要求12所述的账单消息处理装置,其特征在于,所述第二聚合单元包括:
消息确定子单元,用于当所述聚合后账单消息的频次小于预设频次时,确定所述聚合后账单消息为聚合失败账单消息;
聚合子单元,用于当所述聚合后账单消息集合包含多个所述聚合失败账单消息时,对所述聚合失败账单消息进行分组聚合。
14.如权利要求13所述的账单消息处理装置,其特征在于,所述聚合子单元,包括:
分词子级单元,用于对所述消息解析规则中的聚合失败账单消息进行分词处理,得到聚合失败账单消息对应的分词序列;
序列获取子级单元,用于获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度;
消息聚合子级单元,用于根据所述最长公共子序列及其长度确定所述聚合失败账单消息是否满足聚合条件;若是,则对所述聚合失败账单消息进行聚合。
15.如权利要求14所述的账单消息处理装置,其特征在于,所述序列获取子级单元,用于:基于动态规划算法获取所述聚合失败账单消息的分词序列之间的最长公共子序列及其长度。
16.一种存储介质,其特征在于,所述存储介质存储有指令,所述指令被处理器执行时实现如权利要求1-9任一项所述账单消息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002473.5A CN109697224B (zh) | 2017-10-24 | 2017-10-24 | 一种账单消息处理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002473.5A CN109697224B (zh) | 2017-10-24 | 2017-10-24 | 一种账单消息处理方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697224A true CN109697224A (zh) | 2019-04-30 |
CN109697224B CN109697224B (zh) | 2023-04-07 |
Family
ID=66227846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711002473.5A Active CN109697224B (zh) | 2017-10-24 | 2017-10-24 | 一种账单消息处理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697224B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110267222A (zh) * | 2019-05-24 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 短信账单的展示方法和装置 |
CN111626839A (zh) * | 2020-05-30 | 2020-09-04 | 武汉双耳科技有限公司 | 一种财务对账管理系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064375A1 (en) * | 2002-09-30 | 2004-04-01 | Randell Wayne L. | Method and system for generating account reconciliation data |
CN102142127A (zh) * | 2010-07-30 | 2011-08-03 | 华为技术有限公司 | 对用户的消费明细进行管理的方法和装置 |
CN102254238A (zh) * | 2010-05-21 | 2011-11-23 | 微软公司 | 带有聚集器中的去重复的可缩放记帐 |
CN105405049A (zh) * | 2015-10-23 | 2016-03-16 | 重庆蓝岸通讯技术有限公司 | 智能记账方法及系统 |
CN105631736A (zh) * | 2015-12-21 | 2016-06-01 | 小米科技有限责任公司 | 家庭账单的生成方法及装置 |
CN106547738A (zh) * | 2016-11-02 | 2017-03-29 | 北京亿美软通科技有限公司 | 一种基于文本挖掘的金融类逾期短信智能判别方法 |
CN106779992A (zh) * | 2016-11-28 | 2017-05-31 | 畅捷通信息技术股份有限公司 | 根据短信生成财务记录、电子账本的方法和装置 |
CN106777920A (zh) * | 2016-11-28 | 2017-05-31 | 北京小度互娱科技有限公司 | 确定最长公共子序列的方法和装置 |
-
2017
- 2017-10-24 CN CN201711002473.5A patent/CN109697224B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064375A1 (en) * | 2002-09-30 | 2004-04-01 | Randell Wayne L. | Method and system for generating account reconciliation data |
CN102254238A (zh) * | 2010-05-21 | 2011-11-23 | 微软公司 | 带有聚集器中的去重复的可缩放记帐 |
CN102142127A (zh) * | 2010-07-30 | 2011-08-03 | 华为技术有限公司 | 对用户的消费明细进行管理的方法和装置 |
CN105405049A (zh) * | 2015-10-23 | 2016-03-16 | 重庆蓝岸通讯技术有限公司 | 智能记账方法及系统 |
CN105631736A (zh) * | 2015-12-21 | 2016-06-01 | 小米科技有限责任公司 | 家庭账单的生成方法及装置 |
CN106547738A (zh) * | 2016-11-02 | 2017-03-29 | 北京亿美软通科技有限公司 | 一种基于文本挖掘的金融类逾期短信智能判别方法 |
CN106779992A (zh) * | 2016-11-28 | 2017-05-31 | 畅捷通信息技术股份有限公司 | 根据短信生成财务记录、电子账本的方法和装置 |
CN106777920A (zh) * | 2016-11-28 | 2017-05-31 | 北京小度互娱科技有限公司 | 确定最长公共子序列的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110267222A (zh) * | 2019-05-24 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 短信账单的展示方法和装置 |
CN111626839A (zh) * | 2020-05-30 | 2020-09-04 | 武汉双耳科技有限公司 | 一种财务对账管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109697224B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595519A (zh) | 热点事件分类方法、装置及存储介质 | |
CN107153847A (zh) | 预测用户是否存在恶意行为的方法和计算设备 | |
CN111339436A (zh) | 一种数据识别方法、装置、设备以及可读存储介质 | |
CN107517394A (zh) | 识别非法用户的方法、装置及计算机可读存储介质 | |
CN109325845A (zh) | 一种金融产品智能推荐方法及系统 | |
CN109740642A (zh) | 发票类别识别方法、装置、电子设备及可读存储介质 | |
CN110119477A (zh) | 一种信息推送方法、装置和存储介质 | |
CN106919588A (zh) | 一种应用程序搜索系统及方法 | |
CN113011889A (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
CN111930366B (zh) | 一种基于jit实时编译的规则引擎实现方法及系统 | |
CN109615504A (zh) | 产品推荐方法、装置、电子设备和计算机可读存储介质 | |
CN112328657A (zh) | 特征衍生方法、装置、计算机设备及介质 | |
CN106844550A (zh) | 一种虚拟化平台操作推荐方法及装置 | |
CN109697224A (zh) | 一种账单消息处理方法、装置和存储介质 | |
CN109597987A (zh) | 一种文本还原方法、装置及电子设备 | |
CN111611390A (zh) | 一种数据处理方法及装置 | |
CN107563588A (zh) | 一种个人信用的获取方法和获取系统 | |
CN112966756A (zh) | 一种可视化的准入规则的生成方法、装置、机器可读介质及设备 | |
CN109102303B (zh) | 风险检测方法和相关装置 | |
CN115455957A (zh) | 触达用户方法、装置、电子设备及计算机可读存储介质 | |
CN108595669A (zh) | 一种无序分类变量处理方法及装置 | |
CN115147117A (zh) | 资源使用异常的账户群组识别方法、装置及设备 | |
CN113269179A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN109697250B (zh) | 一种账单信息提取方法、装置和存储介质 | |
CN110399430A (zh) | 用户特征确定方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |