CN113590921B - 一种基于互动社交的信息检索方法及系统 - Google Patents
一种基于互动社交的信息检索方法及系统 Download PDFInfo
- Publication number
- CN113590921B CN113590921B CN202110889579.1A CN202110889579A CN113590921B CN 113590921 B CN113590921 B CN 113590921B CN 202110889579 A CN202110889579 A CN 202110889579A CN 113590921 B CN113590921 B CN 113590921B
- Authority
- CN
- China
- Prior art keywords
- user
- search
- social
- users
- engine
- 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 57
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 15
- 230000003997 social interaction Effects 0.000 claims abstract description 62
- 230000003993 interaction Effects 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 24
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 abstract description 10
- 238000004891 communication Methods 0.000 abstract description 9
- 238000004422 calculation algorithm Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010230 functional analysis Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000007619 statistical 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于互动社交的信息检索方法及系统。在使用搜索引擎进行搜索时,对符合搜索条件的文档,按照其与关键词的相关度进行排序。同时,根据用户查询将当前使用搜索引擎的所有用户分类,根据不同类别为每位用户订阅对应的聊天频道,让查询类别相同的用户在聊天频道内进行平等在线交流。在聊天频道中自动引入一个会话机器人,会话机器人也会与用户对查询相关的主题进行对话和信息推荐。在用户交流过程中,社交互动引擎分析理解用户的对话信息,动态调整检索结果的展示顺序,并对对话中涉及的内容进行高亮显示。本发明通过让用户间进行在线沟通,增强了用户对话与搜索引擎之间的互动,便于用户检索较难查询的问题,增加了检索效率体验感。
Description
技术领域
本发明涉及一种信息检索方法及系统,具体涉及一种基于互动社交的信息检索方法及系统。
背景技术
信息检索,是指将信息按一定的方式组织和存储起来,并根据用户的需要找出有关信息的过程。在现代社会中,信息检索是构建搜索引擎的基础技术,已经成为人们发现与获取知识的重要途径。
目前,用户在进行信息检索过程中,搜索引擎采用了查询补全、查询推荐、文档重排序等技术手段来提高信息检索的质量。其中,查询推荐更可以极大方便用户在信息检索过程中完成检索需求。不同的搜索引擎对于查询推荐的使用方法,如图1所示。
这些技术基本都依赖于搜索引擎对于用户日志的使用。通过对用户日志进行统计分析,以及使用相关机器学习算法,从而得到相应结果。使用用户日志进行分析的传统搜索引擎的拓扑结构如图2所示,它是一种单一中心节点的星状拓扑结构,即以搜索引擎为中心节点,为使用它的用户提供服务并且收集用户日志。这种拓扑结构优势在于方便添加新的节点到整个拓扑中。其缺点在于一旦中心节点发生故障,则整个拓扑结构将无法正常使用。当搜索引擎作为中心节点为整个拓扑结构提供服务时,搜索引擎使用不同技术所产生的偏差,必然会导致整个拓扑结构性能上发生巨大改变。
当前,搜索引擎虽然取得了巨大成功,但在涉及到用户的复杂和不确定性的信息需求时依然存在很大缺陷。例如,考虑如下所示的数学问题:“‘考虑函数fn(x)=sin ax(n=1,2,3,...,-π≤x≤π)作为L2的点’,证明这些点的集合是封闭且有界的,但不紧凑”当在搜索引擎中搜索该数学问题时,其搜索结果很难满足用户需求,其主要原因在于自然科学类的问题很多涉及到推断的过程,基于统计的传统方法很难涵盖到所有的信息。
目前,基于聊天模块的搜索引擎、基于机器人对话模块的搜索引擎等,虽然从一定程度上克服了当前搜索引擎中心拓扑结构的缺点,构建了去中心化的搜索引擎,如图3所示。但是,其在用户对话模块与检索模块之间依然缺乏有效的沟通桥梁以及反馈方式,无法利用用户在对话过程中产生的有效信息对检索结果产生良性影响。
由于传统搜索引擎以及去中心化的搜索引擎在拓扑结构上的缺陷,用户在搜索时,尤其是搜索复杂的问题时,目前的搜索引擎尚无法有效利用用户在即时社交对话的过程中产生的信息来优化搜索结果的排序情况。
发明内容
本发明的目的是为了克服现有技术存在的缺陷,针对信息搜索时如何有效利用用户在社交对话的过程中产生的信息来推荐相关信息和优化搜索结果的排序情况的技术问题,提出一种基于互动社交的信息检索方法及系统。
本发明综合了web在线聊天技术、分类技术以及用户对话理解技术。
一种基于社交互动的信息检索方法,包括以下步骤:
步骤1:用户提交查询(关键词或语句),搜索引擎检索出满足用户要求的内容,并将搜索结果返回给用户。
具体地,步骤1包括以下步骤:
步骤1.1:用户输入希望查询的关键词或语句,该查询被提交到服务器的搜索引擎中。
步骤1.2:服务器的搜索引擎计算出与该查询对应的搜索内容,并将结果返回给客户端,供用户浏览。
对于返回给客户端的搜索内容,是在没有社交信息的参与下,按照用户提交的查询与文档之间的相关性由高到低排序。
步骤2:在服务器端,利用分组引擎使用查询关键词进行分类,每个组对应一个类别,对每个类别都生成一个全局唯一的类别编号。
具体地,步骤2包括以下步骤:
步骤2.1:由于不同用户在客户端界面提交查询的时候,会产生许多查询。当用户提交查询时,服务器端的分组引擎将截止到目前为止正在使用搜索引擎的所有用户提交的查询都收集起来,将这些查询使用聚类或分类算法得到若干个不同的类别。
步骤2.2:对步骤2.1中生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号。类别编号在系统运行的过程中不可改变。
步骤3:服务器端的社交引擎根据步骤2生成的类别编号订阅相应的聊天频道。
具体地,步骤3包括以下步骤:
步骤3.1:用户在客户端提交查询后,在步骤1和步骤2的基础上,将当前查询对应到一个全局唯一的类别编号。其中,社交引擎为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询。
所述聊天频道,由当前时刻所有查询类别相同的用户构成,同时,还包含一个由系统自动引入的会话机器人。用户能够与其它查询同类问题的用户在线交流,同时,会话机器人能够与用户就查询相关的主题进行对话和信息推荐。
步骤3.2:如果用户更改了查询,并且新的查询的类别与原查询不同,则重复步骤3.1,为用户重新订阅相应的聊天频道,否则,保持当前的聊天频道。
步骤4:社交引擎持续保持客户端与步骤3中订阅的聊天频道之间的链接,并允许用户与其它查询同类问题的用户在线交流。
步骤5:利用社交互动引擎,让社交引擎与搜索引擎之间形成互动。
具体地,步骤5包括以下步骤:
步骤5.1:利用社交互动引擎,收集用户在社交引擎产生的用户间的对话信息,通过对用户间的对话信息在包括语义、情感等不同角度上进行理解和分析,之后根据分析结果为搜索引擎进行查询推荐,并动态调整步骤1中展示的检索结果及其排序。
步骤5.2:利用社交互动引擎分析用户间的对话信息,同时对搜索结果中的文档进行分词或信息抽取,并按照这些词语与用户对话的相关性从高到低排序,选取其中排名前n%(例如5%)的词语,将这些与用户对话较为相关的内容高亮显示出来。
步骤5.3:根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动;
其中,对聊天频道中的对话主题进行引导是指:聊天频道中由系统自动引入的会话机器人会向用户推荐与当前查询相关的内容,引导用户进一步搜索。
本发明提出一种基于社交互动的信息检索系统,在服务器端部署以下模块,包括搜索引擎模块、分组引擎模块、社交引擎模块和社交互动引擎模块。
其中,搜索引擎模块用于满足用户的检索要求。用户在界面提交希望查询的关键词后,搜索引擎模块检索出满足用户要求的内容,并将搜索结果返回给用户。
分组引擎模块用于将用户提交的查询进行分类,并对每个类别生成一个全局唯一的编号。当用户提交查询时,分组引擎模块将截止到目前为止正在使用搜索引擎的所有用户提交的查询都收集起来,将这些查询使用聚类或分类算法得到N个不同的类别。最后,对生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号,并且改类别编号在系统运行的过程中不可改变;
社交引擎模块用于为用户订阅一个聊天频道。用户提交查询后,通过搜索引擎模块和分组引擎模块,得到一个与查询对应且全局唯一的类别编号。社交引擎模块为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询。如果用户更改了查询,社交引擎模块会重新为用户订阅相应的聊天频道。
社交互动引擎模块用于实现用户社交和搜索之间的互动。社交互动引擎模块收集并分析用户在社交引擎模块产生的用户间的对话信息,根据分析结果动态调整检索结果及其排序。同时,把搜索结果中与用户对话较为相关的内容高亮显示出来。此外,根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动。
上述模块之间的连接关系为:
搜索引擎模块的输出端与分组引擎模块的输入端相连接,分组引擎模块的输出端与社交引擎模块的输入端相连接,社交互动引擎模块的输入端与社交引擎模块的输出端相连接,社交互动引擎模块的输出端与搜索引擎模块的输入端相连接。
有益效果
与现有技术相比,本发明具有以下有益效果。
在使用搜索引擎进行搜索的过程中,本发明的检索方法对符合搜索条件的文档按照其与查询的关键词的相关度进行排序。同时根据用户的查询,将当前使用搜索引擎的所有用户进行分类。进而通过得到的不同类别,为每位用户订阅对应的聊天频道,让查询类别相同的用户可以在聊天频道内进行平等的在线交流。同时,系统会在聊天频道中自动引入一个会话机器人,会话机器人也会与用户对查询相关的主题进行对话和信息推荐。在用户交流的过程中,社交互动引擎分析理解用户的对话信息,动态地调整检索结果的展示顺序,并对对话中涉及的内容进行高亮显示。本发明通过让用户间进行在线沟通,增强用户对话与搜索引擎之间的互动,便于用户检索一些较难查询的问题并且提升检索效率和检索体验。
附图说明
图1是传统的信息检索系统的功能分析图;
图2是传统的信息检索系统的用户与系统关系的拓扑结构图;
图3是去中心化的信息检索系统的用户与系统关系的拓扑结构图;
图4是本发明方法提出的用户与系统关系的拓扑结构图;
图5是基于社交互动的信息检索实现过程;
图6是基于社交互动的信息检索系统与web服务器构成的整体拓扑结构图;
图7是多态循环神经网络的示意图;
图8是用户使用基于社交互动的信息检索系统时的第一个截屏图;
图9是用户使用基于社交互动的信息检索系统时的第二个截屏图。
具体实施方式
下面结合附图对本发明技术方案作进一步详细描述。
一种基于互动社交的信息检索方法,包括以下步骤:
步骤1:用户提交查询(关键词或语句),服务器端的搜索引擎检索出满足用户要求的内容,并将搜索结果返回给用户。
步骤1.1:用户在客户端的用户界面输入希望查询的关键词或语句,该查询会被提交到服务器端的搜索引擎中。
其中,用户所使用的客户端指的是任何常用的浏览器,比如Firefox,IE,Chrome等。
步骤1.2:服务器端的搜索引擎提前对已有的文档建立好倒排索引,当搜索引擎接收到客户端提交的查询后,搜索引擎通过文档的TF-IDF值和PageRank值进行排序得到检索结果,并将结果返回给客户端的用户界面,以供用户浏览;
对于返回给客户端的搜索内容,是在没有社交信息的参与下,按照用户提交的检索与文档之间的相关性由高到低排序的;
步骤2:服务器端的分组引擎使用查询关键词进行分类,每个组对应一个类别,对每个类别都生成一个全局唯一的类别编号。
步骤2.1:不同用户在客户端界面提交查询的时候,会产生许多不同的查询。当用户提交查询时,服务器端的分组引擎将截止到目前为止正在使用搜索引擎的所有用户提交的查询收集起来,使用聚类算法(无监督方式)或者分类算法(监督方式),将这些查询进行分组,得到若干个不同的类别。
聚类或分类算法只是一种具体的实施手段,其目的在于根据用户的查询对用户进行分组。在具体实施的过程中,还可以采用预设类别标签和训练数据的有监督分类方法,或者是无监督的聚类方法。接下来,会对这两种方法的具体实施方式分别举例说明,但本发明不局限于目前提到的这几种方法。
有监督的分类方法,包括但不限于查询意图分类算法、深度学习方法、K-近邻算法等。以深度学习的方法为例,进一步说明实施方式:
(1)预设类别的标签,对数据进行预处理;
(2)在标注了类别标签的数据集上,训练一个分类器;
(3)将查询输入到分类器中,得到对应的类别;
(4)重复步骤(3)对所有查询进行类别划分。
K-means算法是典型的基于距离的无监督的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。这里以K-means聚类算法为例,进一步说明实施方式,但本发明不限于这一种聚类算法。算法的具体过程如下:
(1)从N个查询中随机选取K个作为质心;
(2)对剩余的N-K个查询,测量其中每一个查询到每个质心的距离,并且把它归类到最近的质心;
(3)重新计算已经得到的各个类的质心;
(4)迭代步骤(2)至(3),直至新的质心与原质心不大于指定阈值,算法结束。
其中,在计算查询关键词质心的过程中,采用词的词向量表示,词的词向量表示可以采用word2vector生成,或者其他可行的词向量生成方案。
步骤2.2:对步骤中生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号。每个类别编号都不与其他类重复,并且在系统运行的过程中不可被改变;
比如,将“游泳”,“跑步”这些查询分配到类1,代表体育类,并且生成一个相应的全局唯一的类别编号;对于“a+b=3”,“4+8=?”这类的查询分配到类2,代表数学类等。
步骤3:服务器端的社交引擎根据步骤2生成的类别编号订阅相应的聊天频道;
步骤3.1:用户在客户端提交查询后,通过步骤1和步骤2,可以得到一个与当前查询对应且全局唯一的类别编号。社交引擎模块为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询;
聊天频道是由当前时刻所有查询类别相同的用户构成的,同时还包含一个由系统自动引入的会话机器人。用户可以与与其它查询同类问题的用户在线交流,同时,会话机器人也会与用户就查询相关的主题进行对话和信息推荐。
步骤3.2:如果用户更改了查询,并且新的查询的类别与原查询不同,就重复步骤3.1,为用户重新订阅相应的聊天频道;
在具体实施过程中,为了实现聊天频道,可以采用Redis数据库的发布订阅功能,Web长链接功能或者其他第三方可以完成实施聊天功能的插件,不同技术手段的只是具体实施过程中具体选择,其目的在于为用户之间提供一个可以平等对话的桥梁。
以Redis数据库为例进一步说明本步骤的具体实施方式。本发明使用了Redis这个开源内存型数据库中Publish/Subscribe部分。比如,当用户提交的查询被分类为class1(类1)的时候,系统通过Redis命令SUBSCRIBE class1来订阅class1聊天频道,并且通过PUBLISH class1 hello发送hello这条消息给订阅该频道的其它用户。
步骤4:社交引擎持续性保持客户端与步骤3中订阅的聊天频道之间的链接,允许用户与其它查询同类问题的用户在线交流;
步骤5:利用社交互动引擎,让社交引擎与搜索引擎之间形成互动;
步骤5.1:社交互动引擎收集用户在社交引擎产生的用户间的对话信息,通过对用户间的对话信息在语义和情感等多个角度上进行理解和分析,根据分析结果,为搜索引擎进行查询推荐,并动态调整步骤1中展示的检索结果及其排序;
本发明具体实施过程中,使用多态循环神经网络对用户的对话进行动态语义理解,多态循环神经网络的原理如图7所示。将用户之间的对话按照语言模型不断地输入到多态循环神经网络中,产生用户对话核心向量D,对搜索引擎计算产生的每一条检索结果,都使用多态循环神经网络进行语言模型建模,计算每一条检索结果的向量表示。页面通常一次性展示10条检索结果,分别用R1,R2,…,R10表示,通过计算D与R1,R2,…,R10之间的余弦相似度,对检索结果重新排序。
多态循环神经网络仅是本步骤在具体实施过程所使用的方法,也可以使用其他循环神经网络、Transformer等其他网络计算检索结果的向量表示形式。
对检索结果进行冲排序的余弦相似度同样也是实施过程中所使用的方法,该步骤也可以使用欧氏距离等其他计算方法来进行排序过程。
步骤5.2:社交互动引擎分析用户间的对话信息,同时对搜索结果中的文档进行分词或信息抽取,按照这些词语与用户对话的相关性从高到低排序,选取其中排名前n%(例如5%)的词语,将这些与用户对话较为相关的内容高亮显示出来;
对于高亮显示部分,本发明使用jieba分词对检索结果中的文本内容进行分词,计算D与分词后得到的每个词的词向量之间的余弦相似度,根据计算结果从高到低排序,选取排名前n%(例如5%)的词进行高亮显示。jieba分词仅是本步骤在具体实施过程中所使用的一种工具,可以使用其他分词工具如哈工大分词,中科院分词等进行分词,或者不使用分词工具直接对句子进行字级别的处理来进行本步骤的实施。
步骤5.3:根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动;
对聊天频道中对话的主题进行引导是指:聊天频道中由系统自动引入的会话机器人会向用户推荐与当前查询相关的内容,引导用户进一步搜索。
一种基于社交互动的信息检索系统,如图6所示,在服务器端部署以下模块,包括:
搜索引擎模块,用于满足用户的检索要求:用户在界面提交希望查询的关键词后,搜索引擎模块检索出满足用户要求的内容,并将搜索结果返回给用户;
分组引擎模块,用于将用户提交的查询进行分类,并对每个类别生成一个全局唯一的编号:当用户提交查询时,分组引擎模块将截止到目前为止正在使用搜索引擎的所有用户提交的查询都收集起来,将这些查询使用分类或分组算法,得到若干个不同的类别。对生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号,并且该类别编号在系统运行的过程中不可改变;
社交引擎模块,用于为用户订阅一个聊天频道:用户提交查询后,通过搜索引擎模块和分组引擎模块,可以得到一个与查询对应且全局唯一的类别编号。社交引擎模块为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询;如果用户更改了查询,社交引擎模块会重新为用户订阅相应的聊天频道;
社交互动引擎模块,用于实现用户社交和搜索之间的互动:社交互动引擎模块收集并分析用户在社交引擎模块产生的用户间的对话信息,根据分析结果动态调整检索结果及其排序。同时,把搜索结果中与用户对话较为相关的内容高亮显示出来。另外,根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动。
搜索引擎模块的输出端与分组引擎模块的输入端相连接,分组引擎模块的输出端与社交引擎模块的输入端相连接,社交互动引擎模块的输入端与社交引擎模块的输出端相连接,社交互动引擎模块的输出端与搜索引擎模块的输入端相连接。
图1展示了传统信息检索的交互过程。用户把查询提交给搜索引擎后,搜素引擎利用相关技术,例如向量空间模型计算文本相似度、TF-IDF算法计算文档权重等,计算出用户提交的查询所对应的文档集合,然后将该文档集合作为搜索结果返回给用户。
如图2所示,传统的搜索引擎只包含用户和搜索引擎之间的交互,从拓扑结构上来看,搜索引擎是中心节点,这种有中心节点的拓扑结构使整个网络都强烈依赖中心节点的可靠性,并且不能在用户之间提供有效的沟通渠道。
基于聊天模块的搜索引擎以及基于机器人对话模块的搜索引擎的拓扑结构虽然实现了去中心化并且允许用户之间的交流,如图3所示。但是他们只为用户提供了对话的渠道,在用户社交与检索之间依然缺乏有效的反馈方式,无法利用用户在对话过程中产生的有效信息对检索结果产生良性影响。
图4展示了使用本发明后的用户和搜索引擎之间的拓扑结构。整个系统以用户为主体,实现了去中心化的拓扑结构,使得整个检索过程不再强烈依赖于检索结果。搜索引擎模块以及社交引擎模块为用户提供了有效的支撑,在不同用户之间建立了有效的互动交流的渠道。同时,社交互动引擎模块还为搜索引擎模块和社交引擎模块搭建了互动的桥梁。社交互动引擎模块收集分析社交引擎模块产生的用户对话信息,而后对搜索结果做出反馈,调整搜索结果的排序。用户可以实时看到搜素结果的调整,这也会影响到用户间的对话。
图5展现了基于社交互动的信息检索实现过程。用户在客户端的用户界面提交检索关键词到搜索引擎模块,搜索引擎模块返回相关文档作为搜素结果;分组引擎对搜索关键词进行分类,分类后的结果交由社交引擎进行处理;社交引擎帮助用户订阅不同的聊天频道,并为用户建立一个到相应频道的长链接;社交互动引擎通过分析用户在聊天频道中的对话内容,动态地调整搜索结果的排序情况,并对谈话中涉及到的重点内容高亮显示。
图6展示了在具体实施过程中,基于社交互动的信息检索系统采用的工具以及模块的划分。其中,客户端主要使用vue.js和elementUI来完成用户界面。Web服务器采用了python的Tornado框架。搜索引擎模块采用的了python的Whoosh工具包对已有的文档建立索引并提供搜索的支持。分组引擎模块在实施过程中采用了K-means算法对用户提交的搜索词进行分类。社交引擎模块采用了Redis数据库进行相应的支持,并且采用了WebSocket方式保持了用户的客户端与服务器的长链接。互动社交引擎采用了PyTorch进行相关模型的计算。
图8和图9是用户使用基于互动社交的信息检索系统的情况截图。在图8中,用户在搜索框中输入“北京景点”这一查询进行检索,系统在界面的左侧为用户返回了相应的搜索结果。同时,在界面右侧的互动部分,会话机器人主动与用户交流,并根据用户的查询,为用户做了推荐。接下来,用户在对话中提出问题:“故宫好玩吗?”另一位正在使用本系统的用户回答了该用户,如图9所示。该用户又提出了问题:“门票多少钱呀?”。系统根据用户的对话信息,调整了左侧搜索结果的排序,并且还对搜索结果中与用户对话较为相关的内容进行了高亮展示。
Claims (7)
1.一种基于社交互动的信息检索方法,其特征在于,包括以下步骤:
步骤1:用户提交查询,搜索引擎检索出满足用户要求的内容,并将搜索结果返回给用户;
步骤2:在服务器端,利用分组引擎使用查询关键词进行分类,每个组对应一个类别,对每个类别都生成一个全局唯一的类别编号;
步骤3:服务器端的社交引擎根据步骤2生成的类别编号订阅相应的聊天频道:
步骤3.1:用户在客户端提交查询后,在步骤1和步骤2的基础上,将当前查询对应到一个全局唯一的类别编号,其中,社交引擎为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询;
所述聊天频道,由当前时刻所有查询类别相同的用户构成,同时,还包含一个由系统自动引入的会话机器人,用户能够与其它查询同类问题的用户在线交流,同时,会话机器人能够与用户就查询相关的主题进行对话和信息推荐;
步骤3.2:如果用户更改了查询,并且新的查询的类别与原查询不同,则重复步骤3.1,为用户重新订阅相应的聊天频道,否则,保持当前的聊天频道;
步骤4:社交引擎持续保持客户端与步骤3中订阅的聊天频道之间的链接,并允许用户与其它查询同类问题的用户在线交流;
步骤5:利用社交互动引擎,让社交引擎与搜索引擎之间形成互动:
步骤5.1:利用社交互动引擎,收集用户在社交引擎产生的用户间的对话信息,通过对用户间的对话信息,从不同角度进行理解和分析,之后根据分析结果为搜索引擎进行查询推荐,并动态调整步骤1中展示的检索结果及其排序;
步骤5.2:利用社交互动引擎分析用户间的对话信息,同时对搜索结果中的文档进行分词、信息抽取,并按照这些词语与用户对话的相关性从高到低排序,选取其中排名前n%的词语,将这些与用户对话较为相关的内容高亮显示出来;
步骤5.3:根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动;
其中,对聊天频道中的对话主题进行引导是指:聊天频道中由系统自动引入的会话机器人会向用户推荐与当前查询相关的内容,引导用户进一步搜索。
2.如权利要求1所述的一种基于社交互动的信息检索方法,其特征在于,步骤1的实现方法如下:
步骤1.1:用户输入希望查询的关键词或语句,该查询被提交到服务器的搜索引擎中;
步骤1.2:服务器的搜索引擎计算出与该查询对应的搜索内容,并将结果返回给客户端,供用户浏览;
其中,对于返回给客户端的搜索内容,是在没有社交信息的参与下,按照用户提交的查询与文档之间的相关性由高到低排序。
3.如权利要求1所述的一种基于社交互动的信息检索方法,其特征在于,步骤2的实现方法如下:
步骤2.1:当用户提交查询时,服务器端的分组引擎将截止到目前为止正在使用搜索引擎的所有用户提交的查询都收集起来,将这些查询进行分类;
步骤2.2:对步骤2.1中生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号,类别编号在系统运行的过程中不可改变。
4.如权利要求1所述的一种基于社交互动的信息检索方法,其特征在于,步骤5.1中,使用多态循环神经网络对用户的对话进行动态语义理解。
5.如权利要求1所述的一种基于社交互动的信息检索方法,其特征在于,在步骤2.1中,采用预设类别标签和训练数据的有监督分类方法,对用户提交的查询进行分类。
6.如权利要求1所述的一种基于社交互动的信息检索方法,其特征在于,在步骤2.1中,采用K-means对用户提交的查询进行聚类。
7.一种基于社交互动的信息检索系统,其特征在于,在服务器端部署以下模块,包括搜索引擎模块、分组引擎模块、社交引擎模块和社交互动引擎模块;
其中,搜索引擎模块用于满足用户的检索要求;用户在界面提交希望查询的关键词后,搜索引擎模块检索出满足用户要求的内容,并将搜索结果返回给用户;
分组引擎模块用于将用户提交的查询进行分类,并对每个类别生成一个全局唯一的编号;当用户提交查询时,分组引擎模块将截止到目前为止正在使用搜索引擎的所有用户提交的查询都收集起来,将这些查询进行分类;最后,对生成的所有类别进行编号,使每个类别都对应一个全局唯一的编号,并且改类别编号在系统运行的过程中不可改变;
社交引擎模块用于为用户订阅一个聊天频道;用户提交查询后,通过搜索引擎模块和分组引擎模块,得到一个与查询对应且全局唯一的类别编号;社交引擎模块为用户订阅与该类别编号对应的聊天频道,直到用户更改了查询;如果用户更改了查询,社交引擎模块会重新为用户订阅相应的聊天频道;
社交互动引擎模块用于实现用户社交和搜索之间的互动;社交互动引擎模块收集并分析用户在社交引擎模块产生的用户间的对话信息,根据分析结果动态调整检索结果及其排序;同时,把搜索结果中与用户对话较为相关的内容高亮显示出来;此外,根据用户对检索结果的点击和浏览等交互信息,对聊天频道中对话的主题进行引导,从而形成搜索和社交之间的互动;
上述模块之间的连接关系为:
搜索引擎模块的输出端与分组引擎模块的输入端相连接,分组引擎模块的输出端与社交引擎模块的输入端相连接,社交互动引擎模块的输入端与社交引擎模块的输出端相连接,社交互动引擎模块的输出端与搜索引擎模块的输入端相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889579.1A CN113590921B (zh) | 2021-08-04 | 2021-08-04 | 一种基于互动社交的信息检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889579.1A CN113590921B (zh) | 2021-08-04 | 2021-08-04 | 一种基于互动社交的信息检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590921A CN113590921A (zh) | 2021-11-02 |
CN113590921B true CN113590921B (zh) | 2024-05-10 |
Family
ID=78254877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110889579.1A Active CN113590921B (zh) | 2021-08-04 | 2021-08-04 | 一种基于互动社交的信息检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590921B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999560A (zh) * | 2011-10-26 | 2013-03-27 | 微软公司 | 用社交网络特征提高姓名和其它搜索查询的搜索引擎结果页面的相关性 |
CN104050243A (zh) * | 2014-05-28 | 2014-09-17 | 黄斌 | 一种将搜索与社交相结合的网络搜索方法及其系统 |
WO2018017376A1 (en) * | 2016-07-19 | 2018-01-25 | Microsoft Technology Licensing, Llc | Systems and methods for responding to an online user query |
CN108460099A (zh) * | 2018-01-31 | 2018-08-28 | 天津大学 | 一种基于聊天模块的信息检索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114684A1 (en) * | 2008-09-25 | 2010-05-06 | Ronel Neged | Chat rooms search engine queryer |
-
2021
- 2021-08-04 CN CN202110889579.1A patent/CN113590921B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999560A (zh) * | 2011-10-26 | 2013-03-27 | 微软公司 | 用社交网络特征提高姓名和其它搜索查询的搜索引擎结果页面的相关性 |
CN104050243A (zh) * | 2014-05-28 | 2014-09-17 | 黄斌 | 一种将搜索与社交相结合的网络搜索方法及其系统 |
WO2018017376A1 (en) * | 2016-07-19 | 2018-01-25 | Microsoft Technology Licensing, Llc | Systems and methods for responding to an online user query |
CN109478196A (zh) * | 2016-07-19 | 2019-03-15 | 微软技术许可有限责任公司 | 用于对在线用户查询进行响应的系统和方法 |
CN108460099A (zh) * | 2018-01-31 | 2018-08-28 | 天津大学 | 一种基于聊天模块的信息检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113590921A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | UNBERT: User-News Matching BERT for News Recommendation. | |
La Gatta et al. | Music recommendation via hypergraph embedding | |
US8630627B2 (en) | Method and apparatus for processing messages in a social network | |
CN103838833B (zh) | 基于相关词语语义分析的全文检索系统 | |
Arotaritei et al. | Web mining: a survey in the fuzzy framework | |
CN101551806A (zh) | 一种个性化网址导航的方法和系统 | |
US20030212663A1 (en) | Neural network feedback for enhancing text search | |
CN110609950B (zh) | 一种舆情系统搜索词推荐方法及系统 | |
TWI734085B (zh) | 使用意圖偵測集成學習之對話系統及其方法 | |
CN114860868A (zh) | 一种语义相似度向量再稀疏编码索引与检索方法 | |
Halevy et al. | Discovering structure in the universe of attribute names | |
CN118132719A (zh) | 一种基于自然语言处理的智能对话方法及系统 | |
Kim et al. | Learning for automatic personalization in a semantic taxonomy-based meta-search agent | |
CN114741471A (zh) | 一种基于文本挖掘与多视角融合的个性化混合推荐方法 | |
Li et al. | Coltr: Semi-supervised learning to rank with co-training and over-parameterization for web search | |
CN118277521A (zh) | 一种基于llm的电力领域智能问答方法、系统、设备和介质 | |
EP2000925A1 (en) | An intelligent graph-based expert searching system | |
CN111581326B (zh) | 一种基于异构外部知识源图结构抽取答案信息的方法 | |
CN117951270A (zh) | 一种文档检索方法、装置及相关设备 | |
CN113590921B (zh) | 一种基于互动社交的信息检索方法及系统 | |
Aufaure | What’s up in business intelligence? A contextual and knowledge-based perspective | |
CN111444414A (zh) | 一种用于建模ad-hoc检索任务中多样相关特征的信息检索模型 | |
CN114942981A (zh) | 问答查询方法、装置、电子设备及计算机可读存储介质 | |
CN113886535A (zh) | 基于知识图谱的问答方法、装置、存储介质及电子设备 | |
CN112883143A (zh) | 一种基于Elasticsearch的数字展会搜索方法与系统 |
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 |