CN111753060A - 信息检索方法、装置、设备及计算机可读存储介质 - Google Patents
信息检索方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111753060A CN111753060A CN202010741737.4A CN202010741737A CN111753060A CN 111753060 A CN111753060 A CN 111753060A CN 202010741737 A CN202010741737 A CN 202010741737A CN 111753060 A CN111753060 A CN 111753060A
- Authority
- CN
- China
- Prior art keywords
- text
- sub
- information
- texts
- retrieved
- 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.)
- Granted
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/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
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种信息检索方法、装置、设备及计算机可读存储介质,其中,方法包括:对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;获取所述待检索信息的特征向量和每一字段的子特征向量;在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。通过本申请实施例,能够根据文本的语义相关度,灵活的度量待检索信息与召回文本之间的相似度,提高信息检索系统的检索准确性。
Description
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种信息检索方法、装置、设备及计算机可读存储介质。
背景技术
从信息检索中相关度计算的角度,可以将文本检索方法大致分为基于文字、基于结构和基于用户信息的检索等几类方法,其中,基于文字的检索方法中包括基于概率论的检索方法。
相关技术中,基于文字和基于概率论检索的概率模型和语言模型主要包括:BM25(是信息索引领域用来计算查询信息与文档相似度得分的一种算法)、深度语义结构模型(DSSM,Deep Semantic Structured Model)、多粒度卷积神经网络(MultiGranCNN,MultiGran Convolutional Neural Networks)和构造匹配矩阵(MatchPyramid)。
但是,相关技术中的概率模型和语言模型过于关注词共现的重要度,无法处理文本的语义相关性,且无法区分不同上下文中局部化信息的重要性,对相似度的度量不够灵活。
发明内容
本申请实施例提供一种信息检索方法、装置、设备及计算机可读存储介质,通过依次在预设的全量文本空间和预设的子文本空间内,分别进行第一聚类处理和第二聚类处理,得到待检索信息的召回文本,从而能够根据文本的语义相关度,区分局部化信息的重要性,灵活的度量待检索信息与召回文本之间的相似度,提高信息检索系统的准确性和容错性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种信息检索方法,包括:
对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;
获取所述待检索信息的特征向量和每一字段的子特征向量;
在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;
在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;
将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。
本申请实施例提供一种信息检索装置,包括:
文本分割模块,用于对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;
获取模块,用于获取所述待检索信息的特征向量和每一字段的子特征向量;
第一聚类处理模块,用于在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;
第二聚类处理模块,用于在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;
处理模块,用于将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。
本申请实施例提供一种信息检索设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:通过在预设的全量文本空间内,根据待检索信息的特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;在预设的子文本空间内,根据对待检索信息进行文本分割处理所得到的每一字段的子特征向量,对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本。如此,通过第一聚类处理,能够根据待检索信息与预设文本库中的文本之间的语义相关度以实现粗选,通过第二聚类处理,能够区分不同上下文中文本局部化信息的重要性以实现精选,从而灵活的度量待检索信息与召回文本之间的相似度,提高信息检索系统的准确性和容错性。
附图说明
图1A是相关技术中文本检索方法的分类图;
图1B是相关技术中深度语义结构模型的示意图;
图1C是相关技术中的MultiGranCNN的示意图;
图1D是相关技术中MatchPyramid模型的示意图;
图2是本申请实施例提供的信息检索系统的一个可选的架构示意图;
图3是本申请实施例提供的服务器的结构示意图;
图4是本申请实施例提供的信息检索方法的一个可选的流程示意图;
图5是本申请实施例提供的信息检索方法的一个可选的流程示意图;
图6是本申请实施例提供的信息检索方法的一个可选的流程示意图;
图7是本申请实施例提供的信息检索方法的一个可选的流程示意图;
图8是本申请实施例提供的信息检索方法的一个可选的流程示意图;
图9是本申请实施例提供的信息检索模型的训练方法的流程示意图;
图10是本申请实施例提供的企业洞察分析产品的界面图;
图11是本申请实施例提供的企业搜索结果界面图;
图12是本申请实施例提供的信息检索方法的算法流程图;
图13是本申请实施例提供的序列标注模型的示意图;
图14是本申请实施例提供的地域层级关系图;
图15是本申请实施例提供的信息检索方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例之前,首先对本申请中涉及到的专业名词进行解释:
1)序列标注:在机器学习中,序列标记是一种模式识别任务,它涉及通过算法将分类标记分配给观测值序列中的每个成员(例如文本中的每个字)。
2)词嵌入:词嵌入是自然语言处理中语言模型与表征学习技术的统称,是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,且每个单词或词组被映射为实数域上的向量。
3)短文本:区别于长文档,短文本通常是长度不超过几十个字的文本。
为了更好地理解本申请实施例中提供的信息检索方法,首先对相关技术中的信息检索方法进行说明:
图1A是相关技术中文本检索方法的分类图,如图1A所示,从信息检索中相关度计算的方法角度,可以将文本检索方法大致分为基于文字的索引、基于结构的索引和基于用户信息的索引等几类方法。
基于文字的索引,即基于文字的文本信息检索,主要包括传统的基于集合论的布尔模型、模糊集模型等、和基于代数论的向量空间模型、主题模型等,以及基于概率论的概率模型、语言模型等。其中,布尔模型采用布尔表达式对文档进行过滤选择,经典模型如Paice模型;模糊集模型的经典模型如有限状态机(FSM,Finite State Machine);向量空间模型将文本表示为标识符向量的代数模型,根据文档间的相关性来进行排序,经典模型如词袋模型(BOW,bagofwords)+词频逆文档频率模型(TFIDF,Term Frequency-InverseDocument Frequency)、SMART模型(Specific-Measurable-Attainable-Relevan-Time-bound);主题模型如LAD(Latent Dirichlet Allocation)主题模型;概率模型根据贝叶斯原理为当前查询排序,经典模型如BM25算法;语言模型如隐马尔可夫模型(HMM,HiddenMarkov Model)。
基于结构的索引,即基于结构的文本信息检索,主要根据文档间的引用关系形成引用关系网进而建立索引,包括基于内部结构的文本信息检索和基于外部结构的文本信息检索,其中,在基于外部结构的文本信息检索模型中,经典算法如网页排名算法(PageRank),多应用于互联网网页检索。
基于用户信息的索引,即基于用户信息的文本信息检索,主要根据用户和项目的特征,以及历史数据,来建立索引,包括基于单个用户的文本信息检索和基于群体用户的文本信息检索,其中,在基于群里用户的文本信息检索中,经典算法是协同过滤算法,多用于推荐系统。
上述检索方案中与本申请实施例最相关的是基于文字和概率论检索的概率模型和语言模型两类框架。现对这两类框架下的经典模型进行概述。
1)BM25模型:是一种基于贝叶斯原理推导出的概率检索模型,融合了向量空间模型的经典权重算法TF-IDF,综合考虑了词频、逆文档频率和文档长度,成为了商业搜索系统中非常成功的案例。在实际应用中,对给定的包含q1…qn关键字的查询词Q,通过以下公式(1-1)计算库内文档D与Q的相似性值:
其中,f(qi,D)为单词qi在文档D中的词频;|D|为文档D包含的单词数量;avgd1为库内文档的平均文档长度;k1和b为经验参数,用于调节词频和文档长度在权重计算中起到的作用,一般来讲,k1取1,b取0.75已被证明是合理的假设;IDF为单词qi的逆文本频率,其中,qi的逆文本频率可以通过如下公式(1-2)计算:
其中,N为文本库内的文档总数量;n(qi)为包含单词qi的文档数;0.5为平滑系数。
BM25拥有较强的理论基础,实现简单,在文档包含查询词的情况下,或者说查询词精确命中文档的前提下能够快速给出相关性排序。但这类基于传统检索模型的方法会存在一个固有缺陷,就是检索模型只能处理查询词与文档有重合词的情况,传统检索模型无法处理词语的语义相关性。
2)DSSM模型:鉴于传统检索模型的固有缺陷,考虑到深度学习技术强大的表征学习能力,近来有越来越多的学者将深度学习应用到文本检索和匹配工作中,以期提升模型的语义识别能力。
深度语义结构模型(DSSM,Deep Semantic Structured Model)是最早将深度模型应用在文本匹配的工作之一,该模型主要针对查询项和文档的匹配度进行建模,相对于传统文本匹配的模型,该方法有显著的提升。深度语义结构模型是典型的Siamese网络结构,每个文本对象都是由5层的网络单独进行向量化的,最后计算两个文本向量的余弦相似度来决定这两段文本的相似程度。
图1B是相关技术中深度语义结构模型的示意图,如图1B所示,深度语义结构模型通过对输入的术语向量101(包括查询词q和文档中的词d1、d2、d3等)进行词哈希处理得到术语向量的词哈希102,其中,(w1)表示术语向量;通过隐含层103对词哈希进行处理,得到主题向量104,其中,(w2,b1)和(w3,b3)均表示词哈希,(w4,b4)表示隐含层处理后的输出向量;最后根据主题向量104计算查询词q与文档中的每一词d1、d2、d3之间的匹配度105,通过匹配度105计算查询词q与文档中的每一词d1、d2之间的匹配概率106,例如匹配概率d1与q的匹配概率P(d1|q)和匹配概率d2与q的匹配概率P(d2|q)。
需要说明的是,DSSM是一种基于单语义文档表达的深度学习算法,这类算法将文本映射为一个简洁的表达,便于储存,且匹配的计算速度快,模型可以用大量无监督的数据进行预训练。不过该方案中一个关键的单词哈希技术仅适用于英文,无法在中文场景产生良好效果。
3)MultiGranCNN模型:针对基于单语义文档表达的深度学习模型存在的缺点,一些新的深度匹配模型被提出来去综合考虑文本的局部性表达(词,短语等)和全局性表达(句子)。这类模型不仅会考虑两段文本最终的表达向量的相似程度,也会生成局部的短语或者更长的短语的表达进行匹配。这样多粒度的匹配可以很好地补充基于单语义文档表达的深度学习模型在压缩整个句子过程中的信息损失,而达到更好的效果。
多粒度卷积神经网络(MultiGranCNN)的提出正是基于这样一种思想,MultiGranCNN使用卷积神经网络来分别得到词、短语和句子等几个不同层面的文本表达,然后将这些向量拼接到一起或者建模这些向量之间的相似度来得到最终的匹配结果。
图1C是相关技术中的MultiGranCNN的示意图,如图1C所示,通过混合模型对输入的文本块s1和文本块s2分别进行词、短语和句子等几个不同层面的文本表达处理,然后进行拼接,得到最终的文本表达向量s11和s21,然后计算文本表达向量s11和s21之间的相似度,得到最终的匹配结果。其中,图1C中的d表示向量维度,图1C中文本块s1和文本块s2的词、短语和句子的数量为10,即s1=10,s2=10。
需要说明的是,MultiGranCNN属于基于多语义的文档表达的深度学习模型,模型中细粒度的表达带来了更丰富的信息,所以能够比基于句子级别表达的深度模型得到更好的效果,而且可以进行大量无监督的预训练。不过虽然考虑了不同粒度的文本表征,但这类模型无法区分不同上下文中局部化信息的重要性,在语言多义的挑战下,很难将局部化信息与全局化信息进行有效地整合利用。
4)MatchPyramid模型:区别以关注文本表达(局部化或者全局化)为核心的思路,直接建模匹配模式的深度学习模型旨在直接捕获匹配的特征:匹配的程度和匹配的结构。这样更接近匹配问题的本质,也更加契合人们面对两段文本进行匹配分析的方法。当进行两段文本的匹配时,这类模型会先看是不是有匹配的关键词,然后再看关键词之间的相对位置是不是匹配的,最后整合整个句子的意思给两段文本匹配的程度进行打分。
图1D是相关技术中MatchPyramid模型的示意图,如图1D所示,MatchPyramid的核心思想是层次化的构建匹配过程,模型首先计算两个句子中词T1和词T2之间的匹配程度(可以基于相似度算子110来计算),然后句子之间两两词之间都会计算相似度,根据词在句子中的空间位置可以构建出一个二维的结构,称之为匹配矩阵111(即第0层匹配矩阵),之后模型把匹配问题看作是在这个二维的匹配矩阵111上的图像识别问题,利用在图像识别中成熟使用的卷积神经网络进行建模,分别通过第1层二维卷积112和第2层二维最大池化113,最终经过全连接得到句子之间的相似度114(即匹配度)。图1D中,w1至w8分别表示词T1的特征向量中的任意一个分量,v1至v8表示词T2的特征向量中的任意一个分量。
不同于基于单语义文档表达和多语义文档表达的深度学习模型,直接建模匹配模式的模型中并不存在单个文本的表达,从模型的输入开始两段文本就进行了交互,得到细粒度的匹配信息,避免了在一段文本抽象成一个表达时细节匹配信息的丢失。但是,这类模型需要大量的有监督的文本匹配的数据训练,没法通过无监督的文本进行预训练,而且预测的时候资源消耗较大,每一对文档都得完全通过一遍网络,没法像基于单语义文档表达或者多语义文档表达的模型可以离线预处理文本的特征,从而限制了模型的大规模部署和实时调用。
针对短文本搜索领域,尤其是本申请实施例所针对的大规模企业名称搜索场景,主要存在如下挑战:1)海量文本快速响应(在册企业名称规模2亿+,要求响应速度毫秒级);2)模糊检索,用户输入检索条目存在不同程度的偏差,例如:输入法拼写错误,将“腾讯”误输入为“滕讯”;光学字符识别(OCR,Optical Character Recognition)识别错误,将纸质媒介记录的“腾讯”误识别为“腾迅”;认知错误,将“腾讯计算机有限公司”错记为“腾讯网络有限公司”,或将“深圳腾讯”错记为“广东腾讯”,或将“物流公司”错记为“运输公司”等,这类输入对系统容错性提出较高要求;3)结构不一致性,输入文本需要保持一定的文本顺序,但是同时又要能够容忍一定的乱序,例如:“腾讯深圳”和“深圳腾讯”应该指同一家公司,而“深圳腾讯”和“深圳讯腾”其实并不是同一家公司。
相关技术这的方法应用于当前场景时,存在一些如下的缺点:1)检索模型过于关注词共现的重要度,无法处理文本的语义相关性;2)虽然基于多语义的深度学习模型考虑了不同粒度的文本表征,但无法区分不同上下文中局部化信息的重要性,对相似度的度量不够灵活和易于扩展;3)深度模型预测的时候资源消耗较大,速度较慢,限制了模型的大规模部署和实时调用;4)大部分现有深度文本匹配模型更适用于英文场景,并未考虑到中文场景的特殊性。
基于相关技术所存在的上述问题,本申请实施例的方法会解决以下问题:1)基于分布式序列标注模型的文本分割构建联合索引,使得离线预处理成为可能;2)针对性训练的word2vector和node2vector模型提高了系统检索的容错性;3)基于自适应加权的倒排乘积量化索引提高了检索效率,并提升了检索灵活性。
本申请实施例提供一种信息检索方法,通过对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;获取待检索信息的特征向量和每一字段的子特征向量;然后在预设的全量文本空间内,根据特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;在预设的子文本空间内,根据子特征向量对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;最后将召回文本作为信息检索请求的检索结果,输出检索结果。如此,通过依次在预设的全量文本空间和预设的子文本空间内,分别进行第一聚类处理和第二聚类处理,从而能够根据文本的语义相关度,区分局部化信息的重要性,灵活的度量待检索信息与召回文本之间的相似度,提高信息检索系统的容错性。
下面说明本申请实施例提供的信息检索设备的示例性应用,本申请实施例提供的信息检索设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、电子书阅读器等任意的具有计算和数据处理能力的终端或者具有接收检索结果的能力的终端,也可以实施为服务器。下面,将说明信息检索设备实施为服务器时的示例性应用。
参见图2,图2是本申请实施例提供的信息检索系统10的一个可选的架构示意图。为实现在用户的终端上进行信息检索,终端100-1通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。服务器300对应一预设文本库300-1,预设文本库300-1中存储有多个文本,本申请实施例是从预设文本库300-1中匹配出与用户的待检索信息对应的一个或多个文本作为最终的检索结果。
请继续参照图2中的信息检索系统,终端100-1在当前界面110-1上显示信息检索应用(Application,APP)的界面,例如,信息检索APP可以时任意一种搜索引擎。终端100-1在当前界面上还可以显示检索到的检索结果。本申请实施例中,服务器300接收用户通过终端发送的信息检索请求,信息检索请求至包括待检索信息,服务器300对待检索信息进行文本分割处理,得到至少两个字段;获取待检索信息的特征向量和每一字段的子特征向量;在预设的全量文本空间内,根据特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;在预设的子文本空间内,根据子特征向量对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;将召回文本作为信息检索请求的检索结果;将检索结果发送给终端。终端100-1在接收到待推荐信息之后,在当前界面110-1上显示检索结果。
参见图3,图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种信息检索装置354,该信息检索装置354可以是服务器300中的一种信息检索装置,其可以是程序和插件等形式的软件,包括以下软件模块:文本分割模块3541、获取模块3542、第一聚类处理模块3543、第二聚类处理模块3544和处理模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的信息检索方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的信息检索方法。参见图4,图4是本申请实施例提供的信息检索方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
步骤S401,对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段。
这里,服务器接收用户通过终端发送的信息检索请求,信息检索请求中包括待检索信息,待检索信息可以是文本信息,这里的文本信息可以是一个或多个关键词或者是短文本或长文本,或者,待检索信息还可以是语音信息,服务器在接收到语音信息之后,对语音信息进行文本转换处理,得到文本信息。
文本分割处理是对待检索信息对应的文本信息进行文本分割,将文本信息分割成多个字段,每一字段包括至少一个字,或者每一字段包括至少一个关键词。本申请实施例中,可以预先设置不同的类型,按照每一类型将待检索信息中的对应词汇分割出来,并拼接形成该类型对应的字段。
举例来说,可以预先设置四个类型:地址(LOC)、字号(Name)、行业(IND)和类别(Type),那么在文本分割处理时,可以将待检索信息中属于地址类型的至少一个字分割出来,然后对这些字进行拼接,形成地址类型的字段;将待检索信息中属于字号类型的至少一个字分割出来,然后对这些字进行拼接,形成字号类型的字段;将待检索信息中属于行业类型的至少一个字分割出来,然后对这些字进行拼接,形成行业类型的字段;将待检索信息中属于类别类型的至少一个字分割出来,然后对这些字进行拼接,形成类别类型的字段。当然,在其他实施例中,字段还可以具有其他的类型,本申请实施例不做限定。
步骤S402,获取待检索信息的特征向量和每一字段的子特征向量。
这里,可以对待检索信息进行特征提取,得到特征向量,特征向量是待检索信息的文本在向量维度的表征方式;对每一字段分别进行特征提取,对应得到每一字段的子特征向量,子特征向量是每一字段在向量维度的表征方式。
步骤S403,在预设的全量文本空间内,根据特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本。
这里,全量文本空间是指整句文本空间,也就是说,是预设文本库中的整句文本对应的空间,全量文本空间的维度与待检索信息的特征向量的维度相同,全量文本空间即预设文本库对应的向量空间。
预设文本库中包括至少一条文本,预设文本库中包括任意类型和任意领域的文本,本申请实施例对预设文本库中的文本进行聚类,确定出与待检索信息属于同一类的候选文本。
步骤S404,在预设的子文本空间内,根据子特征向量对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本。
这里,子文本空间是指字段文本空间,也就是说,是预设文本库中的文本的不同字段对应的空间,以上述四个类型中的地址(LOC)、字号(Name)、行业(IND)和类别(Type)的字段为例,子文本空间也对应这四个类型,即对于地址类型的字段,预设的子文本空间中是预设文本库中的每一文本中的地址类型的字段对应的字段空间,且子文本空间的维度与待检索信息中的地址字段的子特征向量的维度相同;对于字号类型的字段,预设的子文本空间中是预设文本库中的每一文本中的字号类型的字段对应的字段空间,且子文本空间的维度与待检索信息中的字号字段的子特征向量的维度相同;对于行业类型的字段,预设的子文本空间中是预设文本库中的每一文本中的行业类型的字段对应的字段空间,且子文本空间的维度与待检索信息中的行业字段的子特征向量的维度相同;对于类别类型的字段,预设的子文本空间中是预设文本库中的每一文本中的类别类型的字段对应的字段空间,且子文本空间的维度与待检索信息中的类别字段的子特征向量的维度相同。
本申请实施例中,可以预先对预设文本库中的每一文本也进行文本分割处理,对应得到每一类型的字段,然后将同一类型的字段存储于同一字段库中,对应地,将任一类型的字段库对应的向量空间确定为对应类型的子文本空间。
本申请实施例中,根据子特征向量对第一数量的候选文本进行第二聚类处理,因此在进行第二聚类处理时的预设的子文本空间是基于第一数量的候选文本所形成的子文本空间。也就是说,将第一数量的候选文本进行文本分割处理,对应得到不同类型的字段,然后将相同类型的字段存储于该类型的字段库中,根据不同类型的字段库,确定出对不同类型的待检索信息的字段进行第二聚类处理时的子文本空间。
本申请实施例中,在进行第二聚类处理时,是基于第一聚类处理所筛选出的第一数量的候选文本来进行的,即第二数量的召回文本是第一数量的候选文本中的文本,第二数量小于或等于第一数量,这样,极大的减小了第二聚类处理的样本数量,提高了检索效率,并且,通过第一聚类处理实现了初步的粗选,基于粗选结果进行第二聚类处理实现了进一步的精选,如此,能够提高检索的准确率以及信息检索系统的容错性。
步骤S405,将召回文本作为信息检索请求的检索结果,输出所述检索结果。
这里,将召回文本作为对应于用户输入的待检索信息的检索结果,召回文本与待检索信息之间的匹配度大于阈值,或者,召回文本与待检索信息之间的相似度大于阈值。将召回文本作为检索结果发送给终端,终端可以在当前界面上显示召回文本。
在一些实施例中,终端可以按照预设的顺序显示第二数量的召回文本,例如,根据每一召回文本与待检索信息之间的匹配度或相似度的大小顺序,依次按照匹配度或相似度从大到小的顺序排序显示召回文本;或者,可以获取每一召回文本的热度,根据热度由高到低的顺序排序显示召回文本;或者,根据用户自定义的规则排序显示召回文本。
本申请实施例的信息检索方法可以应用于任意一种搜索产品中,例如可以应用于企业洞察分析产品的企业搜索场景中,那么用户输入的待检索信息可以是企业名称或企业关键词,搜索到的召回文本则是与用户输入的企业关键词对应的企业名称和企业信息等搜索结果。
本申请实施例提供的信息检索方法,通过在预设的全量文本空间内,根据待检索信息的特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;在预设的子文本空间内,根据对待检索信息进行文本分割处理所得到的每一字段的子特征向量,对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本。如此,通过第一聚类处理,能够根据待检索信息与预设文本库中的文本之间的语义相关度以实现粗选,通过第二聚类处理,能够区分不同上下文中文本局部化信息的重要性以实现精选,从而灵活的度量待检索信息与召回文本之间的相似度,提高信息检索系统的准确性和容错性。
在一些实施例中,信息检索系统中至少包括终端和服务器,用户通过终端上的信息检索应用的客户端发送信息检索请求,服务器进行信息检索。图5是本申请实施例提供的信息检索方法的一个可选的流程示意图,如图5所示,方法包括以下步骤:
步骤S501,终端通过信息检索应用的客户端获取用户输入的待检索信息。
这里,客户端提供至少一种信息输入方式,例如,文字输入、语音采集输入、图像采集输入和视频采集输入等。用户通过上述任一输入方式对应输入文本信息、语音信息、图像信息和视频信息中的一种。当用户输入的是语音信息时,对语音进行语音识别和文本转换处理,得到文本信息;当用户输入的是图像信息时,对图像进行图像识别和文本转换处理,得到文本信息;当用户输入的是视频信息时,对视频中的至少一帧视频帧进行图像识别和文本转换处理,得到文本信息。
步骤S502,终端对待检索信息进行封装,得到信息检索请求。
步骤S503,终端将信息检索请求发送给服务器。
步骤S504,服务器对信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段。
这里,服务器解析得到信息检索请求中的待检索信息,并对待检索信息进行文本分割处理,得到至少两个字段。
步骤S505,服务器对每一字段进行特征提取,对应得到每一字段的子特征向量。
步骤S506,对至少两个字段对应的子特征向量进行拼接,得到待检索信息的特征向量。
这里,待检索信息的特征向量是对字段的子特征向量进行拼接得到的,举例来说,待检索信息包括地址(LOC)、字号(Name)、行业(IND)和类别(Type)四个类型,则可以分别对地址字段、字号字段、行业字段和类别字段分别进行特征提取,对应得到具有n维的地址字段子特征向量、m维的字号字段子特征向量、i维的行业字段子特征向量和j维的类别字段子特征向量,然后,将n维的子特征向量、m维的子特征向量、i维的子特征向量和j维的子特征向量拼接形成一(n+m+i+j)维的特征向量,即为待检索信息的特征向量。
步骤S507,服务器在预设的全量文本空间内,根据特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本。
步骤S508,服务器在预设的子文本空间内,根据子特征向量对第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本。
需要说明的是,步骤S507和步骤S508与上述步骤S403和步骤S404相同,本申请实施例不再赘述。
步骤S509,服务器将召回文本确定为信息检索请求的检索结果。
步骤S510,服务器将检索结果发送给终端。
步骤S511,终端在当前界面上显示检索结果对应的每一召回文本。
本申请实施例中,用户通过终端上的客户端实现信息检索,输入待检索信息,作为对用户所输入待检索信息的响应,输出显示第二数量的召回文本,由于在检索得到第二数量的召回文本时,是分别进行第一聚类处理和第二聚类处理得到召回文本的,因此,能够得到更加符合用户搜索需求的召回文本,且搜索的效率较高,对于用户来说没有搜索时延或者搜索时延较低,从而提高了用户的使用体验。
在一些实施例中,第一聚类处理是在全量文本空间内的处理,图6是本申请实施例提供的信息检索方法的一个可选的流程示意图,如图6所示,步骤S403可以通过以下步骤实现:
步骤S601,根据待检索信息的特征向量,确定全量文本空间的第一维度。
在一些实施例中,全量文本空间的第一维度与待检索信息的特征向量的维度相同,因此可以根据待检索信息的维度确定全量文本空间的第一维度,对应地,步骤S601可以通过以下步骤实现:
步骤S6011,确定每一字段的子特征向量的维度。本申请实施例中,在待检索信息对应的多个字段中,每一字段的子特征向量的维度可以与其他字段的子特征向量的维度相同,也可以不同。步骤S6012,将至少两个字段对应的子特征向量的维度之和,确定为待检索信息的特征向量的维度。步骤S6013,将特征向量的维度,确定为全量文本空间的第一维度。
步骤S602,在预设文本库中,将文本特征向量具有第一维度的文本,确定为目标文本,形成目标文本集合。
这里,根据每一文本的维度,从预设文本库中筛选出具有第一维度的多个目标文本,形成目标文本集合。
步骤S603,根据待检索信息的特征向量和每一目标文本的文本特征向量,对目标文本集合中的目标文本进行第一聚类处理,得到第一数量的候选文本。
这里,第一聚类处理是用于对目标文本集合中的文本进行聚类,进而粗选出与待检索信息相近或相似的候选文本。在一些实施例中,步骤S603可以通过以下步骤实现:
步骤S6031,对目标文本集合中的目标文本进行聚类,得到第三数量的类。
步骤S6032,确定每一类的聚类中心对应的中心目标文本。这里,每一类具有一个聚类中心,将聚类中心位置的目标文本确定为中心目标文本。
步骤S6033,确定待检索信息的特征向量与每一中心目标文本的文本特征向量之间的第一距离。这里,确定待检索信息与中心目标文本之间的第一距离,将第一距离作为待检索信息与该中心目标文本对应的类中的全部目标文本之间的距离。
步骤S6034,在第三数量的中心目标文本中,根据第一距离确定候选目标文本。可以通过以下两种方式确定候选目标文本:方式一:将具有最小第一距离的中心目标文本确定为候选目标文本。方式二:将第一距离小于阈值的多个中心目标文本确定为候选目标文本。
上述候选目标文本即候选中心目标文本,上述方式一适用于待检索信息位于候选目标文本所在类的中心位置,或者适用于待检索信息与每一中心目标文本之间的第一距离的偏差较大的情况,此时表明待检索信息仅与一个中心目标文本的距离较小,而与其他中心目标文本的距离均较大。上述方式二适用于待检索信息位于一个候选目标文本所在类的边缘位置,或者适用于待检索信息位于两个或多个候选目标文本所在类的边缘交界位置,此时待检索信息与多个中心目标文本的距离均比较相近,且距离均比较小,为了避免只将一个中心目标文本确定为候选目标文本存在较大偏差,而降低最终的召回率的问题,可以将这多个中心目标文本均确定为候选目标文本。
需要说明的是,本申请实施例所提出的上述任意一种位置,可以指在二维平面坐标系中,对应文本的特征向量所处的位置。
步骤S6035,将候选目标文本所在的类中的目标文本,确定为候选文本。
本申请实施例中,在确定候选文本时,是将候选目标文本所在的类中的全部目标文本确定为候选文本。候选文本具有第一数量,第一数量不是固定值,是根据聚类结果动态确定的。当候选目标文本为一个时,第一数量与候选目标文本中的目标文本的数量相同,当候选目标文本为多个时,第一数量是多个候选目标文本中的目标文本的数量之和。
在一些实施例中,第二聚类处理是在子文本空间内的处理,基于图4,图7是本申请实施例提供的信息检索方法的一个可选的流程示意图,如图7所示,步骤S404可以通过以下步骤实现:
步骤S701,对于至少两个字段中的任一字段,将字段的子特征向量的维度,确定为字段在进行第二聚类处理时的子文本空间的第二维度。对于每一类型的字段,均对应一子文本空间,通过该子文本空间实现上述第二聚类处理。
步骤S702,确定每一候选文本中与第二维度对应的子文本,形成子文本集合。每一候选文本与待检索信息相同,也可以对应有多个字段,即子文本,每一子文本具有特定的维度。
本申请实施例中,当对待检索信息中任一字段进行第二聚类处理时,则确定出与该字段的子特征向量具有相同维度的子文本空间,且筛选出每一候选文本中与子特征向量具有相同维度的子文本,形成子文本集合。举例来说,待检索信息中地址字段的子特征向量的维度是n,则确定出用于对地址字段进行第二聚类处理的子文本空间的第二维度也是n,且将每一候选文本中具有n维向量的子文本筛选出来,形成子文本集合,用于实现对地址字段进行后续的第二聚类处理。
步骤S703,根据字段的子特征向量和每一子文本的子文本特征向量,对子文本集合中的子文本进行第二聚类处理,以得到字段与每一子文本之间的子距离。
在一些实施例中,步骤S703可以通过以下步骤实现:步骤S7031,对子文本集合中的子文本进行聚类,得到第四数量的子类。步骤S7032,确定每一子类的聚类中心对应的中心子文本。步骤S7033,确定字段的子特征向量与每一中心子文本的子文本特征向量之间的第二距离。步骤S7034,将第二距离确定为字段与对应中心子文本所在的子类中的每一子文本之间的子距离。
举例来说,在对地址字段进行第二聚类处理时,假设地址字段的子特征向量为第一向量,确定出的子文本集合L中有k个子文本,对这k个子文本进行聚类,形成h个子类。在这h个子类中,确定每一子类的聚类中心对应的子文本为该子类的中心子文本,假设中心子文本的子文本特征向量为第二向量,然后,计算第一向量与h个子类中的每一个中心子文本的第二向量之间的距离为上述第二距离。假设计算了这h个子类中的第i个子类,即计算了第一向量与第i个子类的第二向量之间的第二距离为H,其中,第i个子类中包括Q个子文本,则确定出地址字段与这Q个子文本之间的子距离均为H。
步骤S704,根据每一候选文本的子文本对应的子距离,在第一数量的候选文本中筛选得到第二数量的召回文本。
在一些实施例中,步骤S704可以通过以下步骤实现:步骤S7041,对每一候选文本中的至少两个子文本对应的子距离进行加权求和,得到对应候选文本与待检索信息之间的文本距离。步骤S7042,根据文本距离,对第一数量的候选文本进行筛选,得到第二数量的召回文本。
这里,以任一候选文本包括四个类型的子文本为例进行说明:假设候选文本被划分为四个类型的子文本,分别是地址子文本、字号子文本、行业子文本和类别子文本,并且采用上述步骤S703分别确定出待检索信息中的地址字段、字号字段、行业字段和类别字段与这四个子文本之间的四个子距离分别为H1、H2、H3和H4,那么可以对H1、H2、H3和H4这四个子距离加权求和,即得到该候选文本与待检索信息之间的文本距离。需要说明的是,每一子距离在进行加权求和时的权重不同,权重可以根据不同子距离在最终检索过程中的重要程度来设置,本申请实施例不对加权求和的权重设置进行限定。
请继续参照图7,步骤S405可以通过以下步骤实现:
步骤S705,根据文本距离,对第二数量的召回文本进行排序。
这里,在确定出文本距离之后,按照文本距离由小到大的顺序对第二数量的召回文本进行排序,形成文本序列。其中文本距离越小,则表明待检索信息与对应召回文本之间的相似度越大,或者相关度越大,或者匹配度越高。
步骤S706,将排序后的召回文本作为信息检索请求的检索结果。
步骤S707,输出检索结果。
基于图4,图8是本申请实施例提供的信息检索方法的一个可选的流程示意图,如图8所示,步骤S401可以通过以下步骤实现:
步骤S801,将待检索信息输入至预先训练的序列标注模型中。
这里,序列标注模型用于对待检索信息中的每个字进行序列标注,得到每个字的标签,然后可以根据每个字的标签确定出每个字所属的类型,进而得到至少两个字段。序列标注模型中包括文本分割层和标注层,可以预先训练序列标注模型中的文本分割层和标注层的参数,得到训练好的序列标注模型。
步骤S802,通过序列标注模型中的文本分割层,对待检索信息进行文本分割处理,得到至少两个字。
文本分割层用于对待检索信息对应的文本中的字进行分割,形成至少两个字。当待检索信息对应的文本为中文文本时,可以以单个字为单位进行分割,当待检索信息对应的文本为英文文本时,可以以单个单词为单位进行分割。
步骤S803,通过序列标注模型中的标注层,对每个字进行类型标注,得到对应字的标签。
本申请实施例中,可以预先设置不同的标签,则标注层根据这些标签对每个字进行类型标注,举例来说,可以预先设置待检索信息包括四种不同类型的字段:地址、字号、行业和类别,则对应于每一种类型,可以包括开始(B)、中间(I)、结束(E)、单个(S)和其他(O)五种标签,例如,对应于地址类型,则可以具有地址-开始、地址-中间、地址-结束、地址-单个和地址-其他等标签,对于字号、行业和类别的标签类似,这里不再赘述。
步骤S804,根据每个字的标签对至少两个字进行拼接,得到至少两个字段。
这里,在确定出每个字的标签之后,将属于同一类型的标签的字拼接成字段。举例来说,如果确定出待检索信息中的三个字:“深”的标签是地址-开始,“圳”的标签是地址-中间,“市”的标签是地址-结束,则按照这三个字的标签即可得到对应于地址类型的地址字段为“深圳市”。
本申请实施例提供的信息检索方法,通过预先训练的序列标注模型对待检索信息中的每个字进行标注,得到对应的标签,从而能够根据标签准确快速的拼接形成字段。
在一些实施例中,本申请实施例的信息检索方法还可以采用信息检索模型实现,即采用信息检索模型确定信息检索请求的检索结果。
图9是本申请实施例提供的信息检索模型的训练方法的流程示意图,如图9所示,方法包括以下步骤:
步骤S901,将样本检索信息和样本文本集合输入至信息检索模型中。
这里,将样本检索信息和样本文本集合作为样本数据输入至信息检索模型中,其中,样本检索信息是作为样本数据的待检索信息,样本文本集合是作为样本数据的文本库,通过信息检索模型,在样本文本集合中确定出与样本检索信息匹配的召回文本。
步骤S902,通过信息检索模型的文本分割层,对样本检索信息进行文本分割处理,得到至少两个样本字段。
步骤S903,通过信息检索模型的特征提取层,获取样本检索信息的样本特征向量和每一样本字段的子样本特征向量。
步骤S904,通过信息检索模型的第一聚类层,在全量样本空间内,根据样本特征向量对样本文本集合中的样本文本进行第一聚类处理,得到第一数量的样本候选文本。
步骤S905,通过信息检索模型的第二聚类层,在子样本空间内,根据子样本特征向量,对第一数量的样本候选文本进行第二聚类处理,得到第二数量的样本召回文本。
步骤S906,将样本召回文本输入至预设损失模型中,得到损失结果。
这里,预设损失模型用于将样本召回文本与预设的召回文本进行比较,得到损失结果,其中,预设的召回文本可以是用户预先设置的与样本检索信息真实匹配的文本。
预设损失模型中包括损失函数,通过损失函数可以计算样本召回文本与预设的召回文本之间的相似度,在计算过程中,可以通过计算样本召回文本的第一特征向量与预设的召回文本的第二特征向量之间的距离,得到样本召回文本与预设的召回文本之间的相似度,并根据相似度确定上述损失结果。当第一特征向量与第二特征向量之间的距离越大时,样本召回文本与预设的召回文本之间的相似度越小;当第一特征向量与第二特征向量之间的距离越小时,样本召回文本与预设的召回文本之间的相似度越大。
步骤S907,根据损失结果,对文本分割层、特征提取层、第一聚类层和第二聚类层中的参数进行修正,得到信息检索模型。
这里,当上述相似度大于预设相似度阈值时,则损失结果表明当前的信息检索模型中的文本分割层不能准确的对样本检索信息进行文本分割处理,和/或,特征提取层不能准确的对样本检索信息和每一样本字段进行特征提取,和/或,第一聚类层不能准确的在全量样本空间内,对样本文本集合中的样本文本进行第一聚类处理;和/或,第二聚类层不能准确的在子样本空间内,对第一数量的样本候选文本进行第二聚类处理。因此,需要对当前的信息检索模型进行修正。那么,可以根据上述相似度,对文本分割层、特征提取层、第一聚类层和第二聚类层中的至少一个进行修正,直至信息检索模型输出的样本召回文本与预设的召回文本之间的相似度满足预设条件时,将对应的信息检索模型确定为训练好的信息检索模型。
本申请实施例提供的信息检索模型的训练方法,由于将样本数据输入至信息检索模型中,依次通过信息检索模型中的文本分割层、特征提取层、第一聚类层和第二聚类层进行处理之后,得到样本召回文本,并将样本召回文本输入至预设损失模型中,得到损失结果。因此,能够根据损失结果对文本分割层、特征提取层、第一聚类层和第二聚类层中的至少一个进行修正,所得到的信息检索模型能够准确的根据待推荐信息在预设文本库中搜索出最匹配的召回文本,实现用户信息检索请求的准确快速响应。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例涉及自然语言处理技术领域,进一步地,涉及一种面向大规模短文本数据的快速检索方法及系统。
在数据预处理阶段,通过对已有文本数据采用分布式序列标注模型进行文本分割,将待检索文本统一分割为指定数量的子段,针对性地训练word2vector和node2vector模型得到文本的分布式表征,将分割后的文本向量化,而后分别在全量空间和各个子空间内去重后进行聚类,将全量空间的划分用来构建倒排索引,将各子空间的划分用来构建样本的有损压缩编码。在检索阶段,本申请实施例基于乘积量化的检索思想,对查询词(对应上述待检索信息或者待检索信息的字段)进行同样的预处理,得到查询词的向量和编码,通过倒排索引获得查询候选集,通过样本编码进行候选集粗排,最后对粗排的头部样本自适应加权后进行精排,得到检索结果。本申请实施例能够利用少量资源实现大规模文本的快速检索和匹配,同时提升现有方法的准确率和容错性。
本申请实施例的信息检索方法可以应用于企业洞察分析产品的企业搜索中,如图10所示,是本申请实施例提供的企业洞察分析产品的界面图,其中左图是企业洞察分析产品的搜索入口,右图是输入待检索文本(即待检索信息)后系统弹出的搜索提示,用户通过在输入框1001中输入完整的搜索关键字之后,点击搜索按钮1002获取搜索结果。
图11是本申请实施例提供的企业搜索结果界面图,如图11所示,在企业搜索界面图1100中包括待检索文本(或查询词)显示区1101、筛选条件显示区1102和搜索结果显示区1103,其中,待检索文本显示区1101显示用户输入的待检索文本或查询词;筛选条件显示区1102用于显示对检索结果的筛选条件,本申请实施例中提供至少一种对检索结果的筛选条件,例如,分布行业、地域分布、注册资本和经营状况等;搜索结果显示区1103用于显示搜索结果,搜索结果可以包括至少一条企业信息,用户可通过点击搜索结果中相应的条目查看企业详情。
在本申请实施例提供的场景下,如何合理地将根据用户搜索关键词召回的结果排序呈现给用户是核心问题。因而,本申请实施例的主要目的是从文本匹配角度,通过计算用户搜索关键词与文本库内企业名称之间的相似度特征,可以更好地挖掘用户需求目标,将满足用户需求的结果在最终展示中排在更靠前的位置,以便用户访问。
图12是本申请实施例提供的信息检索方法的算法流程图,如图12所示,算法流程包括数据准备阶段121和索引构建阶段122两个阶段。
在数据准备阶段121中,主要包括对原始企业名称数据等原始文本进行预处理和建模,具体包括数据清洗、文本分割和文本的分布式表征等。
数据清洗主要是针对原始文本中存在的脏数据、非标数据进行清洗,方便后续建模使用。主要内容包括:去标点、去除无意义的字符和繁简转换等。
文本分割是指根据企业名称的特性,通过人工标注的方式构建了一批样本集,按照序列标注任务将企业名称统一分割为四个部分:地址(LOC,如“深圳市”)、字号(Name,如“腾讯”)、行业(IND,如“科技”)、类别(Type,如“有限公司”)(若某一字段缺失则为空),训练文本分割模型。
文本分割模型可以采用自然语言处理(NLP,Natural Language Processing)领域目前最具影响力的BERT(Bidirectional Encoder Representationsfrom Transformers)模型进行构建,在实际使用中发现BERT输出的序列标注结果存在不合理的跳转情况,故在BERT之后接了一层条件随机场(CRF,Conditional Random Field)模型,以保证各类标签之间跳转的概率符合实际情况。如图13所示,是本申请实施例提供的序列标注模型的示意图,序列标注模型130由作为文本分割模型的BERT模型131和CRF模型132连接形成。将原始文本进行数据清洗等预处理之后,得到处理后的文本,将处理后的文本作为BERT模型131的输入文本输入至BERT模型131中,其中,输入文本被分割成Tok1、Tok2……TokN等N个词汇,通过BERT模型131中的向量嵌入层对Tok1、Tok2……TokN等这N个词汇进行向量嵌入,得到每一词汇对应的嵌入向量表示E1、E2……EN,通过BERT模型131中的隐层对每一词汇的嵌入向量进行处理,得到每一词汇对应的特征向量T1、T2……TN,并将T1、T2……TN作为CRF模型132的输入特征,输入至CRF模型132中,通过CRF模型132预测得到每一词汇的标签。
这里对图13中所示意的各个标签进行解释:B表示开始(beginning),I表示中间(intermediate),E表示结束(end),S表示单个(single),O表示其他(other)。对于上述分割得到的四个部分的任意一个部分,均可以对应B、I、E、S和O五个标签中的任意一个。举例来说,对于地址(LOC)来说,如果地址是“深圳市”,那么“深”就是地址的开始字符,则标签可以是LOC-B,“圳”的标签可以是LOC-I,“市”的标签可以是LOC-E;如果某个地址只有一个字,则这个字对应的标签可以是LOC-S。当然,对于上述分割得到的四个部分中的字号(Name)也可以包括Name-B、Name-I、Name-E、Name-S和Name-O五个标签;对于上述分割得到的四个部分中的行业(IND)也可以包括IND-B、IND-I、IND-E、IND-S和IND-O五个标签;对于上述分割得到的四个部分中的类别(Type)也可以包括Type-B、Type-I、Type-E、Type-S和Type-O五个标签。需要说明的是,本申请实施例中给出的标签只是示例性的,还可以有其他形式的标签,本申请对标签的形式和标签的数量不做限定。
本申请实施例之所以采用BERT模型131和CRF模型132连接形成的序列标注模型130,是因为如果只采用BERT模型131来做序列标注任务的话,相当于是把这个序列任务做了一个分类任务,也就是说预测每一个位置所属的标签,比如T1、T2……TN中每个位置所属的标签,因此BERT模型131每次预测的时候是预测当前位置下的字属于哪个标签。但是,这样的话就忽略了标签与标签之间跳转的依赖关系,或者说在句子层面上,没有考虑最优化,因为只做了局部的最优化,相当于只考虑每个位置它所属概率的最优化,这里假设T1位置所属的是S标签,那么从S标签跳转到B标签的概率和S标签跳转到I标签的概率是不一样的。如果从句子层面来看,对于从S标签跳转到B标签和从S标签跳转到I标签来说,从S标签跳转到B标签的跳转概率应该是更大的,所以这个时候应该把这个跳转概率调整到S标签跳转到B标签,也就是说,在BERT模型131上做的是局部最优化,而在CRF模型132上做的是句子层面上的最优化,如此,能保证最后跳转的概率最优化。
经过测试和调优,试验表明序列标注模型的准确率可以保证在98%以上。在部署阶段,考虑到数据规模,采用spark平台(一种快速、通用、可扩展的大数据分析引擎)对模型进行分布式推断,得到全量数据的所有文本分割结果,并将结果保存至Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)。
需要说明的是,本申请实施例可以应用于分布式系统,通过分布式系统中的分布式服务器实现上述的分布式推断。如此,可以采用分布式系统中的多个序列标注模型同时进行序列标注,进而实现分布式推断,从而极大的提高了信息检索的效率。
在一些实施例中,针对文本分割后的各个字段表征的实际含义以及各字段在文本检索过程中的要求,本申请实施例还针对性地训练相应的词嵌入模型以获得各部分文本的分布式表征。
对于地址(LOC)字段,需要根据行政区域的空间关联性建模相应文本的相似性,如“深圳腾讯”和“广东腾讯”相似度应当较高。对此,本申请实施例根据在册企业的行政区域分布,构建地域层级关系图网络,如图14所示,是本申请实施例提供的地域层级关系图,将各个地名作为图中的节点,对层级所属关系连边,同时根据业务需求及常见输入问题调整各连边的权重。此外,还可以根据实际业务中常见的地域关联性对图14中的节点进行跨层级连边(例如,如果应用中发现“北京”和“南京”混淆的频率较高,可以在图中在两个节点间建立新的连边),得到地域层级的有向无环图,之后采用Node2vector模型学习得到各节点的词嵌入,以此作为文本的分布式表征。这种方式可以捕捉地域之间的空间关联性,使得地理上接近的地名在词嵌入空间也拥有较高的相似性。
对于字号(Name)字段,常见的问题是需要处理因输入法错误(如拼音相同汉字不同)、OCR识别错误(如错别字)导致的文本偏差。这里采用与地址字段类似的方式,也将常用汉字及库内企业的字号构建有向无环图,同时在图中的节点加入拼音节点,根据字词之间在拼音和笔画构成上的编辑距离为节点之间的连边赋予权重,而后仍然采用Node2vector模型学习得到各节点的词嵌入,以此作为字号字段的分布式表征。这种方式可以获得较高质量的词嵌入,同时由于拼音节点的加入,大大缓解了词汇不足(OOV,Out Of Vocabulary)的问题。
对于行业(IND)和类别(type)字段,需要捕捉文本的语义信息,如“物流”和“运输”,“科学”和“技术”等近义词应在词嵌入空间上也保持相似性。本申请实施例中,可以利用公开的新闻语料、百科语料等文本训练word2vector模型,获得相应的词嵌入。
在获得各字段的词嵌入之后,将各个字段的词向量进行横向拼接,作为单个文本整体的词嵌入,根据熵权法及业务需求确定各个字段的权重,并用带权重的欧式距离来度量文本之间的相似性。
在一些实施例中,上述有向无环图可以是带权重的有向无环图,其中,权重可以根据从一点节点跳转到另一个节点的概率或增益来确定。举例来说,在赋予连边的权重时,可以根据业务的场景去确定,例如这里可以是根据两个字或词语,如果这两个字或词语的拼音很接近,比如niunai(牛奶)和niulai,拼音上只差一个字母,那编辑距离就很小,则此时连边的权重就可以很大,相当于在这个跳转上增加了跳转的概率或者增益,这样就可以解决同音字或者两个字字不同但拼音一样的跳转问题,也就是说这两个节点是完全可以跳转的,可以合并成一个节点。
需要说明的是,如果编辑距离越小,则权重越大,跳转概率就越大,最后会使得两个节点的相似度也增大,这样就使得即使拼音输错了或者有一点点偏差,但是节点的嵌入还是相近的。也就是说,通过这个权重来学习每个词的词向量,通过词向量来作为每个节点的表征,以此来衡量节点之间的相似度。
本申请实施例中,首先需要构图(即形成上述有向无环图),在构图的过程中,这些节点即表示词、字和拼音,至于这些字和节点怎么连接,则需要看这些字和节点之间是否相关,例如广州市和广州,他们之间互相包含,那么这两个节点在有向无环图中就可以连接上,又因为这两个节点之间是全包含关系,所以还可以为每个节点赋予相应的权重。然后,在定了权重之后,有向无环图就构成了,则可以采用Node2vector在有向无环图中游走,得到词序列,采用word2vector对词序列进行训练,得到每个节点的词嵌入。
在一些实施例中,为方便系统扩展、更新及大规模部署和应用,还可以对上述各部分功能进行解耦,分别对文本分割模型和词嵌入模型采用docker容器的形式搭建web服务,系统其它组件采用http请求的方式调用模型能力。同时将预先计算好的词嵌入以K-V存储的格式存放于远程字典服务(Redis,Remote Dictionary Server)数据库,并搭建web服务提供调用。
请继续参照图12,在索引构建阶段122中包含两部分内容:向量量化和文本检索,其中向量量化旨在对预处理后的文本进行向量化表示,同时进行压缩编码,文本检索主要指系统应用时的检索流程。
在向量量化时,是对预处理好的文本向量分别在全量空间(整句向量)和子空间(各字段的向量)采用k-means算法在Spark平台进行聚类,根据全量空间的聚类结果对样本构建倒排索引,根据子空间的聚类结果为各文本进行编码,得到各聚类中心的向量及全量样本的压缩编码。
在文本检索时,对输入文本进行同样的预处理过程,对于输入待检索文本Q,首先进行清洗(去标点、繁简转换等),而后进行文本分割和向量化,根据得到的文本向量分别在全量空间和子空间计算样本和聚类中心的距离,采用预处理的倒排索引结合多探针搜索策略获得候选样本集,采用预先算好的编码距离对候选样本集进行粗排,将粗排结果的头部样本(即位于粗排序列前部的预设数量的样本)调用Redis数据库获得原始向量,通过自适应权重调整字段距离度量方式,对原始向量进行精排得到检索结果并输出。
图15是本申请实施例提供的信息检索方法的流程示意图,如图15所示,信息检索方法包括以下步骤:
步骤S151,对输入的待检索文本Q进行数据清洗。
步骤S152,采用序列标注模型,对清洗后的待检索文本Q进行文本分割处理。
步骤S153,采用word2vector模型,对分割处理后的字段进行向量化处理。
步骤S154,采用预处理的倒排索引,在全量空间进内行测距,以确定每一字段与候选样本集中的文本之间的编码距离。
步骤S155,在子空间内对每一字段进行测距,以确定每一字段与候选样本集中的文本之间的编码距离。
步骤S156,采用编码距离对候选样本集进行粗排。
步骤S157,调用Redis数据库调用Redis数据库获得原始向量(即候选样本集中的文本),通过自适应权重调整字段距离度量方式,对原始向量进行精排,确定出召回文本。
步骤S158,输出所确定出的召回文本。
本申请实施例提供的信息检索方法,基于分布式序列标注模型的文本分割构建联合索引(即对企业名称分割后的每个字段都确定的分段索引),使得离线预处理成为可能;针对性训练的word2vector和node2vector模型提高了系统检索的容错性;基于自适应加权的倒排乘积量化索引(即倒排索引)提高了检索效率,并提升了检索灵活性;新的检索系统方案将系统检索的准确率从之前的80%提升至90%以上。本申请实施例提供方法的业务效果:采用新的信息检索系统之后,该算法已经应用于亿级文档的快速检索业务中,为企业画像及相关产品每天的海量业务提供支撑。
需要说明的是,本申请实施例中序列标注模型不限于上述实施例中使用的模型架构,还可以采用其他替代方案;在学习文本分布式表征时,可以并不限于上述实施例中所给出的基于有向无环图的图计算方法,还可以采用其他类似方案实现;并不限于上述采用kmeans进行聚类和向量量化的方案,也可采用其他量化方案;本申请实施例方案的应用场景可以是企业洞察产品搜索场景,除此之外,还可以应用于一些其他搜索场景。
下面继续说明本申请实施例提供的信息检索装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的信息检索装置354中的软件模块可以是服务器300中的信息检索装置,包括:
文本分割模块3541,用于对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;获取模块3542,用于获取所述待检索信息的特征向量和每一字段的子特征向量;第一聚类处理模块3543,用于在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;第二聚类处理模块3544,用于在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;处理模块3545,用于将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。
在一些实施例中,所述获取模块还用于:对每一所述字段进行特征提取,对应得到每一字段的子特征向量;对所述至少两个字段对应的子特征向量进行拼接,得到所述待检索信息的特征向量。
在一些实施例中,所述第一聚类处理模块还用于:根据所述待检索信息的特征向量,确定所述全量文本空间的第一维度;在所述预设文本库中,将文本特征向量具有所述第一维度的所述文本,确定为目标文本,形成目标文本集合;根据所述待检索信息的所述特征向量和每一目标文本的所述文本特征向量,对所述目标文本集合中的目标文本进行所述第一聚类处理,得到所述第一数量的候选文本。
在一些实施例中,所述第一聚类处理模块还用于:确定每一字段的所述子特征向量的维度;将所述至少两个字段对应的所述子特征向量的维度之和,确定为所述待检索信息的特征向量的维度;将所述特征向量的维度,确定为所述全量文本空间的第一维度。
在一些实施例中,所述第一聚类处理模块还用于:对所述目标文本集合中的目标文本进行聚类,得到第三数量的类;确定每一类的聚类中心对应的中心目标文本;确定所述待检索信息的所述特征向量与每一中心目标文本的文本特征向量之间的第一距离;在所述第三数量的中心目标文本中,根据所述第一距离确定候选目标文本;将所述候选目标文本所在的所述类中的目标文本,确定为所述候选文本。
在一些实施例中,所述第一聚类处理模块还用于:将具有最小第一距离的所述中心目标文本确定为所述候选目标文本;或者,将所述第一距离小于阈值的多个中心目标文本确定为所述候选目标文本。
在一些实施例中,所述第二聚类处理模块还用于:对于所述至少两个字段中的任一字段,将所述字段的子特征向量的维度,确定为所述字段在进行所述第二聚类处理时的所述子文本空间的第二维度;确定每一所述候选文本中与所述第二维度对应的子文本,形成子文本集合;根据所述字段的所述子特征向量和每一子文本的子文本特征向量,对所述子文本集合中的子文本进行所述第二聚类处理,以得到所述字段与每一所述子文本之间的子距离;根据每一候选文本的子文本对应的所述子距离,在所述第一数量的候选文本中筛选得到所述第二数量的召回文本。
在一些实施例中,所述第二聚类处理模块还用于:对所述子文本集合中的子文本进行聚类,得到第四数量的子类;确定每一子类的聚类中心对应的中心子文本;确定所述字段的所述子特征向量与每一所述中心子文本的子文本特征向量之间的第二距离;将所述第二距离,确定为所述字段与对应中心子文本所在的子类中的每一子文本之间子距离。
在一些实施例中,所述第二聚类处理模块还用于:对每一所述候选文本中的至少两个子文本对应的所述子距离进行加权求和,得到对应候选文本与所述待检索信息之间的文本距离;根据所述文本距离,对所述第一数量的候选文本进行筛选,得到所述第二数量的召回文本。
在一些实施例中,所述处理模块还用于:根据所述文本距离,对所述第二数量的召回文本进行排序;将排序后的召回文本作为所述信息检索请求的检索结果;输出所述检索结果。
在一些实施例中,所述文本分割模块还用于:将所述待检索信息输入至预先训练的序列标注模型中;通过所述序列标注模型中的文本分割层,对所述待检索信息进行文本分割处理,得到至少两个字;通过所述序列标注模型中的标注层,对每个字进行类型标注,得到对应字的标签;根据每个字的标签,对所述至少两个字进行拼接,得到所述至少两个字段。
在一些实施例中,所述装置还包括:控制模块,用于控制采用信息检索模型确定所述信息检索请求的检索结果;其中,所述信息检索模型通过以下步骤进行训练:将样本检索信息和样本文本集合输入至所述信息检索模型中;通过所述信息检索模型的文本分割层,对所述样本检索信息进行文本分割处理,得到至少两个样本字段;通过所述信息检索模型的特征提取层,获取所述样本检索信息的样本特征向量和每一样本字段的子样本特征向量;通过所述信息检索模型的第一聚类层,在全量样本空间内,根据所述样本特征向量对所述样本文本集合中的样本文本进行第一聚类处理,得到第一数量的样本候选文本;通过所述信息检索模型的第二聚类层,在子样本空间内,根据所述子样本特征向量,对所述第一数量的样本候选文本进行第二聚类处理,得到第二数量的样本召回文本;将所述样本召回文本输入至预设损失模型中,得到损失结果;根据所述损失结果,对所述文本分割层、所述特征提取层、所述第一聚类层和所述第二聚类层中的参数进行修正,得到所述信息检索模型。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的信息检索方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种信息检索方法,其特征在于,包括:
对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;
获取所述待检索信息的特征向量和每一字段的子特征向量;
在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;
在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;
将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待检索信息的特征向量和每一字段的子特征向量,包括:
对每一所述字段进行特征提取,对应得到每一字段的子特征向量;
对所述至少两个字段对应的子特征向量进行拼接,得到所述待检索信息的特征向量。
3.根据权利要求2所述的方法,其特征在于,所述在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本,包括:
根据所述待检索信息的特征向量,确定所述全量文本空间的第一维度;
在所述预设文本库中,将文本特征向量具有所述第一维度的所述文本,确定为目标文本,形成目标文本集合;
根据所述待检索信息的所述特征向量和每一目标文本的所述文本特征向量,对所述目标文本集合中的目标文本进行所述第一聚类处理,得到所述第一数量的候选文本。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待检索信息的特征向量,确定所述全量文本空间的第一维度,包括:
确定每一字段的所述子特征向量的维度;
将所述至少两个字段对应的所述子特征向量的维度之和,确定为所述待检索信息的特征向量的维度;
将所述特征向量的维度,确定为所述全量文本空间的第一维度。
5.根据权利要求3所述的方法,其特征在于,所述根据所述待检索信息的所述特征向量和每一目标文本的所述文本特征向量,对所述目标文本集合中的目标文本进行所述第一聚类处理,得到所述第一数量的候选文本,包括:
对所述目标文本集合中的目标文本进行聚类,得到第三数量的类;
确定每一类的聚类中心对应的中心目标文本;
确定所述待检索信息的所述特征向量与每一中心目标文本的文本特征向量之间的第一距离;
在所述第三数量的中心目标文本中,根据所述第一距离确定候选目标文本;
将所述候选目标文本所在的所述类中的目标文本,确定为所述候选文本。
6.根据权利要求5所述的方法,其特征在于,所述在所述第三数量的中心目标文本中,根据所述第一距离确定候选目标文本,包括:
将具有最小第一距离的所述中心目标文本确定为所述候选目标文本;或者,
将所述第一距离小于阈值的多个中心目标文本确定为所述候选目标文本。
7.根据权利要求1所述的方法,其特征在于,所述在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本,包括:
对于所述至少两个字段中的任一字段,将所述字段的子特征向量的维度,确定为所述字段在进行所述第二聚类处理时的所述子文本空间的第二维度;
确定每一所述候选文本中与所述第二维度对应的子文本,形成子文本集合;
根据所述字段的所述子特征向量和每一子文本的子文本特征向量,对所述子文本集合中的子文本进行所述第二聚类处理,以得到所述字段与每一所述子文本之间的子距离;
根据每一候选文本的子文本对应的所述子距离,在所述第一数量的候选文本中筛选得到所述第二数量的召回文本。
8.根据权利要求7所述的方法,其特征在于,所述根据所述字段的所述子特征向量和每一子文本的子文本特征向量,对所述子文本集合中的子文本进行所述第二聚类处理,以得到所述字段与每一所述子文本之间的子距离,包括:
对所述子文本集合中的子文本进行聚类,得到第四数量的子类;
确定每一子类的聚类中心对应的中心子文本;
确定所述字段的所述子特征向量与每一所述中心子文本的子文本特征向量之间的第二距离;
将所述第二距离,确定为所述字段与对应中心子文本所在的子类中的每一子文本之间的子距离。
9.根据权利要求7所述的方法,其特征在于,所述根据每一候选文本的子文本对应的所述子距离,在所述第一数量的候选文本中筛选得到所述第二数量的召回文本,包括:
对每一所述候选文本中的至少两个子文本对应的所述子距离进行加权求和,得到对应候选文本与所述待检索信息之间的文本距离;
根据所述文本距离,对所述第一数量的候选文本进行筛选,得到所述第二数量的召回文本。
10.根据权利要求9所述的方法,其特征在于,所述将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果,包括:
根据所述文本距离,对所述第二数量的召回文本进行排序;
将排序后的召回文本作为所述信息检索请求的检索结果;
输出所述检索结果。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段,包括:
将所述待检索信息输入至预先训练的序列标注模型中;
通过所述序列标注模型中的文本分割层,对所述待检索信息进行文本分割处理,得到至少两个字;
通过所述序列标注模型中的标注层,对每个字进行类型标注,得到对应字的标签;
根据每个字的标签,对所述至少两个字进行拼接,得到所述至少两个字段。
12.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:采用信息检索模型确定所述信息检索请求的检索结果;
其中,所述信息检索模型通过以下步骤进行训练:
将样本检索信息和样本文本集合输入至所述信息检索模型中;
通过所述信息检索模型的文本分割层,对所述样本检索信息进行文本分割处理,得到至少两个样本字段;
通过所述信息检索模型的特征提取层,获取所述样本检索信息的样本特征向量和每一样本字段的子样本特征向量;
通过所述信息检索模型的第一聚类层,在全量样本空间内,根据所述样本特征向量对所述样本文本集合中的样本文本进行第一聚类处理,得到第一数量的样本候选文本;
通过所述信息检索模型的第二聚类层,在子样本空间内,根据所述子样本特征向量,对所述第一数量的样本候选文本进行第二聚类处理,得到第二数量的样本召回文本;
将所述样本召回文本输入至预设损失模型中,得到损失结果;
根据所述损失结果,对所述文本分割层、所述特征提取层、所述第一聚类层和所述第二聚类层中的参数进行修正,得到所述信息检索模型。
13.一种信息检索装置,其特征在于,包括:
文本分割模块,用于对接收到的信息检索请求中的待检索信息进行文本分割处理,得到至少两个字段;
获取模块,用于获取所述待检索信息的特征向量和每一字段的子特征向量;
第一聚类处理模块,用于在预设的全量文本空间内,根据所述特征向量对预设文本库中的文本进行第一聚类处理,得到第一数量的候选文本;
第二聚类处理模块,用于在预设的子文本空间内,根据所述子特征向量对所述第一数量的候选文本进行第二聚类处理,得到第二数量的召回文本;
处理模块,用于将所述召回文本作为所述信息检索请求的检索结果,输出所述检索结果。
14.一种信息检索设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010741737.4A CN111753060B (zh) | 2020-07-29 | 2020-07-29 | 信息检索方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010741737.4A CN111753060B (zh) | 2020-07-29 | 2020-07-29 | 信息检索方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753060A true CN111753060A (zh) | 2020-10-09 |
CN111753060B CN111753060B (zh) | 2023-09-26 |
Family
ID=72712418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010741737.4A Active CN111753060B (zh) | 2020-07-29 | 2020-07-29 | 信息检索方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753060B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506671A (zh) * | 2020-03-17 | 2020-08-07 | 北京捷通华声科技股份有限公司 | 处理实体对象的属性的方法、装置、设备及存储介质 |
CN112116436A (zh) * | 2020-10-14 | 2020-12-22 | 中国平安人寿保险股份有限公司 | 一种智能推荐方法、装置、计算机设备及可读存储介质 |
CN112148831A (zh) * | 2020-11-26 | 2020-12-29 | 广州华多网络科技有限公司 | 图文混合检索方法、装置、存储介质、计算机设备 |
CN112416931A (zh) * | 2020-11-18 | 2021-02-26 | 脸萌有限公司 | 信息生成方法、装置和电子设备 |
CN112508615A (zh) * | 2020-12-10 | 2021-03-16 | 深圳市欢太科技有限公司 | 特征提取方法、特征提取装置、存储介质与电子设备 |
CN112597291A (zh) * | 2020-12-26 | 2021-04-02 | 中国农业银行股份有限公司 | 一种智能问答的实现方法、装置及设备 |
CN112699676A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种地址相似关系生成方法及装置 |
CN112732743A (zh) * | 2021-01-12 | 2021-04-30 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
CN112988954A (zh) * | 2021-05-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、电子设备和计算机可读存储介质 |
CN113010676A (zh) * | 2021-03-15 | 2021-06-22 | 北京语言大学 | 一种文本知识提取方法、装置及自然语言推断系统 |
CN113055018A (zh) * | 2021-03-18 | 2021-06-29 | 深圳前海黑顿科技有限公司 | 一种基于启发式线性变换的语义编码无损压缩系统及方法 |
CN113239190A (zh) * | 2021-04-27 | 2021-08-10 | 天九共享网络科技集团有限公司 | 文档分类方法、装置、存储介质及电子设备 |
CN113361249A (zh) * | 2021-06-30 | 2021-09-07 | 北京百度网讯科技有限公司 | 文档判重方法、装置、电子设备和存储介质 |
CN113407738A (zh) * | 2021-07-12 | 2021-09-17 | 网易(杭州)网络有限公司 | 一种相似文本检索方法、装置、电子设备和存储介质 |
CN113761124A (zh) * | 2021-05-25 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 文本编码模型的训练方法、信息检索方法及设备 |
CN114118085A (zh) * | 2022-01-26 | 2022-03-01 | 云智慧(北京)科技有限公司 | 一种文本信息的处理方法、装置及设备 |
CN114281944A (zh) * | 2021-12-27 | 2022-04-05 | 北京中科闻歌科技股份有限公司 | 文档匹配模型的构建方法、装置、电子设备及存储介质 |
CN114417021A (zh) * | 2022-01-24 | 2022-04-29 | 中国电子科技集团公司第五十四研究所 | 一种基于时、空、义多约束融合的语义信息精准分发方法 |
CN115017366A (zh) * | 2022-07-11 | 2022-09-06 | 中国科学技术大学 | 基于多粒度语境化和多结构保存的无监督视频哈希检索方法 |
CN115357691A (zh) * | 2022-10-21 | 2022-11-18 | 成都数之联科技股份有限公司 | 一种语义检索方法及系统、设备和计算机可读存储介质 |
CN115687676A (zh) * | 2022-12-29 | 2023-02-03 | 浙江大华技术股份有限公司 | 信息检索方法、终端及计算机可读存储介质 |
CN115713307A (zh) * | 2022-11-17 | 2023-02-24 | 西安电子科技大学广州研究院 | 运营商智能定责方法及装置 |
CN116049358A (zh) * | 2023-03-31 | 2023-05-02 | 得分数字科技(珠海)有限公司 | 发票信息近似度检测方法、存储介质及计算机设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955837A (zh) * | 2011-12-13 | 2013-03-06 | 华东师范大学 | 一种基于中文词对关系相似度的类比检索控制方法 |
CN106446148A (zh) * | 2016-09-21 | 2017-02-22 | 中国运载火箭技术研究院 | 一种基于聚类的文本查重方法 |
CN107491518A (zh) * | 2017-08-15 | 2017-12-19 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
CN107657062A (zh) * | 2017-10-25 | 2018-02-02 | 医渡云(北京)技术有限公司 | 相似病例检索方法及装置、存储介质、电子设备 |
CN108021713A (zh) * | 2017-12-28 | 2018-05-11 | 北京奇艺世纪科技有限公司 | 一种文档聚类的方法和装置 |
WO2018196561A1 (zh) * | 2017-04-25 | 2018-11-01 | 腾讯科技(深圳)有限公司 | 应用的标签信息生成方法、装置及存储介质 |
CN108932247A (zh) * | 2017-05-24 | 2018-12-04 | 苏宁云商集团股份有限公司 | 一种优化文本搜索的方法及装置 |
CN109508374A (zh) * | 2018-11-19 | 2019-03-22 | 云南电网有限责任公司信息中心 | 基于遗传算法的文本数据半监督聚类方法 |
CN110781276A (zh) * | 2019-09-18 | 2020-02-11 | 平安科技(深圳)有限公司 | 文本抽取方法、装置、设备及存储介质 |
CN110929125A (zh) * | 2019-11-15 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 搜索召回方法、装置、设备及其存储介质 |
WO2020114100A1 (zh) * | 2018-12-06 | 2020-06-11 | 中兴通讯股份有限公司 | 一种信息处理方法、装置和计算机存储介质 |
CN111444320A (zh) * | 2020-06-16 | 2020-07-24 | 太平金融科技服务(上海)有限公司 | 文本检索方法、装置、计算机设备和存储介质 |
-
2020
- 2020-07-29 CN CN202010741737.4A patent/CN111753060B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955837A (zh) * | 2011-12-13 | 2013-03-06 | 华东师范大学 | 一种基于中文词对关系相似度的类比检索控制方法 |
CN106446148A (zh) * | 2016-09-21 | 2017-02-22 | 中国运载火箭技术研究院 | 一种基于聚类的文本查重方法 |
WO2018196561A1 (zh) * | 2017-04-25 | 2018-11-01 | 腾讯科技(深圳)有限公司 | 应用的标签信息生成方法、装置及存储介质 |
CN108932247A (zh) * | 2017-05-24 | 2018-12-04 | 苏宁云商集团股份有限公司 | 一种优化文本搜索的方法及装置 |
CN107491518A (zh) * | 2017-08-15 | 2017-12-19 | 北京百度网讯科技有限公司 | 一种搜索召回方法和装置、服务器、存储介质 |
US20190057159A1 (en) * | 2017-08-15 | 2019-02-21 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method, apparatus, server, and storage medium for recalling for search |
CN107657062A (zh) * | 2017-10-25 | 2018-02-02 | 医渡云(北京)技术有限公司 | 相似病例检索方法及装置、存储介质、电子设备 |
CN108021713A (zh) * | 2017-12-28 | 2018-05-11 | 北京奇艺世纪科技有限公司 | 一种文档聚类的方法和装置 |
CN109508374A (zh) * | 2018-11-19 | 2019-03-22 | 云南电网有限责任公司信息中心 | 基于遗传算法的文本数据半监督聚类方法 |
WO2020114100A1 (zh) * | 2018-12-06 | 2020-06-11 | 中兴通讯股份有限公司 | 一种信息处理方法、装置和计算机存储介质 |
CN110781276A (zh) * | 2019-09-18 | 2020-02-11 | 平安科技(深圳)有限公司 | 文本抽取方法、装置、设备及存储介质 |
CN110929125A (zh) * | 2019-11-15 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 搜索召回方法、装置、设备及其存储介质 |
CN111444320A (zh) * | 2020-06-16 | 2020-07-24 | 太平金融科技服务(上海)有限公司 | 文本检索方法、装置、计算机设备和存储介质 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506671B (zh) * | 2020-03-17 | 2021-02-12 | 北京捷通华声科技股份有限公司 | 处理实体对象的属性的方法、装置、设备及存储介质 |
CN111506671A (zh) * | 2020-03-17 | 2020-08-07 | 北京捷通华声科技股份有限公司 | 处理实体对象的属性的方法、装置、设备及存储介质 |
CN112116436B (zh) * | 2020-10-14 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 一种智能推荐方法、装置、计算机设备及可读存储介质 |
CN112116436A (zh) * | 2020-10-14 | 2020-12-22 | 中国平安人寿保险股份有限公司 | 一种智能推荐方法、装置、计算机设备及可读存储介质 |
CN112416931A (zh) * | 2020-11-18 | 2021-02-26 | 脸萌有限公司 | 信息生成方法、装置和电子设备 |
CN112148831A (zh) * | 2020-11-26 | 2020-12-29 | 广州华多网络科技有限公司 | 图文混合检索方法、装置、存储介质、计算机设备 |
CN112148831B (zh) * | 2020-11-26 | 2021-03-19 | 广州华多网络科技有限公司 | 图文混合检索方法、装置、存储介质、计算机设备 |
CN112508615A (zh) * | 2020-12-10 | 2021-03-16 | 深圳市欢太科技有限公司 | 特征提取方法、特征提取装置、存储介质与电子设备 |
CN112597291A (zh) * | 2020-12-26 | 2021-04-02 | 中国农业银行股份有限公司 | 一种智能问答的实现方法、装置及设备 |
CN112699676A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种地址相似关系生成方法及装置 |
CN112699676B (zh) * | 2020-12-31 | 2024-04-12 | 中国农业银行股份有限公司 | 一种地址相似关系生成方法及装置 |
CN112732743A (zh) * | 2021-01-12 | 2021-04-30 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
CN112732743B (zh) * | 2021-01-12 | 2023-09-22 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
CN113010676A (zh) * | 2021-03-15 | 2021-06-22 | 北京语言大学 | 一种文本知识提取方法、装置及自然语言推断系统 |
CN113010676B (zh) * | 2021-03-15 | 2023-12-08 | 北京语言大学 | 一种文本知识提取方法、装置及自然语言推断系统 |
CN113055018A (zh) * | 2021-03-18 | 2021-06-29 | 深圳前海黑顿科技有限公司 | 一种基于启发式线性变换的语义编码无损压缩系统及方法 |
CN113239190A (zh) * | 2021-04-27 | 2021-08-10 | 天九共享网络科技集团有限公司 | 文档分类方法、装置、存储介质及电子设备 |
CN113239190B (zh) * | 2021-04-27 | 2024-02-20 | 天九共享网络科技集团有限公司 | 文档分类方法、装置、存储介质及电子设备 |
CN112988954A (zh) * | 2021-05-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、电子设备和计算机可读存储介质 |
CN113761124A (zh) * | 2021-05-25 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 文本编码模型的训练方法、信息检索方法及设备 |
CN113761124B (zh) * | 2021-05-25 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 文本编码模型的训练方法、信息检索方法及设备 |
CN113361249A (zh) * | 2021-06-30 | 2021-09-07 | 北京百度网讯科技有限公司 | 文档判重方法、装置、电子设备和存储介质 |
CN113361249B (zh) * | 2021-06-30 | 2023-11-17 | 北京百度网讯科技有限公司 | 文档判重方法、装置、电子设备和存储介质 |
CN113407738A (zh) * | 2021-07-12 | 2021-09-17 | 网易(杭州)网络有限公司 | 一种相似文本检索方法、装置、电子设备和存储介质 |
CN114281944A (zh) * | 2021-12-27 | 2022-04-05 | 北京中科闻歌科技股份有限公司 | 文档匹配模型的构建方法、装置、电子设备及存储介质 |
CN114417021B (zh) * | 2022-01-24 | 2023-08-25 | 中国电子科技集团公司第五十四研究所 | 一种基于时、空、义多约束融合的语义信息精准分发方法 |
CN114417021A (zh) * | 2022-01-24 | 2022-04-29 | 中国电子科技集团公司第五十四研究所 | 一种基于时、空、义多约束融合的语义信息精准分发方法 |
CN114118085B (zh) * | 2022-01-26 | 2022-04-19 | 云智慧(北京)科技有限公司 | 一种文本信息的处理方法、装置及设备 |
CN114118085A (zh) * | 2022-01-26 | 2022-03-01 | 云智慧(北京)科技有限公司 | 一种文本信息的处理方法、装置及设备 |
CN115017366A (zh) * | 2022-07-11 | 2022-09-06 | 中国科学技术大学 | 基于多粒度语境化和多结构保存的无监督视频哈希检索方法 |
CN115017366B (zh) * | 2022-07-11 | 2024-04-02 | 中国科学技术大学 | 基于多粒度语境化和多结构保存的无监督视频哈希检索方法 |
CN115357691B (zh) * | 2022-10-21 | 2023-04-07 | 成都数之联科技股份有限公司 | 一种语义检索方法及系统、设备和计算机可读存储介质 |
CN115357691A (zh) * | 2022-10-21 | 2022-11-18 | 成都数之联科技股份有限公司 | 一种语义检索方法及系统、设备和计算机可读存储介质 |
CN115713307A (zh) * | 2022-11-17 | 2023-02-24 | 西安电子科技大学广州研究院 | 运营商智能定责方法及装置 |
CN115713307B (zh) * | 2022-11-17 | 2024-02-06 | 西安电子科技大学广州研究院 | 运营商智能定责方法及装置 |
CN115687676A (zh) * | 2022-12-29 | 2023-02-03 | 浙江大华技术股份有限公司 | 信息检索方法、终端及计算机可读存储介质 |
CN116049358A (zh) * | 2023-03-31 | 2023-05-02 | 得分数字科技(珠海)有限公司 | 发票信息近似度检测方法、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111753060B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN111444428B (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
US20210232762A1 (en) | Architectures for natural language processing | |
Deepak et al. | A novel firefly driven scheme for resume parsing and matching based on entity linking paradigm | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
KR101754473B1 (ko) | 문서를 이미지 기반 컨텐츠로 요약하여 제공하는 방법 및 시스템 | |
WO2021121198A1 (zh) | 基于语义相似度的实体关系抽取方法、装置、设备及介质 | |
WO2018145098A1 (en) | Systems and methods for automatic semantic token tagging | |
CN112800170A (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
AU2016256764A1 (en) | Semantic natural language vector space for image captioning | |
CN112395506A (zh) | 一种资讯推荐方法、装置、电子设备和存储介质 | |
CN107291840B (zh) | 一种用户属性预测模型构建方法和装置 | |
CN111190997A (zh) | 一种使用神经网络和机器学习排序算法的问答系统实现方法 | |
KR20200087977A (ko) | 멀티모달 문서 요약 시스템 및 방법 | |
CN110619051A (zh) | 问题语句分类方法、装置、电子设备及存储介质 | |
WO2023108993A1 (zh) | 基于深度聚类算法的产品推荐方法、装置、设备及介质 | |
CN113051914A (zh) | 一种基于多特征动态画像的企业隐藏标签抽取方法及装置 | |
CN112926308B (zh) | 匹配正文的方法、装置、设备、存储介质以及程序产品 | |
CN114090776A (zh) | 文档解析方法、系统及装置 | |
CN112131345B (zh) | 文本质量的识别方法、装置、设备及存储介质 | |
CN112632258A (zh) | 文本数据处理方法、装置、计算机设备和存储介质 | |
WO2019139727A1 (en) | Accuracy determination for media | |
CN113961666B (zh) | 关键词识别方法、装置、设备、介质及计算机程序产品 | |
CN106570196B (zh) | 视频节目的搜索方法和装置 | |
CN112712056A (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: 40030890 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |