一种用于为目标数据提供编码的系统及方法与流程

文档序号:17893221发布日期:2019-06-13 15:48阅读:169来源:国知局
一种用于为目标数据提供编码的系统及方法与流程

本发明涉及税务数据应用技术领域,并且更具体地,涉及一种用于为目标数据提供编码的系统及方法。



背景技术:

国家税务总局最新发布的《商品和服务税收分类编码表》将商品和服务严格分为4207类,其中大类675个,小类3532个。国税局于2016年发布要求开始试行在开票软件中增加税收分类编码及赋码相关功能。此外,局端已开具发票中存在大量错误与不准确的人工标注编码,从而对基于所售商品的企业税率、进销项分析来预防企业偷税漏税的统计、分析等工作存在误导作用。因开票人、局端数据分析人员的专业知识和精力的限制,对海量商品和服务名称进行编码分类可行性太低,所以为给开票端带来便捷并使局端分析更准确,特设计一种依赖大数据技术和机器学习模型的分类推荐系统。

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入利用贝叶斯定理求出后验概率的输出。使用朴素贝叶斯训练得到的分类模型经测试有较好的准确性,其主要思想是,训练阶段将训练样本集的商品名称分词作为输入,然后获取所有类别(编码)的先验概率,并计算取某编码时所有分词的条件概率;分类阶段对商品名称进行分词,并根据贝叶斯定理计算所有可能编码的概率。但由于朴素贝叶斯是基于统计的算法且基于特征条件独立假设具有一定的局限性,首先它对于未登录词无法进行处理,样本中较少或样本中分类错误过多的数据会导致分类不准,对商品名称中不同位置分词一致处理,每次识别需要计算所有类别的概率计算代价高且通讯带宽占用大,导致无法实际上线使用,亟待提出优化方案。

传统的数据库系统把所有数据都放在磁盘上进行存储,这样不仅需要频繁地访问磁盘来进行数据的读取操作,而且在数据量很大、读取操作频繁时性能较低。近年来,内存容量不断提高,价格不断下跌,同时对数据库系统实施相应能力的要求日益提高,充分利用内存技术提升数据库性能成为一个热点。



技术实现要素:

针对上述问题,本发明提出了一种用于为目标数据提供编码的系统,本发明系统包括:

训练模块,获取训练数据,所述训练数据包括分类编码表及历史发票数据,对分类编码表及历史发票数据进行训练,获取训练结果,基于训练结果生成多个训练模型;

模型合并模块,基于多组训练模型,对多组训练模型续进行合并,并对训练结果的相同数据集叠加;

编码提供模块,读取训练结果数据,所述编码模块接设有多个接口,接收接口传输的需要编码的目标数据,对需要编码的目标数据提供编码信息。

可选的,对分类编码表及历史发票数据进行训练包括:

对训练数据进行过滤或修正训练数据中编码标注错误的内容,获取修正数据;

对修正训练数据进行预处理,所述预处理为对目标数据存在的时间信息、空格及标点进行过滤;

对修正训练数据进行分词和清洗修正训练数据并对分词和清洗后的修正训练数据添加位置权重,提取修正训练数据中的单位和规格型号数据,根据修正训练数据获取分类编码表对应记录频数,基于记录频数获取规则集训练数据,将提取过单位和规格型号的修正训练数据与规则集训练数据进行合并获取样本训练数据;

基于样本训练数据构建训练结果数据集存储于分布式文件系统hdfs。

可选的,清洗过程包括:过滤数字量词连接模式数据、过滤品牌词性数据、过滤名词、形容词、动词、过滤多个形容词与名词连接模式中的形容词。

可选的,训练结果数据集包括:商品名称分词、编码、位置权重及频数数据,商品单位、编码及频数数据,商品规格型号、编码及频数数据;商品编码及频数数据和商品编码及频数数据。

可选的,对需要编码的目标数据提供编码信息包括:

基于训练结果数据获取先验概率和条件概率;

当需要提供编码的目标数据为大数据集群批量数据,需要批量获取推荐编码时,广播先验概率和条件概率;

对目标数据商品名称分词和过滤并对商品名称添加位置权重,根据条件概率数据获取目标数据多个对应编码的条件概率,根据先验概率获取目标数据多个对应编码的先验概率,获取目标数据任意一个对应编码的条件概率和先验概率乘积,将乘机最大值的对应编码作为推荐编码。

可选的,还包括:web端编码提供模块,所述web端编码提供模块将分布式文件系统hdfs存储的训练结果数据集导入生产环境的postgresql数据库,提供web端目标数据获取接口,获取目标数据后,对获取目标数据回前五类推荐编码、编码名称及推荐概率。

