掌桥专利:专业的专利平台
掌桥专利
首页

一种基于词嵌入向量的文本检索方法及系统

文献发布时间:2023-06-19 12:25:57


一种基于词嵌入向量的文本检索方法及系统

技术领域

本公开涉及文本数据处理技术领域,特别涉及一种基于词嵌入向量的文本检索方法及系统。

背景技术

本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。

词嵌入,又称为分布式词表示,最早把单词作为基本原语来处理,并把每个单词映射到一个连续向量空间,得到词的实值低维向量表示。相比较于传统的独热编码方式的单词表示方法,词嵌入更容易捕捉到自然语言单词间的语义联系和句法结构。因此,从大型语料库的上下文文本信息中学习词嵌入向量以及提高词嵌入向量的质量是非常有必要的。

把单词视为基本单元,并将单词映射到向量空间来学习词嵌入已成为一种重要的方法。词向量作为语言模型的输入单词特征,在自然语言处理任务中有着广泛的应用,比如情感分析、命名实体识别、命名实体消歧、机器翻译、文本分类和文本语义相似性分析。

词嵌入向量作为单词特征,能够从多个角度去考虑词的信息,不仅蕴含着词语与词语在向量空间上的距离信息,还包含着丰富的语义信息。但是,传统的训练词嵌入向量的方法需要消耗巨大的计算资源,无法高效的处理以亿计的大规模文本语料库。为了在有限时间内,高效、准确的从大规模语料库中获取词嵌入向量,有研究人员提出了简单有效的Skip-Gram模型和连续词袋(CBOW)模型。同时,针对以上模型,又推出了一系列后续改进,如负采样等技术,加快了词嵌入语言模型的训练速度。

以往的词嵌入方法通常把英文单词作为最小的处理单元,有研究人员证实了词嵌入向量表示的方法在英文语言系统中的重要性。不仅如此,词嵌入技术还被应用在学习中文词嵌入向量上。与英文不同的是,中文词语可能由一个或多个字符组成,并且,每一个字符包含着丰富的语义信息。比如说,词语“眼睛”由汉字“眼”和汉字“睛”两个字符组成。根据中文词语和中文字符内部包含着丰富的语义信息的特点,有研究人员提出了一种通过学习字符嵌入向量来提高词嵌入向量的质量的联合学习词嵌入方法。但是,如果只考虑构成词语的汉字信息,就会忽略字符内部的语义信息,因为字符之间缺少语义联系。更进一步,构成词的字符往往由偏旁和非偏旁组成,这些组件内部也包含着大量的语义信息。比如说,词语“打渔”由汉字“打”和汉字“渔”两个字符组成。字符“打”的部首是“扌”,字符“渔”的部首是“氵”、子字符为“丁”“鱼”。于是,词语“打渔”的语义信息就可以通过“打”、“鱼”、“扌”、“氵”和“鱼”联系起来。同时,利用字符的笔画级信息,构建stroke n-gram向量,来捕捉词语的结构和语义信息。

发明人发现,笔画信息、子字符信息、字符信息并没有充分的用于学习中文词嵌入向量过程。目前已有的中文词嵌入语言模型并未充分使用词语的内部组件的特征信息,而且忽略了组成词语的逻辑结构,即词语、字符、子字符、笔画的层次结构,使得最终得到词语聚类结果存在较大的误差,进而使得词语相似度检索方面的精度较低。

发明内容

为了解决现有技术的不足,本公开提供了一种基于词嵌入向量的文本检索方法及系统,弥补了已有的中文词嵌入语言模型未考虑词语的逻辑结构的不足,使用笔画特征信息、子字符特征信息、字符特征信息、词语特征信息,提高了词嵌入向量的质量,进而提高了文本中相似词语检索结果的准确性。

为了实现上述目的,本公开采用如下技术方案:

本公开第一方面提供了一种基于词嵌入向量的文本检索方法。

一种基于词嵌入向量的文本检索方法,包括以下过程:

获取目标词语和待检索的包含多个词语的文本数据;

根据获取的目标词语和文本数据,得到所有词语的初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量,进而得到各个词语的词嵌入向量;

根据目标词语与文本数据中各个词语的词嵌入向量的夹角余弦值的差异进行文本数据中词语的聚类,根据聚类结果得到与目标词语匹配的检索结果。

进一步的,将初始笔画嵌入向量与笔画n-gram向量融合,得到融合后的笔画嵌入向量;

根据初始子字符嵌入向量和融合后的笔画嵌入向量,得到子字符嵌入向量;

根据子字符嵌入向量和初始字符嵌入向量,得到字符嵌入向量;

根据字符嵌入向量和初始词嵌入向量,得到各个词语的词嵌入向量。

