CN107491492B - 问题请求的处理方法、装置、服务器和存储介质 - Google Patents
问题请求的处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN107491492B CN107491492B CN201710601963.0A CN201710601963A CN107491492B CN 107491492 B CN107491492 B CN 107491492B CN 201710601963 A CN201710601963 A CN 201710601963A CN 107491492 B CN107491492 B CN 107491492B
- Authority
- CN
- China
- Prior art keywords
- user
- users
- request
- registered
- topn
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 238000012216 screening Methods 0.000 claims abstract description 45
- 239000011159 matrix material Substances 0.000 claims description 100
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 239000002131 composite material Substances 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 4
- 102000002274 Matrix Metalloproteinases Human genes 0.000 claims description 3
- 108010000684 Matrix Metalloproteinases Proteins 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 abstract description 12
- 230000008447 perception Effects 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 29
- 238000001914 filtration Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000013439 planning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101100001674 Emericella variicolor andI gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Educational Technology (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Educational Administration (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种问题请求的处理方法、装置、服务器和存储介质,该方法包括:接收第一注册用户的问题请求;问题请求中包括所请求解决的问题的问题类型;根据问题类型筛选出所有注册用户中能够解决问题请求的候选用户组;将问题请求和第一注册用户的个人联系信息推送到候选用户组中的用户,以使候选用户组中的用户能够联系到第一注册用户,为第一注册用户提供问题请求的解决方案。本发明实施例所述的方法,根据问题请求中的问题类型确定出候选用户组,将问题请求和所述第一注册用户的个人联系信息推送到候选用户组中的用户,与现有技术相比,问题请求的推送更具有针对性,可有效提高问题被解决的效率和用户的使用感知。
Description
技术领域
本发明实施例涉及数据管理、分析及服务技术领域,尤其涉及一种问题请求的处理方法、装置、服务器和存储介质。
背景技术
如今人们在生活中所遭受到的压力日益巨大,尤其是对于大学生而言,如果导致这些压力的问题不能够得到及时的解决,他们所遭受的压力不能够得到及时的疏导,可能会导致难以设想的严重后果。根据相关的研究所示,在中国大概有10%~30%的大学生有着不同程度的心理问题。那么帮助他们正视这些压力,帮助他们解决他们正在面对的生活问题,从源头开始抑制压力情绪的滋生,对于他们的未来人生有着至关重要的作用。
与之同时,伴随着如今移动互联网的高速发展,学生们已经习惯把他们生活中大部分的空闲时间都花在了在移动端的冲浪上。不仅如此,学生们遇到的问题大都是类似的,他们其中有人成功地解决了这些压力问题而走出了困境,如果能够调用这些人的力量也可以为解决大学生压力问题做出重大改变。如果能够结合移动互联网,设计一套系统让大家能够在上面提出问题,由后台把问题推荐给其他有能力胜任这个问题的用户,让他们互帮互助来解决他们所遇到的压力问题,以达到及时疏导大学生们心理压力的目的。
目前各种咨询沟通平台也层出不断,平台在接收到用户的咨询后,将咨询的问题公开在平台上,其他用户可以对该问题进行回复,但是由于平台每天每时接收到的咨询量是巨大的,平台上所显示的咨询问题随时在不断更新,某一用户的咨询问题在短时间内就很容易被忽略,问题被回复解决的概率和效率都很低,用户使用体验较差。
发明内容
针对现有技术中存在现有技术中问题请求被处理效率低、用户体验差的问题,本发明实施例提供了一种问题请求的处理方法、装置、服务器和存储介质。
本发明实施例提供了一种问题请求的处理方法,包括:
接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
本发明实施例提供了一种问题请求的处理装置,包括:
问题请求接收模块,用于接收第一注册用户的问题请求;所述问题请求中包括所述第一注册用户所请求解决的问题的问题类型;
候选用户组筛选模块,用于根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
问题请求推送模块,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
本发明实施例提供了包括接收器、处理器、存储器、发送器和通信总线,所述接收器、处理器、存储器和发送器通过通信总线完成相互间的通信;
所述接收器,用于接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
所述存储器中存储有被处理器执行时实现本发明实施例的所述处理方法的程序指令;
所述发送器,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例的所述处理方法。
本发明实施例提供的问题请求的处理方法、装置、服务器和存储介质,根据接收到的第一注册用户的问题请求中的问题类型确定出能够解决所述问题请求的候选用户组,将问题请求和第一注册用户的个人联系信息发送给候选用户组中的用户,与现有技术中将问题请求直接呈现给所有注册用户的方案相比,问题请求的推送更具有针对性,可有效提高问题被解决的效率,提高了用户的使用感知。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的一种问题请求的处理方法的流程示意图;
图2为本发明实施例中一种问题请求的处理装置的结构示意图;
图3为本发明实施例中一种服务器的结构示意图;
图4为本发明实施例一中问题请求处理服务器的框架示意图;
图5为本发明实施例一中用户接收到的问题请求的界面示意图;
图6本发明实施例一中新的问题请求提交界面示意图;
图7为本发明实施例一中服务器端向用户推送的待解决的愿望请求列表的界面示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例中提供的一种问题请求的处理方法的流程示意图,所述处理方法主要可以包括以下步骤:
步骤S11:接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
步骤S12:根据所述问题请求中所请求解决的问题的问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
步骤S13:将所述问题请求和第一注册用户的个人联系信息推送到所述候选用户组中的用户。
本发明实施例的目的是为用户提供一个互帮互助的平台。该方法的实施,首先需要用户向平台即服务器进行注册,将自己的注册信息发送到服务器,服务器对用户的注册信息认证通过后,接受用户的注册,用户成为平台的注册用户,注册用户便可以通过登录自己的注册账户,向服务器发送需要解决的问题请求。
当第一注册用户向服务器发送问题请求时,问题请求中除包括需要解决的问题的具体内容外,还包括需要解决的问题的问题类型,其中,所述问题类型为预置的n个问题类型备选项中的一个,n≥2,第一注册用户在向服务器发送问题请求时,在服务器提供的n个问题类型备选项中选择一个其所请求解决的问题的类型,服务器接收到注册用户的问题请求后,根据问题类型确定出第一注册用户之外的其他注册用户中能够解决该问题请求的注册用户,并将这些用户作为候选用户组,将所述问题请求和提交问题请求的与用户的个人联系信息推送到候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和第一注册用户的个人来联系信息,为第一注册用户反馈所述问题请求的解决方案。本发明实施例中,所述候选用户组中的用户为至少解决过一个问题请求的注册用户。
其中,用户向服务器进行注册的具体实现方案采用现有技术即可,用户在注册时需要提供哪些注册信息,可以根据实际应用场景进行设置,用户通过客户端向服务器提交服务器规定的注册信息,完成注册。一般的,所述注册信息可以包括但不限于用户的姓名、手机号、账户名、登陆密码等信息。
本发明实施例中,所述个人联系信息优选为第一注册用户的线下联系信息,可以包括但不限于第一注册用户的电话,候选用户组中的用户可以通过第一注册用户的线下联系信息与第一注册用户联系,以便更及时的为第一注册用户提供所述问题请求的解决方案。
本发明实施例提供的所述问题请求的处理方法,服务器会根据第一注册用户的问题请求中的问题类型确定出能够解决其问题请求的候选用户组,将问题请求发送给候选用户组中的用户,而并非是将问题请求直接呈现给所有注册用户,该方法与现有技术相比,将所述问题请求推送到根据用户请求的问题类型确定出的用户,问题请求的推送更具有针对性,可有效提高问题被解决的概率和效率。
在本发明一个优选实施例中,将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,包括:
将所述问题请求推送到所述候选用户组中的所有用户;
在接收到所述候选用户组中的第二注册用户对所述问题请求的接受确认信息时,将所述第一注册用户的个人联系信息发送给所述第二注册用户。
本实施例中,服务器在将第一注册用户的问题请求和个人联系信息推送到候选用户组的用户时,首先将问题请求推送到候选用户组的全部用户,而服务器只有在接收到候选用户组的第二注册用户确认接受服务器推送的问题请求后,才会将第一注册用户的个人联系信息发送给所述第二注册用户,从而更好的保护了第一注册用户的隐私。
为了节约服务器资源以及保护第一注册用户的个人联系信息不被过多的其他用户知晓,在本发明的一个实施例中,当接收到所述候选用户组中的一个第二注册用户对于所述问题请求的接受确认信息后,所述处理方法还可以包括:
删除推送到所述候选用户组中除所述第二注册用户外的其他用户的所述问题请求。
即只要有一个第二注册用户接受了服务器推送的所述问题请求,服务器就会将所述问题请求从候选用户组中除第二注册用户外的其他用户的账户中删除。
在发明一个实施例中,所述步骤S12中,根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组,包括:
根据所述问题类型,确定出所有注册用户中解决过相同类型问题的用户;
根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,n1≥1;
将所述topn1个用户确定候选用户组,n1≥1。
在本发明的一个实施例中,所述根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,包括:
根据所有已注册用户的数量和每个注册用户所解决过的各个类型的问题的数量,建立原始评分矩阵Rm×n;所述原始评分矩阵中的行数为所有已注册用户的数量m,列数为所述问题类型备选项的个数n,原始评分矩阵中的第i行第j列的元素值表示第i个用户所解决过的第j个类型的问题的数量;
对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵所述最终评分矩阵中不存在缺失项(矩阵中所有元素的值均大于0);
根据所述问题请求中的问题类型,在所述最终评分矩阵中与所述问题类型对应的一列中,查找出元素值最大的topn1个元素,根据所述topn1个元素所在的行确定出所述topn1个用户。
一个用户解决过的相同类型的问题的数量反映了该用户对于某类型问题的偏好。通过服务器所记录的历史数据即可得出原始评分矩阵Rm×n,但是由于原始评分矩阵Rm×n中会存在很多缺失数据,即矩阵中很多元素的值为0,如果直接根据该初始评分矩阵筛选所述topn1个用户,效果会很不理想,因此,需要对原始评分矩阵进行优化处理,以填充所述缺失数据,得到不存在缺失项的最终评分矩阵再根据该优化后的矩阵筛选出所述topn1个用户。
在本发明的一个实施例中,所述对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵包括:
设ri,j为原始评分矩阵Rm×n的第i行第j列的元素值,为最终评分矩阵的第i行第j列的元素值;
设则
其中,k为矩阵Pm×k的列数、矩阵Qk×n的行数,pi,k为矩阵Pm×k第i行第k列的元素值,qk,j为矩阵Qk×n的第k行第j列的元素值;
计算原始评分矩阵Rm×n和最终评分矩阵之间的损失函数min loss,计算公式为:
其中,β为预设的修正系数,β>0;
根据预设条件min loss<A,求解pi,k和qk,j,得到矩阵Pm×k和Qk×n,A为预设值,A>0;
根据矩阵Pm×k和Ql×n,计算得到最终评分矩阵
上述对原始评分矩阵进行优化得到最终评分矩阵的方案的具体推算过程如下:
假设最优评分矩阵可以被分解成Pm×k和Qk×n两个矩阵的乘积,而是不包含任何缺失数据的对于原始评分矩阵Rm×n的一种估计,因此可以得到下式
接下来的问题是如何求解满足条件的矩阵Pm×k和Qk×n。我们可以把它看作是机器学习领域中的回归问题来进行求解。
首先可以把原始评分矩阵Rm×n和最终评分矩阵之间误差的平方来作为损失函数,即:
最终需要求解Rm×n中的所有非缺失项的损失之和的最小值,即:
其中,表示最终评分矩阵中不存在缺失数据项,即没有元素值为零的数据。同时求解的过程当中为了使得模型结果能够有更好的泛化能力,通常会选择在损失函数中加入一个L2正则项,本发明实施例中,正则项为因此最终的损失函数为:
最终目标同样是求解原评分矩阵中的所有非缺失项的损失之和最小值(满足预设条件min loss<A),即:
在满足所述预设条件min loss<A的条件下,得到对应的求解矩阵Pm×k和Qk×n的元素pi,k和qk,j,进而得到矩阵Pm×k和Qk×n,再根据Pm×k和Qk×n得到最优评分矩阵。
本发明一个实施例中,所述根据预设条件min loss<A,求解pi,k和qk,j,包括:
利用梯度下降法求解损失函数min loss,直至min loss<a时,得到符合min loss<A条件下的pi,k和qk,j。
具体的,利用梯度下降法可求解上述式子(5),得到:
对于迭代的变量,每次迭代中使它加上梯度的反方向值:
其中,α为预设的搜索步长,α>0。
不停重复上述的迭代计算过程,直到结果收敛,即满足min loss<a,得到了符合min loss<A条件下的pi,k和qk,j。
在本发明的一个实施例中,所述根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户后,还包括:
根据预置的个人信息评分参数分别计算所述topn1个用户的用户个人信息评分,根据所述用户个人信息评分筛选出所述topn1个用户中评分最高的topn2个用户,n2≤n1;计算公式为:
其中,yS1表示用户s的个人信息评分,t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示第h个个人信息评估参数的分值;
将所述topn2个用户确定为候选用户组。
在本发明的一个实施例中,所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;所述根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,还包括:
根据所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度,筛选出所述topn1个用户中所对应的所述文本相似度最高的topn3个用户,n3≤n1;
将所述topn3个用户确定为候选用户组。
在本发明的一个实施例中,所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;所述根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,还包括:
根据预置的个人信息评分参数分别计算所述topn1个用户的个人信息评分,计算公式为:
其中,yS1表示用户s的个人信息评分,所述t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示预设的第h个个人信息评估参数的分值;
计算所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度;
根据所述topn1个用户中每个用户的个人信息评分和每个用户所对应文本相似度,计算出每个用户的综合评分,计算公式为:
ys=β1ys1+β2ys2
其中,ys表示用户s的综合评分,ys2表示用户s所对应的文本相似度,β1和β2分别为ys1和ys2的权重值,β1+β2=1;
根据所述topn1个用户中每个用户的综合评分,筛选出topn1个用户中综合评分最高的topn4个用户,n4≤n1;
将所述topn4个用户确定为候选用户组。
在实际应用中,对于所述topn1个用户中解决过的相同类型问题的数量大于1的用户,将所述问题内容与该用户解决过的所有相同类型问题的内容的文本相似度中的最大值作为该用户对应的文本相似度。
本发明实施例中,计算所述文本相似度的具体方案如下:
文本相似度计算原理
基于TF-IDF的向量空间模型文本相似度计算方法是目前使用最为广泛的文本相似度计算方法,它的主要思想就是把两个文本在同一个向量空间模型当中分别映射出其特征向量,然后利用余弦定理计算向量间的夹角,并以此来度量相似程度的结果。这里面涉及到的主要问题有两个,一是如何构建向量空间模型,二是如何在这个空间当中映射出有效的特征向量。
向量空间模型
首先需要收集到全集语料,在本发明实施例中全集语料选择为所述topn1个用户曾解决过的所有问题的文本信息,由于主要面向中文用户时,需要对收集到的全集语料进行中文分词的操作,这样对于全集语料就可以得到其中出现过的所有中文单词的集合,针对这个语料中所有出现过且不重复的单词集合我们就可以构建出一个向量空间,其中每一维代表的就是全集语料中出现过的每一个不重复的汉语单词,构成了向量空间后,需要对全集语料中的每一份文档分别计算出其bow向量,所谓的bow向量就是统计向量空间中每一维所代表的词在这份文档当中出现过多少次,这样就完成了全集语料往向量空间模型的转换。
TF-IDF模型
单纯地把全集语料映射到向量空间模型当中也就是对每一份文档得出其bow向量是不够的,需要对bow向量中的每一个维度的值抽取出更有效的特征值。本实施例中采用了TF-IDF技术作为每一个维度的特征值计算方法。
TF-IDF是信息检索领域中的常用技术,它用以估计文档中的某个词对这份文档的重要性。其中,TF值指的是词频,计算公式如下:
式中,ni,j是该词在文档dj中的出现次数,而分母则表示文档dj中所有词出现的总次数。
IDF值指的是逆文件频率,计算公式如下:
其中,|D|表示全集语料中的所有文档总数,而|{j:ti∈dj}|表示包含词ti的文档总数。
最终对于每份文档的bow向量中每一个维度的TF-IDF值就是tf-idfi,j=tfi,j×idfi。
余弦相似性计算
通过上面的向量空间模型构建以及TF-IDF模型的特征映射后,对于全集语料中的每一份文档就可以计算出其特征向量,然后利用余弦定理得出两个特征向量之间的夹角,并以此度量两份文档之间的相似程度。其计算公式如下:
上式中,Ai和Bi分别代表向量A和B的各分量。
综合上述三个步骤(TF-IDF模型、TF-IDF模型、余弦相似性计算)便可以得出最终新问题请求的文本与上述topn1个用户解决过的相同类型问题请求中的任何一个已解决历史问题请求的文本相似性,也就是得到了similarity(textj,text)的值。
文本相似度的软件程序化实现
程序化实现上述的文本相似度计算需要两个Python工具包,一是JIEBA中文分词工具包,另一个是gensim自然语言工具包。
JIEBA分词是著名的Python中文分词工具之一,由于其高准确性及使用简便性而流行于开发者社区当中。gensim是一个基于主题模型的功能强大的Python自然语言处理库,它能够将文档依据TF-IDF、LDA、LSI等模型来转化成向量空间模型。不仅如此,gensim还实现了word2vec的功能,能够把词映射成词向量。
假设raw_documents为原始的语料全集,也就是所有候选用户的所有已解决问题的文本信息,为Python List数据格式,其中每一条记录便是一个已解决问题的描述文本。又假设introduction为新问题(问题请求)的描述文本。首先,利用jieba.cut()方法来作分词,把raw_documents转换为其分词结果corpora_documents,也就是把raw_documents中的每一条结果再拆分为List结构,这个List中的每一个元素是原始语料中的一个词。之后,利用corpora.Dictionary()函数根据corpora_documents构建出词字典dictionary,也就是把其中出现过的所有词作统计,以词作为维度构建出向量空间。接着迭代循环corpora_documents中的每一份文本,得到每一份文本的bow向量,并组成bow向量的迭代器corpus。到这里即完成了原始语料到向量空间的映射。
之后需要对corpus中出现的每一个特征的TF-IDF值进行统计,可以利用models.TfidfModel()函数来完成,最终得到原始语料到向量空间的TF-IDF特征映射corpus_tfidf。最后需要根据上述模型来计算出所有候选文档与introduction之间的相似程度。同样,首先需要把introduction利用jieba.cut()进行分词,再利用dictionary.doc2bow()把其转换为对应的bow向量,接着利用之前得出的tfidf_model来得到其相应的向量空间TF-IDF特征值。最后利用similarities.Similarity()来计算其与其他候选文档的文本相似度即可。
本发明实施例中,基于评分矩阵的候选用户组的筛选,如果没有历史使用数据那么也就毫无用处,因此会存在冷启动的问题。为了解决该问题,本发明实施例中,在一个新的问题请求提出时,即接收到所述问题请求时,所述方法还包括:
将所述问题请求推送到所有新注册用户;所述新注册用户是指从未接受过任何问题请求的用户。
即对于每一个新提出的问题请求,会把它推荐给所有从来未解决过任何问题的新用户。这样做有两点好处,一是可以避免系统总是把某类问题推荐给少数部分的几位用户,增加了问题解决候选人的多样性;二是在新用户没有任何使用数据的情况下可以给新用户多种多样的选择,让他们自主挖掘自己的兴趣,最大限度地扩展他们的可能性。
本发明实施例所述的方法,在问题请求被任何一个被推荐用户(新注册用户或者被候选用户组中的用户)接受后,服务器才会将第一注册用户的个人联系信息发送给接收该接受了的用户,同时会删除其他推动到其他用户的所述问题请求。
本发明实施例所述的方法,在实际应用中,注册用户在向服务器提交新的问题请求时,还可以对所述问题请求的个性化设置,例如,设置所述问题请求被解决的最后期限,用于提醒候选用户组中的用户发起请求的用户希望其问题请求的最终解决限期,使候选用户组中的用户在接受某一问题前能够考虑是否有足够的时间精力来接受并帮助解决这个问题,同时也确保了这个问题在现实中被解决的时效性。此外,服务器还可以根据该期限对问题请求按照预设的处理规则进行处理,例如,当问题请求的最后期限到达且未被其他用户接受时,为了保障用户隐私服务器可以把这个问题彻底删除掉。另外,还可以在用户客户端设置“拒绝”选项,在问题的最后期限到达之前,接受了问题请求的被推荐用户有“拒绝”的选择,服务器收到该操作后可以对问题请求采用本发明实施例中同样的处理方案,将问题请求重新推送至另一名用户。此外,提出问题请求的用户还可以在其对应的客户端界面上设置其提出的问题请求的状态信息,例如,如果第二注册用户已经联系过第一注册用户,第一注册用户可以登录器账号将其问题请求的状态设置为已解决,还可以提交对第二注册用户的评价等等,使服务器能够更好的了解用户问题请求的处理状态。此外,为了更好的保护用户的隐私,在实际应用中,服务器在接收到第一注册用户发送来的问题请求已解决的确认信息时,还可以将已完成的问题请求从服务器和接收问题请求的用户的问题列表中删除(服务器接收到用户发送来的问题请求后会首先存储到服务器),接受问题请求的用户登录进入其账户时只能看到未完成的问题请求。
由于服务器的注册用户的数量及接收到的问题请求的相关数据都是一直在变化的,因此本发明实施例中原始评分矩阵的建立所依据的历史数据也是实时更新的,考虑到这一点,所述方法还可以包括:
按照预设的时间间隔,对所述原始评分矩阵进行更新,依据更新后的原始评分矩阵得到新的最终评分矩阵。
其中,所述时间间隔可以根据实际应用场景进行设置,如可以是24小时或其它间隔。
图2示出了本发明实施例提供的一种问题请求的处理装置的结构示意图,由图中可以看出,该处理装置包括问题请求接收模块21、候选用户组筛选模块22和问题请求推送模块23。
问题请求接收模块21,用于接收第一注册用户的问题请求;所述问题请求中包括所述第一注册用户所请求解决的问题的问题类型;
候选用户组筛选模块22,用于根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
问题请求推送模块23,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
本发明实施例中,所述问题请求推送模块23包括问题请求推送单元和联系信息推送单元。
问题请求推送单元,用于将所述问题请求推送到所述候选用户组中的所有用户;
联系信息推送单元,用于在接收到所述候选用户组中的第二注册用户对所述问题请求的接受确认信息时,将所述第一注册用户的个人联系信息发送给所述第二注册用户。
本发明实施例中,所述处理装置还包括问题请求删除模块。
问题请求删除模块,用于在接收到所述候选用户组中的一个第二注册用户对于所述问题请求的接受确认信息后,删除推送到所述候选用户组中除所述第二注册用户外的其他用户的所述问题请求。
本发明实施例中,所述候选用户组筛选模块22包括第一用户确认单元、第一用户筛选单元和第一候选用户组确定单元。
第一用户确认单元,用于根据所述问题类型,确定出所有注册用户中解决过相同类型问题的用户;
第一用户筛选单元,用于根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,n1≥1;
第一候选用户组确定单元,用于将所述topn1个用户确定候选用户组,n1≥1。
本发明实施例中,所述问题类型为预置的n个问题类型备选项中的一个,n≥2。
本发明实施例中,所述第一用户筛选单元包括原始评分矩阵建立子单元、矩阵优化子单元和用户筛选子单元。
原始评分矩阵建立子单元,用于根据所有已注册用户的数量和每个注册用户所解决过的各个类型的问题的数量,建立原始评分矩阵Rm×n;所述原始评分矩阵中的行数为至少解决过一个问题请求的所有已注册用户的数量m,列数为所述问题类型备选项的个数n,原始评分矩阵中的第i行第j列的元素值表示第i个用户所解决过的第j个类型的问题请求的数量;
矩阵优化子单元,用于对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵所述最终评分矩阵中不存在缺失项,即不存在元素值为0的数据项;
用户筛选子单元,用于根据所述问题请求中的问题类型,在所述最终评分矩阵中与所述问题类型对应的一列中,查找出元素值最大的topn1个元素,根据所述topn1个元素所在的行确定出所述topn1个用户。
本发明实施例中,所述矩阵优化子单元对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵具体用于:
设ri,j为原始评分矩阵Rm×n的第i行第j列的元素值,为最终评分矩阵的第i行第j列的元素值;
设则
其中,k为矩阵Pm×k的列数、矩阵Qk×n的行数,pi,k为矩阵Pm×k第i行第k列的元素值,qk,j为矩阵Qk×n的第k行第j列的元素值;
计算原始评分矩阵Rm×n和最终评分矩阵之间的损失函数min loss,计算公式为:
其中,β为预设的修正系数,β>0;
根据预设条件min loss<A,求解pi,k和qk,j,得到矩阵Pm×k和Qk×n,A为预设值,A>0;
根据矩阵Pm×k和Qk×n,计算得到最终评分矩阵
本发明实施例中,所述矩阵优化子单元根据预设条件min loss<A,求解pi,k和qk,j,具体包括:
利用梯度下降法求解损失函数min loss,直至min loss<A时,得到符合min loss<A条件下的pi,k和qk,j。
本发明实施例中,所述候选用户组筛选模块22还包括:
第二用户筛选单元,用于在根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户后,根据预置的个人信息评分参数分别计算所述topn1个用户的用户个人信息评分,根据所述用户个人信息评分筛选出所述topn1个用户中评分最高的topn2个用户,n2≤n1;计算公式为:
其中,yS1表示用户s的个人信息评分,t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示第h个个人信息评估参数的分值;
第二候选用户组确认单元,用于将所述topn2个用户确定为候选用户组。
本发明实施例中,所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;所述候选用户组筛选模块22还包括:
第三用户筛选单元,用于在根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,根据所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度,筛选出所述topn1个用户中所对应的所述文本相似度最高的topn3个用户,n3≤n1;
第三候选用户组确认单元,用于将所述topn3个用户确定为候选用户组。
本发明实施例中,所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;所述候选用户组筛选模块22还包括:
个人信息评分计算单元,用于在根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,根据预置的个人信息评分参数分别计算所述topn1个用户的个人信息评分,计算公式为:
其中,yS1表示用户s的个人信息评分,所述t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示预设的第h个个人信息评估参数的分值;
文本相似度计算单元,用于计算所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度;
用户综合评分计算单元,用于根据所述topn1个用户中每个用户的个人信息评分和每个用户所对应文本相似度,计算出每个用户的综合评分,计算公式为:
ys=β1ys1+β2ys2
其中,ys表示用户s的综合评分,ys2表示用户s所对应的文本相似度,β1和β2分别为ys1和ys2的权重值,β1+β2=1;
第四用户筛选单元,用于根据所述topn1个用户中每个用户的综合评分,筛选出topn1个用户中综合评分最高的topn4个用户,n4≤n1;
第四候选用户组确认单元,用于将所述topn4个用户确定为候选用户组。
本发明实施例中,当所述方法的应用场景为大学校园时,所述个人信息评分参数包括用户的性别、所学专业、年级和用户已接受的待解决的问题请求的数量;
所述个人信息评分的计算公式为:
其中,ΔgradeS、和acceptWishNumS分别表示用户s的年级、所学专业、性别和用户已接受的待解决的问题请求的数量的分值,ΔgradeS为用户s与第一注册用户的年级差、和为示性函数,若用户s与第一注册用户性别不同,否则,若用户s与第一注册用户所学专业相同,否则,acceptWishNumS为用户已接受的待解决的问题请求的数量,ω1、ω2、ω3、ω4分别表示ΔgradeS、和acceptWishNumS的权重值。
本发明实施例中,对于所述topn1个用户中解决过的相同类型问题的数量大于1的用户,将所述问题内容与该用户解决过的所有相同类型问题的内容的文本相似度中的最大值作为该用户对应的文本相似度。
本发明实施例中,所述处理装置还包括:
新用户问题推送模块,用于将所述问题请求推送到所有新注册用户;所述新注册用户是指从未接受过任何问题请求的用户。
本发明实施例中还提供了一种服务器,如图3所示,所述服务器包括接收器31、处理器32、存储器33、发送器34和通信总线35,接收器31、处理器32、存储器33和发送器34通过通信总线35完成相互间的通信;
所述接收器31,用于接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
所述存储器33中存储有被处理器32执行时实现权利要求1-14中任一项所述方法的程序指令,即处理器控制存储器中所存储的程序指令的执行;
所述发送器34,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
本发明实施例提供的所述服务器,用来完成本发明实施例前述任一实施例提供的所述处理方法。
本发明实施例中还提供了一种存储介质,所述存储介质中存储有计算机程序(程序指令),所述计算机程序被处理器执行时实现本发明实施例中提供的任一所述问题请求的处理方法。
因此,所述存储介质中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
下面结合一个具体的实施例对本发明实施例所提供的问题请求处理方法进行进一步详细说明。
实施例
本实施例的应用场景为的大学校园,用户为该学校的学生(包括在校和已毕业),服务器为校园服务器,用户向校园服务器注册时除需要提供基本个人信息(姓名、邮箱等)外,还需要提供用于验证用户为在校学生的个人信息,如所在学院、班级、学号等信息。采用本实施例所提供的方法,为学生提供了一个“心愿墙”平台,通过该平台起到学生之间可以互帮互助的效果。本实施例中,将学生的问题请求称为了愿望请求,平台提供的问题类型备选项包括数学学习、编程学习、外语学习、专业课学习、双学位学习、保研规划、出国规划、工作规划、实习咨询、父母关系、两性关系、其他问题等12大问题类型。
图4示出了本实施例中基于本发明实施例提供的问题请求的处理方法的“心愿墙”平台的系统框架图,本发明实施例所提供的方法在本实施例应用场景下的具体实施流程如下:
1、用户注册、登陆与个人信息维护
1)负责用户校园邮箱注册与认证、登录,以及在用户遗忘密码时,允许用户重设密码;
2)负责管理用户个人信息(包括姓名、学号、性别、单位、手机号等);
3)每次用户登录进入系统(用户自己的账户)时,可以查看自己的已被解决(其他用户帮自己解决过的)和未被解决(等待其他用户帮自己解决的)的愿望清单,也可以查看服务器向其推送的其他用户发起请求的待解决问题列表。
用户通过客户端软件向平台服务器进行注册并需要经过服务器的认证,认证通过后,服务器为用户提供对应的账户,用户便可以在手机或PC等终端设置上,进入客户端软件,通过自己的账户账号及密码登录自己的账户。
平台服务器可以根据实际的应用需求为用户提供其他功能,例如,用户可以在登陆自己的账户后,对自己的账户信息进行管理,完善姓名、学号、性别、单位、手机号等信息的设置。平台服务器还为用户提供密码重设功能,在忘记密码时或者需要重设密码时,通过向平台服务器发送密码重置请求完成密码重置。
2、用户提出一条新的愿望请求
本实施例中,用户完成注册后,平台服务器还为已注册账户分别分配了对应的菜单选项,如图5-图7所示,用户可以通过点击图中左上角的功能按钮,得到菜单选项列表,从列表中选择一个功能选项,就会呈现出该功能选项对应的操作界面,如图5所示,对应的是问题清单(用户接受的服务器推送的愿望请求)的界面,图6为新问题请求提出的操作界面,用户可以通过该界面向平台服务器提交新的愿望请求,图7为服务器端的界面,显示了服务器向用户推送的待解决的愿望请求列表。
本实施例中,如图6所示,一条愿望请求可以包含以下描述信息:问题名称、截止日期(用户希望愿望请求被解决的最后期限)、问题类型、问题详细描述(即问题内容)、问题相关图片等,
3、平台服务器推荐若干名候选用户响应一条愿望请求
当某一用户提交一个新的问题请求时,系统将此问题推荐给有能力解决问题的若干名候选用户,即确定候选用户组,将问题请求推荐给候选用户组中的用户。本实施例的具体推荐方案如下:
3.1基于矩阵分解的推荐
对于每一个被提出的新问题,推荐算法首先会根据这个问题的问题类型找出最擅长这类型问题的前100名用户。之所以不针对具体问题筛选候选用户而是针对问题的类型筛选候选用户,是因为本方法的应用场景其实是有区别于传统的推荐算法应用场景的。传统的推荐算法场景中,是系统把某一件商品推荐给某一位用户,而这些商品是可以有重复性的,也就是如果一位用户已经使用过某件商品了,这件商品依然可以被推荐给其他用户。而在本发明实施例的推荐场景当中,是系统把一个崭新的问题推荐给其他用户来让其他用户接受,一旦某一个问题被某位用户解决了那么这个问题就不再推荐给其他用户,也就是问题不具有可重复性,它所产生的使用数据不能作为协同过滤推荐算法使用,而此时唯一可用的便是此被解决问题所属的问题类型。因此本实施例中平台会记录下用户所解决的问题类型的偏好,并且以矩阵的形式存下,如下表所示:
如上表所示,其中每个数字代表用户曾经帮助别人解决过多少次这类问题,“-”表示用户没有解决过这种类型的问题,可以说这个数字反映了用户对于某类型问题的偏好。本实施例中,设置了每个用户所解决过的每个类型的问题的数量上限,最高次数为5,即一个用户解决过的一个类型的问题的数量超过5个时,矩阵中的元素值也设置是5。
通过历史数据即可得出上述矩阵即初始评分矩阵,但是当系统需要把新的问题推荐给其他用户时这个矩阵显然是不可用的,因为矩阵中存在很多形如“-”的缺失数据,那么针对某一类型的评分而对所有用户进行排序就是不可行的。因此需要某种方法去填充这些缺失的数据,这也是推荐算法的本质,即对原始评分矩阵进行优化,得到没有缺失项的最终评分矩阵。
在得到最终评分矩阵后,对于接收到的新的愿望请求,根据其对应的问题类型,在最终评分矩阵中首先根据问题类型查找到对应的列,找出该列元素值(即解决过的相同类型问题的数量)中最大的前100个元素,并根据这100个元素所在的行,确定出对于愿望请求所对应的问题类型的偏好的前100名用户。
3.2结合基于内容和协同过滤
通过上述基于矩阵分解的推荐后,对于新问题可以得到其所属问题类型最为擅长的前100名用户,接下来的工作是对这100名用户进行进一步的筛选,得出最终需要推荐的30名用户即候选用户组中的用户。
在基于矩阵分解的推荐算法中,唯一利用到的信息就是用户解决问题的类型信息,除此之外别无其他。而本实施例的系统中还拥有许多其他信息,包括用户的个人信息,包括年龄、专业、性别,也包括新问题的文本信息,例如新问题的标题、详细描述,同时系统中也记录了各位用户曾经解决过的所有问题的详细信息。这些信息均可以加以利用来进行进一步的过滤。而且,经过上述基于矩阵分解的推荐后得到的结果仅仅是每位用户对于某个类型问题的整体意见而已,他们每位对于这类型问题下的每个问题的看法依然是有很大差异的,因此要想做到个性化推荐就必须要考虑到这种差异,也就是需要利用更多的信息作进一步的过滤。
首先,基于用户的个人信息来对上述的100名候选用户作进一步的过滤。根据已有的经验可以知道几个重要的规则:①当用户与问题提出者之间的年级差距越大时,他能够帮助解决这个问题的可能性就越大;②当用户与问题提出者来自同一个专业的时候,他能够帮助解决这个问题的可能性也越大;③当用户与问题提出者的性别不同时,他愿意接受问题的可能性也会越大;④当用户越“清闲”,也就是他正在接受待解决的任务数量越小时,他愿意接受新的问题的可能性也越大。基于这几条规则,可以得出利用下面的公式计算出某一被推荐用户i在个人信息方面的评分为:
其中,ΔgradeS、和acceptWishNumS分别表示用户s的年级、所学专业、性别和用户已接受的待解决的问题请求的数量的分值,ΔgradeS为用户s与第一注册用户的年级差、和为示性函数,若用户s与第一注册用户性别不同,否则,若用户s与第一注册用户所学专业相同,否则,acceptWishNumS为用户已接受的待解决的问题请求的数量,ω1、ω2、ω3、ω4分别表示ΔgradeS、和acceptWishNumS的权重值。
ω1、ω2、ω3、ω4分别衡量了年级差、专业是否相同、性别是否相等、正在接受的问题数量这4种影响因素分别对最终评分的影响程度,四个权重之和为1,本实施例中ω1、ω2、ω3、ω4分别设置为0.5、0.5、0.5、-0.5。
除了利用用户的个人信息外,本实施例还通过协同过滤的方式,考虑用户曾经解决过的问题与新问题之间的相似性来得出用户对于这一新问题的评分,这里面的思想是如果用户曾经解决过与现在问题很类似的问题,那么他应该更有可能有能力解决现在的新问题。利用下面的公式来计算用户在这方面的得分:
上式表示对于每一位用户s,遍历其曾经解决过的问题列表history(i),如果他曾解决过的问题中有与现在新问题的问题类型相同的问题,就利用文本相似度计算函数similarity(textj,text)计算两问题之间的文本相似度,最终对每位用户取其计算到的最大值,作为他们在协同过滤历史问题信息方面的得分。
3.3计算综合得分
最终,分别通过基于个人信息进行过滤以及协同过滤的方式得到了ys1以及ys2,之后还需要把两者结合起来计算出100名用户中每个用户的综合得分,通过下列公式完成:
yS=β1ys1+β2yS2
式中,β1和β2是衡量基于个人信息和利用用户解决问题的历史信息两种方式的结果重要性的因子,即权重。根据实际经验,两者之间的重要性不相伯仲,因此β1和β2均设置为0.5。最终yi即为用户结合基于用户内容和协同过滤(利用用户解决问题的历史信息)两种方式的得分,按照这个得分从高到低排序得到上述前100名用户中的前30名的用户即为候选推荐用户。即这30个用户即为本实施例的候选用户组中的用户,平台将所述愿望请求推送到这30个用户。
4、被推荐用户自愿接受愿望请求,线下解决
本实施例中,用户的个人联系信息线下联系信息,即愿望请求通过线上去请求线下解决。当候选用户组中的用户即被推荐用户接收到一条问题请求时,他可以选择接受,只有选择接受他才能够看到问题提问者的详细联系信息。一旦某位候选用户接受问题,平台就会将问题请求从除所述某位候选用户之外的其他候选用户的账户中删除,即其他候选用户的任务栏中将看不到此被推荐的问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种问题请求的处理方法,其特征在于,包括:
接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案;
根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组,包括:
根据所述问题类型,确定出所有注册用户中解决过相同类型问题的用户;
根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,n1≥1;
将所述topn1个用户确定候选用户组,n1≥1;
所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;
所述根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,还包括:
根据预置的个人信息评分参数分别计算所述topn1个用户的个人信息评分,计算公式为:
其中,yS1表示用户s的个人信息评分,所述t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示预设的第h个个人信息评估参数的分值;
计算所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度;
根据所述topn1个用户中每个用户的个人信息评分和每个用户所对应文本相似度,计算出每个用户的综合评分,计算公式为:
ys=β1ys1+β2ys2
其中,ys表示用户s的综合评分,ys2表示用户s所对应的文本相似度,β1和β2分别为ys1和ys2的权重值,β1+β2=1;
根据所述topn1个用户中每个用户的综合评分,筛选出topn1个用户中综合评分最高的topn4个用户,n4≤n1;
将所述topn4个用户确定为候选用户组。
2.根据权利要求1所述的方法,其特征在于,所述将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,包括:
将所述问题请求推送到所述候选用户组中的所有用户;
在接收到所述候选用户组中的第二注册用户对所述问题请求的接受确认信息时,将所述第一注册用户的个人联系信息发送给所述第二注册用户。
3.根据权利要求2所述的方法,其特征在于,当接收到所述候选用户组中的一个第二注册用户对于所述问题请求的接受确认信息后,所述方法还包括:
删除推送到所述候选用户组中除所述第二注册用户外的其他用户的所述问题请求。
4.根据权利要求1所述的方法,其特征在于,所述问题类型为预置的n个问题类型备选项中的一个,n≥2。
5.根据权利要求1所述的方法,其特征在于,所述根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,包括:
根据所有已注册用户的数量和每个注册用户所解决过的各个类型的问题的数量,建立原始评分矩阵Rm×n;所述原始评分矩阵中的行数为至少解决过一个问题请求的所有已注册用户的数量m,列数为所述问题类型备选项的个数n,原始评分矩阵中的第i行第j列的元素值表示第i个用户所解决过的第j个类型的问题请求的数量;
对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵所述最终评分矩阵中不存在缺失项,即不存在元素值为0的数据项;
根据所述问题请求中的问题类型,在所述最终评分矩阵中与所述问题类型对应的一列中,查找出元素值最大的topn1个元素,根据所述topn1个元素所在的行确定出所述topn1个用户。
6.根据权利要求5所述的方法,其特征在于,所述对所述原始评分矩阵Rm×n进行优化,得到最终评分矩阵包括:
设ri,j为原始评分矩阵Rm×n的第i行第j列的元素值,为最终评分矩阵的第i行第j列的元素值;
设则
其中,k为矩阵Pm×k的列数、矩阵Qk×n的行数,pi,k为矩阵Pm×k第i行第k列的元素值,qk,j为矩阵Qk×n的第k行第j列的元素值;
计算原始评分矩阵Rm×n和最终评分矩阵之间的损失函数minloss,计算公式为:
其中,β为预设的修正系数,β>0;
根据预设条件minloss<A,求解pi,k和qk,j,得到矩阵Pm×k和Qk×n,A为预设值,A>0;
根据矩阵Pm×k和Qk×n,计算得到最终评分矩阵
7.根据权利要求6所述的方法,其特征在于,所述根据预设条件minloss<A,求解pi,k和qk,j,包括:
利用梯度下降法求解损失函数minloss,直至minloss<A时,得到符合minloss<A条件下的pi,k和qk,j。
8.根据权利要求1所述的方法,其特征在于,所述根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户后,还包括:
根据预置的个人信息评分参数分别计算所述topn1个用户的用户个人信息评分,根据所述用户个人信息评分筛选出所述topn1个用户中评分最高的topn2个用户,n2≤n1;计算公式为:
其中,yS1表示用户s的个人信息评分,t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示第h个个人信息评估参数的分值;
将所述topn2个用户确定为候选用户组。
9.根据权利要求1所述的方法,其特征在于,所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;
所述根据解决过相同类型的问题的数量,筛选出解决过相同类型的问题的用户中的topn1个用户后,还包括:
根据所述问题内容与所述topn1个用户中每个用户解决过的相同类型的问题的内容的文本相似度,筛选出所述topn1个用户中所对应的所述文本相似度最高的topn3个用户,n3≤n1;
将所述topn3个用户确定为候选用户组。
10.根据权利要求1所述的方法,其特征在于,当所述方法的应用场景为大学校园时,所述个人信息评分参数包括用户的性别、所学专业、年级和用户已接受的待解决的问题请求的数量;
所述个人信息评分的计算公式为:
其中,ΔgradeS、和acceptWishNumS分别表示用户s的年级、所学专业、性别和用户已接受的待解决的问题请求的数量的分值,ΔgradeS为用户s与第一注册用户的年级差、和为示性函数,若用户s与第一注册用户性别不同,否则,若用户s与第一注册用户所学专业相同,否则,acceptWishNumS为用户已接受的待解决的问题请求的数量,ω1、ω2、ω3、ω4分别表示ΔgradeS、和acceptWishNumS的权重值。
11.根据权利要求1所述的方法,其特征在于,对于所述topn1个用户中解决过的相同类型问题的数量大于1的用户,将所述问题内容与该用户解决过的所有相同类型问题的内容的文本相似度中的最大值作为该用户对应的文本相似度。
12.根据权利要求1所述的方法,其特征在于:所述方法包括:
将所述问题请求推送到所有新注册用户;所述新注册用户是指从未接受过任何问题请求的用户。
13.一种问题请求的处理装置,其特征在于,包括:
问题请求接收模块,用于接收第一注册用户的问题请求;所述问题请求中包括所述第一注册用户所请求解决的问题的问题类型;
候选用户组筛选模块,用于根据所述问题类型筛选出所有注册用户中能够解决所述问题请求的候选用户组;
问题请求推送模块,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案;
所述候选用户组筛选模块包括:
第一用户确认单元,用于根据所述问题类型,确定出所有注册用户中解决过相同类型问题的用户;
第一用户筛选单元,用于根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户,n1≥1;
第一候选用户组确定单元,用于将所述topn1个用户确定候选用户组,n1≥1;
所述问题请求中还包括所述第一注册用户所请求解决的问题的问题内容;
所述候选用户组筛选模块还包括:
第二用户筛选单元,用于在根据解决过相同类型的问题的数量,筛选出解决过的相同类型问题数量最多的topn1个用户后,根据预置的个人信息评分参数分别计算所述topn1个用户的用户个人信息评分,根据所述用户个人信息评分筛选出所述topn1个用户中评分最高的topn2个用户,n2≤n1;计算公式为:
其中,yS1表示用户s的个人信息评分,t表示阈值的个人信息评估参数的个数,ωh表示第h个个人信息评估参数的权重值,Vh表示第h个个人信息评估参数的分值;
第二候选用户组确认单元,用于将所述topn2个用户确定为候选用户组。
14.一种服务器,其特征在于,包括接收器、处理器、存储器、发送器和通信总线,所述接收器、处理器、存储器和发送器通过通信总线完成相互间的通信;
所述接收器,用于接收第一注册用户的问题请求;所述问题请求中包括所请求解决的问题的问题类型;
所述存储器中存储有被处理器执行时实现权利要求1-12中任一项所述方法的程序指令;
所述发送器,用于将所述问题请求和所述第一注册用户的个人联系信息推送到所述候选用户组中的用户,以使候选用户组中的用户能够获取到所述问题请求和个人联系信息,为第一注册用户反馈所述问题请求的处理方案。
15.一种存储介质,其特征在于:所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-12中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601963.0A CN107491492B (zh) | 2017-07-21 | 2017-07-21 | 问题请求的处理方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601963.0A CN107491492B (zh) | 2017-07-21 | 2017-07-21 | 问题请求的处理方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107491492A CN107491492A (zh) | 2017-12-19 |
CN107491492B true CN107491492B (zh) | 2019-12-17 |
Family
ID=60643766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710601963.0A Active CN107491492B (zh) | 2017-07-21 | 2017-07-21 | 问题请求的处理方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491492B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353050A (zh) * | 2019-12-27 | 2020-06-30 | 北京合力亿捷科技股份有限公司 | 一种电信客服垂直领域的词库构建方法及工具 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838642A (zh) * | 2005-03-21 | 2006-09-27 | 华为技术有限公司 | 利用即时消息系统实现问答业务的方法及系统 |
CN101364959A (zh) * | 2008-09-28 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 网络互助解答的方法及系统 |
CN104951664A (zh) * | 2015-07-22 | 2015-09-30 | 通号通信信息集团有限公司 | 建筑物倾斜角度的预测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140201624A1 (en) * | 2013-01-11 | 2014-07-17 | Felt LLC | Sentimental card selection, creation and processing application |
-
2017
- 2017-07-21 CN CN201710601963.0A patent/CN107491492B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838642A (zh) * | 2005-03-21 | 2006-09-27 | 华为技术有限公司 | 利用即时消息系统实现问答业务的方法及系统 |
CN101364959A (zh) * | 2008-09-28 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 网络互助解答的方法及系统 |
CN104951664A (zh) * | 2015-07-22 | 2015-09-30 | 通号通信信息集团有限公司 | 建筑物倾斜角度的预测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107491492A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169419B2 (en) | System and method for generating social summaries | |
JP5731250B2 (ja) | 情報ストリーム中の興味深いコンテンツを推奨するためのシステムおよび方法 | |
US20170236073A1 (en) | Machine learned candidate selection on inverted indices | |
CN105247507B (zh) | 用于确定品牌的影响力得分的方法、系统和存储介质 | |
US10776885B2 (en) | Mutually reinforcing ranking of social media accounts and contents | |
US9218568B2 (en) | Disambiguating data using contextual and historical information | |
US20190138645A1 (en) | Automated document assistant with top skills | |
US20190138637A1 (en) | Automated document assistant using quality examples | |
CN101496003A (zh) | 社交网络中用户的兼容性评分 | |
US20100185578A1 (en) | Social network analysis with prior knowledge and non-negative tensor factorization | |
US11232522B2 (en) | Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source | |
CN112559895B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
WO2018068648A1 (zh) | 一种信息匹配方法及相关装置 | |
lvaro Cuesta et al. | A Framework for massive Twitter data extraction and analysis | |
US11651039B1 (en) | System, method, and user interface for a search engine based on multi-document summarization | |
WO2020033117A9 (en) | Dynamic and continous onboarding of service providers in an online expert marketplace | |
JP5048852B2 (ja) | 検索装置、検索方法、検索プログラム、及びそのプログラムを記憶するコンピュータ読取可能な記録媒体 | |
US20230063713A1 (en) | Sentence level dialogue summaries using unsupervised machine learning for keyword selection and scoring | |
CN110737837A (zh) | ResearchGate平台下基于多维特征的科研合作者推荐方法 | |
Cui et al. | Personalized microblog recommendation using sentimental features | |
CN107491492B (zh) | 问题请求的处理方法、装置、服务器和存储介质 | |
US20170186102A1 (en) | Network-based publications using feature engineering | |
US10445061B1 (en) | Matching entities during data migration | |
Li | A note on a by-claim risk model: Asymptotic results | |
JP7003481B2 (ja) | ソーシャル・メディア・アカウントおよびコンテンツの相互に補強するランキング |
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 |