可选的,系统还包括:内存数据库端编码提供模块,将训练结果数据集和修正数据加载到数据结构服务器redis;

所述修正数据为准确或优先推荐的商品名称及其编码数据;

对获取的目标数据返回前五类推荐编码、编码名称及推荐概率。

可选的,内存数据库端编码提供模块,

将推荐过的目标数据及目标数据的推荐编码写入缓存,并设置预设过期时间,每次编码推荐时先从缓存中匹配相关信息。

可选的,内存数据库端编码提供模块,若获取的目标数据与数据结构服务器redis中的修正数据匹配,将修正数据对应编码以概率为0.5作为首位推荐编码,推荐的编码概率归一化后分别乘0.5作为推荐编码后四位。

可选的,系统还包括:线上信息反馈模块,获取web端编码推荐模块推荐的前五类推荐编码中,用户主动选择的任意一类推荐编码信息,反馈给训练模型。

可选的,先验概率根据训练结果数据集中的分词前编码-频数数据中的频数除训练结果数据中的频数总计得到。

可选的,条件概率根据训练结果数据集中的名称分词数据、单位数据、规格型号数据的频数除对应编码的分词后频数得到。

本发明还提供了一种用于为目标数据提供编码的方法,本发明方法包括:

获取训练数据,所述训练数据包括分类编码表及历史发票数据,对分类编码表及历史发票数据进行训练,获取训练结果,基于训练结果生成多个训练模型;

基于多组训练模型,对多组训练模型续进行合并,并对训练结果的相同数据集叠加;

读取训练结果数据,所述编码模块接设有多个接口,接收接口传输的需要编码的目标数据,对需要编码的目标数据提供编码信息。

可选的,对分类编码表及历史发票数据进行训练包括:

对训练数据进行过滤或修正训练数据中编码标注错误的内容,获取修正训练数据;

对修正训练数据进行预处理,所述预处理为对目标数据存在的时间信息、空格及标点进行过滤;

对修正训练数据进行分词和清洗修正训练数据并对分词和清洗后的修正训练数据添加位置权重,提取修正训练数据中的单位和规格型号数据,根据修正训练数据获取分类编码表对应记录频数,基于记录频数获取规则集训练数据,将提取过单位和规格型号的修正训练数据与规则集训练数据进行合并获取样本训练数据;

基于样本训练数据构建训练结果数据集存储于分布式文件系统hdfs。

可选的,清洗过程包括:过滤数字量词连接模式数据、过滤品牌词性数据、过滤名词、形容词、动词、过滤多个形容词与名词连接模式中的形容词。

可选的,训练结果数据集包括:商品名称分词、编码、位置权重及频数数据,商品单位、编码及频数数据,商品规格型号、编码及频数数据;商品编码及频数数据和商品编码及频数数据。

可选的,对需要编码的目标数据提供编码信息包括:

基于训练结果数据获取先验概率和条件概率;

当需要提供编码的目标数据为大数据集群批量数据,需要批量获取推荐编码时,广播先验概率和条件概率;

对目标数据商品名称分词和过滤并对商品名称添加位置权重,根据条件概率数据获取目标数据多个对应编码的条件概率,根据先验概率获取目标数据多个对应编码的先验概率,获取目标数据任意一个对应编码的条件概率和先验概率乘积,将乘机最大值的对应编码作为推荐编码。

可选的,方法还包括:将分布式文件系统hdfs存储的训练结果数据集导入生产环境的postgresql数据库,提供web端目标数据获取接口,获取目标数据后,对获取目标数据回前五类推荐编码、编码名称及推荐概率。

可选的,方法还包括:

将训练结果数据集和修正数据加载到数据结构服务器redis;

所述修正数据为准确或优先推荐的商品名称及其编码数据;

对获取的目标数据返回前五类推荐编码、编码名称及推荐概率。

可选的,方法还包括:

将推荐过的目标数据及目标数据的推荐编码写入数据结构服务器redis缓存,并设置预设过期时间,每次编码推荐时先从缓存中匹配相关信息。

可选的,方法还包括:

若获取的目标数据与数据结构服务器redis中的修正数据匹配,将修正数据对应编码以概率为0.5作为首位推荐编码,推荐的编码概率归一化后分别乘0.5作为推荐编码后四位。

可选的,方法还包括:

获取web端编码推荐模块推荐的前五类推荐编码中,用户主动选择的任意一类推荐编码信息,反馈给训练模型。

可选的,先验概率根据训练结果数据集中的分词前编码-频数数据中的频数除训练结果数据中的频数总计得到。