更进一步的,以初始笔画嵌入向量的平均对数似然函数为目标函数,当目标函数取到最大值时,得到笔画嵌入向量。

更进一步的,引入笔画关系向量,结合初始子字符嵌入向量、融合后的笔画嵌入向量和笔画关系向量,得到子字符嵌入向量。

更进一步的,以子字符嵌入向量的约束项函数和字符嵌入向量的约束项函数的和构建字符嵌入向量的目标函数。

更进一步的,引入字符关系向量,根据初始词嵌入向量、字符嵌入向量和字符关系向量,得到词嵌入向量。

更进一步的,利用Skip-Gram语言模型得到词语的初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量。

本公开第二方面提供了一种基于词嵌入向量的文本检索系统。

一种基于词嵌入向量的文本检索系统,包括:

数据获取模块,被配置为:获取目标词语和待检索的包含多个词语的文本数据;

词嵌入向量获取模块,被配置为:根据获取的目标词语和文本数据,得到所有词语的初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量,进而得到各个词语的词嵌入向量;

词语聚类模块,被配置为:根据目标词语与文本数据中各个词语的词嵌入向量的夹角余弦值的差异进行文本数据中词语的聚类,根据聚类结果得到与目标词语匹配的检索结果。

本公开第三方面提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的基于词嵌入向量的文本检索方法中的步骤。

本公开第四方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的基于词嵌入向量的文本检索方法中的步骤。

与现有技术相比,本公开的有益效果是:

1、本公开所述的方法、系统、介质或电子设备,弥补了已有的中文词嵌入语言模型未考虑词语的逻辑结构的不足,使用笔画特征信息、子字符特征信息、字符特征信息、词语特征信息,提高了词嵌入向量的质量,进而提高了文本中相似词语检索结果的准确性。

2、本公开所述的方法、系统、介质或电子设备,利用神经网络语言模型,能够自动提取词语组件特征,并且避免了词嵌入向量冗长导致的维度灾难问题;基于汉字的象形文字的特征,进一步保证了在训练词嵌入向量时能够充分使用词语的内部组件信息,提高了词嵌入向量的质量。

3、本公开所述的方法、系统、介质或电子设备,在笔画信息的使用上,扩展了基本笔画的使用种类,提取到了更加丰富的笔画特征信息,有利于提高笔画嵌入向量的质量,从而提高词嵌入向量的精确度。

4、本公开所述的方法、系统、介质或电子设备,在缺少任意词语内部的组件信息时,层次语言模型可以利用其它组件信息来训练词嵌入向量,模型的稳定性保证了词嵌入向量的精确度。

本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1为本公开实施例1提供的中文词嵌入层次语言模型的设计流程图。

图2为本公开实施例1提供的笔画嵌入层结构图。

图3为本公开实施例1提供的子字符嵌入层结构图。

图4为本公开实施例1提供的字符嵌入层结构图。

图5为本公开实施例1提供的词语嵌入层结构图。

图6为本公开实施例1提供的层次语言模型输出结果图。

图7为本公开实施例1提供的各类模型在WordSim-240/297数据集上的词语相似度任务的准确度示意图。

具体实施方式

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

实施例1:

如图1-6所示,本公开实施例1提供了基于词嵌入向量的文本检索方法,包括以下过程:

获取目标词语和待检索的包含多个词语的文本数据;

根据获取的目标词语和文本数据,得到所有词语的初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量,进而得到各个词语的词嵌入向量;

根据目标词语与文本数据中各个词语的词嵌入向量的夹角余弦值的差异进行文本数据中词语的聚类,根据聚类结果得到与目标词语匹配的检索结果。

具体的词嵌入向量的获取方法,包括以下过程:

步骤1:将在中文维基百科语料库中下载的数据进行预处理,借助Skip-Gram语言模型获取初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量;

步骤2:构建笔画嵌入层,在笔画嵌入层获取初始笔画嵌入向量和笔画n-gram向量,将融合后得到的笔画嵌入向量,作为下一层的输入数据;

步骤3:构建子字符嵌入层,利用上层网络获取的笔画嵌入向量,结合Skip-Gram网络获取的初始子字符嵌入向量,联合训练子字符,获取子字符嵌入向量;

步骤4:构建字符嵌入层,利用上层网络获取的子字符嵌入向量,结合Skip-Gram网络获取的初始字符嵌入向量,联合训练字符,获取字符嵌入向量;

步骤5:构建词语嵌入层,利用字符嵌入层中获取的字符嵌入向量,结合Skip-Gram网络获取的初始词嵌入向量,联合训练词语,获取词嵌入向量。

具体的工作流程如下:

步骤(1)中:

