CN111353303B - 词向量构建方法、装置、电子设备及存储介质 - Google Patents
词向量构建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111353303B CN111353303B CN202010445789.7A CN202010445789A CN111353303B CN 111353303 B CN111353303 B CN 111353303B CN 202010445789 A CN202010445789 A CN 202010445789A CN 111353303 B CN111353303 B CN 111353303B
- Authority
- CN
- China
- Prior art keywords
- participle
- processed
- word
- vector
- participles
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及大数据技术领域,公开了一种词向量构建方法、装置、电子设备及存储介质,通过融合表征局部上下文特征的局部词向量和表征分词所在文本的主题的概率分布的主题分布向量,从而构建更准确的词向量,实现多义词消歧。所述方法包括:对多个待处理文本进行分词处理,获得各个待处理文本中的分词;基于各个分词所在的上下文,获得各个分词的局部词向量;基于各个分词所属主题在多个待处理文本中的概率分布,获取各个分词的主题分布向量;分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种词向量构建方法、装置、电子设备及存储介质。
背景技术
一词多义是自然语言处理中常见的现象和许多场景需要解决的难题,无论是中文或是英文,许多词语往往在不同的上下文中会呈现不同的语义。例如,在“最近苹果产量多水分充足”这类文本中“苹果”是一种水果,而在“苹果公司发布了最新版本的苹果手机”这类文本中“苹果”指的是手机品牌。目前主流的词向量模型(如word2vec模型等)在构造词向量时,通常一个词用唯一的向量化编码进行表示,导致在词向量构造阶段无法区分不同语境下的多义词,降低了后续进行自然语言处理的准确度。
发明内容
本申请实施例提供一种词向量构建方法、装置、电子设备及存储介质,通过融合表征局部上下文特征的局部词向量和表征分词所在文本的主题的概率分布的主题分布向量,从而构建更准确的词向量,实现多义词消歧。
一方面,本申请一实施例提供了一种词向量构建方法,包括:
对多个待处理文本进行分词处理,获得各个待处理文本中的分词;
基于各个分词所在的上下文,获得各个分词的局部词向量;
基于各个分词所属主题在所述多个待处理文本中的概率分布,获取各个分词的主题分布向量;
分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。
一方面,本申请一实施例提供了一种词向量构建装置,包括:
分词模块,用于对多个待处理文本进行分词处理,获得各个待处理文本中的分词;
局部词向量获取模块,用于基于各个分词所在的上下文,获得各个分词的局部词向量;
主题分布向量获取模块,用于基于各个分词所属主题在所述多个待处理文本中的概率分布,获取各个分词的主题分布向量;
融合模块,用于分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。
可选地,所述支持度阈值是基于预设的最小支持率和所述句子总数确定的。
可选地,所述局部词向量获取模块,具体用于:
将训练样本中的非中心词的加权向量分别与词向量模型中的输入权重矩阵相乘,获得各个非中心词的第一中间向量;
对各个非中心词的第一中间向量进行求和;
将求和结果与所述词向量模型中的输出权重矩阵相乘,获得第二中间向量;
基于所述第二中间向量,确定针对所述训练样本中的中心词的预测向量;
基于所述中心词的预测向量和所述中心词的加权向量的误差,更新所述输入权重矩阵和所述输出权重矩阵。
可选地,所述局部词向量获取模块,具体用于:
将各个待处理句子中的各个分词的随机初始向量分别与已训练的词向量模型中的输入权重矩阵相乘,获得各个分词的局部词向量。
可选地,所述局部词向量获取模块,具体用于通过如下方式确定各个待处理句子中的各个分词的随机初始向量:
确定各个待处理句子中的各个分词所属的分词类别,每个分词类别对应一个随机初始向量;
根据各个分词所属的分词类别,为各个分词分配对应的随机初始向量。
可选地,所述局部词向量获取模块,具体用于:
将各个待处理句子中的相同分词划分至同一分词类别,将各个待处理句子中的不同分词划分至不同的分词类别;或者,
将各个待处理句子中,所对应的最长频繁序列模式相同的相同分词划分至同一分词类别,将所对应的最长频繁序列模式不同的相同分词划分至不同的分词类别,将不同分词划分至不同的分词类别,其中,任一分词所对应的最长频繁序列模式为以所述任一分词为中心词的上下文窗口内包含的最长频繁序列模式。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
本申请实施例提供的词向量构建方法、装置、电子设备及存储介质,通过融合表征局部上下文特征的局部词向量和表征分词所在文本的主题的概率分布的主题分布向量,使最终获得的词向量能够从局部和全局获取更全面的向量编码,从而获得更准确的词向量,且同一分词在不同主题的文章中往往表现出不同的含义,融合了分词在文章中的主题分布向量后,可有效区分不同主题下的词,进而准确地进行多义词编码和消歧。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的词向量构建方法的应用场景示意图;
图2为本申请一实施例提供的词向量构建方法的流程示意图;
图3为本申请一实施例提供的获取局部词向量的流程示意图;
图4为本申请一实施例提供的挖掘频繁序列模式的流程示意图;
图5A为CBOW模型的结构示意图;
图5B为Skip-gram模型的结构示意图;
图6为本申请一实施例提供的训练CBOW模型的流程示意图;
图7为本申请一实施例提供的训练Skip-gram模型的流程示意图;
图8为本申请一实施例提供的词向量构建装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
Word2vec:是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学的词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
one-hot编码:又称独热编码或一位有效编码。其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。one-hot向量即为以one-hot编码表示的向量。
局部词向量:是指通过分词所处的局部上下文训练的词向量模型获得的词向量。
LDA(Latent Dirichlet Allocation):是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。 LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。它采用了词袋(bag of words)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,主流的词向量模型(如word2vec模型等)在构造词向量时,通常一个词用唯一的向量化编码进行表示,导致在词向量构造阶段无法区分不同语境下的多义词,降低了后续进行自然语言处理的准确度。
为此,本申请提供了一种词向量构建方法,具体包括:对多个待处理文本进行分词处理,获得各个待处理文本中的分词;基于各个分词所在的上下文,获得各个分词的局部词向量;基于各个分词所属主题在多个待处理文本中的概率分布,获取各个分词的主题分布向量;分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。上述词向量构建方法,通过融合表征局部上下文特征的局部词向量和表征分词所属主题在文本中的概率分布的主题分布向量,使最终获得的词向量能够从局部和全局获取更全面的向量编码,从而获得更准确的词向量,且同一分词在不同主题的文章中往往表现出不同的含义,融合了分词在文章中的主题分布向量后,可有效区分不同主题下的词,进而准确地进行多义词编码和消歧。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的词向量构建方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101-1、终端设备101-2、……终端设备101-n)和服务器102。其中,终端设备101和服务器102之间可通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(pointof sales,POS)或其它能够实现上述功能的电子设备等电子设备。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器102对多个待处理文本进行分词处理,获得各个待处理文本中的分词,基于各个分词所在的上下文,获得各个分词的局部词向量,基于各个分词所属主题在所述多个待处理文本中的概率分布,获取各个分词的主题分布向量,分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。然后,服务器102基于待处理文本中各个分词的目标词向量,对待处理文本进行语义识别、文本分类或情感分析等处理,基于处理结果为终端设备101提供数据搜索、数据推送以及智能问答等服务。其中,服务器102内的待处理文本包括但不限于用户通过终端设备101上传的数据、服务器102从互联网中爬取的数据等。
以数据推送领域为例,服务器102将一个推送周期内获得的文本数据作为待处理文本,基于本申请实施例提供的词向量构建方法,获得这些待处理文本中的各个分词的目标词向量。然后,服务器102基于待处理文本中各个分词的目标词向量,对待处理文本进行去重、分类处理,例如,针对相同的新闻仅向终端设备101推送其中一篇新闻,或者可将相同的新闻合并在一起,形成一个系列报道后推送给终端设备101等等,具体处理方式可根据实际应用场景进行设置,本申请实施例不作限定。其中,推送周期可以是一天、5小时或1小时,具体可根据服务器102需要处理的数据量设定。通过本申请实施例提供的词向量构建方法,可够提高词向量表征的精确性,从而提高文本分类、文本推荐的精准性。
以数据搜索领域为例,结合本申请实施例的词向量构建方法,可更好地构建不同主题相关的词条,可有效防止出现语境错误的现象。具体地,服务器102将数据库中的文本数据作为待处理文本,基于本申请实施例提供的词向量构建方法,获得这些待处理文本中的各个分词的目标词向量,实现对同义词的语义消歧,提高数据搜索时的精准度。例如,在百度百科等构建词条的过程中,通过融入主题分布向量,可更好地构建结合具体场景相关的词条,防止出现语境错误的现象,提高数据搜索的精准度。
以智能问答领域为例,结合本申请实施例的词向量构建方法,可结合用户输入的上下文区分多义词的具体含义、场景以及包含的情感,能够提高问答系统的准确度。具体地,在服务器102为某一终端设备101的用户提供智能问答服务器的过程中,用户通过终端设备101输入数据,终端设备101将输入数据发送给服务器102。服务器102基于输入数据获得待处理文本,输入数据可以是文本数据、语音数据,当输入数据为语音数据时,还需要将语音数据转换为文本数据,基于本申请实施例提供的词向量构建方法,获得这些待处理文本中的各个分词的目标词向量,然后基于待处理文本中各个分词的目标词向量,进行语义识别和情感分析等处理,获得输入数据对应的输出数据,并返回给终端设备101,以使终端设备101输出输入数据对应的输出数据,其中,输入数据可是文本数据或语音数据。本申请实施例的词向量构建方法可应用于智能音箱、智能客服等具体的应用场景中。具体实施时,一般参与词向量构建的待处理文本越多,构建的词向量所表达的语义越精准。因此在智能问答领域中,当用户通过终端设备101上传的输入数据较少时,可将服务器102中存储的文本数据和终端设备101上传的输入数据一同作为待处理数据,进行词向量构建;或者,服务器102可基于大量的文本数据预先训练词向量模型,在服务器102收到终端设备101上传的文本数据时,基于已训练的词向量模型,获得文本数据中各个分词的局部词向量,并融合文本数据中各个分词的主题分布向量,获得各个分词的目标词向量。
本申请实施例提供的词向量构建方法可应用于各种需要对文本数据进行语义识别或语义消歧的应用场景,不限于上述列举的应用场景。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
本申请实施例的词向量构建方法可应用于构建任何一种语言的词向量,如中文、英文、德文等。本申请实施例中主要以中文为例进行说明,其它语言的词向量构建方法与中文类似,不再赘述。下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
参考图2,本申请实施例提供一种词向量构建方法,包括以下步骤:
S201、对多个待处理文本进行分词处理,获得各个待处理文本中的分词。
需要说明的是,在对中文进行词向量构建时,通常以词语为最小单位进行分词处理,常用的中文分词工具有jieba等。在对英文、德文等进行词向量构建时,以单词为最小单位进行分词处理,即一个单词为一个分词。
具体实施时,根据待处理文本中的标点符号,将一个待处理文本分割成多个待处理句子,具体地,可将句号、分号、问号、感叹号等表示一个句子结束的标点符号作为句子分割符,也可以将逗号也作为句子分割符。然后,基于中文分词工具,将每个待处理句子切分成多个分词。统计分词处理结果,可获得对应的分词表,相同分词不管在待处理文本中出现多少次,在分词表中仅记录一次,例如,在分词结果{苹果,公司,发布,了,最新,版本,的,苹果,手机}中,“苹果”出现了两次,但是分词表中仅记录唯一的一个“苹果”。
S202、基于各个分词所在的上下文,获得各个分词的局部词向量。
本申请实施例中的局部词向量是指基于分词所在待处理文本中的前后多个分词获得的、可表征分词所在上下文的词向量。
具体实施时,可基于待处理文本中任一分词前后的N个分词,获得任一分词的局部词向量。例如,可设置分词长度为2N+1的上下文窗口,以待处理文本中的任一分词为上下文窗口的中心词,取上下文窗口内的2N+1分词作为一个训练样本,在待处理文本上滑动上下文窗口,获得大量的训练样本,基于大量的训练样本训练词向量模型,使得词向量模型学习到各个分词上下文之间的关系,进而获得各个分词的局部词向量。
以待处理文本“苹果公司发布了最新版本的苹果手机”为例,其分词结果为{苹果,公司,发布,了,最新,版本,的,苹果,手机},即共获得9个分词,基于该待处理文本可获得9个训练样本,当N=2时,训练样本包括:{Ø,Ø,苹果,公司,发布}、{Ø,苹果,公司,发布,了}、{苹果,公司,发布,了,最新}等,其中“Ø”表示不存在上下文,在为训练样本中各个分词分配随机初始向量时,“Ø”对应的随机初始向量为U0=(0,0,……,0)。随机初始向量的维度可根据分词表中的分词数量以及随机初始向量的生成方法确定,分词表中的每个分词对应唯一的随机初始向量,例如当采用one-hot编码生成各个分词的随机初始向量时,若分词表中包括M个分词,则随机初始向量的维度为M维。
S203、基于各个分词所属主题在多个待处理文本中的概率分布,获取各个分词的主题分布向量。
本申请实施例中,任一分词的主题分布向量是指该分词所属主题在该分词所在的待处理文本中的概率分布,语义相近的分词具有相似的主题分布向量。
具体实施时,可基于LDA模型获得每个待处理文本中的各个分词的主题分布向量,其中,相同分词在不同待处理文本中的主题分布向量是不同的。主题分布向量的维度与预设主题的数量有关,例如预设主题的数量为J,则主题分词向量的维度为J。LDA生成文章的思想是:通过文章以一定的概率选择某个主题,再以一定的概率从该主题中选择某个词语,不断循环这两个步骤直到生成整个文本。LDA模型的核心公式为:
其中,d k 代表第k个待处理文本,w i 代表d k 中的第i个分词,t j 代表第j个主题,一共
有J个主题,表示待处理文本d k 属于主题t j 的概率,表示在待处理文
本d k 中的针对主题t j 选择分词w i 的概率。具体地,可采用期望最大化算法训练LDA模型,经过
较少的迭代就可以收敛,从而得到文章-主题的分布矩阵和主题-词语的分布矩阵,文章-主
题的分布矩阵中包括每个待处理文本d k 对应到不同主题的概率分布θd<pt1,...,ptk>,主
题-词语的分布矩阵包括每个主题t j 生成不同分词的概率θt<pw1,...,pwm>。利用θd和θt,就
可获得任一待处理文本d k 中的任一分词w i 对应任意一个主题时的,从而获得任
一待处理文本d k 中的任一分词w i 对应K个主题时的概率分布,即为待处理文本d k 中的分词w i
的主题分布向量。LDA模型的训练过程为现有技术,不再赘述。
S204、分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。
具体实施时,针对任一待处理文本中的任一分词,可直接将该分词的局部词向量和主题分布向量进行拼接,获得该分词的目标词向量。例如待处理文本“苹果公司发布了最新版本的苹果手机”中第一个分词“苹果”的局部词向量为100维的向量(w1,w2……,w100),“苹果”在上述待处理文本中的主题分布向量为50维的向量(t1,t2……,t50),则融合后获得的“苹果”的目标词向量为150维的(w1,w2……,w100 ,t1,t2……,t50)。
由于相同分词在不同待处理文本中的主题分布向量不同,因此只要不同待处理文本的主题不同,则不同待处理文本中的相同分词的目标词向量是不同的。例如,待处理文本“苹果公司发布了最新版本的苹果手机”属于科技电子类主题,和待处理文本“最近苹果产量多水分充足”属于农业类主题,两个待处理文本中的“苹果”对应的主题分布向量不同,因此融合了主题分布向量后的目标词向量可表达出相同分词在不同语境中的语义,实现语义消歧。
本申请实施例提供的词向量构建方法,通过融合表征局部上下文特征的局部词向量和表征分词所在文本的主题的概率分布的主题分布向量,使最终获得的词向量能够从局部和全局获取更全面的向量编码,从而获得更准确的词向量,且同一分词在不同主题的文章中往往表现出不同的含义,融合了分词在文章中的主题分布向量后,可有效区分不同主题下的词,进而准确地进行多义词编码和消歧。
在上述任一实施方式的基础上,参考图3,步骤S202具体包括以下步骤:
S301、将每个待处理文本划分为至少一个待处理句子。
具体实施时,根据待处理文本中的标点符号,将每个待处理文本分割成多个待处理句子,获得待处理句子集,并统计待处理句子集中的句子总数。具体的,可将句号、分号、问号、感叹号等表示一个句子结束的标点符号作为句子分割符,也可以将逗号也作为句子分割符。
S302、从各个待处理句子中,确定出多个频繁序列模式以及每个频繁序列模式对应的支持度,其中,每个频繁序列模式包括至少一个分词且至少一个分词按在同一待处理句子中出现的先后顺序进行排列,支持度为包含对应的频繁序列模式的待处理句子的数量和待处理句子的句子总数的比值。
序列模式是指按一定顺序排列的n个分词,n为不小于1的整数,例如, [苹果,发布,手机]可以是一种序列模式,[苹果]也可以作为一种序列模式。当某个待处理句子中出现了序列模式Sp中所有的分词,且序列模式Sp中的分词在该待处理句子中出现的先后顺序与序列模式Sp中的排列顺序一致,则确定该待处理句子中包含该序列模式Sp,例如,待处理句子“苹果公司发布了最新版本的苹果手机”中包含序列模式[苹果,发布,手机]和[苹果]。
序列模式的支持度是指包含该序列模式的待处理句子的数量和待处理句子的句子总数的比值,所以序列模式的支持度与待处理句子集有关,相同的序列模式在不同的待处理句子集中具有不同的支持度。
本申请实施例中的频繁序列模式是指在待处理句子中频繁出现的序列模式。具体地,可基于序列模式的支持度,衡量序列模式在待处理句子中出现的频繁程度,例如,若序列模式的支持度大于支持度阈值,则将该序列模式作为一种频繁序列模式。
S303、针对任一待处理句子中的任一分词,确定以任一分词为中心词的上下文窗口内包含的最长频繁序列模式,根据确定出的最长频繁序列模式,确定上下文窗口内各个分词的权重,并获得一个训练样本,该训练样本中包括上下文窗口内各个分词的加权向量,加权向量为分词的随机初始向量和权重的乘积。
本申请实施例中的上下文窗口的长度为2N+1,即上下文窗口中包含2N+1个分词,其中N为不小于1的整数,N的取值可根据词向量模型中使用的上下文窗口确定,一般N的取值可以是5、8、10等数值,本申请实施例对N的取值不作限定。长下文窗口中的第N+1个分词即为中心词,长下文窗口中的其它分词可统称为非中心词。
具体实施时,可从待处理文本中的第一分词开始,依次将待处理句子中的每个分词为上下文窗口的中心词,在待处理文本上滑动上下文窗口,每次滑动上下文窗口的距离为一个分词。每滑动一次上下文窗口,就基于此时上下文窗口中的分词获得一个训练样本,具体地,确定上下文窗口内包含的最长频繁序列模式,将上下文窗口内属于最长频繁序列模式的分词的权重设为最长频繁序列模式的支持度,将上下文窗口内不属于最长频繁序列模式的分词的权重设为预设权重。其中,预设权重小于任一频繁序列模式的支持度,例如,预设权重是取值可以等于或小于支持度阈值。
以待处理句子“最近苹果产量多水分充足”为例,其分词结果为{最近,苹果,产量,多,水分,充足},当N=2时,以各个分词为上下文窗口的中心词滑动上下文窗口,可获得6个上下文窗口:{Ø,Ø,最近,苹果,产量}、{Ø,最近,苹果,产量,多}、{最近,苹果,产量,多,水分}、{苹果,产量,多,水分,充足}、{产量,多,水分,充足,Ø}、{多,水分,充足,Ø,Ø},其中“Ø”表示不存在上下文。假设确定出的频繁序列模式包括:[苹果]、[产量]、[苹果,产量]、[苹果,充足] 、[水分、充足]、[苹果,产量,多]等序列模式,预设权重为A0,以上下文窗口{Ø,Ø,最近,苹果,产量}为例,其中包含的频繁序列模式为[苹果,产量],则上下文窗口{Ø,Ø,最近,苹果,产量}中,分词Ø和“最近”不属于频繁序列模式[苹果,产量],则分词Ø和“最近”对应的权重均为α0,分词“苹果”和“产量”属于频繁序列模式[苹果,产量],则分词“苹果”和“产量”的权重为频繁序列模式[苹果,产量]对应的支持度α1,因此,基于上下文窗口{Ø,Ø,最近,苹果,产量}获得的训练样本为{α0U0,α0U0,α0U1,α1U2,α1U3},其中,U0为Ø对应的随机初始向量,U1为分词“最近”对应的随机初始向量,U2为分词“苹果”对应的随机初始向量,U3为分词“产量”对应的随机初始向量。针对其它上下文窗口,也可以采用相同的方式,基于上下文窗口内的分词获得对应的训练样本,不再赘述。
序列模式的支持度越高,则表明该序列模式在待处理句子中出现的频次越高。因而,将上下文窗口内包含的最长频繁序列模式的支持度,作为上下文窗口中属于最长频繁序列模式的分词的权重,可增加这部分分词在词向量模型的训练过程中所占的比重,使得词向量模型更关注这部分属于最长序列模式的分词,从而挖掘出更强的上下文关系和更精准的语义表达方式,提高基于词向量模型获得的局部词向量的精准度。
S304、基于获得的训练样本,训练词向量模型。
具体实施时,任何一种基于词语所在局部上下文进行训练的词向量模型,都可采用本申请实施例的方式进行训练。
S305、基于已训练的词向量模型,获得各个分词的局部词向量。
基于频繁序列模式,挖掘出待处理句子中表征局部上下文关系的频繁序列模式,从而基于频繁序列模式的支持度更好地针对分词所在的局部上下文构建局部上下文的分布,使得构建的局部词向量更加精准。
进一步地,参考图4,步骤S302具体包括以下步骤:
S401、删除各个待处理句子中支持度小于支持度阈值的分词,获得各个待处理句子对应的预处理句子。
其中,任一分词对应的支持度为包含任一分词的待处理句子的数量与句子总数的
比值。支持度阈值是基于预设的最小支持率和句子总数确定的。例如,支持度阈值可以是,其中,n为句子总数,a为最小支持率,a的取值范围为(0,1),最小支持率
可根据训练样本组成的训练数据集的量级进行动态调整。
S402、将支持度不小于支持度阈值的分词确定为一项频繁序列模式。
本申请实施例中,一项频繁序列模式中仅包含一个分词,例如[苹果]、[产量]可以作为一项频繁序列模式。i项频繁序列模式为包含i个分词的繁序列模式,例如,[苹果,产量]、[苹果,充足]可以作为二项频繁序列模式,[苹果,产量,多]可以作为三项频繁序列模式。
S403、获取一个i项频繁序列模式,将各个预处理句子中位于该i项频繁序列模式之后的分词作该i项频繁序列模式的后缀文本。
例如,一个二项频繁序列模式为[苹果,产量] ,其中一个预处理句子为“苹果产量多水分充足”,则将“多水分充足”作为二项频繁序列模式[苹果,产量]的一个后缀文本。
S404、将i项频繁序列模式对应的各个后缀文本中的各个分词分别添加到该i项频繁序列模式之后,获得多个i+1项序列模式。
例如,二项频繁序列模式[苹果,产量]的一个后缀文本“多水分充足”中包含“多”、“水分”、“充足”这三个分词,则将这三个分词分别添加到二项频繁序列模式[苹果,产量]之后,获得三个三项序列模式:[苹果,产量,多]、[苹果,产量,水分]和[苹果,产量,充足]。
S405、将支持度不小于支持度阈值的i+1项序列模式,确定为i+1项频繁序列模式。
其中,i为不小于1的整数,任一i+1项序列模式的支持度为包含任一i+1项序列模式的后缀文本的数量与句子总数的比值,此处的后缀文本为步骤S403中的i项频繁序列模式的后缀文本。
S406、判断是否处理完所有的i项频繁序列模式,若是,则执行步骤S407,若否,则返回步骤S403继续处理下一个i项频繁序列模式。
S407、判断是否存在i+1项频繁序列模式,若是,则i的数值增加1,并返回步骤S403,若否,则结束序列模式挖掘。
可将挖掘到的频繁序列模式存在到序列模式数据集中,以便后续训练词向量模型时使用。
以表1所示的待处理句子为例,介绍图4所述的频繁序列模式的挖掘方法。
表1
首先,对表1中各个待处理句子进行分词处理,获得各个待处理句子的分词结果,如表2所示。
表2
然后,根据表2中的分词结果获得分词表,针对分词表中的任一分词,统计包含该分词的待处理句子的数量Q,将Q除以待处理句子的总数total(该例子中total=4),获得该分词的支持度,具体数据见表3。需要说明的是,Q=1的分词的数据未在表3中列出。
表3
基于表3统计的数据,删除各个待处理句子中支持度小于支持度阈值的分词,获得各个待处理句子对应的预处理句子。假设支持度阈值为1/3,即一个分词至少出现2个待处理句子中才能满足支持度阈值,否则过滤掉该分词。参考表4,为删除各个待处理句子中支持度小于支持度阈值的分词后获得的预处理句子。
表4
然后,将支持度不小于支持度阈值的分词确定为一项频繁序列模式,即表3中的分词为一项频繁序列模式。针对每个一项频繁序列模式,将各个预处理句子中位于该一项频繁序列模式之后的分词作该一项频繁序列模式的后缀文本。参考表5,其给出了各个一项频繁序列模式对应的后缀文本,其中,“苹果”对应4个后缀文本,而“充足”和“手机”没有对应的后缀文本,不需要对没有后缀文本的频繁序列模式进行迭代。
表5
针对表5中的每个一项频繁序列模式,将该一项频繁序列模式对应的各个后缀文本中的各个分词分别添加到该一项频繁序列模式之后,获得多个二项序列模式。例如,一项频繁序列模式[苹果]的一个后缀文本为“产量多水分充足”,则基于该后缀文本,可获得四个二项序列模式:[苹果,产量]、[苹果,多]、[苹果,水分]和[苹果,充足]。
统计各个二项序列模式的支持度,具体统计方式可参考表3所示的针对分词的支持度统计方法,将支持度不小于支持度阈值的二项序列模式,确定为二项频繁序列模式。例如,[苹果,产量]、[苹果,多]、[苹果,水分]和[苹果,充足]的支持度均不小于支持度阈值,则将这四个二项序列模式作为二项频繁序列模式。表6为确定出的部分二项频繁序列模式,以及二项频繁序列模式对应的后缀文本。
表6
然后,基于表6中的数据确定三项频繁序列模式,具体过程可参考二项频繁序列模式的挖掘方式。以二项频繁序列模式[苹果,公司]为例进行下一轮迭代,挖掘三项频繁序列模式和对应的后缀文本,针对其他二项频繁序列模式的挖掘方法相同,不再赘述。针对二项频繁序列模式[苹果,公司]的迭代结果如表7,其中,三项频繁序列模式[苹果,公司,手机]不存在对应的后缀文本,后续不需要对其进行迭代。
表7
然后,基于表7中的数据挖掘出四项频繁序列模式。表8是针对三项频繁序列模式[苹果,公司,发布]获得的迭代结果,其中,四项频繁序列模式[苹果,公司,发布,手机]不存在对应的后缀文本,后续不需要对其进行迭代。
表8
基于表8中的数据挖掘出五项频繁序列模式。表9是针对四项频繁序列模式[苹果,公司,发布,最新]获得的迭代结果,其中,五项频繁序列模式[苹果,公司,发布,最新,手机]不存在对应的后缀文本,后续不需要对其进行迭代。
表9
基于表9中的数据挖掘出六项频繁序列模式。表10是针对五项频繁序列模式[苹果,公司,发布,最新,版本]获得的迭代结果,其中,六项频繁序列模式[苹果,公司,发布,最新,版本,手机]不存在对应的后缀文本,后续不需要对其进行迭代。
表10
基于表10中的数据挖掘出七项频繁序列模式。表11是针对六项频繁序列模式[苹果,公司,发布,最新,版本,的]获得的迭代结果,其中,七项频繁序列模式不存在对应的后缀文本,即可停止迭代。
表11
所有七项频繁序列模式都不存在对应的后缀文本,迭代结束,获得各个长度的频繁序列模式及对应的支持度。表12为部分频繁序列模式以及对应的支持度。
表12
具体实施时,任何一种基于词语所在局部上下文进行训练的词向量模型,都可采用本申请实施例的方式进行训练。下面以Word2vec的模型结构为例,介绍本申请实施例提供的融合序列模式权重的词向量模型训练的过程。Word2vec可分为CBOW模型(ContinuousBag-of-Words Model)和Skip-gram模型(Continuous Skip-gram Model)。
CBOW模型的结构参考图5A,包括输入层(input)、投影层(progection)和输出层(output),输入层和投影层之间通过输入权重矩阵Y1连接,投影层和输出层之间通过输出权重矩阵Y2连接。CBOW模型是在已知一个分词的上下文的前提下,预测该分词。参考图6,当词向量模型为图5A所示的CBOW模型时,步骤S304具体包括以下步骤:
S601、将训练样本输入输入层,输入层提取训练样本中的各个非中心词的加权向量。
其中,Wt-4、Wt-3、Wt-2、Wt-1、Wt+1、Wt+2、Wt+3、Wt+4分别为各个非中心词的随机初始向量,Wt为中心词的随机初始向量,Wt-1为中心词之前的第一个分词的随机初始向量,Wt+1为中心词之后的第一个分词的随机初始向量,St-4、St-3、St-2、St-1、St+1、St+2、St+3、St+4分别为各个非中心词对应的权重,St为中心词的权重,此时上下文窗口中的N=4。训练样本的获取方法已在步骤S303中详细阐述,不再赘述。非中心词是上下文窗口内除中心词以外的分词,例如,上下文窗口{Ø,最近,苹果,产量,多}中,中心词为“苹果”,非中心词为“Ø”、“最近”、“产量”和“多”。
S602、将训练样本中的非中心词的加权向量分别与词向量模型中的输入权重矩阵Y1相乘,获得各个非中心词的第一中间向量,并输入投影层。
S603、投影层对各个非中心词的第一中间向量进行求和。
其中,求和结果可表示为:
其中,S i 表示上下文窗口中第i个非中心词的权重,W i 表示上下文窗口中第i个非中心词的随机初始向量。
S604、将求和结果与词向量模型中的输出权重矩阵Y2相乘,获得第二中间向量。
S605、输出层基于第二中间向量,确定针对训练样本中的中心词的预测向量。
具体实施时,输出层可通过构建Huffman Tree(哈夫曼树),利用Huffman Tree上每一个分支为一次二分类,最终确定针对训练样本中的中心词的预测向量。
S606、输出层基于中心词的预测向量W’t和中心词的加权向量St×Wt的误差,更新输入权重矩阵Y1和输出权重矩阵Y2。
重复上述步骤S601~ S606,直至满足结束条件,如中心词的预测向量和中心词的加权向量的误差小于误差阈值。
具体实施时,可选择任一一种损失函数描述预测向量和加权向量的误差,转入反向传播,逐层求出损失函数对各神经元的权重的偏导数,构成损失函数对权值向量的权重梯度数据,作为更新权重参数的依据,在不断更新权重参数的过程中完成模型的训练。常见的损失函数有均方误差损失函数、SVM(Support Vector Machine,支持向量机)合页损失函数、交叉熵损失函数等。
当词向量模型为图5A所示的CBOW模型时,步骤S305具体包括:将各个待处理句子中的各个分词的随机初始向量分别与已训练的词向量模型中的输入权重矩阵Y1相乘,获得各个分词的局部词向量。
Skip-gram模型的结构参考图5B,包括输入层、投影层和输出层,输入层和投影层之间通过输入权重矩阵Y’1连接,投影层和输出层之间通过输出权重矩阵Y’2连接。Skip-gram模型是在已知某一分词的前提下,预测该分词的上下文。参考图7,当词向量模型为图5B所示的Skip-gram模型时,步骤S304具体包括以下步骤:
S701、输入层从输入的训练样本提取中心词的加权向量。
S702、将训练样本中的中心词的加权向量St×Wt与词向量模型中的输入权重矩阵Y’1相乘,获得中心词的第三中间向量,并输入投影层。
S703、投影层基于第三中间向量,获得确定中心词前后各N个分词分别对应的第四中间向量。
S704、将中心词前后各N个分词的第四中间向量分别与词向量模型中的输出权重矩阵Y’2相乘,获得中心词前后各N个分词的预测向量。
其中,W’t-1表示中心词之前的第一个分词的预测向量,W’t+1表示中心词之后的第一个分词的预测向量。
S705、输出层获取各个中心词前后各N个分词的预测向量并输出。
S706、基于中心词前后各N个分词的预测向量和中心词前后各N个分词的加权向量的误差,更新输入权重矩阵Y’1和输出权重矩阵Y’2。
重复上述步骤S701~ S706,直至满足结束条件,如中心词前后各N个分词的预测向量和加权向量的误差小于误差阈值。
当词向量模型为图5B所示的Skip-gram模型时,步骤S305具体包括:将各个待处理句子中的各个分词的随机初始向量分别与已训练的词向量模型中的输入权重矩阵Y’1相乘,获得各个分词的局部词向量。
在上述任一实施方式的基础上,可通过如下方式确定各个待处理句子中的各个分词的随机初始向量:确定各个待处理句子中的各个分词所属的分词类别,每个分词类别对应一个随机初始向量;根据各个分词所属的分词类别,为各个分词分配对应的随机初始向量。
在一种可能的实施方式中,可通过如下方式确定各个待处理句子中的各个分词所属的分词类别:将各个待处理句子中的相同分词划分至同一分词类别,将各个待处理句子中的不同分词划分至不同的分词类别。
基于此,相同分词的随机初始向量相同,即不同上下文中的“苹果”具有相同的随机初始向量,基于词向量模型构建的局部词向量中分词“苹果”对应唯一的一个局部词向量。
在另一种可能的实施方式中,可通过如下方式确定各个待处理句子中的各个分词所属的分词类别:将各个待处理句子中,所对应的最长频繁序列模式相同的相同分词划分至同一分词类别,将所对应的最长频繁序列模式不同的相同分词划分至不同的分词类别,将不同分词划分至不同的分词类别,其中,任一分词所对应的最长频繁序列模式为以任一分词为中心词的上下文窗口内包含的最长频繁序列模式。
其中,当两个相同分词所对应的最长频繁序列模式不同时,表明这两个分词具有不同的上下文语境,因此,这两个分词所代表的语义是不同的,应当作为不同的分词进行处理,为这两个分词分配不同的随机初始向量,以区分一词多义的情况。例如:待处理句子1“苹果公司发布了最新版本的苹果手机”中的分词“苹果”对应的最长频繁序列模式为[苹果,公司,发布,最新,版本,的,手机],而待处理句子3“最近苹果产量多水分充足”中的分词“苹果”所对应的最长频繁序列模式为[苹果,产量,多,水分,充足],显然上述两个待处理句子中的“苹果”代表不同的含义,应当将这两个待处理句子中的“苹果”作为不同的分词进行处理,即为待处理句子1中的“苹果”分配随机初始向量V1,为待处理句子3中的“苹果”分配随机初始向量V2,因此,基于词向量模型构建的局部词向量中“苹果”对应多个词向量,可达到一定的语义消歧作用。待处理句子2“苹果公司刚发布的这款最新版本的手机还不错哦”中的分词“苹果”所对应的最长频繁序列模式也是[苹果,产量,多,水分,充足],与待处理句子1中的分词“苹果”对应的最长频繁序列模式相同,因此,待处理句子1和待处理句子2中的分词“苹果”属于同一分词类别,为待处理句子2中的“苹果”分配的随机初始向量为V2。
如图8所示,基于与上述词向量构建方法相同的发明构思,本申请实施例还提供了一种词向量构建装置80,具体包括:分词模块801、局部词向量获取模块802、主题分布向量获取模块803和融合模块804。
分词模块801,用于对多个待处理文本进行分词处理,获得各个待处理文本中的分词;
局部词向量获取模块802,用于基于各个分词所在的上下文,获得各个分词的局部词向量;
主题分布向量获取模块803,用于基于各个分词所属主题在多个待处理文本中的概率分布,获取各个分词的主题分布向量;
融合模块804,用于分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量。
可选地,局部词向量获取模块802,具体用于:
将每个待处理文本划分为至少一个待处理句子;
从各个待处理句子中,确定出多个频繁序列模式以及每个频繁序列模式对应的支持度,其中,每个频繁序列模式包括至少一个分词且至少一个分词按在同一待处理句子中出现的先后顺序进行排列,支持度为包含对应的频繁序列模式的待处理句子的数量和待处理句子的句子总数的比值;
针对任一待处理句子中的任一分词,确定以任一分词为中心词的上下文窗口内包含的最长频繁序列模式,根据确定出的最长频繁序列模式,确定上下文窗口内各个分词的权重,并获得一个训练样本,训练样本中包括上下文窗口内各个分词的加权向量,加权向量为分词的随机初始向量和权重的乘积;
基于获得的训练样本,训练词向量模型;
基于已训练的词向量模型,获得各个分词的局部词向量。
可选地,局部词向量获取模块802,具体用于:
删除各个待处理句子中支持度小于支持度阈值的分词,获得各个待处理句子对应的预处理句子,其中,任一分词对应的支持度为包含任一分词的待处理句子的数量与句子总数的比值;
将支持度不小于支持度阈值的分词确定为一项频繁序列模式;
针对任一i项频繁序列模式,进行如下操作:
将各个预处理句子中位于任一i项频繁序列模式之后的分词作为任一i项频繁序列模式的后缀文本;
将各个后缀文本中的各个分词分别添加到任一i项频繁序列模式之后,获得多个i+1项序列模式;
将支持度不小于支持度阈值的i+1项序列模式,确定为i+1项频繁序列模式,其中,i为不小于1的整数,任一i+1项序列模式的支持度为包含任一i+1项序列模式的后缀文本的数量与句子总数的比值。
可选地,局部词向量获取模块802,具体用于:
将上下文窗口内属于最长频繁序列模式的分词的权重设为最长频繁序列模式的支持度;
将上下文窗口内不属于最长频繁序列模式的分词的权重设为预设权重,其中,预设权重小于任一频繁序列模式的支持度。
可选地,支持度阈值是基于预设的最小支持率和句子总数确定的。
可选地,局部词向量获取模块802具体用于:
将训练样本中的非中心词的加权向量分别与词向量模型中的输入权重矩阵相乘,获得各个非中心词的第一中间向量;
对各个非中心词的第一中间向量进行求和;
将求和结果与词向量模型中的输出权重矩阵相乘,获得第二中间向量;
基于第二中间向量,确定针对训练样本中的中心词的预测向量;
基于中心词的预测向量和中心词的加权向量的误差,更新输入权重矩阵和输出权重矩阵。
可选地,局部词向量获取模块802,具体用于:
将各个待处理句子中的各个分词的随机初始向量分别与已训练的词向量模型中的输入权重矩阵相乘,获得各个分词的局部词向量。
可选地,局部词向量获取模块802,具体用于通过如下方式确定各个待处理句子中的各个分词的随机初始向量:
确定各个待处理句子中的各个分词所属的分词类别,每个分词类别对应一个随机初始向量;
根据各个分词所属的分词类别,为各个分词分配对应的随机初始向量。
可选地,局部词向量获取模块802,具体用于:
将各个待处理句子中的相同分词划分至同一分词类别,将各个待处理句子中的不同分词划分至不同的分词类别;或者,
将各个待处理句子中,所对应的最长频繁序列模式相同的相同分词划分至同一分词类别,将所对应的最长频繁序列模式不同的相同分词划分至不同的分词类别,将不同分词划分至不同的分词类别,其中,任一分词所对应的最长频繁序列模式为以任一分词为中心词的上下文窗口内包含的最长频繁序列模式。
本申请实施例提的词向量构建装置与上述词向量构建方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述词向量构建方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备可以是图1所示的服务器。如图9所示,该电子设备90可以包括处理器901和存储器902。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述词向量构建方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (13)
1.一种词向量构建方法,其特征在于,包括:
对多个待处理文本进行分词处理,获得各个待处理文本中的分词;
基于各个分词所在的上下文,获得各个分词的局部词向量;
基于各个分词所属主题在所述多个待处理文本中的概率分布,获取各个分词的主题分布向量;
分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量;
所述基于各个分词所在的上下文,获得各个分词的局部词向量,具体包括:
将每个待处理文本划分为至少一个待处理句子;
从各个待处理句子中,确定出多个频繁序列模式以及每个频繁序列模式对应的支持度,其中,每个频繁序列模式包括至少一个分词且所述至少一个分词按在同一待处理句子中出现的先后顺序进行排列,所述支持度为包含对应的频繁序列模式的待处理句子的数量和待处理句子的句子总数的比值;
针对任一待处理句子中的任一分词,确定以所述任一分词为中心词的上下文窗口内包含的最长频繁序列模式,根据确定出的最长频繁序列模式,确定所述上下文窗口内各个分词的权重,并获得一个训练样本,所述训练样本中包括所述上下文窗口内各个分词的加权向量,所述加权向量为分词的随机初始向量和权重的乘积;
基于获得的训练样本,训练词向量模型;
基于已训练的词向量模型,获得各个分词的局部词向量。
2.根据权利要求1所述的方法,其特征在于,所述从各个待处理句子中,确定出多个频繁序列模式,具体包括:
删除各个待处理句子中支持度小于支持度阈值的分词,获得各个待处理句子对应的预处理句子,其中,任一分词对应的支持度为包含所述任一分词的待处理句子的数量与所述句子总数的比值;
将支持度不小于支持度阈值的分词确定为一项频繁序列模式;
针对任一i项频繁序列模式,进行如下操作:
将各个预处理句子中位于所述任一i项频繁序列模式之后的分词作为所述任一i项频繁序列模式的后缀文本;
将各个后缀文本中的各个分词分别添加到所述任一i项频繁序列模式之后,获得多个i+1项序列模式;
将支持度不小于支持度阈值的i+1项序列模式,确定为i+1项频繁序列模式,其中,i为不小于1的整数,任一i+1项序列模式的支持度为包含所述任一i+1项序列模式的后缀文本的数量与所述句子总数的比值。
3.根据权利要求2所述的方法,其特征在于,所述支持度阈值是基于预设的最小支持率和所述句子总数确定的。
4.根据权利要求1所述的方法,其特征在于,所述根据确定出的最长频繁序列模式,确定所述上下文窗口内各个分词的权重,具体包括:
将所述上下文窗口内属于所述最长频繁序列模式的分词的权重设为所述最长频繁序列模式的支持度;
将所述上下文窗口内不属于所述最长频繁序列模式的分词的权重设为预设权重,其中,所述预设权重小于任一频繁序列模式的支持度。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述基于获得的训练样本,训练词向量模型,具体包括:
将训练样本中的非中心词的加权向量分别与词向量模型中的输入权重矩阵相乘,获得各个非中心词的第一中间向量;
对各个非中心词的第一中间向量进行求和;
将求和结果与所述词向量模型中的输出权重矩阵相乘,获得第二中间向量;
基于所述第二中间向量,确定针对所述训练样本中的中心词的预测向量;
基于所述中心词的预测向量和所述中心词的加权向量的误差,更新所述输入权重矩阵和所述输出权重矩阵。
6.根据权利要求5所述的方法,其特征在于,所述基于已训练的词向量模型,获得各个分词的局部词向量,具体包括:
将各个待处理句子中的各个分词的随机初始向量分别与已训练的词向量模型中的输入权重矩阵相乘,获得各个分词的局部词向量。
7.根据权利要求6所述的方法,其特征在于,通过如下方式确定各个待处理句子中的各个分词的随机初始向量:
确定各个待处理句子中的各个分词所属的分词类别,每个分词类别对应一个随机初始向量;
根据各个分词所属的分词类别,为各个分词分配对应的随机初始向量。
8.根据权利要求7所述的方法,其特征在于,所述确定各个待处理句子中的各个分词所属的分词类别,具体包括:
将各个待处理句子中的相同分词划分至同一分词类别,将各个待处理句子中的不同分词划分至不同的分词类别;或者,
将各个待处理句子中,所对应的最长频繁序列模式相同的相同分词划分至同一分词类别,将所对应的最长频繁序列模式不同的相同分词划分至不同的分词类别,将不同分词划分至不同的分词类别,其中,任一分词所对应的最长频繁序列模式为以所述任一分词为中心词的上下文窗口内包含的最长频繁序列模式。
9.一种词向量构建装置,其特征在于,包括:
分词模块,用于对多个待处理文本进行分词处理,获得各个待处理文本中的分词;
局部词向量获取模块,用于基于各个分词所在的上下文,获得各个分词的局部词向量;
主题分布向量获取模块,用于基于各个分词所属主题在所述多个待处理文本中的概率分布,获取各个分词的主题分布向量;
融合模块,用于分别对各个分词的局部词向量和主题分布向量进行融合,获得各个分词的目标词向量;
所述局部词向量获取模块,具体用于:
将每个待处理文本划分为至少一个待处理句子;
从各个待处理句子中,确定出多个频繁序列模式以及每个频繁序列模式对应的支持度,其中,每个频繁序列模式包括至少一个分词且所述至少一个分词按在同一待处理句子中出现的先后顺序进行排列,所述支持度为包含对应的频繁序列模式的待处理句子的数量和待处理句子的句子总数的比值;
针对任一待处理句子中的任一分词,确定以所述任一分词为中心词的上下文窗口内包含的最长频繁序列模式,根据确定出的最长频繁序列模式,确定所述上下文窗口内各个分词的权重,并获得一个训练样本,所述训练样本中包括所述上下文窗口内各个分词的加权向量,所述加权向量为分词的随机初始向量和权重的乘积;
基于获得的训练样本,训练词向量模型;
基于已训练的词向量模型,获得各个分词的局部词向量。
10.根据权利要求9所述的装置,其特征在于,所述局部词向量获取模块,具体用于:
删除各个待处理句子中支持度小于支持度阈值的分词,获得各个待处理句子对应的预处理句子,其中,任一分词对应的支持度为包含所述任一分词的待处理句子的数量与所述句子总数的比值;
将支持度不小于支持度阈值的分词确定为一项频繁序列模式;
针对任一i项频繁序列模式,进行如下操作:
将各个预处理句子中位于所述任一i项频繁序列模式之后的分词作为所述任一i项频繁序列模式的后缀文本;
将各个后缀文本中的各个分词分别添加到所述任一i项频繁序列模式之后,获得多个i+1项序列模式;
将支持度不小于支持度阈值的i+1项序列模式,确定为i+1项频繁序列模式,其中,i为不小于1的整数,任一i+1项序列模式的支持度为包含所述任一i+1项序列模式的后缀文本的数量与所述句子总数的比值。
11.根据权利要求9所述的装置,其特征在于,所述局部词向量获取模块,具体用于:
将所述上下文窗口内属于所述最长频繁序列模式的分词的权重设为所述最长频繁序列模式的支持度;
将所述上下文窗口内不属于所述最长频繁序列模式的分词的权重设为预设权重,其中,所述预设权重小于任一频繁序列模式的支持度。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445789.7A CN111353303B (zh) | 2020-05-25 | 2020-05-25 | 词向量构建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445789.7A CN111353303B (zh) | 2020-05-25 | 2020-05-25 | 词向量构建方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353303A CN111353303A (zh) | 2020-06-30 |
CN111353303B true CN111353303B (zh) | 2020-08-25 |
Family
ID=71193391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010445789.7A Active CN111353303B (zh) | 2020-05-25 | 2020-05-25 | 词向量构建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353303B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897921A (zh) * | 2020-08-04 | 2020-11-06 | 广西财经学院 | 基于词向量学习和模式挖掘融合扩展的文本检索方法 |
CN112183084B (zh) * | 2020-09-07 | 2024-03-15 | 北京达佳互联信息技术有限公司 | 一种音视频数据处理方法和装置及设备 |
CN111950261B (zh) * | 2020-10-16 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 提取文本关键词的方法、设备和计算机可读存储介质 |
CN113159921A (zh) * | 2021-04-23 | 2021-07-23 | 上海晓途网络科技有限公司 | 一种逾期预测方法、装置、电子设备及存储介质 |
CN114462425B (zh) * | 2022-04-12 | 2022-08-02 | 北京中科闻歌科技股份有限公司 | 社交媒体文本处理方法、装置、设备及存储介质 |
CN115563933B (zh) * | 2022-09-19 | 2023-12-01 | 中国电信股份有限公司 | 词编码方法、装置、存储介质与电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014190548A1 (en) * | 2013-05-31 | 2014-12-04 | Teradata Us, Inc. | Parallel frequent sequential pattern detecting |
CN106919557A (zh) * | 2017-02-22 | 2017-07-04 | 中山大学 | 一种结合主题模型的文档向量生成方法 |
CN107861939A (zh) * | 2017-09-30 | 2018-03-30 | 昆明理工大学 | 一种融合词向量和主题模型的领域实体消歧方法 |
CN108121699A (zh) * | 2017-12-21 | 2018-06-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN108647205A (zh) * | 2018-05-02 | 2018-10-12 | 深圳前海微众银行股份有限公司 | 细粒度情感分析模型构建方法、设备及可读存储介质 |
CN108874772A (zh) * | 2018-05-25 | 2018-11-23 | 太原理工大学 | 一种多义词词向量消歧方法 |
CN110457714A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种基于时序主题模型的自然语言生成方法 |
CN110674306A (zh) * | 2018-06-15 | 2020-01-10 | 株式会社日立制作所 | 知识图谱的构建方法、装置、电子设备 |
CN110941961A (zh) * | 2019-11-29 | 2020-03-31 | 秒针信息技术有限公司 | 一种信息聚类方法、装置、电子设备及存储介质 |
CN111177371A (zh) * | 2019-12-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种分类方法和相关装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109545283B (zh) * | 2018-11-23 | 2020-11-10 | 西安交通大学 | 一种基于序列模式挖掘算法的系统发生树构建方法 |
CN111143569B (zh) * | 2019-12-31 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
-
2020
- 2020-05-25 CN CN202010445789.7A patent/CN111353303B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014190548A1 (en) * | 2013-05-31 | 2014-12-04 | Teradata Us, Inc. | Parallel frequent sequential pattern detecting |
CN106919557A (zh) * | 2017-02-22 | 2017-07-04 | 中山大学 | 一种结合主题模型的文档向量生成方法 |
CN107861939A (zh) * | 2017-09-30 | 2018-03-30 | 昆明理工大学 | 一种融合词向量和主题模型的领域实体消歧方法 |
CN108121699A (zh) * | 2017-12-21 | 2018-06-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN108647205A (zh) * | 2018-05-02 | 2018-10-12 | 深圳前海微众银行股份有限公司 | 细粒度情感分析模型构建方法、设备及可读存储介质 |
CN108874772A (zh) * | 2018-05-25 | 2018-11-23 | 太原理工大学 | 一种多义词词向量消歧方法 |
CN110674306A (zh) * | 2018-06-15 | 2020-01-10 | 株式会社日立制作所 | 知识图谱的构建方法、装置、电子设备 |
CN110457714A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种基于时序主题模型的自然语言生成方法 |
CN110941961A (zh) * | 2019-11-29 | 2020-03-31 | 秒针信息技术有限公司 | 一种信息聚类方法、装置、电子设备及存储介质 |
CN111177371A (zh) * | 2019-12-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种分类方法和相关装置 |
Non-Patent Citations (3)
Title |
---|
Finding All Maximal Frequent Sequences in Text;Helena Ahonen-Myka;《ICML Workshop on Machine Learning in TextDataAnalysis(1999)》;19991231;11-17 * |
多原型词向量与文本主题联合学习模型;曹中华,等;《中文信息学报》;20200315;第34卷(第3期);64-71,106 * |
面向智能旅游服务机器人的个性化推荐算法研究;孙彦鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215(第01期);I138-2685 * |
Also Published As
Publication number | Publication date |
---|---|
CN111353303A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353303B (zh) | 词向量构建方法、装置、电子设备及存储介质 | |
Chaudhari et al. | An attentive survey of attention models | |
CN112507715B (zh) | 确定实体之间关联关系的方法、装置、设备和存储介质 | |
US10394956B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
US20170351663A1 (en) | Iterative alternating neural attention for machine reading | |
CN113095080B (zh) | 基于主题的语义识别方法、装置、电子设备和存储介质 | |
Yang et al. | Deep learning and its applications to natural language processing | |
US20230386238A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN107679035A (zh) | 一种信息意图检测方法、装置、设备和存储介质 | |
CN112948676A (zh) | 文本特征提取模型的训练方法、文本推荐方法及装置 | |
KR102498294B1 (ko) | 키워드 공동출현 네트워크를 기반으로 핵심 키워드를 추출하는 방법 및 장치 | |
CN113535912B (zh) | 基于图卷积网络和注意力机制的文本关联方法及相关设备 | |
Hashemzadeh et al. | Improving keyword extraction in multilingual texts. | |
Vo | Se4exsum: An integrated semantic-aware neural approach with graph convolutional network for extractive text summarization | |
Al Duhayyim et al. | Hyperparameter Tuned Deep Learning Enabled Cyberbullying Classification in Social Media. | |
Ghoorchian et al. | GDTM: graph-based dynamic topic models | |
CN113033205B (zh) | 实体链接的方法、装置、设备以及存储介质 | |
Thirumoorthy et al. | A hybrid approach for text summarization using social mimic optimization algorithm | |
CN111507098B (zh) | 多义词识别方法、装置、电子设备及计算机可读存储介质 | |
CN111538898B (zh) | 基于组合特征提取的Web服务包推荐方法及系统 | |
CN110688508B (zh) | 图文数据扩充方法、装置及电子设备 | |
CN111274818A (zh) | 词向量的生成方法、装置 | |
Im et al. | Cross-active connection for image-text multimodal feature fusion | |
CN113220841B (zh) | 确定鉴别信息的方法、装置、电子设备和存储介质 | |
CN113010642B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024377 Country of ref document: HK |