可选的,条件概率根据训练结果数据集中的名称分词数据、单位数据、规格型号数据的频数除对应编码的分词后频数得到。

本发明依据实际数据情况对历史数据进行详细有效的预处理,剔除干扰信息、提高训练准确率;

本发明同时提供批量识别、web端编码推荐及基于数据结构服务器redis的快速推荐多种编码推荐接口,并且为提高数据结构服务器redis性能的数据存储方法;此外还提出模型合并及线上信息反馈模块以进一步提高模型推荐准确率;

本发明更好地解决了税务、食药监等领域的类似商、食品名称等短文本分类编码的问题。

附图说明

图1为本发明用于为目标数据提供编码的系统结构图;

图2为本发明用于为目标数据提供编码的方法流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

本发明提供了一种用于为目标数据提供编码的系统200,如图1所示,系统200包括:

训练模块201,获取训练数据,所述训练数据包括分类编码表及历史发票数据,对分类编码表及历史发票数据进行训练,包括:

对训练数据进行过滤或修正训练数据中编码标注错误的内容,获取修正训练数据;

对修正训练数据进行预处理,所述预处理为对目标数据存在的时间信息、空格及标点进行过滤;

对修正训练数据进行分词和清洗修正训练数据并对分词和清洗后的修正训练数据添加位置权重,提取修正训练数据中的单位和规格型号数据,根据修正训练数据获取分类编码表对应记录频数,基于记录频数获取规则集训练数据,将提取过单位和规格型号的修正训练数据与规则集训练数据进行合并获取样本训练数据;

基于样本训练数据构建训练结果数据集存储于分布式文件系统hdfs。

清洗过程包括:过滤数字量词连接模式数据、过滤品牌词性数据、过滤名词、形容词、动词、过滤多个形容词与名词连接模式中的形容词;

训练结果数据集包括:商品名称分词、编码、位置权重及频数数据,商品单位、编码及频数数据,商品规格型号、编码及频数数据;商品编码及频数数据和商品编码及频数数据;

获取训练结果,基于训练结果生成多个训练模型;

模型合并模块202,基于多组训练模型,对多组训练模型续进行合并,并对训练结果的相同数据集叠加;

编码提供模块203,读取训练结果数据,所述编码模块接设有多个接口,接收接口传输的需要编码的目标数据,对需要编码的目标数据提供编码信息;

对需要编码的目标数据提供编码信息包括:

基于训练结果数据获取先验概率和条件概率;

当需要提供编码的目标数据为大数据集群批量数据,需要批量获取推荐编码时,广播先验概率和条件概率;对目标数据进行预处理,所述预处理为对目标数据存在的时间信息、空格及标点进行过滤;

对预处理后的目标数据商品名称分词和过滤并对商品名称添加位置权重,根据条件概率数据获取目标数据多个对应编码的条件概率,根据先验概率获取目标数据多个对应编码的先验概率,获取目标数据任意一个对应编码的条件概率和先验概率乘积,将乘机最大值的对应编码作为推荐编码。

先验概率根据训练结果数据集中的分词前编码-频数数据中的频数除训练结果数据中的频数总计得到。

条件概率根据训练结果数据集中的名称分词数据、单位数据、规格型号数据的频数除对应编码的分词后频数得到。

web端编码提供模块204,web端编码提供模块204将分布式文件系统hdfs存储的训练结果数据集导入生产环境的postgresql数据库,提供web端目标数据获取接口,获取目标数据后,对获取目标数据回前五类推荐编码、编码名称及推荐概率。

内存数据库端编码提供模块205,将训练结果数据集和修正数据加载到数据结构服务器redis;

首先,频数总计值存储的key为”code:sum”,类型为string。

其次,因为编码长度为19,推荐过程中i/o压力很大,所以将结果集中的编码替换为1至n的编号,具体为:对由规则集获取的编码-名称数据、分词后编码-频数数据及分词前编码-频数数据中出现的编码进行编号构成编码-编号对应关系;然后将这三个数据集的数据以key为“code:$编号”($编号意为变量编号),field分别为“name”、“token”、“doc”,value为名称、频数的哈希表形式存入redis。

再者,将生成的编码-编号对应关系构成“0:code1,1:code2…”的字符串存入redis,其中key为“code:total”。

然后,分别将名称分词数据、单位数据和规格型号数据,以哈希表形式存入redis,其中key为分词、单位、规格型号,field为位置(其中单位和规格型号的位置权重均为0),value为同一个名称和位置对应的所有编码构成的形式为“编号1:freq1,编号2:freq2…”的字符串;