训练用语料数据来源于于中文维基百科语料库中的zhwiki-latest-pages-articles.xml.bz2,需要对数据包进行解压、抽取、过滤非文本信息、繁体转简体、去除非中文数据、分词等预处理操作。

获取笔画嵌入向量,定义笔画集合,为笔画设置索引{“1”,”2”...”34”};

同时,将两两笔画进行组合获取笔画对,笔画对组成相邻笔画,对于任意词语,都将其划分为笔画串表示的形式。

在词语拆分为笔画后,笔画两两组合,形成相邻笔画,相邻笔画训练时的目标函数为:

其中,

logp(.)由当前中心笔画和上下文笔画的softmax分类器定义,公式如下所示:

其中,

步骤(2):计算笔画n-gram向量,并与步骤(1)中获取的笔画嵌入向量进行融合。

定义:

词语集合为D={w

字符集合为C={c

子字符集合为Sub={sub

相邻笔画集合为

笔画集合为S={s

抽取笔画特征,使用笔画嵌入向量和笔画n-gram向量融合后,得到精确度较高的笔画嵌入向量,在获取笔画n-gram向量时,使用34种基本笔画信息,n取3,4,5。

获取笔画n-gram向量的公式如下所示:

其中,S表示中心词的笔画n-gram集合,w

笔画嵌入层的目标函数由笔画嵌入向量和笔画n-gram向量共同定义,公式如下所示:

步骤(3):获取子字符嵌入向量,子字符出现的条件概率

其中,sub

其中,

步骤(4):获取字符嵌入向量,使用初始字符嵌入向量、子字符嵌入向量和子字符关系向量来学习字符嵌入向量,公式如下所示:

其中,

最后,字符嵌入层的目标函数定义为最大化对数似然函数,目标函数中包含两项约束条件,公式如下所示:

步骤(5):在词语嵌入层中,词嵌入向量由初始词嵌入向量和在字符嵌入层学习到的字符嵌入向量共同训练,实现由字符特征到词语特征提高词嵌入向量的精度。

其中,

同时,在子字符嵌入层、字符嵌入层、词语嵌入层,使用笔画关系信息、子字符关系信息、字符关系信息,对整个词向量的训练过程进行约束。

根据以上子网络嵌入层的训练,结合本实施例开头部分的目标函数,便可以实现使用笔画、子字符、字符特征信息,联合训练词嵌入向量的目的。相对于目前已有的中文词嵌入语言模型获方法,词语内部组件特征信息的使用,更是能够提高词嵌入向量的质量,从而提高在词语聚类任务中的准确率。

本实施例中,根据获取的文本中各个词语的词嵌入向量的夹角余弦值的差异进行文本中词语的聚类。

同目前已有的获取词嵌入向量的方法进行了比较,发现使用本专利获取的词嵌入向量,能够有效提高词语相似度任务的完成效果,如图7所所示。

本实验在WordSim-240/297数据集上进行实验,本实施例提出的层次语言模型(HWE)在WordSim-240数据集上的准确率为62.47%,在WordSim-297数据集上的准确率为63.94%。

同时,本专利在词语聚合任务上也进行了实验,发现通过层次语言模型获取的词嵌入向量能够有效的将语义相近的词语聚集在一起,且提高了辨识相似词语的准确度,如表1所示。通过层次语言模型获取的词嵌入向量,以“诗赋”为例,能够准确的将“诗经”、“诗歌”聚集在一起。然而,已有的模型JWE将词语“诗仙”也归为与“诗赋”相似的词语,CBOW模型将“长安”和“老人”也归为与“诗赋”相似的词语,存在误差。

表1:部分模型给出的与“诗赋”语义相近的词语

实施例2:

本公开实施例2提供了一种基于词嵌入向量的文本检索系统,包括:

数据获取模块,被配置为:获取目标词语和待检索的包含多个词语的文本数据;

词嵌入向量获取模块,被配置为:根据获取的目标词语和文本数据,得到所有词语的初始笔画嵌入向量、初始子字符嵌入向量、初始字符嵌入向量和初始词语嵌入向量,进而得到各个词语的词嵌入向量;

词语聚类模块,被配置为:根据目标词语与文本数据中各个词语的词嵌入向量的夹角余弦值的差异进行文本数据中词语的聚类,根据聚类结果得到与目标词语匹配的检索结果。

所述系统的工作方法与实施例1提供的基于词嵌入向量的文本检索方法相同,这里不再赘述。

实施例3:

本公开实施例3提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开实施例1所述的基于词嵌入向量的文本检索方法中的步骤。

实施例4:

本公开实施例4提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例1所述的基于词嵌入向量的文本检索方法中的步骤。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 一种基于词嵌入向量的文本检索方法及系统
  • 一种基于词向量的多关键字密文存储、检索方法及系统
技术分类

06120113298400