CN112347339A - 一种搜索结果处理方法及装置 - Google Patents
一种搜索结果处理方法及装置 Download PDFInfo
- Publication number
- CN112347339A CN112347339A CN202011345102.9A CN202011345102A CN112347339A CN 112347339 A CN112347339 A CN 112347339A CN 202011345102 A CN202011345102 A CN 202011345102A CN 112347339 A CN112347339 A CN 112347339A
- Authority
- CN
- China
- Prior art keywords
- search
- word
- search result
- context
- keyword
- 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.)
- Pending
Links
Images
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/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种搜索结果处理方法及装置,获取基于文本输入的搜索词,并确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量;获得所述搜索词对应的各搜索结果,并分别确定所述各搜索结果的上下文表示向量;根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度;根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果,这样,根据上下文信息对搜索结果进行过滤,提高了搜索结果的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种搜索结果处理方法及装置。
背景技术
随着互联网搜索引擎的发展,搜索需求无处不在,例如常见的阅读场景,用户当看到某个感兴趣的词需要搜索时,可以在屏幕上长按该词,进而***可以根据手指长按的位置确定对应的搜索词,并提示用户发起“搜一搜”操作,点击后即可获得该搜索词的搜索结果,但是相关技术中直接将选中的词作为搜索词,返回的搜索结果也是与用户在搜索框中主动输入该搜索词相同的结果,未进行任何处理,搜索结果不能感知搜索词在当前所处阅读场景下具有的特定含义信息,从而导致搜索结果不准确。
发明内容
本申请实施例提供一种搜索结果处理方法及装置,以提高搜索结果的准确性。
本申请实施例提供的具体技术方案如下:
本申请一个实施例中提供了一种搜索结果处理方法,包括:
获取基于文本输入的搜索词,并确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量;
获得所述搜索词对应的各搜索结果,并分别确定所述各搜索结果的上下文表示向量;
根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度;
根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果。
本申请另一个实施例中提供了一种搜索结果处理装置,包括:
获取模块,用于获取基于文本输入的搜索词;
第一确定模块,用于确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量;
第二确定模块,用于获得所述搜索词对应的各搜索结果,并分别确定所述各搜索结果的上下文表示向量;
第三确定模块,用于根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度;
过滤模块,用于根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果。
本申请另一个实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种搜索结果处理方法的步骤。
本申请另一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种搜索结果处理方法的步骤。
本申请另一个实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的任一种搜索结果处理方法。
本申请实施例中,获取基于文本输入的搜索词,并确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量,并获得所述搜索词对应的各搜索结果,分别确定所述各搜索结果的上下文表示向量,进而根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度,根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果,这样,针对获得的各搜索结果,可以根据搜索词的上下文信息和各搜索结果的上下文信息,对各搜索结果进行筛选和过滤,使得过滤后的搜索结果更加符合搜索词的上下文信息,提高搜索结果的准确性。
附图说明
图1为本申请实施例中搜索结果处理方法的应用架构示意图;
图2为本申请实施例中搜索结果处理方法流程图;
图3为本申请实施例中从搜索引擎中爬取具有多义词标识的词语的示意图;
图4为本申请实施例中词向量模型的原理示意图;
图5为本申请实施例中发起搜索流程的界面示意图;
图6为相关技术中返回搜索结果的示意图;
图7为本申请实施例中返回搜索结果的示意图;
图8为本申请实施例中搜索结果处理装置结构示意图;
图9为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面先对几个概念进行简单介绍:
指尖搜索词:本申请实施例中指尖搜索词表示通过手指唤起的搜索词,而不是用户在搜索框中主动输入的搜索词,通常是在一段文本中通过手指选定词语并进行搜索的场景,例如在阅读场景,用户可以长按某个词语位置,可以根据用户手指长按的位置确定对应的搜索词,并点击搜一搜操作,即可以获得该搜索词的搜索结果,本申请实施例中提到的搜索词,主要是表示指尖搜索词,当然本申请实施例中并不仅限于指尖搜索词,也可以是任何通过在一段文本中发起搜索场景中的搜索词。
歧义词:本申请实施例中歧义词表征具有至少两个不同语义的词语,也可以称为多义词,例如“BD”,可能有多种解释,例如可以解释为商务拓展(Business Developmen,BD),又可以解释为蓝光(Blu-ray Disc,BD),即“BD”为一个歧义词。
关键词:关键词通常是可以代表文章、搜索结果等内容的主题,并有实质意义的词语,目前有多种方法可以提取关键词,本申请实施例中对于提取关键词方法并不进行限制。
上下文表示向量:本申请实施例中的上下文表示向量,主要是用于反映上下文信息,可以根据提取出的关键词来确定。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。例如,本申请实施例中主要涉及自然语言处理技术,可以对搜索词所在文本或搜索结果进行分词,并进行关键词提取等操作。又例如,还可以对搜索词和从搜索结果中提取的关键词进行上下文语义分析,进而确定搜索词和搜索结果的上下文表示向量。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案主要涉及人工智能的自然语言处理技术,具体通过如下实施例进行说明:
随着互联网搜索引擎的发展,搜索需求无处不在,除了用户可以主动在搜索框中键入搜索词外,用户还可以在文本内容中,通过选中词语发起搜索流程,例如在智能终端上的阅读场景中,用户当看到某个感兴趣的词需要搜索时,可以在屏幕上长按该词,进而***可以根据手指长按的位置确定对应的搜索词,并提示用户发起“搜一搜”操作,点击后即可获得该搜索词的搜索结果,但是相关技术中直接将选中的词作为搜索词,未进行任何处理直接输入给搜一搜***,返回的搜索结果也是与用户在搜索框中主动输入该搜索词相同的结果,搜索结果不能感知搜索词在当前所处阅读场景下具有的特定含义信息,尤其是在搜索词存在歧义的情况下,返回的搜索结果会不准确,不能满足用户需求。
因此,针对上述问题,本申请实施例中提供了一种搜索结果处理方法,确定搜索词为歧义词时,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量,并分别确定搜索词对应的各搜索结果的上下文表示向量,根据搜索词的上下文表示向量和各搜索结果的上下文表示向量,分别确定搜索词与各搜索结果的相似度,进而根据确定的各相似度,对各搜索结果进行过滤,这样,确定搜索词为歧义词时,可以根据搜索词所在的上下文信息对各搜索结果进行消歧和过滤,从而使得返回的搜索结果与搜索词所在上下文或场景主题语义更相近,提高了搜索结果的准确性。
参阅图1所示,为本申请实施例中搜索结果处理方法的应用架构示意图,包括终端100、服务器200。
终端100可以是智能手机、平板电脑、便携式个人计算机、台式计算机、智能电视、智能机器人、车载电子设备等任何智能设备,终端100上可以安装有各种应用程序(Application,APP),例如,用户通过某APP进行阅读时,例如阅读小说、阅读公众号文章等,对某个词语比较感兴趣,可以长按该词语唤起搜索功能,进而点击搜索即向服务器200发送了基于该词语的搜索请求,进一步地,本申请实施例中,终端100还可以将该词语的上下文信息发送该服务器200,进而服务器200接收到搜索词后,确定该搜索词的各搜索结果,并判断该搜索词为歧义词,则可以根据该搜索词的上下文信息和确定的各搜索结果的上下文信息,对各搜索结果进行过滤,可以将过滤后的搜索结果返回给终端100,终端100展示服务器200返回的搜索结果,这样,返回的搜索结果更加贴近搜索词所在文本的上下文信息,提高了搜索结果的准确性,返回的搜索结果也更加符合用户的搜索需求。
服务器200能够为终端100提供各种网络服务,对于不同的应用程序,服务器200可以认为是相应的后台服务器,其中,服务器200可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
终端100与服务器200之间可以通过互联网相连,实现相互之间的通信。可选地,上述的互联网使用标准通信技术和/或协议。互联网通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-upLanguage,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure SocketLayer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(VirtualPrivate Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
值得说明的是,本申请各实施例中搜索结果处理方法可以由服务器200侧执行,当然也可以由终端100执行,本申请实施例中并不进行限制,以由服务器200执行为例,服务器200从终端100获取搜索词和搜索词的上下文信息,进而基于本申请实施例中的搜索结果处理方法,对各搜索结果进行过滤,仅返回过滤后的搜索结果。又例如,以由终端100执行为例,终端100将包含搜索词的搜索请求发送给服务器200,服务器200返回基于该搜索词的各搜索结果,进而终端100基于本申请实施例中的搜索结果处理方法进行过滤,即终端100基于搜索词的上下文信息和各搜索结果的上下文信息,对各搜索结果进行过滤,并向用户展示过滤后的搜索结果。
需要说明的是,本申请实施例中的应用架构图是为了更加清楚地说明本申请实施例中的技术方案,并不构成对本申请实施例提供的技术方案的限制,可以应用于在终端上阅读等场景,通过手指长按发起搜索流程的场景,也可以应用于其它在包含上下文信息中的针对某个词语发起搜索流程的场景,并不进行限制,但是对于其它的应用架构和业务应用,本申请实施例提供的技术方案对于类似的问题,同样适用。
本申请各个实施例中,以搜索结果处理方法应用于图1所示的应用架构为例进行示意性说明。
基于上述实施例,参阅图2所示,为本申请实施例中搜索结果处理方法流程图,以应用于服务器为例进行说明,具体该方法包括:
步骤200:获取基于文本输入的搜索词,并确定搜索词为歧义词时,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量。
本申请实施例中,主要针对具有上下文信息,基于文本输入的搜索词,而不是在搜索框中输入搜索词的场景,例如在阅读文章时,通过长按确定搜索词并发起搜索流程,即确定该搜索词在该文章中的上下文信息。
执行步骤200时,具体包括:
S1、获取基于文本输入的搜索词。
S2、确定搜索词是否为歧义词。
具体地,根据预设歧义词数据库,若确定搜索词在预设歧义词数据库中,则确定搜索词为歧义词,若确定搜索词不在预设歧义词数据库中,则确定搜索词不是歧义词。
其中,歧义词表征具有至少两个不同语义的词语,例如,“射雕英雄传”为一个歧义词,可以表示为小说作品、拍摄的电影、拍摄的电视连续剧等含义,电影、电视剧内容本体为电影电视剧剧本,不为小说,因此该词为歧义词。
预设歧义词数据库为至少根据从各预设搜索引擎中爬取的具有多义词标识的词语而构建的。其中,本申请实施例中构建歧义词数据库的方式,并不进行限制,也可以采用其他方式来收集歧义词,例如基于字典数据库来确定歧义词,又例如还可以从搜索引擎中爬取等。
例如,参阅图3所示,为本申请实施例中从搜索引擎中爬取具有多义词标识的词语的示意图,可以离线使用爬虫从搜索引擎中抓取信息,可以基于超文本标记语言(HyperText Markup Language,html)解析工具识别具有多义词标示字段的词语,如图3所示,以词语“BD”为例,在搜索引擎中描述该BD是一个多义词,进而可以通过识别在字段,确定“BD”是一个多义词,即可以将“BD”加入到歧义词数据库。
当然也可以采用其它方式确定搜索词是否为歧义词,具体本申请实施例中还提供了几种其它可能的实施方式:
第一种实施方式:判断搜索词中是否包含多音字,若确定包含多音字,则确定搜索词为歧义词。
第二种实施方式:判断搜索词中是否包含多义字,若确定包含多义字,则确定搜索词为歧义词。
第三种实施方式:采用机器学习算法预先训练歧义词识别模型,进而可以基于歧义词识别模型对搜索词进行识别,确定搜索词是否为歧义词。
需要说明的是,不同的确定歧义词的实施方式可能准确性并不相同,这里也仅提供几种参考实施例,具体可以根据实际情况和需求而采用不同的确定歧义词的实施方式。
S3、确定搜索词为歧义词时,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量。
本申请实施例中,当确定搜索词为歧义词时,可以再通过搜索词的上下文信息对搜索结果进行过滤和筛选,这是因为,若搜索词不是歧义词,即具有唯一特定含义,这时无论该搜索词的上下文信息是什么,通常对于该搜索词的解释和搜索结果也都是相同的,即使再通过上下文信息进行过滤,意义也不是很大,反而可能增加计算量,因此,本申请实施例中主要针对歧义词,通过上下文信息进行进一步过滤。
当然,本申请实施例中也可以不判断是否为歧义词,均采用上下文信息对搜索结果进行过滤和筛选,对此本申请实施例中并不进行限制。
其中,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量,具体包括:
S3.1、提取搜索词在文本中对应的上下文信息中的关键词。
进一步,在提取关键词之前先对上下文信息进行分词,通常中文分词方法可以分为三类:基于字典的分词方法、基于统计的分词方法和基于语义的分词方法。
其中,1)基于词典的分词方法,也可以称为基于字符串匹配,需要一个中文词典,将待分词的文本与词典中的词条进行匹配,若找到某个词条,则说明匹配成功,识别出一个词,例如基于词典的分词算法可以分为以下几种:正向最大匹配法、逆向最大匹配法和双向匹配分词法等,基于词典的分词方法速度较快,实现简单。
2)基于统计的分词方法,主要是对语料中相邻共现的各个字组合的频率进行统计,将概率最大的分词结果作为最终结果,例如常见的基于统计的分词方法有隐马尔可夫模型(Hidden Markov Model,HMM)、条件随机场(Conditional Random Field,CRF)模型等,这类方法能很好处理歧义和未登录词问题,但是需要大量的人工标注数据,并且分词速度较慢。
3)基于语义的分词方法,通常包括三个部分:分词(用来获得有关词)、句法语义(利用句法和语义信息来对分词歧义进行判断)、总控。
具体可以根据不同分词方法的特点和实际需求,而采用不同的分词方法对上下文信息进行分词,另外在进行分词时,可以使用分词工具进行分词,例如采用结巴(jieba)分词工具对搜索词在文本中对应的上下文信息进行分词,结巴分词主要是基于前缀词典,生成句子中所有可能成词所构成的有向无环图(DAG),采用动态规划查找最大概率路径,找出基于词频的最大切分组合,对于未登录词,可以采用HMM模型和Viterbi算法来进行处理,并且还可以基于停留词词典,去除分词结果中的停留词,例如停留词为一些“的”、“了”等无意义的词,提取去停留词后的分词结果中的名词,即获得最终的名词集合,进而针对最终获得的名词集合,从中提取出最能代表该搜索词所在文本的主题的关键词。
进而分词后,从中进行关键词提取,其中,提取关键词的方法,本申请实施例中并不进行限制,例如,词频-逆向文件频率(Term Frequency-Inverse Document Frequency,TF-IDF)关键词提取方法、主题模型(Topic-model)关键词提取方法和快速自动关键词提取(Rapid Automatic Keyword Extraction,RAKE)方法等。
以采用TF-IDF关键词提取方法为例进行说明,TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降,TF-IDF的主要思想是:如果某个词在一个文件中出现的频率TF高,并且在语料库中其它文件中很少出现,则认为该词具有很好的类别区分能力,适合用来分类。
通常TF-IDF评价词的重要程度可以采用以下方式:TF-IDF=TF*IDF,其中,TF=(词在文档中出现的次数)/(文档总词数),IDF=log(语料库中文档总数/(包含该词的文档数))。
也就是说,TF反映词在文档中出现的频率,IDF反映关键词的普遍程度,即当一个词越普遍(即有大量文档包含这个词)时,其IDF值越低,反之,则IDF值越高,进而通过TF和IDF获得的TF-IDF即可以反映词在文档中的重要程度,TF-IDF值越大,说明这个词对该文档的重要程度越高,成为一个关键词的概率就越大。
进一步地,为提高计算效率,本申请实施例中可以仅选取前N个关键词以用于后续上下文表示向量计算,即在分别确定提取出的各关键词的词向量之前,筛选出基于重要程度排序的前预设数目个关键词,其中,预设数目可以根据实际情况和需求进行设置,本申请实施例中并不进行限制。
S3.2、分别确定提取出的各关键词的词向量。
词向量的重要意义在于将自然语言转换成了计算机能够理解的向量,并且词向量能抓住词的上下文、语义等,衡量词与词的相似性,在文本分类、情感分析等许多自然语言处理领域有重要作用。本申请实施例中,基于已训练的词向量模型来确定各关键词的词向量,例如,word2vec模型、双向转换的编码器(Bidirectional Encoder Representationfrom Transformers,BERT)模型等,对此并不进行限制。
以word2vec模型为例进行说明,word2vec是一些用来产生词向量的相关模型,这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,而在word2vec中的词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络的隐藏层,例如,参阅图4所示,为本申请实施例中词向量模型的原理示意图,word2vec模型可以理解为一个三层的神经网络,输入为已分词的文本,输出为词语的稠密向量,具体地,图如4所示,输入是One-Hot向量,隐藏层(Hidden Layer)没有激活函数,也就是线性的单元,输出层的维度跟输入层的维度一样,可以采用Softmax回归函数,当整个模型训练完成后,可以使用这个模型通过训练所学到的参数,例如隐藏层的权重矩阵,来应用于词向量模型以获得词语的词向量。
以BERT模型为例,BERT模型的目标是利用大规模无标注语料训练,而获得文本的包含丰富语义信息的向量表示,即文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务,具体地,BERT模型通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入,并且BERT模型输出是输入各字对应的融合全文语义信息后的向量表示,另外通常BERT模型的输入除了字向量,还包含文本向量和位置向量,其中,文本向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;位置向量由于出现在文本不同位置的字/词所携带的语义信息存在差异,因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分,这样,BERT模型可以将字向量、文本向量和位置向量的加和作为模型输入。
S3.3、根据各关键词的词向量,获得搜索词的上下文表示向量。
具体地,本申请实施例中提供了几种可能的实施方式:
1)将各关键词的词向量取平均,获得搜索词的上下文表示向量。
例如,通过word2vec模型可以将关键词表示为一个k维词向量,将搜索词在文本中对应的上下文信息中所有关键词的词向量,按向量相应位置取平均,可以获得一个k维的可以表示上下文整体的向量,即获得搜索词的上下文表示向量,例如有三个关键词,其分别对应的词向量为a=(x1,x2,…,xk),b=(y1,y2,…,yk),c=(z1,z2,…,zk),则取平均获得的上下文表示向量为:((x1+y1+z1)/3,(x2+y2+z2)/3,…,(xk+yk+zk)/3)。
2)分别确定各关键词的出现次数,并分别根据各关键词的出现次数,确定各关键词的权重,以及分别根据各关键词的权重,将各关键词的词向量进行加权平均,获得搜索词的上下文表示向量。
另外确定各关键词的词向量之后,还可以采用取平均之外的其它方式来获得各搜索结果的上下文表示向量,本申请实施例中并不进行限制,例如一种可能的实施方式,还可以结合关键词在搜索结果中出现的位置信息,或关键词与搜索词的位置关系,而分别将各搜索结果中的各关键词的词向量进行加权平均,获得各搜索结果的上下文表示向量。
步骤210:获得搜索词对应的各搜索结果,并分别确定各搜索结果的上下文表示向量。
执行步骤210时,具体包括:
1)获得搜索词对应的各搜索结果。
本申请实施例中,针对获得搜索词对应的各搜索结果的方式,可以采用相关技术中在搜索框中主动输入搜索词的通用搜索场景中的搜索结果匹配方式等,即仅考虑搜索词的搜索匹配方式,进而可以获得该搜索词对应的各搜索结果。由于此时获得的搜索结果并不准确,可能与用户实际想要搜索的内容不符,因此,本申请实施例中获得到各搜索结果后,还可以对各搜索结果进行歧义消除和过滤。
2)分别确定各搜索结果的上下文表示向量。
具体地,分别提取各搜索结果的关键词;分别确定各搜索结果中提取出的各关键词的词向量;根据各搜索结果中提取出的各关键词的词向量,获得各搜索结果的上下文表示向量。
其中,根据各搜索结果中提取出的各关键词的词向量,获得各搜索结果的上下文表示向量,本申请实施例中提供了几种可能的实施方式:
第一种方式:将各搜索结果中提取出的各关键词的词向量分别取平均,获得各搜索结果的上下文表示向量。
第二种方式:分别确定各搜索结果中提取出的各关键词的出现次数,并根据各关键词的出现次数,分别确定各关键词的权重,以及分别根据各搜索结果中提取出的各关键词的权重,将各搜索结果中提取出的各关键词的词向量进行加权平均,获得各搜索结果的上下文表示向量。
进一步地,分别确定各搜索结果中提取出的各关键词的词向量之前,还可以筛选出基于重要程度排序的前预设数目个关键词,以提高计算效率。
其中,针对搜索结果的关键词的提取、词向量的确定和上下文表示向量的计算方式,与上述步骤200中搜索词的上下文表示向量的确定方式相同,这里就不再进行赘述了。
步骤220:根据搜索词的上下文表示向量和各搜索结果的上下文表示向量,分别确定搜索词与各搜索结果的相似度。
其中,确定搜索词与各搜索结果的相似度的方式,可以采用余弦距离计算方式、欧式距离计算方式等,本申请实施例中并不进行限制。
例如,搜索结果有n个,每个搜索结果中提取出的关键词的词向量集合为D_k,即搜索结果D1对应关键词集合为D_K1,搜索结果D2对应关键词集合为D_K2,…,搜索结果Dn对应关键词集合为D_kn,分别根据各关键词集合中各关键词的词向量,分别计算获得各搜索结果的上下文表示向量,分别计算搜索词的上下文表示向量与各搜索结果的上下文表示向量的余弦距离,即获得搜索词与各搜索结果的相似度。
步骤230:根据确定的各相似度,对各搜索结果进行过滤,获得过滤后的搜索结果。
具体地,过滤掉相似度小于阈值的搜索结果。
其中,终端在向用户展示过滤后的搜索结果时,可以根据过滤后的搜索结果对应确定的各相似度,从高到低依次展示过滤后的搜索结果。
也就是说,本申请实施例中,通过基于上下文信息的相似度计算,若确定相似度小于阈值,则可以认为该搜索结果与搜索词所在文本的主题上下文有歧义,可以进行过滤,而无需展示给用户,其中,阈值可以根据实际需求和情况进行设置,本申请实施例中并不进行限制。
本申请实施例中,获取基于文本输入的搜索词,并确定搜索词为歧义词时,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量,以及获得搜索词对应的各搜索结果,并分别确定各搜索结果的上下文表示向量,进而分别确定搜索词与各搜索结果的相似度,并根据确定的各相似度,对各搜索结果进行过滤,获得过滤后的搜索结果,这样,确定搜索词为歧义词时,可以根据搜索词的上下文信息和搜索结果的上下文信息,对搜索结果进行过滤,可以过滤掉上下文信息与搜索词的上下文信息有歧义的搜索结果,从而可以使得最终过滤后的搜索结果,更加符合搜索词所在的上下文信息,更加贴近搜索词所在文本的主题,进而提高最终搜索结果的准确性,更加满足用户的搜索体验。
基于上述实施例,下面从产品侧对本申请实施例中的搜索结果处理方法进行说明,以应用于阅读场景为例,用户在终端中阅读文章,在阅读过程中,若对某个词语比较感兴趣,可以通过长按来发起搜索流程,例如,参阅图5所示,为本申请实施例中发起搜索流程的界面示意图,用户可以长按词语“BD”的位置,***根据用户手指长按的位置确定对应的搜索词,并提示用户发起“搜一搜”操作,进而用户点击“搜一搜”即向服务器发送搜索请求,可以获得服务器返回的搜索结果。
例如,参阅图6所示,为相关技术中返回搜索结果的示意图,可知,用户在该阅读场景下发起搜索词“BD”,该文章的上下文信息是关于光盘的,可以认为用户实际想要了解的是“蓝光光盘”这个含义的相关搜索结果,而相关技术中返回的搜索结果是“商务”这个含义的相关结果,搜索结果不准确,相关技术中搜索结果不能感知搜索词所处文章下具有的正确含义信息,没有对搜索结果进行消除歧义和过滤,而导致返回的搜索结果出现语义漂移,不符合用户实际搜索需求。
而本申请实施例中,确定搜索词为歧义词时,分别根据搜索词的上下文信息和各搜索结果的上下文信息,确定搜索词的上下文表示向量和各搜索结果的上下文表示向量,进而根据上下文表示向量,分别确定搜索词与各搜索结果的相似度,根据确定的各相似度与各搜索结果进行过滤,进而返回过滤后的搜索结果并展示给用户,例如,参阅图7所示,为本申请实施例中返回搜索结果的示意图,如图7可知,本申请实施例中返回的搜索结果更加符合搜索词所对应的上下文信息,提高了搜索结果准确性。
基于同一发明构思,本申请实施例中还提供了一种搜索结果处理装置,该搜索结果处理装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图8所示,本申请实施例中搜索结果处理装置,具体包括:
获取模块80,用于获取基于文本输入的搜索词;
第一确定模块81,用于确定搜索词为歧义词时,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量;
第二确定模块82,用于获得搜索词对应的各搜索结果,并分别确定各搜索结果的上下文表示向量;
第三确定模块83,用于根据搜索词的上下文表示向量和各搜索结果的上下文表示向量,分别确定搜索词与各搜索结果的相似度;
过滤模块84,用于根据确定的各相似度,对各搜索结果进行过滤,获得过滤后的搜索结果。
可选的,确定搜索词为歧义词,第一确定模块81具体用于:
根据预设歧义词数据库,若确定搜索词在预设歧义词数据库中,则确定搜索词为歧义词,其中,歧义词表征具有至少两个不同语义的词语,预设歧义词数据库为至少根据从各预设搜索引擎中爬取的具有多义词标识的词语而构建的。
可选的,根据搜索词在文本中对应的上下文信息,确定搜索词的上下文表示向量时,第一确定模块81具体用于:
提取搜索词在文本中对应的上下文信息中的关键词;
分别确定提取出的各关键词的词向量;
根据所述各关键词的词向量,获得搜索词的上下文表示向量。
可选的,根据所述各关键词的词向量,获得所述搜索词的上下文表示向量时,第一确定模块81具体用于:将所述各关键词的词向量取平均,获得所述搜索词的上下文表示向量。
可选的,第一确定模块81具体用于:
分别确定所述各关键词的出现次数,并分别根据所述各关键词的出现次数,确定所述各关键词的权重,以及分别根据所述各关键词的权重,将所述各关键词的词向量进行加权平均,获得所述搜索词的上下文表示向量。
可选的,分别确定各搜索结果的上下文表示向量时,第二确定模块82具体用于:
分别提取各搜索结果的关键词;
分别确定各搜索结果中提取出的各关键词的词向量;
根据所述各搜索结果中提取出的各关键词的词向量,获得各搜索结果的上下文表示向量。
可选的,根据所述各搜索结果中提取出的各关键词的词向量,获得所述各搜索结果的上下文表示向量时,第二确定模块82具体用于:将所述各搜索结果中提取出的各关键词的词向量分别取平均,获得所述各搜索结果的上下文表示向量。
可选的,第二确定模块82具体用于:分别确定所述各搜索结果中提取出的各关键词的出现次数,并根据所述各关键词的出现次数,分别确定所述各关键词的权重,以及分别根据所述各搜索结果中提取出的各关键词的权重,将所述各搜索结果中提取出的各关键词的词向量进行加权平均,获得所述各搜索结果的上下文表示向量。
可选的,进一步包括,筛选模块85用于:筛选出基于重要程度排序的前预设数目个关键词。
基于上述实施例,参阅图9所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以是终端或服务器,本申请实施例以电子设备为服务器为例进行说明,该电子设备可以包括处理器910(CenterProcessing Unit,CPU)、存储器920、输入设备930和输出设备940等。
存储器920可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器910提供存储器920中存储的程序指令和数据。在本申请实施例中,存储器920可以用于存储本申请实施例中任一种搜索结果处理方法的程序。
处理器910通过调用存储器920存储的程序指令,处理器910用于按照获得的程序指令执行本申请实施例中任一种搜索结果处理方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意方法实施例中的搜索结果处理方法。
基于上述实施例,本申请实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意方法实施例中的搜索结果处理方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (12)
1.一种搜索结果处理方法,其特征在于,包括:
获取基于文本输入的搜索词,并确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量;
获得所述搜索词对应的各搜索结果,并分别确定所述各搜索结果的上下文表示向量;
根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度;
根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果。
2.如权利要求1所述的方法,其特征在于,确定所述搜索词为歧义词,具体包括:
根据预设歧义词数据库,若确定所述搜索词在所述预设歧义词数据库中,则确定所述搜索词为歧义词,其中,所述歧义词表征具有至少两个不同语义的词语,所述预设歧义词数据库为至少根据从各预设搜索引擎中爬取的具有多义词标识的词语而构建的。
3.如权利要求1所述的方法,其特征在于,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量,具体包括:
提取所述搜索词在所述文本中对应的上下文信息中的关键词;
分别确定提取出的各关键词的词向量;
根据所述各关键词的词向量,获得所述搜索词的上下文表示向量。
4.如权利要求3所述的方法,其特征在于,根据所述各关键词的词向量,获得所述搜索词的上下文表示向量,具体包括:
将所述各关键词的词向量取平均,获得所述搜索词的上下文表示向量;或,
分别确定所述各关键词的出现次数,并分别根据所述各关键词的出现次数,确定所述各关键词的权重,以及分别根据所述各关键词的权重,将所述各关键词的词向量进行加权平均,获得所述搜索词的上下文表示向量。
5.如权利要求1所述的方法,其特征在于,分别确定所述各搜索结果的上下文表示向量,具体包括:
分别提取所述各搜索结果的关键词;
分别确定所述各搜索结果中提取出的各关键词的词向量;
根据所述各搜索结果中提取出的各关键词的词向量,获得所述各搜索结果的上下文表示向量。
6.如权利要求5所述的方法,其特征在于,根据所述各搜索结果中提取出的各关键词的词向量,获得所述各搜索结果的上下文表示向量,具体包括:
将所述各搜索结果中提取出的各关键词的词向量分别取平均,获得所述各搜索结果的上下文表示向量;或,
分别确定所述各搜索结果中提取出的各关键词的出现次数,并根据所述各关键词的出现次数,分别确定所述各关键词的权重,以及分别根据所述各搜索结果中提取出的各关键词的权重,将所述各搜索结果中提取出的各关键词的词向量进行加权平均,获得所述各搜索结果的上下文表示向量。
7.如权利要求3-6任一项所述的方法,其特征在于,进一步包括:
筛选出基于重要程度排序的前预设数目个关键词。
8.一种搜索结果处理装置,其特征在于,包括:
获取模块,用于获取基于文本输入的搜索词;
第一确定模块,用于确定所述搜索词为歧义词时,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量;
第二确定模块,用于获得所述搜索词对应的各搜索结果,并分别确定所述各搜索结果的上下文表示向量;
第三确定模块,用于根据所述搜索词的上下文表示向量和所述各搜索结果的上下文表示向量,分别确定所述搜索词与所述各搜索结果的相似度;
过滤模块,用于根据确定的各相似度,对所述各搜索结果进行过滤,获得过滤后的搜索结果。
9.如权利要求8所述的装置,其特征在于,根据所述搜索词在所述文本中对应的上下文信息,确定所述搜索词的上下文表示向量时,第一确定模块具体用于:
提取所述搜索词在所述文本中对应的上下文信息中的关键词;
分别确定提取出的各关键词的词向量;
根据所述各关键词的词向量,获得所述搜索词的上下文表示向量。
10.如权利要求8所述的装置,其特征在于,分别确定所述各搜索结果的上下文表示向量时,第二确定模块具体用于:
分别提取所述各搜索结果的关键词;
分别确定所述各搜索结果中提取出的各关键词的词向量;
根据所述各搜索结果中提取出的各关键词的词向量,获得所述各搜索结果的上下文表示向量。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345102.9A CN112347339A (zh) | 2020-11-26 | 2020-11-26 | 一种搜索结果处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345102.9A CN112347339A (zh) | 2020-11-26 | 2020-11-26 | 一种搜索结果处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112347339A true CN112347339A (zh) | 2021-02-09 |
Family
ID=74365831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011345102.9A Pending CN112347339A (zh) | 2020-11-26 | 2020-11-26 | 一种搜索结果处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347339A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449091A (zh) * | 2021-06-29 | 2021-09-28 | 重庆长安汽车股份有限公司 | 一种基于汽车领域标签的智能问答方法、装置、终端及计算机可读存储介质 |
CN113486253A (zh) * | 2021-07-30 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 搜索结果展示方法、装置、设备和介质 |
CN116910278A (zh) * | 2023-09-14 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 数据字典的生成方法、终端设备和存储介质 |
CN118093982A (zh) * | 2024-04-29 | 2024-05-28 | 福建中科星泰数据科技有限公司 | 基于ai技术的互联网海量数据精准搜索方法及*** |
-
2020
- 2020-11-26 CN CN202011345102.9A patent/CN112347339A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449091A (zh) * | 2021-06-29 | 2021-09-28 | 重庆长安汽车股份有限公司 | 一种基于汽车领域标签的智能问答方法、装置、终端及计算机可读存储介质 |
CN113486253A (zh) * | 2021-07-30 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 搜索结果展示方法、装置、设备和介质 |
CN113486253B (zh) * | 2021-07-30 | 2024-03-19 | 抖音视界有限公司 | 搜索结果展示方法、装置、设备和介质 |
CN116910278A (zh) * | 2023-09-14 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 数据字典的生成方法、终端设备和存储介质 |
CN118093982A (zh) * | 2024-04-29 | 2024-05-28 | 福建中科星泰数据科技有限公司 | 基于ai技术的互联网海量数据精准搜索方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182166B (zh) | 一种文本匹配方法、装置、电子设备及存储介质 | |
CN107133213B (zh) | 一种基于算法的文本摘要自动提取方法与*** | |
CN107451126B (zh) | 一种近义词筛选方法及*** | |
CN109635297B (zh) | 一种实体消歧方法、装置、计算机装置及计算机存储介质 | |
CN112347339A (zh) | 一种搜索结果处理方法及装置 | |
KR102491172B1 (ko) | 자연어 질의응답 시스템 및 그 학습 방법 | |
CN112800170A (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
CN112214593A (zh) | 问答处理方法、装置、电子设备及存储介质 | |
CN107315734B (zh) | 一种基于时间窗口和语义的变体词规范化的方法和*** | |
Mills et al. | Graph-based methods for natural language processing and understanding—A survey and analysis | |
CN110347790B (zh) | 基于注意力机制的文本查重方法、装置、设备及存储介质 | |
CN111414763A (zh) | 一种针对手语计算的语义消歧方法、装置、设备及存储装置 | |
CN111198946A (zh) | 一种网络新闻热点挖掘方法及装置 | |
CN110674378A (zh) | 基于余弦相似度和最小编辑距离的中文语义识别方法 | |
CN113392305A (zh) | 关键词的提取方法及装置、电子设备、计算机存储介质 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN107526721A (zh) | 一种对电商产品评论词汇的歧义消除方法及装置 | |
WO2012067586A1 (en) | Database searching | |
CN113822038A (zh) | 一种摘要生成方法和相关装置 | |
CN112182159A (zh) | 一种基于语义表示的个性化检索式对话方法和*** | |
CN111061939A (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
CN111046168A (zh) | 用于生成专利概述信息的方法、装置、电子设备和介质 | |
CN114722774B (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN114398903B (zh) | 意图识别方法、装置、电子设备及存储介质 | |
CN114048319B (zh) | 基于注意力机制的幽默文本分类方法、装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038746 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |