CN113821527A - 哈希码的生成方法、装置、计算机设备及存储介质 - Google Patents
哈希码的生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113821527A CN113821527A CN202110733009.3A CN202110733009A CN113821527A CN 113821527 A CN113821527 A CN 113821527A CN 202110733009 A CN202110733009 A CN 202110733009A CN 113821527 A CN113821527 A CN 113821527A
- Authority
- CN
- China
- Prior art keywords
- hash code
- text
- sampling
- probability distribution
- initial
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种哈希码的生成方法、装置、计算机设备及存储介质,涉及人工智能技术领域。该方法包括:生成目标文本的初始哈希码;根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的条件概率分布;根据所述后验概率分布确定所述目标文本对应的校正哈希码。本申请提供了一种通过对初始哈希码进行采样,获得更能体现目标文本的离散表征的校正哈希码的方法,提高了生成哈希码的质量,提升了语义哈希模型的准确性。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种哈希码的生成方法、装置、计算机设备及存储介质。
背景技术
在数据检索的很多应用场景中,需要通过对文本进行相似度计算来确定出与检索条件最为匹配的目标文本。人工智能技术中的语义哈希算法将文本映射为哈希码,通过对哈希码之间的汉明距离的计算来实现对文本的相似度计算。该语义哈希算法通过文本和哈希码之间的联合概率分布建立语义哈希模型,并通过计算语义哈希模型的后验概率分布,得到文本对应的哈希码。
语义哈希模型中的后验概率分布通常难以计算,相关技术中通过变分推断来对语义哈希模型的后验概率分布进行近似计算,但距离真实的后验概率分布有较大差距,导致语义哈希模型的准确度下降。
如何在语义哈希模型中更好地拟合后验概率分布,提高语义哈希模型的精度,是需要解决的问题。
发明内容
本申请实施例提供了一种哈希码的生成方法、装置、计算机设备及存储介质,能够提高语义哈希模型的准确度。所述技术方案如下:
一方面,提供了一种哈希码的生成方法,所述方法包括:
生成目标文本的初始哈希码;
根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;
根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的概率分布;
根据所述后验概率分布确定所述目标文本对应的校正哈希码。
另一方面,提供了一种文本匹配方法,所述方法包括:
获取输入的第一文本;
获取所述第一文本的第一哈希码和候选文本的第二哈希码,所述第一哈希码和所述第二哈希码均为根据初始哈希码的采样概率分布对所述初始哈希码进行采样后得到的校正哈希码,所述初始哈希码为基于所述第一文本和所述候选文本生成的哈希码,所述采样概率分布为根据所述初始哈希码和所述候选文本确定的条件概率分布;计算所述第一哈希码和所述第二哈希码的汉明距离;
将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,所述第二文本为与所述第一文本最相似的文本。
另一方面,提供了一种哈希码的生成装置,所述装置包括:
生成模块,用于生成目标文本的初始哈希码;
模型建立模块,用于根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;
采样模块,用于根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的概率分布;
确定模块,用于根据所述后验概率分布确定所述目标文本对应的校正哈希码。
另一方面,提供了一种文本匹配装置,所述装置包括:
获取模块,用于获取输入的第一文本;
所述获取模块,还用于获取所述第一文本的第一哈希码和候选文本的第二哈希码,所述第一哈希码和所述第二哈希码均为根据初始哈希码的采样概率分布对所述初始哈希码进行采样后得到的校正哈希码,所述初始哈希码为基于所述第一文本和所述候选文本生成的哈希码,所述采样概率分布为根据所述初始哈希码和所述候选文本确定的条件概率分布;
计算模块,用于计算所述第一哈希码和所述第二哈希码的汉明距离;
确定模块,用于将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,所述第二文本为与所述第一文本最相似的文本。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上述本申请实施例中任一所述的哈希码的生成方法或者文本匹配方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机指令,所述计算机指令由处理器加载并执行以实现如本申请各个方面提供的哈希码的生成方法或者文本匹配方法。
另一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述哈希码的生成方法或者文本匹配方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过生成目标文本的初始哈希码,再对初始哈希码进行采样,可以得到更符合真实情况的语义哈希模型的后验概率分布,从而获得更加准确的校正哈希码,生成质量得到优化的哈希码,提高语义哈希模型的精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的使用哈希码进行文本匹配的应用场景示意图;
图2是本申请一个示例性实施例提供的一种计算机系统的结构框图;
图3是本申请一个示例性实施例提供的哈希码的生成方法的流程图;
图4是本申请一个示例性实施例提供的哈希码的生成方法的流程图;
图5是本申请一个示例性实施例提供的文本匹配方法的流程图;
图6是本申请一个示例性实施例提供的在检索场景中应用文本匹配方法的流程图;
图7是本申请一个示例性实施例提供的数据模型的示意图;
图8是本申请一个示例性实施例提供的两阶段训练的示意图;
图9是本申请一个示例性实施例提供的哈希码的生成方法的流程图;
图10是本申请一个示例性实施例提供的哈希码的生成装置的结构框图;
图11是本申请一个示例性实施例提供的文本匹配装置的结构框图;
图12本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中所涉及的术语进行介绍:
语义哈希:指将空间向量从高维空间映射至低维汉明空间,并保持空间向量在原高维空间中的相似性,使得低维汉明空间的空间向量的汉明距离,能够反映原空间向量相似度的哈希算法。
汉明距离:两个字符串中不同位值的数目称为汉明距离。可以对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
变分推断:一种用于逼近贝叶斯推理和机器学习中出现的难处理积分的技术。
相似性搜索:又称最近邻搜索,其目的是根据用户查询语句在大规模数据库中找到最相似的项。它在大规模的数据检索中有着重要的应用。
本申请实施例提供的哈希码的生成方法和文本匹配方法涉及到人工智能技术领域,下面对人工智能相关技术进行说明。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自定驾驶技术有着广泛的应用前景,
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的自然语言处理中文本处理、语义理解和机器学习等技术,具体通过如下实施例进行说明。
图1所示为医疗健康系统的界面示意图。用户通过终端访问该医疗健康系统,该医疗健康系统的用户图形界面30上显示有搜索功能框32,以及其他功能控件,例如,医保电子凭证控件、电子健康卡控件、问医生控件、挂号控件,等等。用户通过在搜索功能框32中输入检索关键词或检索语句来检索相关信息。
示例性的,用户在搜索功能框32中输入检索语句“吃水果不如喝鲜榨果汁?”后点击“搜索”,终端跳转至检索结果界面40。检索结果界面40上显示有获取到的与检索语句相似度较高的文章,并且显示文章的顺序按照相似度从高到低进行排列。如图1中所示,与检索语句最为相似的文章为排在最上方的文章42,向下排列有相似度依次降低的文章44和文章46,等等。
上述文章检索的过程可以通过语义哈希方法来完成,简言之即为将输入的检索关键词或检索语句映射为哈希码,通过汉明距离表示该哈希码与数据库中文章对应的哈希码的相似度,将汉明距离最小的文章确定为与检索关键词或检索语句相似度最高的文章,返回至检索结果页面。
类似的,上述通过输入关键词或语句,采用语义哈希方法来检索相关文章的方法还可以用于问答引擎中的答案检索、导辅诊中的用药推荐,等等。
以下实施例将对这一过程中涉及哈希码的生成方法和文章匹配方法做具体说明。
图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:终端120和服务器140。
终端120能够是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器,膝上型便携计算机,智能机器人,自助支付设备中的至少一种。终端120安装和运行有支持文本检索的应用程序,例如,该应用程序能够是系统应用、搜索引擎、新闻推送应用、购物应用、社交应用,等等。
终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器140用于为客户端提供后台服务。可选地,服务器140承担主要计算工作,终端承担次要计算工作;或者,服务器140承担次要计算工作,终端承担主要计算工作;或者,服务器140和终端之间采用分布式计算架构进行协同计算。
本领域技术人员能够知晓,上述终端120、服务器140的数量能够更多或更少。比如上述终端120、服务器140能够仅为一个,或者上述终端120、服务器140为几十个或几百个,或者更多数量,本申请实施例对终端或服务器的数量和设备类型不加以限定。
相关技术中,建立文档的语义哈希模型,通过变分推断的方法来拟合文档对应的语义哈希模型中隐变量(即哈希码)的后验概率分布。但由于通过变分推断近似获得的隐变量的后验概率分布距离真实的后验概率分布有较大差距,导致语义哈希模型的准确度下降,获得质量不佳的哈希码,从而使得文档匹配的精确性不足。本申请中通过对初始哈希码进行采样,获得更接近真实情况的隐变量的后验概率分布,从而获得更能反映文本的离散表征的哈希码,使得文本匹配的效率与准确性得到提升。
图3示出了本申请一个示例性实施例提供的哈希码的生成方法的流程图,该方法应用于图2所示的终端120或服务器140中。如图3所示,该方法包括:
步骤320:生成目标文本的初始哈希码;
目标文本可以为任意形式的具有文本内容的文本,例如,目标文本可以为语句、段落、文档,等等。示意性的,目标文本可以为用户输入搜索引擎的检索语句;或者,目标文本为数据库中存储的文档,等等。
示例性的,随机生成目标文本的初始哈希码;或,通过编码器生成目标文本的初始哈希码。
示例性的,按照伯努利分布{Bernoulli(0.5)}d生成初始哈希码z,其中,d为初始哈希码z的维度,也即,初始哈希码z在每个维度上按照伯努利分布随机生成0或1,且生成0或1的概率相等。
示例性的,通过编码器生成目标文本的初始哈希码。例如,在采用基于马尔科夫链确定的采样概率分布进行采样近似得到后验概率分布的过程中,收敛速度较慢,因此可以通过编码器生成初始哈希码,通过编码器生成的初始哈希码在表征目标文本的离散特征方面的质量优于随机生成的初始哈希码,对基于马尔可夫链确定的采样概率分布进行采样的收敛过程可以起到加速作用。
本申请对生成初始哈希码的方式不加以限制。
步骤340:根据目标文本和初始哈希码的联合概率分布,建立目标文本的语义哈希模型;
示例性的,对于目标文本,根据目标文本和该目标文本对应的初始哈希码的联合概率分布,建立目标文本的语义哈希模型,具体过程如下:
以目标文本为有|x|个单词的文档x为例。文档x可以表示为一组单词的序列x={w1,w2,…,w|x|},其中wi表示文档x中的第i个单词,wi为一个|V|维的独热(one-hot)向量,即该向量仅用来表示一个维度上的特征,该向量中只有一项为1,其他项为0;|V|为语料库中全部单词的个数。对于文档x,通过文档x与文档x对应的初始哈希码z的联合分布概率建立语义哈希模型:
pθ(x,z)=pθ(x|z)p(z)
其中,p(z)为先验分布,本申请实施例中将其设置为伯努利分布{Bernoulli(0.5)}d,d为哈希码的维度;pθ(x|z)为似然函数,由于文档x可被表示为|x|个单词的序列,因此可以将似然函数分解为
将pθ(wi|z)按照如下定义:
其中,W∈Rd×|V|为一个参数矩阵;d为隐变量(即哈希码)的维度;wj为one-hot向量且只有向量中的第j项为1,其他项都为0;bi为偏置项;θ={W,b1,b2,…,b|V|}。
步骤360:根据初始哈希码的采样概率分布对初始哈希码进行采样,得到语义哈希模型的后验概率分布;
采样概率分布为根据初始哈希码和目标文本确定的条件概率分布。采样概率分布用于指示从初始哈希码到采样后获得的哈希码的采样过程。以基于马尔科夫链确定对初始哈希码进行采样的采样概率分布为例,采样概率分布用于指示采样前的哈希码与采样后的哈希码的转移概率分布。
示例性的,根据初始哈希码和目标文本,基于马尔科夫链确定对初始哈希码进行采样的采样概率分布;根据采样概率分布对初始哈希码进行n轮采样,得到语义哈希模型的后验概率分布,n为正整数。
示例性的,以初始哈希码有d个维度,且对初始哈希码进行n轮次采样为例,在给定初始哈希码z=[z1,z2,…,zd]T和文档x的条件下,确定对初始哈希码进行采样的采样概率分布p(zk (t)|x,z-k (t-1)),其中,k=1,2,…,d;z-k=[z1,…,zk-1,zk+1,…,zd]T,即初始哈希码z去除了第k项zk;上标t表示在第t轮次的采样,上标t-1表示在第t-1轮次的采样,t为大于1且不大于n的整数。
也即,基于第t-1轮次中的采样结果z-k (t-1)和文档x,计算在第t轮次中对第k项采样得到0或1的概率,t为大于1且不大于n的整数。
也即,在第一轮次的采样中,根据初始哈希码中除第k维度以外的其余维度和目标文本,确定对初始哈希码的第k维度进行第一轮次采样时的采样概率分布,k为不大于d的正整数;在第一轮次以后的采用中,根据对初始哈希码进行第t-1轮次采样后获得的第t-1哈希码中除第k维度以外的其他维度和目标文本,确定对第t-1哈希码的第k维度进行第t轮次采样时的采样概率分布,k为不大于d的正整数,t为大于1且不大于n的整数。
本申请不限制对初始哈希码进行采样的采样概率分布的确定方式。
可选地,n可以为1,也可以为大于1的整数,即对初始哈希码进行采样可以进行一轮次采样,也可以进行多轮次采样。采样的轮次越多,获得的语义哈希模型的后验概率分布越准确,但同时也会耗费更多的计算资源,需要更长的计算时间。本申请不限制对初始哈希码进行采样的轮次。
步骤380:根据后验概率分布确定目标文本对应的校正哈希码。
通过对初始哈希码进行采样,获得更准确的语义哈希模型的后验概率分布p(z|x),再根据采样后的后验概率分布p(z|x)确定目标文本对应的校正哈希码,即按照后验概率分布p(z|x)生成校正哈希码。
综上所述,本申请实施例中通过生成初始哈希码并基于初始哈希码和目标文档建立目标文档的语义哈希模型,通过对初始哈希码进行采样后获得拟合效果更优的后验概率分布,进而获得更能代表目标文本离散表征的校正哈希码,使得语义哈希模型的准确度得到提升。
上述实施例中概括介绍了基于语义哈希模型对初始哈希码进行采样得到质量更优的后验概率分布的过程。基于此,以下以基于马尔科夫链确定采样概率分布的方法对这一过程进行具体说明。
图4示出了本申请一个示例性实施例提供的哈希码的生成方法的流程图,该方法应用于图2所示的终端120或服务器140中。如图4所示,该方法包括:
步骤422:随机生成目标文本的初始哈希码;
示例性的,预先设置目标文本的初始哈希码的先验概率分布,按照该先验概率分布生成初始哈希码。
示例性的,预先设置目标文本的初始哈希码的先验概率分布p(z)为伯努利分布{Bernoulli(0.5)}d,其中,d为初始哈希码z的维度,也即,初始哈希码z在每个维度上按照伯努利分布随机生成0或1且生成0或1的概率相等。
本申请对随机生成目标文本的初始哈希码的方式不加以限制。
步骤424:通过编码器生成目标文本的初始哈希码;
示例性的,通过编码器生成目标文本的初始哈希码。由于通过基于马尔可夫链获得的采样概率分布进行采样近似得到后验概率分布的过程收敛速度较慢,因此可以通过编码器生成初始哈希码,通过编码器生成的初始哈希码在表征目标文本的离散特征方面的质量优于随机生成的初始哈希码,对基于马尔可夫链获得的采样概率分布进行采样的收敛过程起到加速作用。
示例性的,引入如下编码器:
qΦ(z|x)=Bernoulli(σ(f(x))
其中,Bernoulli()代表伯努利分布;σ代表S形生长(sigmoid)函数;f(x)代表一个一层的前馈神经网络的编码器。
对于目标文本x,通过编码器生成目标文本x的初始哈希码z,z符合编码器的概率分布,即z~qΦ(z|x)。
可选地,编码器为对一层的前馈神经网络经过训练得到的。采用如下步骤训练得到编码器:确定编码器的损失函数;基于损失函数采用期望最大化算法对编码器的参数进行训练。
本申请对编码器的实现方式不加以限制。
需要注意的是,步骤422和步骤424仅需择一进行。选择执行步骤422可以快速简单的得到初始哈希码,节省计算资源;选择执行步骤424生成的初始哈希码质量优于随机生成的初始哈希码,可以使得基于马尔科夫链进行采样的过程加速收敛。
步骤440:根据目标文本和初始哈希码的联合概率分布,建立目标文本的语义哈希模型;
示例性的,对于目标文本,根据目标文本和该目标文本对应的初始哈希码的联合概率分布,建立目标文本的语义哈希模型,具体过程如下:
以目标文本为有|x|个单词的文档x为例。文档x可以表示为一组单词的序列x={w1,w2,…,w|x|},其中wi表示文档x中的第i个单词,wi为一个|V|维的独热(one-hot)向量,即向量中只有一项可能为1,其他项为0;V为语料库中全部单词的个数。对于文档x,通过文档x与文档x对应的初始哈希码z的联合分布概率建立语义哈希模型:
pθ(x,z)=pθ(x|z)p(z)
其中,p(z)为先验分布,本申请实施例中将其设置为伯努利分布{Bernoulli(0.5)}d,d为哈希码的维度;pθ(x|z)为似然函数,由于文档x可被表示为|x|个单词的序列,因此可以将似然函数分解为
将pθ(wi|z)按照如下进行定义:
其中,W∈Rd×|V|为一个参数矩阵;d为隐变量(即哈希码)的维度;wj为one-hot向量且只有向量中的第j项为1,其他项都为0;bi为偏置项;θ={W,b1,b2,…,b|V|}。
步骤462:根据初始哈希码和目标文本,基于马尔科夫链确定对初始哈希码进行采样的采样概率分布;
示例性的,对初始哈希码进行采样的过程可以只进行一轮次采样,或者,根据实际需求进行多轮次采样。
本实施例以对第t-1轮次采样得到的哈希码进行第t轮次的采样,获得第t轮次采样后的哈希码为例,展示基于马尔科夫链确定对初始哈希码进行采样的具体过程。
示例性的,第t-1轮次采样得到的第t-1哈希码z=[z1,z2,…,zd]T;定义z-k=[z1,…,zk-1,zk+1,…,zd]T,即去除了第t-1哈希码中的第k项zk后得到的剩余哈希码矩阵为z-k。通过计算条件概率分布p(zk (t)|x,z-k (t-1))来进行采样,也即,在第t轮次的采样过程中,根据目标文档x和第t-1哈希码中除了zk以外的其余哈希码,对哈希码中的第k位进行第t轮次的采样。
具体计算过程如下:
根据贝叶斯公式可以推导得到如下公式并将其定义为γk:
由步骤440中建立的模型以及对pθ(wi|z)的定义可以得到:
进一步的,由于哈希码中的第k位zk在第t轮采样中的取值只可能为0或者1,也即,p(zk (t)=1|x,z-k (t-1))+p(zk (t)=0|x,z-k (t-1))=1,可以推得如下:
上述计算p(zk (t)|x,z-k (t-1)),k=1,2,…,d的过程来展现了在第t轮次对哈希码进行采样的采样概率分布的确定过程。由此可以推得在任意轮次对前一轮次得到的哈希码进行采样的采样概率分布。
本申请实施例通过上述方法计算得到对初始哈希码进行采样的采样概率分布,但对采样进行的轮次不加以限制。
步骤464:通过采样概率分布对初始哈希码进行采样,得到语义哈希模型的后验概率分布;
通过步骤462中确定的采样概率分布对初始哈希码中的每一位进行采样,即每一轮次需要进行d次采样,d为初始哈希码的维度。
示例性的,对初始哈希码进行一轮次采样;或者,对初始哈希码进行多轮次采样。完成采样后得到语义哈希模型的后验概率分布p(z|x)。
步骤480:根据后验概率分布确定目标文本对应的校正哈希码。
步骤464中通过对初始哈希码进行采样,获得更准确的语义哈希模型的后验概率分布p(z|x),再根据采样后的后验概率分布p(z|x)确定目标文本对应的校正哈希码,即按照后验概率分布p(z|x)生成校正哈希码。
综上所述,本申请实施例中通过生成初始哈希码,对其进行采样后获得更符合真实情况的后验概率分布,进而得到目标文本对应的校正哈希码,提供了一种通过基于马尔科夫链的采样方法采样生成质量得到优化的校正哈希码的方法,使得校正哈希码能够更能代表目标文本的离散表征,提升了语义哈希模型的准确性,也使得后续通过校正哈希码进行文本匹配的结果更加精准。
此外,本申请实施例通过引入编码器来生成初始哈希码,能够在采样前就得到质量较优的哈希码,减少了后续采样的轮次,提升了哈希码的准确性。
上述实施例中展示了基于目标文本的语义哈希模型,基于马尔科夫链确定采样概率分布并采样获得质量更优的哈希码的方法。在获取了目标文本的哈希码后,可以通过比较目标文本和候选文本的哈希码的汉明距离来计算相似度,从而实现文本的匹配。
图5示出了本申请一个示例性实施例提供的文本的匹配方法的流程图,该方法应用于图2所示的终端120或服务器140中。如图5所示,该方法包括:
步骤720:获取输入的第一文本;
第一文本可以为任意形式的具有文本内容的文本,例如,第一文本可以为语句、段落、文档,等等。示意性的,第一文本可以为用户输入搜索引擎的检索语句。
步骤740:获取第一文本的第一哈希码和候选文本的第二哈希码;
候选文本为用来与第一文本进行匹配获得匹配结果的文本。候选文本可以为任意形式的具有文本内容的文本。示意性的,候选文本为数据库中存储的文档。
第一哈希码和第二哈希码均为根据初始哈希码的采样概率分布对初始哈希码进行采样后得到的校正哈希码,初始哈希码为基于第一文本和候选文本分别生成的哈希码,采样概率分布为根据初始哈希码和候选文本确定的条件概率分布。
获取第一文本的第一哈希码和候选文本的第二哈希码的过程可参见图3示出的实施例或者图4示出的实施例,这里不再赘述。
步骤760:计算第一哈希码和第二哈希码的汉明距离;
示例性的,对第一哈希码和第二哈希码进行异或运算,并统计结果为1的个数,该数值即为第一哈希码和第二哈希码的汉明距离,即汉明距离表示了第一哈希码和第二哈希码对应位的数值不同的数量。例如,第一哈希码为1011101,第二哈希码为1001001,第一哈希码和第二哈希码的汉明距离即为2。
步骤780:将与第一哈希码的汉明距离最小的第二哈希码对应的候选文本确定为第二文本。
若第二哈希码与第一哈希码的汉明距离最小,则表示该第二哈希码和第一哈希码的对应位相同的数量最多,即第二哈希码对应的文本和第一哈希码对应的第一文本之间的相同的离散表征最多,也即,第二哈希码对应的文本和第一文本最为相似。因此,将与第一哈希码的汉明距离最小的第二哈希码对应的候选文本确定为第二文本。
示例性的,将与第一哈希码的汉明距离最小的第二哈希码输入生成器,得到第二哈希码对应的后验概率分布p(z|x);基于第二哈希码对应的后验概率分布p(z|x)确定所述第二哈希码对应的第二文本。
可选地,在确定第二文本后,显示第二文本。例如,若第一文本为用户在搜索引擎中输入的检索语句,则在确定第二文本后,在搜索引擎的用户图形界面上显示第二文本。第二文本可以为通过哈希码的汉明距离确定的与第一文本最为相似的一篇文本或多篇文本;若为多篇文本,则按照相似度的顺序从高到低排列显示。
本申请对第二文本的数量和显示方式不加以限制。
综上所述,本申请实施例中通过获取第一文本和候选文本的哈希码,基于其哈希码的汉明距离来确定与第一文本相似的第二文本。通过采用前述采样方法采样获得的校正哈希码,使得文本匹配的准确度获得提升。
图5所示的实施例对文本匹配方法的过程进行了说明,具体地,文本匹配方法可运用于检索场景中。以下以医疗领域的检索场景为例,对在该场景中应用文本匹配方法的过程进行说明。
图6示出了本申请一个示例性实施例提供的在检索场景中应用文本匹配方法的流程图,该方法应用于图2所示的终端120或服务器140中。如图6所示,该方法包括:
生成阶段:
步骤810:获取输入的检索文本;
检索文本为用于检索获得特定信息的文本,例如,检索文本为用于检索的关键词或语句;再例如,检索文本为用户输入的问题,等等。
以医疗领域的搜索为例,检索文本可以为用户在搜索引擎的搜索框中输入的病症名称或药品名称等关键词;或者,用户输入的关于病情的描述;再或者,用户想要了解的健康保健信息,等等。
步骤820:获取检索文本的第一哈希码;
示例性的,根据检索文本生成检索文本的初始哈希码;根据检索文本和初始哈希码的联合概率分布,建立检索文本的语义哈希模型;基于语义哈希模型,根据初始哈希码的采样概率分布对检索文本的初始哈希码进行采样,得到语义哈希模型的后验概率分布,进而根据该后验概率分布确定检索文本的校正哈希码。
可选地,根据初始哈希码和目标文本,基于马尔科夫链确定对初始哈希码进行采样的采样概率分布;根据采样概率分布对初始哈希码进行n轮采样,得到语义哈希模型的后验概率分布,n为正整数。
可选地,以初始哈希码有d个维度,对初始哈希码进行n轮次采样为例,根据初始哈希码中除第k维度以外的其余维度和目标文本,确定对初始哈希码的第k维度进行第一轮次采样时的采样概率分布,k为不大于d的正整数;根据对初始哈希码进行第t-1轮次采样后获得的第t-1哈希码中除第k维度以外的其他维度和目标文本,确定对第t-1哈希码的第k维度进行第t轮次采样时的采样概率分布,k为不大于d的正整数,t为大于1且不大于n的整数。
可选地,初始哈希码可以通过随机方式生成,也可以通过经过训练的编码器生成。
可选地,编码器可以采用如下步骤训练得到:确定编码器的损失函数;基于损失函数采用期望最大化算法对编码器的参数进行训练。
可选地,对初始哈希码进行采样可以进行一轮次采样,也可以进行多轮次采样。
步骤830:获取候选文本的第二哈希码;
候选文本是作为检索得到的答案文本的候选的文本;通过文本匹配方法从候选文本中选出与检索条件最为匹配的候选文本作为答案文本。示意性的,候选文本可能是医疗数据库中的文档;或者,候选文本为用药推荐的数据库中的药品名称,等等。
获取候选文本的第二哈希码的方式与获取检索文本的第一哈希码的方式类似,这里不再赘述。
需要注意的是,步骤810至步骤820和步骤830,没有执行先后限制,也没有执行次数限制。例如,可以先执行步骤810至步骤820,再执行步骤830;或者,也可以先执行步骤830,再执行步骤810至步骤820;或者,步骤810至步骤820与步骤830同时执行。步骤810至步骤820与步骤830可以按照不同的频次执行。例如,输入检索文本时执行步骤810至步骤820;由于数据库中数据的变动,可以定期执行步骤830。本申请对执行步骤810至步骤820和步骤830之间的先后顺序和次数不加以限制。
检索阶段:
步骤840:计算第一哈希码和第二哈希码的汉明距离;
示例性的,对第一哈希码和第二哈希码进行异或运算,并统计结果为1的个数,该数值即为第一哈希码和第二哈希码的汉明距离,即汉明距离表示了第一哈希码和第二哈希码对应位的数值不同的数量。例如,第一哈希码为1011101,第二哈希码为1001001,第一哈希码和第二哈希码的汉明距离即为2。
步骤850:将与第一哈希码的汉明距离最小的第二哈希码对应的候选文本确定为答案文本。
若第二哈希码与第一哈希码的汉明距离最小,则表示该第二哈希码和第一哈希码的对应位相同的数量最多,即第二哈希码对应的文本和第一哈希码对应的第一文本之间的相同的离散表征最多,也即,第二哈希码对应的文本和第一文本最为相似。因此,将与第一哈希码的汉明距离最小的第二哈希码对应的候选文本确定为答案文本。
示例性的,将与第一哈希码的汉明距离最小的第二哈希码输入生成器,得到第二哈希码对应的后验概率分布p(z|x);基于第二哈希码对应的后验概率分布p(z|x)确定所述第二哈希码对应的答案文本。
可选地,生成器是采用如下步骤训练得到的:确定生成器的损失函数;基于损失函数采用期望最大化算法对编码器的参数进行训练。
可选地,在确定答案文本后,显示答案文本。例如,若检索文本为用户在搜索引擎中输入的检索语句,则在确定答案文本后,在搜索引擎的用户图形界面上显示答案文本。答案文本可以为通过哈希码的汉明距离确定的与检索文本最为相似的一篇文本或多篇文本;若为多篇文本,则按照相似度的顺序从高到低排列显示。
示例性的如图1,在医疗健康搜索引擎的搜索框中输入检索文本“吃水果不如喝鲜榨果汁?”;通过本申请所述的哈希码的生成方法获取该检索文本的第一哈希码以及该医疗健康搜索引擎的数据库中候选文本的第二哈希码;将与第一哈希码最接近的第二哈希码对应的候选文本作为答案文本,推送给用户。答案文本的数量是可以预先设置的,例如,选取候选文本中与检索文本相似度最高的十篇文档作为推送给用户的答案文本。
由上述实施例的介绍可以得知,语义哈希模型可以表示为图7所示的数据模型。
图7的左半部分展示的是在阶段t的进行采样操作的过程。文档x通过建立语义哈希模型,通过对p(z|x,θt-1)进行采样得到文档x对应的哈希码z,其中,θt-1表示在上一轮次的训练,即阶段t-1中得到的参数θ。
基于前述实施例和图7所示的数据模型,可以得知,在阶段t的采样阶段可以通过引入编码器来生成质量较高的初始哈希码;在阶段t的解码阶段需要通过生成器将哈希码z解码成p(z|x),从而确定哈希码z对应的文档x。因此,需要对编码器和生成器进行预先的训练,使得编码器和生成器在实际运用中有更好的表现,提升语义哈希模型的准确性。以下对编码器和生成器的训练过程进行介绍。
本申请中采用期望最大化算法为框架,对编码器和生成器进行两阶段训练。图8所示为两阶段训练的训练过程示意图。具体过程如下:
示例性的,根据实际情况设定训练的结束条件。训练结束条件包括:训练次数达到预设次数,或者,直通估计器获得的梯度估计数值小于梯度阈值,等等。本申请对训练结束的预设次数和梯度阈值不加以限制。
步骤530:判断t是否小于或等于T;
示例性的,对通过编码器生成的初始哈希码进行T次采样,T为正整数。对于当前的第t次的采样,判断t是否小于或等于T。若t小于或等于T,则执行步骤532,进行第t次的采样;若t大于T,则完成采样的过程,生成校正哈希码,执行步骤540,通过校正哈希码对生成器进行训练,其中,t为不大于T的正整数。
步骤532:进行第t轮次采样;
在t小于或等于T的情况下,执行步骤532,在前t-1轮次的采样基础上,通过计算p(zk (t)|x,z-k (t-1))对初始哈希码进行第t轮次的采样,采样过程参见步骤462和步骤464所示,这里不再赘述。
示例性的,通过最大化对数似然函数logp(x)来训练生成器参数θ。由于p(x)不存在解析解,因此需要使用期望最大化算法来最大化对数似然函数logp(x)的下界,从而达到最大化logp(x)的目的,即:
其中,const为常数,无需对其进行最大化计算。对∑zpθ t-1(z|x)logpθ t(z|x)求期望值,将损失函数定义为如下:
其中,z是通过对p(z|x)进行采样得到的哈希码。
基于生成器的损失函数采用期望最大化算法对生成器的参数θ进行训练,即通过对maxlogpθ t(x|z)进行训练获得使得损失函数logpθ t(x|z)取得最大值的参数θ。
示例性的,根据实际情况设定训练的结束条件。训练结束条件包括:训练次数达到预设次数,或者,损失函数的梯度数值小于梯度阈值,等等。本申请对训练结束的预设次数和梯度阈值不加以限制。
通过上述两阶段训练,可以得到优化的编码器与生成器。图9示出了使用训练完毕的编码器获得文档对应的哈希码的方法。由于训练后的编码器表现良好,使得在采用基于马尔科夫链确定的采样概率分布方法进行采样时的收敛过程迅速完成,因此这里以只进行一轮次采样为例,展示获得文档对应的哈希码的过程。步骤如下:
步骤620:通过编码器生成初始哈希码;
步骤630:判断k是否小于或等于d;
d表示哈希码的维度,k表示当前进行采样的初始哈希码中的位数。若k小于或等于d,表示采样过程还未完成,执行步骤632;若k大于d,说明已经完成对初始哈希码中的各位的采样,输出采样完毕后的校正哈希码。
步骤632:对初始哈希码第k位进行采样。
通过计算p(zk (t)|x,z-k (t-1))对初始哈希码中的第k位进行采样,计算过程参见步骤464,这里不再赘述。
通过以上方法,文档x通过编码器生成初始哈希码z,再经过一轮采样后得到校正哈希码。该方法在实际应用中表现良好。
示例性的,在数据集合Reuters21578和TMC上进行测试。其中,Reuters21578数据集合有7164个单词,7752个训练文件,967个验证文件和964个测试文件;TMC数据集合有20000个单词,21286个训练文件,3498个验证文件和6498个测试文件。数据集中的每个文件都有一个类标签。
采用检索精度作为测试的标准。对于每一个测试文件,基于哈希码的汉明距离,选取前100个与该测试文件最相似的文件,将这100个最相似的文件中类标签与测试文件的类标签匹配的比例作为本次检索的检索精度。最后,对于各个测试文件检索的精度取平均值即为整个测试集合的测试结果。
采用本申请提供的哈希码的生成方法和采用相关技术生成哈希码的方法的测试结果如表1和表2所示。表1为在数据集合Reuters21578中测试得到的结果,表2为在数据集合TMC中测试得到的结果。表中的Ours(我们的)用于标识本申请提供的方法,相关技术中的方法有SpH(Spectrum Hash,频谱哈希)、STH(Self Taught Hash,自学哈希)、S-RBM(S-Restricted Boltzmann Machine,S-受限玻尔兹曼机)、VDSH(VariationalDeep SemanticHashing,变分深度语义哈希)、NASH(Neural Architecture Semantic Hashing,神经结构语义哈希)、GMSH(Gaussian Mixture Semantic Hashing,高斯混合语义哈希)。
由表1和表2可以看出,在设定哈希码为不同维度(测试中分别选取了8比特、16比特、32比特、64比特、128比特为例)的情况下,本申请提供的方法得到的准确性普遍比相关技术中其他模型要高。
表1
表2
图10是本申请一个示例性实施例提供的哈希码的生成装置的结构框图,如图10所示,该装置包括:
生成模块920,用于生成目标文本的初始哈希码;
模型建立模块940,用于根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;
采样模块960,用于根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的条件概率分布;
确定模块980,用于根据所述后验概率分布确定所述目标文本对应的校正哈希码。
在一个可能的实施例中,所述采样模块960包括确定子模块962和采样子模块964。所述确定子模块962,用于根据所述初始哈希码和所述目标文本,基于马尔科夫链确定对所述初始哈希码进行采样的采样概率分布;所述采样子模块964,用于根据所述采样概率分布对所述初始哈希码进行n轮采样,得到所述语义哈希模型的所述后验概率分布,n为正整数。
在一个可能的实施例中,所述初始哈希码有d个维度,对所述初始哈希码进行n轮次采样;所述确定子模块962,用于根据所述初始哈希码中除第k维度以外的其余维度和所述目标文本,确定对所述初始哈希码的第k维度进行第一轮次采样时的采样概率分布,k为不大于d的正整数;所述确定子模块962,还用于根据对所述初始哈希码进行第t-1轮次采样后获得的第t-1哈希码中除第k维度以外的其他维度和所述目标文本,确定对所述第t-1哈希码的第k维度进行第t轮次采样时的采样概率分布,k为不大于d的正整数,t为大于1且不大于n的整数。
在一个可能的实施例中,所述生成模块920,用于随机生成所述目标文本的所述初始哈希码;或,所述生成模块920,用于通过编码器生成所述目标文本的所述初始哈希码。
在一个可能的实施例中,所述编码器为对一层的前馈神经网络经过训练得到的;所述编码器是采用如下步骤训练得到的:确定所述编码器的损失函数;基于所述损失函数采用期望最大化算法对所述编码器的参数进行训练。
需要说明的是:上述实施例提供的哈希码的生成装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的哈希码的生成装置,与文本匹配实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本申请一个示例性实施例提供的文本匹配装置的结构框图,如图11所示,该装置包括:
获取模块1020,用于获取输入的第一文本;
所述获取模块1020,还用于获取所述第一文本的第一哈希码和候选文本的第二哈希码,所述第一哈希码和所述第二哈希码均为根据初始哈希码的采样概率分布对所述初始哈希码进行采样后得到的校正哈希码,所述初始哈希码为基于所述第一文本和所述候选文本生成的哈希码,所述采样概率分布为根据所述初始哈希码和所述候选文本确定的条件概率分布;
计算模块1040,用于计算所述第一哈希码和所述第二哈希码的汉明距离;
确定模块1060,用于将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,所述第二文本为与所述第一文本最相似的文本。
在一个可能的实施例中,所述确定模块1060,用于将与所述第一哈希码的所述汉明距离最小的所述第二哈希码输入生成器,得到所述第二哈希码对应的后验概率分布;基于所述第二哈希码对应的后验概率分布确定所述第二哈希码对应的第二文本。
在一个可能的实施例中,所述生成器是采用如下步骤训练得到的:确定所述生成器的损失函数;基于所述损失函数采用期望最大化算法对所述编码器的参数进行训练。
需要说明的是:上述实施例提供的文本匹配装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文本匹配装置,与文本匹配实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机设备可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1312连接到网络1311,或者说,也可以使用网络接口单元1312来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现上述虚拟枪械的射击显示方法的全部或者部分步骤。本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的哈希码的生成方法或文本匹配方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的哈希码的生成方法或文本匹配方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种哈希码的生成方法,其特征在于,所述方法包括:
生成目标文本的初始哈希码;
根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;
根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的条件概率分布;
根据所述后验概率分布确定所述目标文本对应的校正哈希码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,包括:
根据所述初始哈希码和所述目标文本,基于马尔科夫链确定对所述初始哈希码进行采样的采样概率分布;
根据所述采样概率分布对所述初始哈希码进行n轮采样,得到所述语义哈希模型的所述后验概率分布,n为正整数。
3.根据权利要求2所述的方法,其特征在于,所述初始哈希码有d个维度,对所述初始哈希码进行n轮次采样;
所述根据所述初始哈希码和所述目标文本,基于马尔科夫链确定对所述初始哈希码进行采样的采样概率分布,包括:
根据所述初始哈希码中除第k维度以外的其余维度和所述目标文本,确定对所述初始哈希码的第k维度进行第一轮次采样时的采样概率分布,k为不大于d的正整数;
根据对所述初始哈希码进行第t-1轮次采样后获得的第t-1哈希码中除第k维度以外的其他维度和所述目标文本,确定对所述第t-1哈希码的第k维度进行第t轮次采样时的采样概率分布,k为不大于d的正整数,t为大于1且不大于n的整数。
4.根据权利要求1至3任一所述的方法,其特征在于,所述生成所述目标文本的初始哈希码,包括:
随机生成所述目标文本的所述初始哈希码;
或,
通过编码器生成所述目标文本的所述初始哈希码。
5.根据权利要求4所述的方法,其特征在于,所述编码器是采用如下步骤训练得到的:
确定所述编码器的损失函数;
基于所述损失函数采用期望最大化算法对所述编码器的参数进行训练。
6.一种文本匹配方法,其特征在于,所述方法包括:
获取输入的第一文本;
获取所述第一文本的第一哈希码和候选文本的第二哈希码,所述第一哈希码和所述第二哈希码均为根据初始哈希码的采样概率分布对所述初始哈希码进行采样后得到的校正哈希码,所述初始哈希码为基于所述第一文本和所述候选文本生成的哈希码,所述采样概率分布为根据所述初始哈希码和所述候选文本确定的条件概率分布;
计算所述第一哈希码和所述第二哈希码的汉明距离;
将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,所述第二文本为与所述第一文本最相似的文本。
7.根据权利要求6所述的方法,其特征在于,所述将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,包括:
将与所述第一哈希码的所述汉明距离最小的所述第二哈希码输入生成器,得到所述第二哈希码对应的后验概率分布;
基于所述第二哈希码对应的后验概率分布确定所述第二哈希码对应的第二文本。
8.根据权利要求7所述的方法,其特征在于,所述生成器是采用如下步骤训练得到的:
确定所述生成器的损失函数;
基于所述损失函数采用期望最大化算法对所述编码器的参数进行训练。
9.一种哈希码的生成装置,其特征在于,所述装置包括:
生成模块,用于生成目标文本的初始哈希码;
模型建立模块,用于根据所述目标文本和所述初始哈希码的联合概率分布,建立所述目标文本的语义哈希模型;
采样模块,用于根据所述初始哈希码的采样概率分布对所述初始哈希码进行采样,得到所述语义哈希模型的后验概率分布,所述采样概率分布为根据所述初始哈希码和所述目标文本确定的条件概率分布;
确定模块,用于根据所述后验概率分布确定所述目标文本对应的校正哈希码。
10.根据权利要求9所述的装置,其特征在于,所述采样模块包括确定子模块和采样子模块;
所述确定子模块,用于根据所述初始哈希码和所述目标文本,基于马尔科夫链确定对所述初始哈希码进行采样的采样概率分布;
所述采样子模块,用于根据所述采样概率分布对所述初始哈希码进行n轮采样,得到所述语义哈希模型的所述后验概率分布,n为正整数。
11.根据权利要求10所述的装置,其特征在于,所述初始哈希码有d个维度,对所述初始哈希码进行n轮次采样;
所述确定子模块,用于根据所述初始哈希码中除第k维度以外的其余维度和所述目标文本,确定对所述初始哈希码的第k维度进行第一轮次采样时的采样概率分布,k为不大于d的正整数;
所述确定子模块,还用于根据对所述初始哈希码进行第t-1轮次采样后获得的第t-1哈希码中除第k维度以外的其他维度和所述目标文本,确定对所述第t-1哈希码的第k维度进行第t轮次采样时的采样概率分布,k为不大于d的正整数,t为大于1且不大于n的整数。
12.根据权利要求9所述的装置,其特征在于,
所述生成模块,用于随机生成所述目标文本的所述初始哈希码;
或,
所述生成模块,用于通过编码器生成所述目标文本的所述初始哈希码。
13.一种文本匹配装置,其特征在于,所述装置包括:
获取模块,用于获取输入的第一文本;
所述获取模块,还用于获取所述第一文本的第一哈希码和候选文本的第二哈希码,所述第一哈希码和所述第二哈希码均为根据初始哈希码的采样概率分布对所述初始哈希码进行采样后得到的校正哈希码,所述初始哈希码为基于所述第一文本和所述候选文本生成的哈希码,所述采样概率分布为根据所述初始哈希码和所述候选文本确定的条件概率分布;
计算模块,用于计算所述第一哈希码和所述第二哈希码的汉明距离;
确定模块,用于将与所述第一哈希码的所述汉明距离最小的第二哈希码对应的候选文本确定为第二文本,所述第二文本为与所述第一文本最相似的文本。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器,与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行的所述程序指令时实现如权利要求1至5任一所述的哈希码的生成方法或如权利要求6至8任一所述的文本匹配方法。
15.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至5任一所述的哈希码的生成方法或如权利要求6至8任一所述的文本匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110733009.3A CN113821527A (zh) | 2021-06-30 | 2021-06-30 | 哈希码的生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110733009.3A CN113821527A (zh) | 2021-06-30 | 2021-06-30 | 哈希码的生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821527A true CN113821527A (zh) | 2021-12-21 |
Family
ID=78924043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110733009.3A Pending CN113821527A (zh) | 2021-06-30 | 2021-06-30 | 哈希码的生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821527A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495546A (zh) * | 2022-11-21 | 2022-12-20 | 中国科学技术大学 | 相似文本检索方法、系统、设备及存储介质 |
CN116629272A (zh) * | 2023-07-24 | 2023-08-22 | 山东大学 | 自然语言控制的文本生成方法及系统 |
CN116883608A (zh) * | 2023-09-05 | 2023-10-13 | 武汉纺织大学 | 一种多模态数字人社交属性控制方法及相关装置 |
-
2021
- 2021-06-30 CN CN202110733009.3A patent/CN113821527A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495546A (zh) * | 2022-11-21 | 2022-12-20 | 中国科学技术大学 | 相似文本检索方法、系统、设备及存储介质 |
CN116629272A (zh) * | 2023-07-24 | 2023-08-22 | 山东大学 | 自然语言控制的文本生成方法及系统 |
CN116629272B (zh) * | 2023-07-24 | 2023-10-10 | 山东大学 | 自然语言控制的文本生成方法及系统 |
CN116883608A (zh) * | 2023-09-05 | 2023-10-13 | 武汉纺织大学 | 一种多模态数字人社交属性控制方法及相关装置 |
CN116883608B (zh) * | 2023-09-05 | 2023-12-12 | 武汉纺织大学 | 一种多模态数字人社交属性控制方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147551B (zh) | 多类别实体识别模型训练、实体识别方法、服务器及终端 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
Rodrigues et al. | Sequence labeling with multiple annotators | |
CN109582956B (zh) | 应用于句子嵌入的文本表示方法和装置 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111708873A (zh) | 智能问答方法、装置、计算机设备和存储介质 | |
Bhaskaran et al. | An efficient personalized trust based hybrid recommendation (tbhr) strategy for e-learning system in cloud computing | |
CN113821527A (zh) | 哈希码的生成方法、装置、计算机设备及存储介质 | |
CN105989040A (zh) | 智能问答的方法、装置及系统 | |
CN113535984A (zh) | 一种基于注意力机制的知识图谱关系预测方法及装置 | |
CN111737426B (zh) | 问答模型的训练方法、计算机设备以及可读存储介质 | |
CN112395487B (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN111782826A (zh) | 知识图谱的信息处理方法、装置、设备及存储介质 | |
US11373117B1 (en) | Artificial intelligence service for scalable classification using features of unlabeled data and class descriptors | |
CN111797245B (zh) | 基于知识图谱模型的信息匹配方法及相关装置 | |
CN111259647A (zh) | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 | |
CN113342958B (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN113761868B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN111832312A (zh) | 文本处理方法、装置、设备和存储介质 | |
CN111553140B (zh) | 数据处理方法、数据处理设备及计算机存储介质 | |
CN111274822A (zh) | 语义匹配方法、装置、设备及存储介质 | |
CN113157867A (zh) | 一种问答方法、装置、电子设备及存储介质 | |
CN113761220A (zh) | 信息获取方法、装置、设备及存储介质 | |
Chai | Design and implementation of English intelligent communication platform based on similarity algorithm | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 |
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 |