所述修正数据为准确或优先推荐的商品名称及其编码数据,利用上一步生成的编码-编号表将人工修正数据中的编码替换为编号,存入redis的key为“artificial:$name:dw:$dw:ggxh:$ggxh”,value为对应编号。;

对获取的目标数据返回前五类推荐编码、编码名称及推荐概率。

内存数据库端编码提供模块205,将推荐过的目标数据及目标数据的推荐编码写入缓存,并设置预设过期时间,每次编码推荐时先从缓存中匹配相关信息。

内存数据库端编码提供模块205,若获取的目标数据与数据结构服务器redis中的修正数据匹配,将修正数据对应编码以概率为0.5作为首位推荐编码,推荐的编码概率归一化后分别乘0.5作为推荐编码后四位。

线上信息反馈模块206,获取web端编码推荐模块推荐的前五类推荐编码中,用户主动选择的任意一类推荐编码信息,反馈给训练模型。

本发明还提出了一种用于为目标数据提供编码的方法,如图2所示,包括:

获取训练数据,所述训练数据包括分类编码表及历史发票数据,对分类编码表及历史发票数据进行训练,对分类编码表及历史发票数据进行训练包括:

对训练数据进行过滤或修正训练数据中编码标注错误的内容,获取修正训练数据;

对修正训练数据进行预处理,所述预处理为对目标数据存在的时间信息、空格及标点进行过滤;

对修正训练数据进行分词和清洗修正训练数据并对分词和清洗后的修正训练数据添加位置权重,提取修正训练数据中的单位和规格型号数据,根据修正训练数据获取分类编码表对应记录频数,基于记录频数获取规则集训练数据,将提取过单位和规格型号的修正训练数据与规则集训练数据进行合并获取样本训练数据;

基于样本训练数据构建训练结果数据集存储于分布式文件系统hdfs。

清洗过程包括:过滤数字量词连接模式数据、过滤品牌词性数据、过滤名词、形容词、动词、过滤多个形容词与名词连接模式中的形容词。

训练结果数据集包括:商品名称分词、编码、位置权重及频数数据,商品单位、编码及频数数据,商品规格型号、编码及频数数据;商品编码及频数数据和商品编码及频数数据;

获取训练结果,基于训练结果生成多个训练模型;

基于多组训练模型,对多组训练模型续进行合并,并对训练结果的相同数据集叠加;

读取训练结果数据,所述编码模块接设有多个接口,接收接口传输的需要编码的目标数据,对需要编码的目标数据提供编码信息;

对需要编码的目标数据提供编码信息包括:

基于训练结果数据获取先验概率和条件概率;

当需要提供编码的目标数据为大数据集群批量数据,需要批量获取推荐编码时,广播先验概率和条件概率;

对目标数据商品名称分词和过滤并对商品名称添加位置权重,根据条件概率数据获取目标数据多个对应编码的条件概率,根据先验概率获取目标数据多个对应编码的先验概率,获取目标数据任意一个对应编码的条件概率和先验概率乘积,将乘机最大值的对应编码作为推荐编码;

先验概率根据训练结果数据集中的分词前编码-频数数据中的频数除训练结果数据中的频数总计得到。

条件概率根据训练结果数据集中的名称分词数据、单位数据、规格型号数据的频数除对应编码的分词后频数得到。

将分布式文件系统hdfs存储的训练结果数据集导入生产环境的postgresql数据库,提供web端目标数据获取接口,获取目标数据后,对获取目标数据回前五类推荐编码、编码名称及推荐概率。

将训练结果数据集和修正数据加载到数据结构服务器redis;

所述修正数据为准确或优先推荐的商品名称及其编码数据;

对获取的目标数据返回前五类推荐编码、编码名称及推荐概率。

将推荐过的目标数据及目标数据的推荐编码写入数据结构服务器redis缓存,并设置预设过期时间,每次编码推荐时先从缓存中匹配相关信息。

若获取的目标数据与数据结构服务器redis中的修正数据匹配,将修正数据对应编码以概率为0.5作为首位推荐编码,推荐的编码概率归一化后分别乘0.5作为推荐编码后四位。

获取web端编码推荐模块推荐的前五类推荐编码中,用户主动选择的任意一类推荐编码信息,反馈给训练模型。

本发明依据实际数据情况对历史数据进行详细有效的预处理,剔除干扰信息、提高训练准确率;

本发明同时提供批量识别、web端编码推荐及基于数据结构服务器redis的快速推荐多种编码推荐接口,并且为提高数据结构服务器redis性能的数据存储方法;此外还提出模型合并及线上信息反馈模块以进一步提高模型推荐准确率;

本发明更好地解决了税务、食药监等领域的类似商、食品名称等短文本分类编码的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1