一种基于DFA算法和贝叶斯分类器的用户投诉平台制造技术

技术编号:24579397 阅读:49 留言:0更新日期:2020-06-21 00:51
本发明专利技术公开了一种基于DFA算法和贝叶斯分类器的用户投诉平台,本平台设计的整体架构由负载均衡层、业务逻辑层和数据访问层组成。负载均衡层使用LVS在网络传输层进行请求转发,将请求转发到Nginx;业务逻辑层对用户投诉平台的基本功能进行实现。使用Dubbo进行服务化,各个模块之间通过Dubbo协议对外暴露服务和调用外部服务;使用Zookeeper作为Dubbo的注册中心,负责服务地址的注册与查找;使用消息队列RocketMQ对相关业务进行异步处理,减少高并发情况下对平台造成的影响。数据访问层使用本地缓存Guava Cache、分布式缓存Redis、关系型数据库Mysql相互配合的方式来减少高并发情况下对数据库的访问频率。

A user complaint platform based on DFA algorithm and Bayesian classifier

【技术实现步骤摘要】
一种基于DFA算法和贝叶斯分类器的用户投诉平台
本专利技术属于互联网领域,具体涉及一种基于DFA算法和贝叶斯分类器的用户投诉平台。
技术介绍
随着中国经济发展进入黄金时期,国民消费能力和需求的不断提升,消费者权益保障上暴露的问题也不断增多,成为影响国民生活品质、阻碍消费增长的原因之一。在生产及服务的压力下,部分商家通过对品质与服务打折扣,来实现企业的商业利润。消费者虽然可以通过协商和解、调解、申诉、仲裁和诉讼这几种途径来保护自己的权益,但是实践中往往是协商不欢而散、调解难见分晓、申诉久拖不决、仲裁没有依据、起诉筋疲力尽,最后弄得消费者懒得奉陪,自认倒霉;在举证方面,一些纠纷商品的检测费用往往超过商品本身的价值,这也使得消费者望而却步。随着互联网时代的不断发展,如果存在专业的用户投诉平台,当消费者认为自己的一些消费隐私不是非常重要时,可以通过平台对自己受到侵害的权益进行投诉,对商家的侵权行为进行曝光。商家看到有消费者对他们进行投诉时,为了企业的声誉,避免不良影响,商家就会及时处理这些投诉,并从源头上减少和杜绝侵权行为的发生。针对国内一些网站在面对高并发请求时可能出现服务器宕机、系统崩溃的情况,本平台需要一个合适的架构保证高可用性,并以此为基础进行快速迭代。针对普通用户和商家提交的非法内容和垃圾内容,本平台需要采取有效的方案进行识别,以维护平台环境,提高用户体验。
技术实现思路
本专利的目的是为人们日益提高的消费能力提供高可用的、具有良好用户体验的用户投诉平台。应用此平台的消费者可以及时投诉商家,对商家的侵权行为进行曝光;应用此平台的商家需要及时处理消费者的投诉,避免不良影响。为了应对可能出现的用户高并发请求,本平台设计的整体架构由负载均衡层、业务逻辑层和数据访问层组成。负载均衡层使用LVS在网络传输层进行请求转发,将请求转发到Nginx;使用Nginx作为网络应用层的负载均衡服务器,将请求转发到各个应用服务器;使用keepalived实现LVS双机热备,当主机发生故障时,及时切换到备机。应用服务器的响应结果直接通过Nginx响应给用户而不经过LVS。业务逻辑层对用户投诉平台的基本功能进行实现。使用Dubbo进行服务化,各个模块之间通过Dubbo协议对外暴露服务和调用外部服务;使用Zookeeper作为Dubbo的注册中心,负责服务地址的注册与查找;使用消息队列RocketMQ对相关业务进行异步处理,减少高并发情况下对平台造成的影响。数据访问层使用本地缓存GuavaCache、分布式缓存Redis、关系型数据库Mysql相互配合的方式来减少高并发情况下对数据库的访问频率。对于访问很频繁的请求,首先读取GuavaCache中的数据,如果GuavaCache命中数据,则直接返回数据;如果GuavaCache没有命中数据,读取Redis中的数据,如果Redis命中数据,先将数据写入GuavaCache,再返回数据;如果Redis也没有命中数据,从数据库中查询数据,获得数据后相继将数据写入Redis和GuavaCache中。对于访问不是很频繁的请求,不从GuavaCache中读取数据而直接从Redis中读取数据。其中,为避免单实例的Redis出现宕机而影响平台运行的情况,使用Redis集群的方式保证高可用性。业务逻辑层的功能模块包括用户模块、投诉模块、后台管理模块、垃圾内容识别模块和搜索模块。在本平台的垃圾内容识别模块使用多模式匹配算法和贝叶斯分类器相结合的识别方案。为了防止在中英文混合环境下对中英文混合模式串的匹配出现错匹配和漏匹配的情况,需要对经典的多模式匹配算法DFA算法进行改进:步骤1:对所有模式串中的字符进行GBK编码,模式串中的英文被转换为一个0到255之间的字节,模式串中的中文被转换为两个0到255之间的字节;对编码后得到的数据构建Trie树。步骤2:为根节点中0-255位置上所有等于NULL的指针分别创建新节点,并将这些指针指向对应的新节点,即在Trie树的第一层会有256个节点。对于这256个节点,将它们的失败指针全部指向根节点;此时,根节点不会发生失配的情况,根节点的失败指针无需赋值。步骤3:对于根节点中128-255位置上所有指针指向的节点,如果节点中一个位置的指针等于NULL,则将这个指针指向根节点;如果节点中一个位置的指针不等于NULL,则将这个指针指向的节点的失败指针指向根节点。步骤4:从根节点开始对Trie树进行层次遍历,依次求出各个节点的失败指针和各个节点中各个位置的指针,构建确定有穷自动机。通过本算法构建的确定有穷自动机在中英文混合环境下对中英文混合模式串的匹配不会出现错匹配和漏匹配的情况。在垃圾内容识别模块使用改进的DFA算法和贝叶斯分类器相结合的识别方案:步骤1:对测试数据进行预处理,以标点符号、空格、换行符为分割符,将一条完整的投诉分割为若干个句子,并且标识各个句子的类型是正常内容还是垃圾内容。步骤2:使用伯努利模型和“结巴”中文分词组件对预处理的数据进行建模,得到贝叶斯分类器,提取其中垃圾内容的特征值作为模式串,并将这些模式串的近义词添加到模式串和贝叶斯分类器的特征值中。步骤3:使用改进的DFA算法对用户和商家发表的内容进行多模式匹配,根据一定的策略,获取成功匹配的模式串所属的完整句子或半完整句子,使用“结巴”中文分词组件和贝叶斯分类器分别计算出这个句子属于正常内容和垃圾内容的概率。随着用户投诉和商家处理投诉的不断增多,定期对最新数据实施步骤1和步骤2,完善贝叶斯分类器,进一步提高垃圾内容识别的准确率。附图说明图1是用户投诉平台的业务逻辑层的功能模块图。图2是改进的DFA算法的流程图。图3是改进的DFA算法和贝叶斯分类器相结合的识别方案。具体实施方式如图1所示,用户投诉平台主要由用户模块、投诉模块、后台管理模块、垃圾内容识别模块和搜索模块组成。用户模块实现普通用户的注册和登录、商家的注册和登录、用户权限校验。用户模块依赖用户数据库和缓存,在用户模块将普通用户和商家的注册信息插入到用户数据库中,将普通用户和商家的常用信息插入到缓存中;在查询数据时,通过方法调用用户数据库和缓存。投诉模块实现普通用户投诉、分配投诉至商家、商家处理投诉。投诉模块依赖投诉数据库、缓存和垃圾内容识别模块,在投诉模块将普通用户投诉和商家处理投诉的内容插入到投诉数据库和缓存中;在查询数据时,通过方法调用投诉数据库和缓存。内容的垃圾识别工作由垃圾内容识别模块完成,投诉模块和垃圾内容识别模块之间通过消息队列RocketMQ进行通讯。投诉模块每收到一条内容,就向RocketMQ中进行发送,垃圾内容识别模块消费RocketMQ中的内容。一些其它模块需要获取一条投诉中普通用户和商家提交的全部内容,因此投诉模块向外暴露服务,使其它模块可以通过Dubbo协议调用投诉模块进行获取。后台管理模块实现商家对投诉进行申述、管理员本文档来自技高网...

