CN115392234A - 文本表示方法、词表示方法、相应装置、介质及设备 - Google Patents
文本表示方法、词表示方法、相应装置、介质及设备 Download PDFInfo
- Publication number
- CN115392234A CN115392234A CN202210923883.8A CN202210923883A CN115392234A CN 115392234 A CN115392234 A CN 115392234A CN 202210923883 A CN202210923883 A CN 202210923883A CN 115392234 A CN115392234 A CN 115392234A
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- node
- text
- iteration
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种文本表示方法、词表示方法、相应装置、介质及设备,该文本表示方法包括:获取文本并对文本进行分词,获得词序列;生成文本的文本向量,并对文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量;根据下一个词的预测词向量和真实词向量,优化文本向量;在完成该至少一轮迭代后,得到用于表示文本的最终文本向量。本公开能够准确得到文本的向量表示。
Description
技术领域
本公开涉及文本处理技术领域,具体地,涉及一种文本表示方法、词表示方法、相应装置、介质及设备。
背景技术
伴随着信息的爆炸式增长,人工标注数据已经变得耗时、质量低下,且易受到标注人主观意识的影响。因此,利用机器自动化实现对文本的分类变得具有现实意义,将重复且枯燥的文本标注任务交由计算机进行处理能够有效克服以上问题,同时所分类的数据具有一致性、高质量等特点。文本分类任务常用于数字化图书馆、舆情分析、新闻推荐、邮件过滤等领域,为文本资源的查询、检索提供了有力支撑。
而文本分类需要依赖于对文本的向量表示,目前主流算法采用卷积神经网络,先将文本表示为矩阵,通过卷积神经网络进行特征提取,将提取的特征向量作为对文本的向量表示,再将特征向量输入分类器进行文本分类。这类算法需要截取每篇文本为相同长度,以适应卷积神经网络的输入,这样会导致损失精度,同时卷积神经网络每次操作只能考虑文本局部信息,不能准确表示文本。
发明内容
本公开的目的是提供一种文本表示方法、词表示方法、相应装置、介质及设备,以准确对文本进行表示。
为了实现上述目的,第一方面,本公开提供一种文本表示方法,包括:
获取第一目标文本并对所述第一目标文本进行分词,获得词序列;
生成所述第一目标文本的文本向量,并对所述文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;
在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将所述词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量;
根据所述下一个词的预测词向量和真实词向量,优化所述文本向量;
在完成所述至少一轮迭代后,得到用于表示所述第一目标文本的最终文本向量。
可选地,每个词的真实词向量是通过如下方式得到的:
获取第二目标文本并对所述第二目标文本进行分词,得到多个词;
将每个词分别作为一个节点,且将在所述第二目标文本中相邻出现的词对应的节点连接,生成无向图;
将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
将每组节点序列中的节点按顺序两两组合,得到多个节点对;
生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
在迭代优化结束后,得到用于表示每个词的最终词向量,将每个词的最终词向量作为所述真实词向量。
可选地,所述以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量,包括:
在每次迭代中,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度;
根据每个节点对所对应的所述相似度计算损失值;
根据所述损失值,通过梯度下降对每个节点对应的词向量进行更新。
可选地,两个词向量在向量表示上的相似度通过如下计算式计算得到:
可选地,损失值通过如下目标函数计算得到:
其中,J表示目标函数,wij表示节点对(vi,vj)中的两个节点分别对应的词向量间的余弦相似度,log表示对数函数,λ为正则因子。
可选地,所述生成所述第一目标文本的文本向量,包括:
根据真实词向量的向量维度,生成相同维度的所述文本向量。
第二方面,本公开提供一种词表示方法,包括:
获取目标文本并对所述目标文本进行分词,得到多个词;
将每个词分别作为一个节点,且将在所述目标文本中相邻出现的词对应的节点连接,生成无向图;
将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
将每组节点序列中的节点按顺序两两组合,得到多个节点对;
生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
在迭代优化结束后,得到用于表示每个词的最终词向量。
第三方面,本公开提供一种文本表示装置,包括:
第一分词模块,用于获取第一目标文本并对所述第一目标文本进行分词,获得词序列;
文本向量迭代模块,用于生成所述第一目标文本的文本向量,并对所述文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将所述词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量,根据所述下一个词的预测词向量和真实词向量,优化所述文本向量;
文本向量获得模块,用于在完成所述至少一轮迭代后,得到用于表示所述第一目标文本的最终文本向量。
第四方面,本公开提供一种词表示装置,包括:
第二分词模块,用于获取目标文本并对所述目标文本进行分词,得到多个词;
图生成模块,用于将每个词分别作为一个节点,且将在所述目标文本中相邻出现的词对应的节点连接,生成无向图;
随机游走模块,用于将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
节点组合模块,用于将每组节点序列中的节点按顺序两两组合,得到多个节点对;
词向量迭代模块,用于生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
词向量获得模块,用于在迭代优化结束后,得到用于表示每个词的最终词向量。
第五方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面或第二方面所述方法的步骤。
第六方面,本公开提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面或第二方面所述方法的步骤。
在上述方案中,首先初始化生成第一目标文本的文本向量,然后通过不断迭代来优化这个文本向量。迭代过程包括一轮或多轮迭代,每轮迭代包含多次子迭代,在每次子迭代中,只滑动截取词序列中的一小部分词来参与文本向量的优化,随着滑动窗口的不断滑动,实现基于文本的词序信息和全局信息对文本向量进行优化。应理解,文本向量在同一个文本的所有次子迭代中是共享的,每次子迭代的输入都包含文本向量,文本向量可以被看作是文本的主旨,通过文本向量,使得文本的主旨每次都会被作为输入的一部分来迭代优化。这样,随着每次在文本的词序列上滑动取k个词进行迭代的过程中,作为每次迭代的共享参数,该文本向量表达的主旨会越来越准确,最终能够准确得到文本的向量表示。此外,上述方案还能自然解决文本长度不统一的问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1示出了一示例性实施例中的词表示方法的流程图;
图2示出了一示例性实施例中生成的无向图的示意图;
图3示出了一示例性实施例中的步骤S105的具体实施方式的流程图;
图4示出了一示例性实施例中的文本表示方法的流程图;
图5示出了一示例性实施例中的文本表示装置的框图;
图6示出了一示例性实施例中的词表示装置的框图;
图7示出了一示例性实施例中的电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
首先,本公开实施例介绍一种词表示方法,用于对文本中的词进行准确的向量表示。图1示出了一示例性实施例中的词表示方法的流程图,参照图1,该方法包括:
S101,获取目标文本并对目标文本进行分词,得到多个词。
获取一个或多个目标文本,并对获取的目标文本进行分词,得到多个词。其中,在对目标文本进行分词后,对于分词结果,去除其中的停止词,得到该多个词。
S102,将每个词分别作为一个节点,且将在目标文本中相邻出现的词对应的节点连接,生成无向图。
在得到多个词后,将每个词分别作为一个节点,将两个词在目标文本中的相邻关系作为对应节点的边,生成无向图,无向图中节点与节点之间连接表示对应的两个词在目标文本中相邻出现,对于在目标文本中不相邻出现的两个词,其对应的节点不连接。
图2示出了一示例性实施例中生成的无向图的示意图,参照图2,在该无向图中共包括9个节点,依次为节点V1~V9,其中,节点V1与节点V2连接,则表示节点V1对应的词与节点V2对应的词在目标文本中是相邻出现的。其中,相邻出现可以是指在去停止词后两个词相邻。
S103,将每个节点分别作为起始节点,在该无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列。
将每个节点分别作为起始节点,针对每个起始节点,在该无向图上从起始节点开始进行随机游走,直至游走结束,得到该起始节点对应的一组节点序列,共得到多组节点序列。其中,随机游走过程为从起始节点开始,在与起始节点连接的各个节点中,随机选择节点,作为下一个节点,再从与下一个节点连接的各个节点中,继续随机选择节点,作为下一个节点,重复上述步骤,直至游走结束。其中,预先可以根据目标文本的总长度设置游走长度,当游走长度达到预设游走长度后,可结束本次随机游走。
示例性地,针对图2所示的无向图,假设以节点V1作为起始节点,由于只有节点V2与节点V1连接,因此只能选择节点V2作为下一个节点;由于节点V2同时与节点V1、V3和V5连接,因此从节点V1、V3和V5中随机选择一个节点(假设选择节点V5),作为下一个节点;由于节点V5同时与节点V2和V6连接,因此从节点V2和V6中随机选择一个节点(假设选择节点V6),作为下一个节点;由于节点V6同时与节点V5、V7和V8连接,因此从节点V5、V7和V8中随机选择一个节点(假设选择节点V8),作为下一个节点;由于节点V8同时与节点V6和V9连接,因此从节点V6和V9中随机选择一个节点(假设选择节点V6),作为下一个节点。此时,本次游走长度达到预设游走长度,结束本次随机游走,于是输出以节点V1作为起始节点的一组节点序列:
V1,V2,V5,V6,V8,V6。
针对每个起始节点均按照上述方式进行随机游走,最终共得到多组节点序列。
S104,将每组节点序列中的节点按顺序两两组合,得到多个节点对。
在得到节点序列后,将节点序列中的节点按相邻顺序两两组合,得到多个节点对,同一节点对中的两个节点在节点序列中相邻。
示例性地,针对上述节点序列,可得到以下节点对:
(V1,V2),(V2,V5),(V5,V6),(V6,V8),(V8,V6)。
S105,生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量。
先初始化生成每个节点对应的词向量,且每个节点对应的词向量的向量维度相同。然后以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,不断迭代优化每个节点对应的词向量,直至迭代结束。
S106,在迭代优化结束后,得到用于表示每个词的最终词向量。
在上述过程中,首先确定向量维度,如64维,于是用一个64维的初始化随机数组成的向量作为这个节点的词向量。然后通过不断迭代来优化这个节点的词向量,应理解,对于同一节点对中的两个节点,即在文本中相邻出现的两个词,认为这两个词在语义上是相近的,因此在迭代时以这两个词的向量表示尽可能相似为优化目标,对词向量进行迭代,随着迭代的深入,相似的词在向量表示上会有更相似的体现。
通过上述过程,可以得到文本中每个词的向量表示,而且可以看出,如果文本中某个词的出现次数越多,则其对应的节点的度数也就越高,那么随机游走选择到它的概率也就越高,那么它将会在较多的节点对中出现,因此其向量在迭代优化的过程中将起到更加重要的作用。此外,从上述过程可见,该方法不仅关注文本的局部信息,而且通过随机游走可以获取更多的全局信息,因此最终得到的词向量表示会更加准确。
图3示出了一示例性实施例中步骤S105的具体实施方式的流程图,参照图3,步骤S105包括:
S201,在每次迭代中,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度。
可选地,两个词向量在向量表示上的相似度通过如下计算式计算得到:
可以理解的,上述计算式用于将的结果映射到0到1的数值范围内,因此p(vi,vj)可以用来表示节点对(vi,vj)中的两个节点分别对应的词向量在向量表示上的相似度,p(vi,vj)的值越趋近于1,则表示两个词向量在向量表示上相似,越趋近于0,则表示两个词向量在向量表示上不相似。
S202,根据每个节点对所对应的在向量表示上的相似度计算损失值。
可选地,损失值通过如下目标函数计算得到:
其中,J表示目标函数,wij表示节点对(vi,vj)中的两个节点分别对应的词向量间的余弦相似度,log表示对数函数,λ为正则因子。
S203,根据该损失值,通过梯度下降对每个节点对应的词向量进行更新。
基于该损失值,确定是否对词向量进行更新,如果损失值较高,高于设定的第一损失阈值,则通过梯度下降对每个节点对应的词向量进行更新,如果损失值较小,小于设定的第一损失阈值,那么可以停止对各节点的词向量的更新,即迭代结束。
重复上述步骤S201~S203,不断对每个节点对应的词向量进行更新,直至迭代结束,在迭代结束后,得到用于表示每个词的最终词向量。
本公开还提供一种文本表示方法,图4示出了一示例性实施例中的文本表示方法的流程图,请参照图4,该方法包括:
S301,获取第一目标文本并对第一目标文本进行分词,获得词序列。
获取待表示的第一目标文本,并对第一目标文本进行分词,获得词序列。其中,在对第一目标文本进行分词后,对于分词结果,去除其中的停止词,根据剩余的词获得词序列。
S302,生成第一目标文本的文本向量,并对文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量,根据下一个词的预测词向量和真实词向量,优化文本向量。
其中,i和k均为正整数。
在具体的实施例中,预先设置一损失函数,该损失函数为关于预测词向量、真实词向量和文本向量的函数。在已知当前滑动窗口外的下一个词的预测词向量和真实词向量的基础上,计算该损失函数对文本向量的偏导数,进而对文本向量进行梯度下降更新,使得文本向量向使预测词向量与真实词向量间的误差更小的方向优化。梯度下降的具体方式在此不赘述。
在上述步骤中,先初始化生成第一目标文本的文本向量,然后基于长度为k的滑动窗口,在词序列上不断向后滑动,每滑动一次,将基于当前滑动窗口中的k个词进行一次子迭代,通过多次子迭代不断优化文本向量,直至迭代结束。其中,预先设置迭代的轮数,轮数可以是一轮或多轮,将滑动窗口从词序列上的第一个词滑动至最后一个词所经历的多次子迭代,作为一轮迭代,当一轮迭代的最后一次子迭代完成后,继续下一轮迭代的第一次子迭代。
其中,在第一轮迭代的第1次子迭代中,将长度为k的滑动窗口置于词序列的起始位置,当前滑动窗口中的k个词为词序列上的第1~第k个词,获取当前滑动窗口中的k个词的真实词向量,将这k个词的真实词向量与初始化生成的文本向量进行加权组合,将加权组合后的向量作为词序列上的第k+1个词的预测词向量,根据第k+1个词的预测词向量和真实词向量,优化文本向量。
当i>1,在第一轮迭代的第i次子迭代中,将词序列上的上一次子迭代的滑动窗口向后滑动,具体地,可向后滑动一个词或多个词的长度,然后获取当前滑动窗口中的k个词的真实词向量,将这k个词的真实词向量与上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量,根据该下一个词的预测词向量和真实词向量,优化文本向量。
重复上述步骤,当一轮迭代结束后可启动下一轮迭代。
在下一轮迭代的第1次子迭代中,将长度为k的滑动窗口置于词序列的起始位置,当前滑动窗口中的k个词为词序列上的第1~第k个词,获取当前滑动窗口中的k个词的真实词向量,将这k个词的真实词向量与上一次子迭代(上一轮迭代的最后一次子迭代)优化后的文本向量进行加权组合,将加权组合后的向量作为词序列上的第k+1个词的预测词向量,根据第k+1个词的预测词向量和真实词向量,优化文本向量。
之后的子迭代过程可以参照第一轮迭代的第i次子迭代的过程,在此不重复赘述。
为便于理解,以k=3为例,对上述过程进行举例说明。首先初始化生成第一目标文本的文本向量text0,在第一轮迭代的第1次子迭代中,获取词序列上的第1~第3个词的真实词向量,分别记为w1,w2,w3,将文本向量text0与w1,w2,w3进行加权组合,得到加权组合后的向量,即:
λ1*text0+λ2*w1+λ3*w2+λ4*w3;其中,λ1、λ2、λ3、λ4分别为文本向量和每个真实词向量对应的加权权重。
将加权组合后的向量作为词序列上的第4个词的预测词向量,再根据第4个词的预测词向量和真实词向量,优化文本向量text0,将优化后的文本向量记为text1。
在下一次子迭代中,获取词序列上的第2~第4个词的真实词向量,分别记为w2,w3,w4,将文本向量text1与w2,w3,w4进行加权组合,得到加权组合后的向量,即:
λ1*text1+λ2*w2+λ3*w3+λ4*w4;
将加权组合后的向量作为词序列上的第5个词的预测词向量,再根据第5个词的预测词向量和真实词向量,优化文本向量text1,将优化后的文本向量记为text2。
在下一次子迭代中,获取词序列上的第3~第5个词的真实词向量,分别记为w3,w4,w5,将文本向量text2与w3,w4,w5进行加权组合,将加权组合后的向量作为词序列上的第6个词的预测词向量,再根据第6个词的预测词向量和真实词向量,优化文本向量text2,将优化后的文本向量记为text3。
之后的子迭代过程不再重复赘述。
其中,在初始化生成文本向量时,根据真实词向量的向量维度,生成相同维度的文本向量,以便于将文本向量与真实词向量进行加权组合。
S303,在完成该至少一轮迭代后,得到用于表示第一目标文本的最终文本向量。
在上述过程中,首先确定真实词向量的向量维度,如64维,于是用一个64维的初始化随机数组成的向量作为第一目标文本的文本向量。然后通过不断迭代来优化这个文本向量。迭代过程包括一轮或多轮迭代,每轮迭代包含多次子迭代,在每次子迭代中,只滑动截取词序列中的一小部分词来参与文本向量的优化,随着滑动窗口的不断滑动,实现基于文本的词序信息和全局信息对文本向量进行优化。应理解,文本向量在同一个文本的所有次子迭代中是共享的,每次子迭代的输入都包含文本向量,文本向量可以被看作是文本的主旨,通过文本向量,使得文本的主旨每次都会被作为输入的一部分来迭代优化。这样,随着每次在文本的词序列上滑动取k个词进行迭代的过程中,作为每次迭代的共享参数,该文本向量表达的主旨会越来越准确,最终能够准确得到文本的向量表示。
此外,上述方案还能自然解决文本长度不统一的问题。
可以理解的,在得到用于表示第一目标文本的最终文本向量后,可以将最终文本向量输入到训练完成的分类模型中,分类模型基于输入的最终文本向量输出对第一目标文本的分类结果,如第一目标文本的分类类型为文娱类新闻。可选地,分类模型的每个训练样本可以为基于本技术方案获得的最终文本向量。
需要说明的是,本公开提供的文本表示方法,可以应用在绝大部分与文本有关的任务中,包括但不限于信息检索、文本分类、情感分析等,实际场景中可以用于搜索引擎、新闻分类、阅读推荐等。
进一步地,在上述过程中,每个词的真实词向量可以是基于前述实施例提供的词表示方法得到的。
在具体的实施例中,每个词的真实词向量是通过如下方式得到的:
首先,获取第二目标文本并对第二目标文本进行分词,得到多个词。其中,第二目标文本与第一目标文本可以是同一个文本,也可以是不同的文本。
然后,将每个词分别作为一个节点,且将在第二目标文本中相邻出现的词对应的节点连接,生成无向图。
然后,将每个节点分别作为起始节点,在该无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列。
然后,将每组节点序列中的节点按顺序两两组合,得到多个节点对。
然后,生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量。
最终,在迭代优化结束后,得到用于表示每个词的最终词向量,将每个词的最终词向量作为真实词向量。
其中,在以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量的过程中,在每次迭代时,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度,然后根据每个节点对所对应的在向量表示上的相似度计算损失值,再根据损失值,通过梯度下降对每个节点对应的词向量进行更新。
可选地,两个词向量在向量表示上的相似度通过如下计算式计算得到:
可选地,损失值通过如下目标函数计算得到:
其中,J表示目标函数,wij表示节点对(vi,vj)中的两个节点分别对应的词向量间的余弦相似度,log表示对数函数,λ为正则因子。
可以理解的,上述得到每个词的真实词向量的过程的具体步骤及技术效果可以参照前文提供的词表示方法的说明,在此不重复赘述。
图5示出了一示例性实施例中的文本表示装置的框图,请参照图5,文本表示装置400包括:
第一分词模块401,用于获取第一目标文本并对所述第一目标文本进行分词,获得词序列;
文本向量迭代模块402,用于生成所述第一目标文本的文本向量,并对所述文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将所述词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量,根据所述下一个词的预测词向量和真实词向量,优化所述文本向量;
文本向量获得模块403,用于在完成所述至少一轮迭代后,得到用于表示所述第一目标文本的最终文本向量。
可选地,每个词的真实词向量是通过如下模块得到的:
分词子模块,用于获取第二目标文本并对所述第二目标文本进行分词,得到多个词;
图生成子模块,用于将每个词分别作为一个节点,且将在所述第二目标文本中相邻出现的词对应的节点连接,生成无向图;
随机游走子模块,用于将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
节点组合子模块,用于将每组节点序列中的节点按顺序两两组合,得到多个节点对;
词向量迭代子模块,用于生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
词向量获得子模块,用于在迭代优化结束后,得到用于表示每个词的最终词向量,将每个词的最终词向量作为所述真实词向量。
可选地,词向量迭代子模块包括:
相似度计算子模块,用于在每次迭代中,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度;
损失计算子模块,用于根据每个节点对所对应的所述相似度计算损失值;
词向量更新子模块,用于根据所述损失值,通过梯度下降对每个节点对应的词向量进行更新。
可选地,相似度计算子模块用于通过如下计算式计算得到两个词向量在向量表示上的相似度:
可选地,损失计算子模块用于通过如下目标函数计算得到损失值:
其中,J表示目标函数,wij表示节点对(vi,vj)中的两个节点分别对应的词向量间的余弦相似度,log表示对数函数,λ为正则因子。
可选地,文本向量迭代模块402用于:
根据真实词向量的向量维度,生成相同维度的所述文本向量。
图6示出了一示例性实施例中的词表示装置的框图,请参照图6,词表示装置500包括:
第二分词模块501,用于获取目标文本并对所述目标文本进行分词,得到多个词;
图生成模块502,用于将每个词分别作为一个节点,且将在所述目标文本中相邻出现的词对应的节点连接,生成无向图;
随机游走模块503,用于将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
节点组合模块504,用于将每组节点序列中的节点按顺序两两组合,得到多个节点对;
词向量迭代模块505,用于生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
词向量获得模块506,用于在迭代优化结束后,得到用于表示每个词的最终词向量。
可选地,词向量迭代模块505包括:
相似度计算模块,用于在每次迭代中,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度;
损失计算模块,用于根据每个节点对所对应的所述相似度计算损失值;
词向量更新模块,用于根据所述损失值,通过梯度下降对每个节点对应的词向量进行更新。
可选地,相似度计算模块用于通过如下计算式计算得到两个词向量在向量表示上的相似度:
可选地,损失计算模块用于通过如下目标函数计算得到损失值:
其中,J表示目标函数,wij表示节点对(vi,vj)中的两个节点分别对应的词向量间的余弦相似度,log表示对数函数,λ为正则因子。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的词表示方法或文本表示方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的词表示方法或文本表示方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的词表示方法或文本表示方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的词表示方法或文本表示方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的词表示方法或文本表示方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (11)
1.一种文本表示方法,其特征在于,包括:
获取第一目标文本并对所述第一目标文本进行分词,获得词序列;
生成所述第一目标文本的文本向量,并对所述文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;
在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将所述词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量;
根据所述下一个词的预测词向量和真实词向量,优化所述文本向量;
在完成所述至少一轮迭代后,得到用于表示所述第一目标文本的最终文本向量。
2.根据权利要求1所述的方法,其特征在于,每个词的真实词向量是通过如下方式得到的:
获取第二目标文本并对所述第二目标文本进行分词,得到多个词;
将每个词分别作为一个节点,且将在所述第二目标文本中相邻出现的词对应的节点连接,生成无向图;
将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
将每组节点序列中的节点按顺序两两组合,得到多个节点对;
生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
在迭代优化结束后,得到用于表示每个词的最终词向量,将每个词的最终词向量作为所述真实词向量。
3.根据权利要求2所述的方法,其特征在于,所述以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量,包括:
在每次迭代中,根据每个节点对中的两个节点分别对应的词向量,计算两个词向量在向量表示上的相似度;
根据每个节点对所对应的所述相似度计算损失值;
根据所述损失值,通过梯度下降对每个节点对应的词向量进行更新。
6.根据权利要求1所述的方法,其特征在于,所述生成所述第一目标文本的文本向量,包括:
根据真实词向量的向量维度,生成相同维度的所述文本向量。
7.一种词表示方法,其特征在于,包括:
获取目标文本并对所述目标文本进行分词,得到多个词;
将每个词分别作为一个节点,且将在所述目标文本中相邻出现的词对应的节点连接,生成无向图;
将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
将每组节点序列中的节点按顺序两两组合,得到多个节点对;
生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
在迭代优化结束后,得到用于表示每个词的最终词向量。
8.一种文本表示装置,其特征在于,包括:
第一分词模块,用于获取第一目标文本并对所述第一目标文本进行分词,获得词序列;
文本向量迭代模块,用于生成所述第一目标文本的文本向量,并对所述文本向量进行至少一轮迭代,每轮迭代包含多次子迭代;在每轮迭代的第i次子迭代中,基于长度为k的滑动窗口,在将所述词序列上的上一次子迭代的滑动窗口向后滑动后,将当前滑动窗口中的k个词的真实词向量以及上一次子迭代优化后的文本向量进行加权组合,将加权组合后的向量作为当前滑动窗口外的下一个词的预测词向量,根据所述下一个词的预测词向量和真实词向量,优化所述文本向量;
文本向量获得模块,用于在完成所述至少一轮迭代后,得到用于表示所述第一目标文本的最终文本向量。
9.一种词表示装置,其特征在于,包括:
第二分词模块,用于获取目标文本并对所述目标文本进行分词,得到多个词;
图生成模块,用于将每个词分别作为一个节点,且将在所述目标文本中相邻出现的词对应的节点连接,生成无向图;
随机游走模块,用于将每个节点分别作为起始节点,在所述无向图上从起始节点开始进行随机游走,得到每个起始节点各对应的一组节点序列,共得到多组节点序列;
节点组合模块,用于将每组节点序列中的节点按顺序两两组合,得到多个节点对;
词向量迭代模块,用于生成每个节点对应的词向量,并以同一节点对中的两个节点对应的词向量在向量表示上的相似度作为优化目标,迭代优化每个节点对应的词向量;
词向量获得模块,用于在迭代优化结束后,得到用于表示每个词的最终词向量。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923883.8A CN115392234A (zh) | 2022-08-02 | 2022-08-02 | 文本表示方法、词表示方法、相应装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923883.8A CN115392234A (zh) | 2022-08-02 | 2022-08-02 | 文本表示方法、词表示方法、相应装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115392234A true CN115392234A (zh) | 2022-11-25 |
Family
ID=84117904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210923883.8A Pending CN115392234A (zh) | 2022-08-02 | 2022-08-02 | 文本表示方法、词表示方法、相应装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115392234A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116341633A (zh) * | 2023-05-29 | 2023-06-27 | 山东浪潮科学研究院有限公司 | 一种模型部署方法、装置、设备及存储介质 |
-
2022
- 2022-08-02 CN CN202210923883.8A patent/CN115392234A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116341633A (zh) * | 2023-05-29 | 2023-06-27 | 山东浪潮科学研究院有限公司 | 一种模型部署方法、装置、设备及存储介质 |
CN116341633B (zh) * | 2023-05-29 | 2023-09-01 | 山东浪潮科学研究院有限公司 | 一种模型部署方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110366734B (zh) | 优化神经网络架构 | |
CN107980130A (zh) | 自动回答方法、装置、存储介质及电子设备 | |
CN110781407B (zh) | 用户标签生成方法、装置及计算机可读存储介质 | |
CN108073902B (zh) | 基于深度学习的视频总结方法、装置及终端设备 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
JP2018129033A (ja) | 人工ニューラルネットワークのクラスに基づく枝刈り | |
CN113220886A (zh) | 文本分类方法、文本分类模型训练方法及相关设备 | |
CN109582970B (zh) | 一种语义度量方法、装置、设备及可读存储介质 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN113065525A (zh) | 年龄识别模型训练方法、人脸年龄识别方法及相关装置 | |
CN111897965B (zh) | 话题生成方法、装置、存储介质和电子设备 | |
CN117350360B (zh) | 大模型的微调方法、装置、电子设备和存储介质 | |
CN115392234A (zh) | 文本表示方法、词表示方法、相应装置、介质及设备 | |
CN117725220A (zh) | 文档表征和文档检索的方法、服务器及存储介质 | |
Probst | Denoising autoencoders for fast combinatorial black box optimization | |
CN111507218A (zh) | 语音与人脸图像的匹配方法、装置、存储介质及电子设备 | |
US20230130662A1 (en) | Method and apparatus for analyzing multimodal data | |
Wakchaure et al. | A scheme of answer selection in community question answering using machine learning techniques | |
CN110196976B (zh) | 文本的情感倾向分类方法、装置和服务器 | |
CN113128180A (zh) | 文本生成方法和设备 | |
CN110362808B (zh) | 文本分析方法及装置 | |
CN110555104B (zh) | 文本分析方法及装置 | |
CN110362809B (zh) | 文本分析方法及装置 | |
CN110362810B (zh) | 文本分析方法及装置 | |
CN111931058B (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 |