CN113468300B - 一种基于微信交互的智能消息处理系统及方法 - Google Patents
一种基于微信交互的智能消息处理系统及方法 Download PDFInfo
- Publication number
- CN113468300B CN113468300B CN202110591988.3A CN202110591988A CN113468300B CN 113468300 B CN113468300 B CN 113468300B CN 202110591988 A CN202110591988 A CN 202110591988A CN 113468300 B CN113468300 B CN 113468300B
- Authority
- CN
- China
- Prior art keywords
- message
- answer
- skill
- module
- user
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 51
- 230000003993 interaction Effects 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims abstract description 69
- 238000010276 construction Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims abstract description 13
- 230000008859 change Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 17
- 230000011218 segmentation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于微信交互的智能消息处理系统及方法,用户通过微信客户端向微信公众号发送消息,服务器接收消息,提问分析模块对消息进行异步分析;技能库检索模块,用于接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组;答案构建模块,用于获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;服务管理模块,用于智能消息及各模块功能的管理。本发明可以提高消息处理和回复的效率,降低人力成本,并为服务方提供集咨询和业务入口为一体的用户使用平台。
Description
技术领域
本发明属于通信消息处理技术领域,具体涉及一种基于微信交互的智能消息处理系统及方法。
背景技术
随着互联网的发展,人工智能技术在各个领域的应用场景越来越多,其中语音识别和智能问答技术的实现,使得计算机可以与人类通过自然语言的方式进行交流。不仅如此,微信公众平台所具有大量用户和其信息获取的便捷性,奠定了微信公众平台最佳且可靠的载体地位,几乎每一家服务机构都会在微信公众号上提供相应服务。
通过建设智能消息处理系统,不但为用户提供方便快捷的机构资讯和信息咨询服务,而且从管理者的角度出发,还包含了更深层次的含义:
一是有利于统计和收集用户提出的各类问题,掌握用户目前的需求和所关心的问题,从而为用户提供更优质的服务;同时用户的需求和所关心的问题也能为服务方决策规划、政策制度的制定提供依据和参考;
二是有利于促进服务方信息管理模式的变化,使得信息管理的松散型模式逐步转向集约型模式。智能消息处理系统必须有丰富的知识库作为储备,才能提供快速精准的查询,目前知识是松散分布在各个平台中的,通过建设智能消息处理系统搭建知识仓库,有助于将松散的知识都集中起来进行高效且统一的管理。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于微信交互的智能消息处理系统及方法。
为实现上述技术目的,本发明采取的技术方案为:
一种基于微信交互的智能消息处理系统,包括:微信客户端、服务器和消息处理模块;
所述微信客户端通过微信公众号为服务器配置提供接口,并为用户提供交互界面;
所述消息处理模块包括提问分析模块、技能库检索模块、答案构建模块和服务管理模块,实现智能消息处理;
用户通过微信客户端向微信公众号发送消息,服务器接收消息,提问分析模块对消息进行异步分析;
技能库检索模块,用于接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组;
答案构建模块,用于获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;
服务管理模块,用于智能消息及各模块功能的管理。
为优化上述技术方案,采取的具体措施还包括:
用户通过微信客户端向微信公众号发送消息,即一条post请求,微信服务器将post消息的XML数据包转发到服务器上,服务器接收用户请求,通过提问分析模块进行异步分析,解析post消息的XML数据包;
所述数据包包括ToUserName:开发者微信号、FromUserName:发送方账号、CreateTime:消息创建时间、MsgType:消息类别、MsgId:消息id;
所述消息类别包括文本类型、语音类型、地理位置类型、图像类型、音乐类型(music)和其他类型。
上述的技能库检索模块,接收经提问分析模块处理后获得的待文本分析列表List并与技能库中技能进行相应的技能匹配;
所述技能库包括三个技能,分别为天气查询,导航查询和问答查询,其优先级分别为3、2和1;
优先级的数值越大,优先程度越高;
问答查询技能作为兜底技能即优先程度最低,用于智能处理相关暂未被收录进业务范畴内的问题;
技能库检索模块通过对待文本分析列表进行遍历,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组。
设待根据关键字从各技能库检索出候选答案事件文本分析列表List中各元素所代表的关键字x1、x2、x3、x4、...xn是样本空间的一个完备事件组:List=x1∪x2∪x3∪...∪xn,即各个关键词都代表候选答案事件组中对应的一个答案事件A,并且每一次事件组开始求解后最终生成的答案事件有且仅有一个最终解;
若根据关键字从各技能库检索出两个及两个以上的候选答案事件时,A>1且A为正整数,会对答案事件进行匹配度估分,依据每个答案事件最终的分值Y判定最优解,具体公式如下:
其中(i=1,2,3,...,n;x=x1∪x2∪x3∪...∪xn)
Y表示A答案事件下命中用户意图的评估分值;
xi表示事件文本分析列表List中的第i个关键词;
A表示遍历候选答案事件组中的一个答案事件;
ki表示第i个关键词所处优先级影响命中的权重值;
P(xi)表示在文本分析列表优先命中xi代表的关键词的概率;
P(A|xi)表示xi代表的关键词命中用户意图的概率;
∑n i=1ki表示事件文本分析列表List中关键词所占权重总值。
文本分析列表存在多个同一优先级下的关键词,且同一优先级下的关键词组内存在因主次顺序、从属关系和多次强调时,采用干扰函数ξ(x)进行调优:
式中λA表示当前答案事件在答案事件组中的影响因子;
所述影响因子的分值由答案事件在答案事件组所处位置代表的优先级决定,即答案事件在答案事件组中位置越靠前,影响因子的分值越小;
相对的,在计算干扰函数ξ(x)因舍去造成答案事件A的直接因素xA,即应将当前评分的候选答案事件组中答案事件A的干扰系数视为0:
式中f(xi)表示第i个关键词由于存在同一优先级下的其他关键词而产生的误差分值,根据关键词xi进行优先级的区域划分,可通过Xgboost算法进行训练。
所述答案构建模块,获取技能库检索模块的执行结果,首先判断返回格式是否为空或者失败,若为空或者则调用AI智能语音机器人接口,通过http请求方式向接口地址上传待文本分析列表,并获取经AI识别后的匹配到的智能答案来构建文本消息格式;若为正确的数据格式,则直接构建文本或图文消息格式,然后异步提交问题记录到MySQL数据库中,所述记录包括openId、问题内容、待文本分析列表、日期和是否解决,其中是否解决判断的依据为凡调用AI智能语音机器人接口来获取答案的问题均记录为未解决,最后将处理好的消息格式通过客服接口回复给用户。
上述的服务管理模块,用于查询消息记录、提供热点问题的报表数据、通过网页向服务器后台发送请求、读取MySQL数据库统计到的用户处理内容、在网页内构建数据图显示数据库内统计到数目极多的相同关键词以及记录出已解决问题和为解决问题的占比。
上述的服务管理模块还用于:
统计和收集用户提出的各类问题,掌握用户目前的需求和所关心的问题提供可视化界面;
技能库技能的增删改查:通过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,完成对于技能库的基本操作。
促进服务方信息管理模式的变化,使得信息管理的松散型模式逐步转向集约型模式,提高信息处理能力,增加用户回复的准确性;
知识库的增删改查:过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,针对热点问题的报表数据的分析进行热点问题的补录和优化,对于的未能处理的问题进行统计和衡量决定是否录入知识库予以完善,对于即时性的消息做出相关的改动调整;
将目前松散分布在各个平台中的知识,通过建设消息处理模块搭建知识仓库,有助于将松散的知识都集中起来进行高效且统一的管理。
一种基于微信交互的智能消息处理方法,包括:
步骤1:微信客户端向微信公众号发送消息;
步骤2:服务器接收消息,提问分析模块对消息进行异步分析;
步骤3:技能库检索模块接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组;
步骤4:答案构建模块获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;
步骤5:服务管理模块对智能消息及各模块功能的管理。
本发明具有以下有益效果:
本发明的微信客户端接收用户发送的消息,判断消息类型进行对应的消息处理;消息类型为语音或者文本时通过语句分词处理和去除停用词获取关键词来识别语义,其他类型可进行额外的处理;设置技能优先级,当一个消息中出现多个关键词时根据其匹配技能库对应的业务的优先级进行执行并将结果反馈给用户;用户发送的消息中关键词未在技能库中寻找到答案时则通过AI语音机器人进行智能语音回答。在本发明中,通过以上方式可以提高消息处理和回复的效率,降低人力成本,并为服务方提供集咨询和业务入口为一体的用户使用平台。
附图说明
图1为本发明原理图;
图2为本发明消息处理机制图;
图3为本发明技能库检索图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
参见图1-3,本发明的一种基于微信交互的智能消息处理系统,包括:微信客户端、服务器和消息处理模块;
所述微信客户端通过微信公众号为服务器配置提供接口,并为用户提供交互界面;
所述消息处理模块包括提问分析模块、技能库检索模块、答案构建模块和服务管理模块,实现智能消息处理;
用户通过微信客户端向微信公众号发送消息,服务器接收消息,提问分析模块对消息进行异步分析;
技能库检索模块,用于接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组;
答案构建模块,用于获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;
服务管理模块,用于智能消息及各模块功能的管理。
具体实施例如下:
一、提问分析模块,用户通过微信客户端向公众号发送消息,即一条post请求,微信服务器将POST消息的XML数据包转发到后台服务器上,后台服务器接收用户请求,通过提问分析模块进行异步分析,解析微信服务器将POST消息的XML数据包;
所述数据包包括ToUserName:开发者微信号、FromUserName:发送方账号(一个OpenID))、CreateTime:消息创建时间(整型)、MsgType:消息类别、MsgId:消息id,64位整型等参数,可根据MsgType参数判断消息类别;
所述消息类别包括文本类型(text)、语音类型(voice)、地理位置类型(location)、图像类型(image)、音乐类型(music)和其他类型(other)。
1、当消息类型为文本类型时,用户通过post请求发送的XML数据包中会含有一个Content参数,所述Content参数是指文本消息内容,随后将XML数据包中的Content参数对应的文本消息内容进行语义分词处理,所述语义分词处理具体表现为把一个完整的句子分割为若干独立的词语或字符并将分割好的各个字符串按照原语句位置顺序分别存入列表内(List),然后进行停用词过滤,所述停用词过滤具体表现为在外部文本文件内预先设置对于语义识别无意义的、不必要、可省略的字符串,在程序初始化时读取文件内容并存入Redis数据库内,当语义分词处理完用户发送的消息后,通过遍历经语义分词产生的结果集的每一个元素,判读是否出现在Redis数据库的停用词表内,若未出现将其添加进待文本分析列表(List)中,若出现则自动筛除,筛除的字符串不作为下一步文本分析的内容,接着判断用户是否为处于追问状态,所述追问状态具体情况为针对用户的问题可能涉及多个方面,服务方为提供更为精准的回答可事先封装客服消息接口,当用户消息进入技能库检索模块匹配到预设多解回复的关键词时,利用封装好客服消息接口构建相应回复消息的JSON数据包并向微信服务器发送请求调用客服消息发送接口给指定用户发送对应选项集的客服消息,记录下用户的openId,由用户选择希望咨询的选项,用户回复时则默认携带用户上一次语义分词的结果集作为参数进入技能库检索模块。若不是追问则直接进入技能库检索模块。
2、当消息类型为语音类型时,在微信公众号服务管理平台上启用接收语音识别结果功能,则服务器后台接收用户发送的消息时,用户通过post请求发送的XML数据包中会含有一个Recognition参数,所述Recognition参数是指UTF8编码的语音识别结果,将语音识别后获取到的字符串进行语义分词处理,所述语义分词处理具体表现为把一个完整的句子分割为若干独立的词语或字符并将分割好的各个字符串按照原语句位置顺序分别存入列表内(List),然后进行停用词过滤,所述停用词过滤具体表现为在外部文本文件内预先设置对于语义识别无意义的、不必要、可省略的字符串,在程序初始化时读取文件内容并存入Redis数据库内,当语义分词处理完用户发送的消息后,通过遍历经语义分词产生的结果集的每一个元素,判读是否出现在Redis数据库的停用词表内,若未出现将其添加进待文本分析列表(List)中,若出现则自动筛除,筛除的字符串不作为下一步文本分析的内容,所述追问状态具体情况为针对用户的问题可能涉及多个方面,服务方为提供更为精准的回答可事先封装客服消息接口,当用户消息进入技能库检索模块匹配到预设多解回复的关键词时,利用封装好客服消息接口构建相应回复消息的JSON数据包并向微信服务器发送请求调用客服消息发送接口给指定用户发送对应选项集的客服消息,记录下用户的openId,由用户选择希望咨询的选项,用户回复时则默认携带用户上一次语义分词的结果集作为参数进入技能库检索模块。若不是追问则直接进入技能库检索模块。
3、当消息类型为地理位置类型时,首先用户在关注公众号时后台服务器会向微信服务器发送http请求来获取用户基本信息,经用户同意后微信服务器会返回相关JSON数据包给公众号,所述JSON数据包包括city(用户所在城市)、country(用户所在国家)、province(用户所在省份)等参数数据,优选的当用户发送地理位置类型的消息时,用户通过post请求发送的XML数据包中会含有Location_x和Location_Y参数,所诉Location_x和Location_Y分别为地理位置纬度和地理位置经度,覆盖通过上述渠道获取到的用户地理位置信息,保存消息中的位置信息为用户当前地理位置,并在接下来相关服务中作为默认信息使用,若有多条地理位消息则会每次刷新用户的当前地理位置信息,通过用户消息获取的位置信息设置定时器任务使得该位置信息时效为1小时,失效后在用户下一次进入公众号或起用与位置相关的服务时重新获取用户的用户基本信息。
4、当消息类型为图像类型时,用户通过post请求发送的XML数据包中会含有PicUrl参数,所述PicUrlt是指图像链接(由系统生成),记录下PicUrl参数的内容,可选的后台服务器构建JSON数据包编辑一条文本信息,所述JSON数据包对象包括touser(用户openid)、msgtype(消息类型)、text(文本消息内容),通过http请求方式向微信服务器发送JSON调用客服接口向用户发送客服消息,提示用户消息发送成功,返回用户发送的图像的地址链接(PicUrl)用户可以在此地址链接中查看。
5、当消息类型为音乐类型时,用户通过post请求发送的XML数据包中会含有MusicUrl参数,所述MusicUrl是指图像链接(由系统生成),记录下MusicUrl参数的内容,可选的后台服务器构建JSON数据包编辑一条的文本信息,所述JSON数据包对象包括touser(用户openid)、msgtype(消息类型)、text(文本消息内容),通过http请求方式向微信服务器发送JSON调用客服接口向用户发送客服消息,提示用户消息发送成功,返回用户发送的音乐的地址链接(MusicUrl)用户可以在此地址链接中收听。
6、当消息类型为其他时,所述其他类型判断的依据是用户通过post请求发送的XML数据包的MsgType参数非上述消息处理中所涉及到的消息类型,可选的可选的后台服务器构建JSON数据包编辑一条的文本信息,所述JSON数据包对象包括touser(用户openid)、msgtype(消息类型)、text(文本消息内容),通过http请求方式向微信服务器发送JSON调用客服接口向用户发送客服消息,提示用户消息发送成功,但程序不理解暂时无法处理。
二、技能库检索模块,接收经提问分析模块处理后获得待文本分析列表(List)则进行相应的技能匹配,可选的默认当前技能库中存在三个技能,分别为天气查询(优先级3),导航查询(优先级2)和问答查询(优先级1),所述优先级的数值越大,优先程度越高,问答查询技能作为兜底技能即优先程度最低,可用于智能处理相关暂未被收录进业务范畴内的问题。通过对待文本分析列表进行遍历,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键字进行比对,得到候选答案事件组。
设待根据关键字从各技能库检索出候选答案事件文本分析列表(List)中各元素所代表的关键字x1、x2、x3、x4、...xn是样本空间的一个完备事件组(List=x1∪x2∪x3∪...∪xn),即各个关键词都代表候选答案事件组中对应的一个答案事件A,并且每一次事件组开始求解后最终生成的答案事件有且仅有一个最终解。若根据关键字从各技能库检索出两个及两个以上的候选答案事件时(A>1且A为正整数),会对答案事件进行匹配度估分,依据每个答案事件最终的分值Y判定最优解。具体公式如下:
其中(i=1,2,3,...,n;x=x1∪x2∪x3∪...∪xn)
Y表示A答案事件下命中用户意图的评估分值。
xi表示事件文本分析列表(List)中的第i个关键词。
A表示遍历候选答案事件组中的一个答案事件。
ki表示第i个关键词所处优先级影响命中的权重值。
P(xi)表示在文本分析列表优先命中xi代表的关键词的概率。
P(A|xi)表示xi代表的关键词命中用户意图的概率。
∑n i=1ki表示事件文本分析列表(List)中关键词所占权重总值。
优选的,虽然通过全概率公式模拟文本分析列表(List)各元素对于最终结果产生的影响,但在评分的过程中仍存在相关变量产生的影响,例如文本分析列表存在多个同一优先级下的关键词,且同一优先级下的关键词组内可能存在因主次顺序、从属关系和多次强调而对评分结果造成影响,因此引入干扰函数ξ(x)进行调优。
式中λA表示当前答案事件在答案事件组中的影响因子。该影响因子的分值由答案事件在答案事件组所处位置代表的优先级决定。即答案事件在答案事件组中位置越靠前,影响因子的分值越小。相对的,在计算干扰函数ξ(x)因舍去造成答案事件A的直接因素xA,即应将当前评分的候选答案事件组中答案事件A的干扰系数视为0:
式中f(xi)表示第i个关键词由于存在同一优先级下的其他关键词而产生的误差分值,根据关键词xi进行优先级的区域划分,可通过Xgboost算法进行训练。
1.当答案事件组内评分最高的答案事件触发技能库中天气查询的被识别关键字时,则执行天气查询服务。从Redis数据库中获取位置信息,若该字段为空则使用程序内预先设置好的默认位置信息即服务方所在地,再从待文本分析列表内判断是否含有代表时间性的词,如明天、昨天等,若为空则默认时间为今天,然后通过百度api或其他接口获取相关的天气信息,并将技能名称和执行结果传递到答案构建模块。
2.当答案事件组内评分最高的答案事件触发技能库中导航查询的被识别关键字时,从待文本分析列表内获取目的地信息,获取的方式是通过遍历待文本分析列表的每个元素,判断其中的某个元素是否出现在预先收录的地址集中,若目的地址信息被收录则返回成功,读取收录的地址集中的导航结果,若目的地信息未被收录则返回失败并通过Redis记录问题处理失败,将技能名称和执行结果交予答案构建模块。
3.当待文本分析列表内的元素无法通过上述技能的被识别关键字匹配时,则从知识库内进行新一轮的答案评分,所述知识库是指在Redis数据库内以键值对形式存储的被识别关键字与答案,其中被识别关键字和答案作为key值、所存储的内容(List)作为value值即answer=['回答1','回答2','回答3'],且在value数据内被识别关键字与答案通过所处位置一一对应,以被识别关键字为key值而对应的value值中,因为关键词存在的不唯一性,可使用列表(List)嵌套即list=[['关键词1','关键词2'],['关键词3','关键词4'],['关键词5','关键词6']],若待文本分析列表内的元素能通过以遍历被识别关键字为key值对应的value值中找到指定的被识别关键字时,则查询被识别关键词在以答案为key值对应的value值的中所处同位置的数据并视为答案事件组内的一个答案事件,各答案事件经过评分后选择分值最高位作为回复答案并返回“成功”,否则返回“失败”,将技能名称和执行结果交予答案构建模块。
4.技能库中技能执行的优先级具体表现为:假定天气(被识别词为温度),导航(被识别词为新街口),问答(被识别词为电话)的优先级如上述所示,当用户发送的消息中含有“温度”和“电话”时,将选择技能库中优先级更高的天气技能执行相应的服务,当用户发送的消息中同时含有“温度”、“新街口”和“电话”时,仍选择技能库中优先级更高的天气技能执行相应的服务。
三、答案构建模块,获取技能库检索模块的执行结果,首先判断返回格式是否为空或者失败,若为空或者则调用AI智能语音机器人接口,通过http请求方式向接口地址上传待文本分析列表,并获取经AI识别后的匹配到的智能答案来构建文本消息格式;若为正确的数据格式,则直接构建文本或图文消息格式。然后异步提交问题记录到MySQL数据库中,所述记录主要包括openId、问题内容、待文本分析列表、日期和是否解决,其中是否解决判断的依据为凡调用AI智能语音机器人接口来获取答案的问题均记录为未解决。最后将处理好的消息格式通过客服接口回复给用户。
四、服务管理模块包括查询消息记录,提供热点问题的报表数据,通过网页向服务器后台发送请求,读取MySQL数据库统计到的用户处理内容,可在网页内构建数据图显示数据库内统计到数目极多的相同关键词,记录出已解决问题和为解决问题的占比,优选的为统计和收集用户提出的各类问题,掌握用户目前的需求和所关心的问题提供可视化界面;技能库技能的增删改查,通过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,完成对于技能库的基本操作,优选的促进服务方信息管理模式的变化,使得信息管理的松散型模式逐步转向集约型模式,提高信息处理能力,增加用户回复的准确性;知识库的增删改查,过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,针对热点问题的报表数据的分析可进行热点问题的补录和优化,对于的未能处理的问题进行统计和衡量决定是否录入知识库予以完善,对于即时性的消息可以做出相关的改动调整,优选的将目前松散分布在各个平台中的知识,通过建设消息处理模块搭建知识仓库,有助于将松散的知识都集中起来进行高效且统一的管理。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.一种基于微信交互的智能消息处理系统,其特征在于,包括:微信客户端、服务器和消息处理模块;
所述微信客户端通过微信公众号为服务器配置提供接口,并为用户提供交互界面;
所述消息处理模块包括提问分析模块、技能库检索模块、答案构建模块和服务管理模块,实现智能消息处理;
用户通过微信客户端向微信公众号发送消息,服务器接收消息,提问分析模块对消息进行异步分析;
技能库检索模块,用于接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键词进行比对,得到候选答案事件组;
答案构建模块,用于获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;
服务管理模块,用于智能消息及各模块功能的管理;
所述技能库检索模块,接收经提问分析模块处理后获得的待文本分析列表List并与技能库中技能进行相应的技能匹配;
所述技能库包括三个技能,分别为天气查询,导航查询和问答查询,其优先级分别为3、2和1;
优先级的数值越大,优先程度越高;
问答查询技能作为兜底技能即优先程度最低,用于智能处理相关暂未被收录进业务范畴内的问题;
技能库检索模块通过对待文本分析列表进行遍历,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键词进行比对,得到候选答案事件组;
设待根据关键词从各技能库检索出候选答案事件文本分析列表List中各元素所代表的关键词x1、x2、x3、x4、...xn是样本空间的一个完备事件组:List=x1∪x2∪x3∪...∪xn,即各个关键词都代表候选答案事件组中对应的一个答案事件A,并且每一次事件组开始求解后最终生成的答案事件有且仅有一个最终解;
若根据关键词从各技能库检索出两个及两个以上的候选答案事件时,A>1且A为正整数,会对答案事件进行匹配度估分,依据每个答案事件最终的分值Y判定最优解,具体公式如下:
其中(i=1,2,3,...,n;x=x1∪x2∪x3∪...∪xn)
Y表示A答案事件下命中用户意图的评估分值;
xi表示事件文本分析列表List中的第i个关键词;
A表示遍历候选答案事件组中的一个答案事件;
ki表示第i个关键词所处优先级影响命中的权重值;
P(xi)表示在文本分析列表优先命中xi代表的关键词的概率;
P(A|xi)表示xi代表的关键词命中用户意图的概率;
∑n i=1ki表示事件文本分析列表List中关键词所占权重总值。
2.根据权利要求1所述的一种基于微信交互的智能消息处理系统,其特征在于,用户通过微信客户端向微信公众号发送消息,即一条post请求,微信服务器将post消息的XML数据包转发到服务器上,服务器接收用户请求,通过提问分析模块进行异步分析,解析post消息的XML数据包;
所述数据包包括ToUserName:开发者微信号、FromUserName:发送方账号、CreateTime:消息创建时间、MsgType:消息类别、MsgId:消息id;
所述消息类别包括文本类型、语音类型、地理位置类型、图像类型、音乐类型(music)和其他类型。
3.根据权利要求1所述的一种基于微信交互的智能消息处理系统,其特征在于,文本分析列表存在多个同一优先级下的关键词,且同一优先级下的关键词组内存在因主次顺序、从属关系和多次强调时,采用干扰函数ξ(x)进行调优:
式中λA表示当前答案事件在答案事件组中的影响因子;
所述影响因子的分值由答案事件在答案事件组所处位置代表的优先级决定,即答案事件在答案事件组中位置越靠前,影响因子的分值越小;
相对的,在计算干扰函数ξ(x)因舍去造成答案事件A的直接因素xA,即应将当前评分的候选答案事件组中答案事件A的干扰系数视为0:
式中f(xi)表示第i个关键词由于存在同一优先级下的其他关键词而产生的误差分值,根据关键词xi进行优先级的区域划分,通过Xgboost算法进行训练。
4.根据权利要求1所述的一种基于微信交互的智能消息处理系统,其特征在于,所述答案构建模块,获取技能库检索模块的执行结果,首先判断返回格式是否为空或者失败,若为空或者失败则调用AI智能语音机器人接口,通过http请求方式向接口地址上传待文本分析列表,并获取经AI识别后的匹配到的智能答案来构建文本消息格式;若为正确的数据格式,则直接构建文本或图文消息格式,然后异步提交问题记录到MySQL数据库中,所述记录包括openId、问题内容、待文本分析列表、日期和是否解决,其中是否解决判断的依据为凡调用AI智能语音机器人接口来获取答案的问题均记录为未解决,最后将处理好的消息格式通过客服接口回复给用户。
5.根据权利要求1所述的一种基于微信交互的智能消息处理系统,其特征在于,所述服务管理模块,用于查询消息记录、提供热点问题的报表数据、通过网页向服务器后台发送请求、读取MySQL数据库统计到的用户处理内容、在网页内构建数据图显示数据库内统计到数目极多的相同关键词以及记录出已解决问题和为解决问题的占比。
6.根据权利要求5所述的一种基于微信交互的智能消息处理系统,其特征在于,所述服务管理模块还用于:
统计和收集用户提出的各类问题,掌握用户目前的需求和所关心的问题提供可视化界面;
技能库技能的增删改查:通过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,完成对于技能库的基本操作;
促进服务方信息管理模式的变化,使得信息管理的松散型模式逐步转向集约型模式,提高信息处理能力,增加用户回复的准确性;
知识库的增删改查:过网页向服务器后台发送请求,读取Redis数据库内容并在网页内构建数据显示和表单操作页面,针对热点问题的报表数据的分析进行热点问题的补录和优化,对于的未能处理的问题进行统计和衡量决定是否录入知识库予以完善,对于即时性的消息做出相关的改动调整;
将目前松散分布在各个平台中的知识,通过建设消息处理模块搭建知识仓库,有助于将松散的知识都集中起来进行高效且统一的管理。
7.利用权利要求1-6任一所述的一种基于微信交互的智能消息处理系统的基于微信交互的智能消息处理方法,其特征在于,包括:
步骤1:微信客户端向微信公众号发送消息;
步骤2:服务器接收消息,提问分析模块对消息进行异步分析;
步骤3:技能库检索模块接收经提问分析模块处理后获得的待文本分析列表,进行相应的技能匹配,将列表内每一个元素分别与技能库中各个技能所设置的被识别关键词进行比对,得到候选答案事件组;
步骤4:答案构建模块获取技能库检索模块的执行结果,通过AI识别构建答案并回复给用户;
步骤5:服务管理模块对智能消息及各模块功能的管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591988.3A CN113468300B (zh) | 2021-05-28 | 2021-05-28 | 一种基于微信交互的智能消息处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591988.3A CN113468300B (zh) | 2021-05-28 | 2021-05-28 | 一种基于微信交互的智能消息处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468300A CN113468300A (zh) | 2021-10-01 |
CN113468300B true CN113468300B (zh) | 2024-01-23 |
Family
ID=77871676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110591988.3A Active CN113468300B (zh) | 2021-05-28 | 2021-05-28 | 一种基于微信交互的智能消息处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468300B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186053B (zh) * | 2022-02-17 | 2022-05-17 | 中科雨辰科技有限公司 | 一种用于事件消息的发送方法 |
CN115185716B (zh) * | 2022-09-13 | 2022-12-09 | 永鼎行远(南京)信息科技有限公司 | 一种智能消息总线平台 |
CN117668204A (zh) * | 2024-01-31 | 2024-03-08 | 暗物智能科技(广州)有限公司 | 一种应急管理平台的智能问答系统、方法、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914480A (zh) * | 2013-01-07 | 2014-07-09 | 重庆新媒农信科技有限公司 | 一种用于自动应答系统的数据查询方法、控制器及系统 |
CN105824933A (zh) * | 2016-03-18 | 2016-08-03 | 苏州大学 | 基于主述位的自动问答系统及其实现方法 |
CN109271505A (zh) * | 2018-11-12 | 2019-01-25 | 深圳智能思创科技有限公司 | 一种基于问题答案对的问答系统实现方法 |
KR20190053981A (ko) * | 2017-11-10 | 2019-05-21 | 효성아이티엑스(주) | 전화 응대 장치 |
CN110162611A (zh) * | 2019-04-23 | 2019-08-23 | 苏宁易购集团股份有限公司 | 一种智能客服应答方法及系统 |
CN110535752A (zh) * | 2019-08-26 | 2019-12-03 | 南京睿数网络科技有限公司 | 一种基于微信公众号的智能问答系统和方法 |
CN112507105A (zh) * | 2021-01-26 | 2021-03-16 | 王三山 | 一种基于微信公众号的多模智能问答系统及方法 |
CN112527983A (zh) * | 2020-11-27 | 2021-03-19 | 长威信息科技发展股份有限公司 | 一种个性化政务人机自然交互服务系统 |
-
2021
- 2021-05-28 CN CN202110591988.3A patent/CN113468300B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914480A (zh) * | 2013-01-07 | 2014-07-09 | 重庆新媒农信科技有限公司 | 一种用于自动应答系统的数据查询方法、控制器及系统 |
CN105824933A (zh) * | 2016-03-18 | 2016-08-03 | 苏州大学 | 基于主述位的自动问答系统及其实现方法 |
KR20190053981A (ko) * | 2017-11-10 | 2019-05-21 | 효성아이티엑스(주) | 전화 응대 장치 |
CN109271505A (zh) * | 2018-11-12 | 2019-01-25 | 深圳智能思创科技有限公司 | 一种基于问题答案对的问答系统实现方法 |
CN110162611A (zh) * | 2019-04-23 | 2019-08-23 | 苏宁易购集团股份有限公司 | 一种智能客服应答方法及系统 |
CN110535752A (zh) * | 2019-08-26 | 2019-12-03 | 南京睿数网络科技有限公司 | 一种基于微信公众号的智能问答系统和方法 |
CN112527983A (zh) * | 2020-11-27 | 2021-03-19 | 长威信息科技发展股份有限公司 | 一种个性化政务人机自然交互服务系统 |
CN112507105A (zh) * | 2021-01-26 | 2021-03-16 | 王三山 | 一种基于微信公众号的多模智能问答系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113468300A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113468300B (zh) | 一种基于微信交互的智能消息处理系统及方法 | |
TWI746690B (zh) | 自然語言問句答案的產生方法、裝置及伺服器 | |
KR100802511B1 (ko) | 토픽 기반의 검색 서비스 제공 시스템 및 그 방법 | |
CN110597962B (zh) | 搜索结果展示方法、装置、介质及电子设备 | |
CN105677793B (zh) | 地点数据库的建立和候选乘车地点的推荐方法及装置 | |
JP4880258B2 (ja) | 信頼性スコアを使用した自然言語コール・ルーティングのための方法および装置 | |
KR101099278B1 (ko) | 명명된 엔티티 목록 생성기, 명명된 엔티티 모델 생성 방법 및 컴퓨터 판독가능 기록 매체 | |
US7937402B2 (en) | Natural language based location query system, keyword based location query system and a natural language and keyword based location query system | |
JP4279427B2 (ja) | 通信支援方法及びシステム | |
CN109325091B (zh) | 兴趣点属性信息的更新方法、装置、设备及介质 | |
US20040249796A1 (en) | Query classification | |
CN101510197A (zh) | 信息检索系统 | |
CN109360550A (zh) | 语音交互系统的测试方法、装置、设备和存储介质 | |
JP4950508B2 (ja) | 施設情報管理システム、施設情報管理装置、施設情報管理方法および施設情報管理プログラム | |
JP2005535039A (ja) | 地理的なテキスト検索システムを備えたデスクトップクライアントとの対話 | |
US8489626B2 (en) | Method and apparatus for recommending a short message recipient | |
CN112948534A (zh) | 一种智能人机对话的交互方法、系统和电子设备 | |
US20130035929A1 (en) | Information processing apparatus and method | |
WO1999017242A2 (en) | On-line recruiting system with improved candidate and position profiling | |
CN109885665A (zh) | 一种数据查询方法、装置及系统 | |
CN103593412A (zh) | 一种基于树形结构问题的应答方法及系统 | |
CN110692042A (zh) | 在基于音频的计算环境中执行请求的动作的平台选择 | |
CN110580291A (zh) | 基于erp客户服务知识图谱的智能搜索方法及计算机设备 | |
CN110275949A (zh) | 用于贷款应用的自动应答方法及系统 | |
US20110055230A1 (en) | Community-Based Knowledge Sharing |
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 |