【技术保护点】
1.一种基于DFA算法和贝叶斯分类器的用户投诉平台,其特征在于,平台的整体架构由负载均衡层、业务逻辑层和数据访问层组成:/n负载均衡层使用LVS在网络传输层进行请求转发,将请求转发到Nginx;使用Nginx作为网络应用层的负载均衡服务器,将请求转发到各个应用服务器;使用keepalived实现LVS双机热备,当主机发生故障时,及时切换到备机;/n业务逻辑层对用户投诉平台的基本功能进行实现;使用Dubbo进行服务化,各个模块之间通过Dubbo协议对外暴露服务和调用外部服务;使用Zookeeper作为Dubbo的注册中心,负责服务地址的注册与查找;使用消息队列RocketMQ对相关业务进行异步处理,减少高并发情况下对平台造成的影响;/n数据访问层使用本地缓存Guava Cache、分布式缓存Redis、关系型数据库Mysql相互配合的方式来减少高并发情况下对数据库的访问频率,为避免单实例的Redis出现宕机而影响平台运行的情况,使用Redis集群的方式保证高可用性。/n

【技术特征摘要】
1.一种基于DFA算法和贝叶斯分类器的用户投诉平台,其特征在于,平台的整体架构由负载均衡层、业务逻辑层和数据访问层组成:
负载均衡层使用LVS在网络传输层进行请求转发,将请求转发到Nginx;使用Nginx作为网络应用层的负载均衡服务器,将请求转发到各个应用服务器;使用keepalived实现LVS双机热备,当主机发生故障时,及时切换到备机;
业务逻辑层对用户投诉平台的基本功能进行实现;使用Dubbo进行服务化,各个模块之间通过Dubbo协议对外暴露服务和调用外部服务;使用Zookeeper作为Dubbo的注册中心,负责服务地址的注册与查找;使用消息队列RocketMQ对相关业务进行异步处理,减少高并发情况下对平台造成的影响;
数据访问层使用本地缓存GuavaCache、分布式缓存Redis、关系型数据库Mysql相互配合的方式来减少高并发情况下对数据库的访问频率,为避免单实例的Redis出现宕机而影响平台运行的情况,使用Redis集群的方式保证高可用性。


2.根据权利要求1所述的一种基于DFA算法和贝叶斯分类器的用户投诉平台,其特征在于,业务逻辑层的功能模块包括用户模块、投诉模块、后台管理模块、垃圾内容识别模块和搜索模块。


3.根据权利要求1所述的一种基于DFA算法和贝叶斯分类器的用户投诉平台,其特征在于,为了防止在中英文混合环境下对中英文混合模式串的匹配出现错匹配和漏匹配的情况,需要对经典的多模式匹配算法DFA算法进行改进,改进方法如下:
步骤1:对所有模式串中的字符进行GBK编码,模式串中的英文被转换为一个0到255之间的字节,模式串中的中文被转换为两个0到255之间的字节;对编码后得到的数据构建Trie树;
步骤2:为根节点中0-25...

【专利技术属性】
技术研发人员:徐旭东刘昶李晓文刘鑫顾恭
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1