[go: up one dir, main page]

CN107818076B - 针对自然语言的语义处理 - Google Patents

针对自然语言的语义处理 Download PDF

Info

Publication number
CN107818076B
CN107818076B CN201610818984.3A CN201610818984A CN107818076B CN 107818076 B CN107818076 B CN 107818076B CN 201610818984 A CN201610818984 A CN 201610818984A CN 107818076 B CN107818076 B CN 107818076B
Authority
CN
China
Prior art keywords
items
item
semantic
quantized
dimensions
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
Application number
CN201610818984.3A
Other languages
English (en)
Other versions
CN107818076A (zh
Inventor
秦涛
刘铁岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201610818984.3A priority Critical patent/CN107818076B/zh
Publication of CN107818076A publication Critical patent/CN107818076A/zh
Application granted granted Critical
Publication of CN107818076B publication Critical patent/CN107818076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

在本公开的实施例中,提出了一种针对自然语言的语义处理的方法和设备。在获得包括多个项目的项目集之后,确定每个项目在一组语义维度上的一个量化表示和在另一组维度上的另一量化表示,然后使用这两组维度上的量化表示来生成每个项目的语义值。根据本公开的实施例,语义值能够用于确定项目集中的不同项目之间的语义相关性,并且每个量化表示可以由项目集中的多个项目共享。因此,通过使得多个项目共享同一量化表示,本公开在针对自然语言的语义处理过程中,不仅能够有效减小语义模型的大小,而且能够显著提高语义处理的速度。

Description

针对自然语言的语义处理
背景技术
自然语言处理是指利用计算机处理人类语言的技术,它使得计算机能够理解人类语言。计算机通过人工标注或未标注的语料库进行训练,生成自然语言的语义表示。自然语言处理是机器学习领域的一个重要方向,其可以应用于语义分析、信息检索、机器翻译、语言建模以及聊天机器人等。
循环神经网络(Recurrent Neural Networks,RNN)是一种节点定向连接成环的神经网络,其内部状态可以表示为动态时序数据。与一般的非循环神经网络不同,RNN可以利用其内部的记忆来处理任意时序的输入序列。RNN会对前面的信息进行记忆并应用于当前输出的计算中,即神经网络中的隐层之间的节点是有连接的,并且隐层的输入不仅包括输入层的输出还包括上一时刻隐层的输出。因此,RNN适于用于预测下一时刻的词语或文本的应用,如文本生成、机器翻译、语音识别以及图像描述等。然而,目前的RNN语义处理过程需要占用大量存储器空间并且处理速度缓慢。
发明内容
发明人注意到,从网络中能够获得大量语料库数据,这些数据是很容易收集的。基于大量语料库数据所训练出的语义模型能够覆盖绝大多数语义场景,因而能够有效地应用到实际自然语言处理应用中。基于这一认识,不同于使用一组多维向量来表示每个项目(例如词语)的语义值的传统方法,本公开的实施例使用两组或两组以上的多维向量来表示项目的语义值。借助于这两组或两组以上的多维向量,语义模型的模型大小和处理速度能够被优化,这在工作原理和机制上都显著不同于任何已知方案。
例如,根据本公开的实施例,可以获得包括多个项目的项目集。然后,使用两个以上的子向量来一起表示每个项目的语义向量,其中语义向量能够用于确定项目集中的不同项目之间的语义相关性,并且每个子向量能够分别由项目集中的多个项目共享。因此,通过使得多个项目共享同一子向量,本公开的实施例在针对自然语言的语义处理过程中,不仅能够有效减小语义模型的大小,而且能够显著提高语义处理的速度。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了其中可以实施本公开的一个或多个实施例的计算系统/服务器的框图;
图2示出了根据本公开的实施例的用于生成语义值的方法的流程图;
图3A和3B示出了根据本公开的实施例的针对项目集的表的示例图;
图4示出了根据本公开的实施例的用于将多个项目分配在表中的方法的流程图;
图5示出了根据本公开的实施例的针对项目集的表中的一些行的示例图;
图6示出了根据本公开的实施例的用于确定相关联的项目的方法的流程图;以及
图7示出了根据本公开的实施例的基于RNN的语义模型的预测过程的示例图。
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
一般地,在本文中描述的自然语言的语义建模过程可以被认为是一种机器学习过程。机器学习是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。本文所使用的术语“语义模型”是指依据与特定语种的句法、语法、词法等相关联的先验知识建立的模型,其可以用于确定词语之间的语义关联性。本文所使用的术语“训练过程”或“学习过程”是指利用语料库或训练数据来优化语义模型的过程。例如,语义模型可以通过训练或学习来逐渐优化每个项目的语义值,从而提高语义模型的准确性。在本公开的上下文中,为讨论方便之目的,术语“训练”或者“学习”可以互换使用。本文所使用的“向量”也称为“嵌入向量(embedding vector)”,其用于将每个项目的语义映射到多维空间中以形成语义量化表示。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
传统上,在机器学习过程中,语义模型通常利用语料库对项目集(例如词汇表)中的项目(例如词语或其他字符串)进行训练以确定每个项目的语义值,该语义值通常由向量表示。然而,当语料库中的项目的数目太大时,语义模型的大小也将变得非常庞大。例如,当训练基于RNN的语义模型时,当项目集中存在多个项目时,需要生成一个词向量(one-hotvector),其维度等于项目集中的项目的数目,每个项目通常还具有各自的嵌入向量。例如,当项目集中的项目的数目达到数千万级别时,语义模型的大小将达到几十千兆字节(GB),远超于现有的计算设备(例如GPU和移动计算设备包括手机和平板电脑)的存储器的大小,使得现有的计算设备根据无法对语义模型进行训练。因此,传统的语义建模方法会造成语义模型的大小过于庞大。
传统的方法针对词汇表中的每个项目,生成用于表示其语义值的一个高维向量。例如,表1示出了传统的针对项目的向量表示,针对项目“January”生成向量x1,针对项目“February”生成向量x2等,其中向量x1和x2等是对应的项目在多维空间中的语义表示。已知的是,向量之间的距离可以表示项目之间的语义关联程度。也即,向量之间的距离越短,表示两个项目之间关联性越高,例如,由于“January”和“one”的语义关联性大于“January”和“two”的语义关联性,因此,向量x1与x5之间的距离小于向量x1与x6之间的距离。
表1
向量 项目
x<sub>1</sub> January
x<sub>2</sub> February
x<sub>5</sub> one
x<sub>6</sub> two
此外,在基于RNN的语义模型中,在预测当前项目之后的下一项目时,需要计算项目集中每个项目的概率。然而,当项目集中的项目的数目达到数千万级别时,语义模型的处理速度也将变得非常缓慢。即使使用当前最快的处理器,也可能需要花费长达几十年时间来完成如此庞大的项目集的训练过程。因此,传统的语义建模方法需要消耗很长的训练时间。
为此,本公开提出了一种基于多组维度的语义建模方法。根据本公开的实施例,使用两组或两组以上维度上的量化表示来生成每个项目的语义值,使得每组维度上的量化表示能够由项目集中的多个项目共享。作为示例,表2示出了根据本公开的实施例的针对项目的向量表示,每个项目由两个向量联合表示,例如项目“January”由向量x1和y1联合表示,项目“February”由向量x1和y2联合表示,其中向量x1和x2为第一组维度上的量化表示,而向量y1和y2为第二组维度上的量化表示。
表2
向量 项目
(x<sub>1</sub>,y<sub>1</sub>) January
(x<sub>1</sub>,y<sub>2</sub>) February
(x<sub>2</sub>,y<sub>1</sub>) one
(x<sub>2</sub>,y<sub>2</sub>) two
以此方式,通过使得多个项目共享同一量化表示,例如项目“January”和“February”共享第一组维度上的向量x1,本公开在针对自然语言的语义建模过程中,不仅能够有效减小语义模型的大小,而且能够显著提高语义模型的处理速度。
以下参考图1至图7来说明本公开的基本原理和若干示例实现方式。图1示出了其中可以实施本公开的一个或多个实施例的计算系统/服务器100的框图。应当理解,图1所示出的计算系统/服务器100仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。
如图1所示,计算系统/服务器100是通用计算设备的形式。计算系统/服务器100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算系统/服务器100的并行处理能力。
计算系统/服务器100通常包括多个计算机存储介质。这样的介质可以是计算系统/服务器100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如数据170)并且可以在计算系统/服务器100内被访问。
计算系统/服务器100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器120可以包括一个或多个程序产品122,其具有一个或多个程序模块集合,这些程序模块被配置为执行本文所描述的各种实施例的功能。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算系统/服务器100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算系统/服务器100可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算系统/服务器100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算系统/服务器100交互的设备进行通信,或者与使得计算系统/服务器100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
如图1所示,存储设备130中存储有数据170,其包括训练数据172(例如语料库),计算系统/服务器100能够利用训练数据进行训练,从而通过输出设备160输出训练结果180。逻辑上,训练结果180可以被视为一个或多个表,该表包括训练数据中每个项目在多组维度上的量化表示(例如向量)。当然,应当注意,以表的形式来输出训练结果180仅仅是示例性的,无意以任何方式限制本公开的范围。任何其他附加的或者备选的数据格式都是可行的。
下面详细描述了基于训练数据172生成表180的若干示例实施例。图2示出了根据本公开的实施例的用于生成语义值的方法200的流程图。应当理解,方法200可以由参考图1所描述的处理单元110执行。
在202,获得包括多个项目的项目集。例如,可以从存储设备130、通信单元140、输入设备150等网络获取语料库作为训练数据。语料库中存放在语言的实际使用中真实出现过的语言材料,其通常包括经过整理的大量文本的数据集。在语料库中,每个出现的项目被当作一个词例(token)。在一些实施例中,可以对词例进行去重操作,并且将去重后的词例作为项目集中的多个项目。在一些实施例中,项目集可以包括:词语,例如英文“one”、“January”,中文“年”、“小时”,等等;短语,例如“day-and-a-half”;和/或其他一些字符串,例如,数字、网址、数字字母组合等。
在204,确定项目集中的每个项目在一组语义维度(称为“第一组语义维度”)上的量化表示(称为“第一量化表示”)和在另一组语义维度(称为“第二组语义维度”)上的量化表示(称为“第二量化表示”)。
在一些实施例中,量化表示可以被实现为向量。为描述方便起见,下文将主要描述这样的实施例。当然,应当理解,这仅仅是示例性的,无意以任何方式限制本公开的范围。任何其他适当的数据格式也是可行的。此外,为便于区分,与量化表示对应的向量被称为“子向量”。例如,第一量化表示可以被实现为第一子向量x,而第二量化表示可以被实现为第二子向量y。
在此使用的术语“一组语义维度”表示一定维度的多维空间。相应地,项目的量化表示是指项目的语义值在多维空间中的语义量化表示,语义维度中的每一维均表示项目在该维度上的子语义值。可选地,第一组语义维度与第二组语义维度可以具有相同的维度,例如1000维或1024维,并且第一组语义维度可以为表中的行,而第二组语义维度可以为表中的列。例如,可以确定项目集中的每个项目的1024维的第一子向量x和1024维的第二子向量y。下文还将参考图4描述动作204中确定第一子向量和第二子向量的示例实施例。
在206,至少基于第一量化表示和第二量化表示来生成每个项目的语义值(例如向量),例如可以将每个项目的语义值表示为向量(x,y)。根据本公开的实施例,所生成的向量能够用于确定项目与项目集中的其他项目之间的语义相关性。如上所述,例如,向量之间的距离可以表示项目之间的语义关联程度,向量之间的距离越短,表示两个项目之间关联性越高,也就是说,通过向量使得项目之间的语义关系被量化。
例如,“图像”和“图片”表示相似的语义,则它们之间的向量距离相对较短。再例如,由于“北京”和“中国”的关系类似于“华盛顿”和“美国”关系,因此,针对“北京”的向量与针对“中国”的向量之间的距离基本等于针对“华盛顿”的向量与针对“美国”的向量之间的距离。
此外,如以上表2所示,第一子向量x和/或第二子向量y由项目集中的多个项目共享,也即,多个项目共享第一子向量x,并且多个项目共享第二子向量y。
应当理解,虽然方法200中仅示出通过两个子向量来表示每个项目的语义值,然而通过两个以上的子向量来表示每个项目的语义值也是可以的。例如,可以通过三个子向量(x,y,z)来表示每个项目的语义值,其中z表示每个项目在第三组语义维度上的又一量化表示。也就是说,本公开的保护范围不受子向量个数的限制。此外,虽然方法200确定项目集中的每个项目的向量,然而也可以仅仅确定项目集中的一个子集中的向量。
在一些实施例中,可以利用表的方式来表示第一组语义维度的子向量和第二组语义维度的子向量,当然其他数据格式的表示方式也是可行的。参考图3A,示出了根据本公开的实施例的针对项目集的表300。以下参考图4详细描述了生成表300的示例实施例。在本文所描述的实施例中,使用表300中的向量xr和向量xc联合表示一个项目,因而向量xr和xc也被统称为子向量,或者分别被称为行向量和列向量。
如图3A所示,将项目集中的所有项目组成成表300,表300中的每个位置对应于一个项目。例如,在表300中,词语“January”的向量由第一行的子向量
Figure BDA0001113368930000091
和第一列的子向量
Figure BDA0001113368930000092
二者联合表示,词语“February”的向量由第一行的子向量
Figure BDA0001113368930000093
和第二列的子向量
Figure BDA00011133689300000915
二者联合表示。由此可见,第一行的子向量
Figure BDA0001113368930000094
至少由词语“January”和“February”共用。也就是说,表300中第i行中的所有项目在第一组语义维度上的子向量均为
Figure BDA0001113368930000095
而第j列中的所有项目在第二组语义维度上的子向量均为
Figure BDA0001113368930000096
因此,表300中第i行和第j列中的词语由子向量
Figure BDA0001113368930000097
Figure BDA0001113368930000098
二者联合表示。
图3B示出了根据本公开的实施例的针对项目集的表350。如图3B所示,在表350中,第i行和第j列位置处的词语由第i行的子向量
Figure BDA0001113368930000099
和第j列的子向量
Figure BDA00011133689300000910
二者联合表示,即向量
Figure BDA00011133689300000911
其中
Figure BDA00011133689300000913
Figure BDA00011133689300000912
均为高维(例如1024维)向量。例如,根据本公开的实施例,词语“January”的向量可以表示为
Figure BDA00011133689300000914
而词语“February”的向量可以表示为
Figure BDA00011133689300000916
传统上,对于具有V个项目的项目集,需要针对每个项目生成一个用于表示语义值的向量,则需要总计V个向量。然而,如方法200和图3A-3B所描述的,根据本公开的实施例的方法仅仅需要最少
Figure BDA00011133689300000919
个行向量和
Figure BDA00011133689300000917
个列向量,即总共
Figure BDA00011133689300000918
个向量。在一些情况下,在表300中的行和列不相等时,向量的个数略大于
Figure BDA0001113368930000101
但是当V的值为千万级别时,本公开的向量数目远远小于传统的方法的向量数目。因此,本公开能够有效减小向量的数目,从而有效减小语义模型的大小,例如,本公开能够将语义模型的大小从传统的80千兆字节(GB)减小到70兆字节(MB)。
图4示出了根据本公开的实施例的用于将多个项目分配在表中的方法400的流程图。方法400描述基于训练数据将项目准确地分配在表(例如表300)中,并且确定表中每行和每列的向量值。应当理解,方法400可以为以上参考图2所描述的方法200中动作204的子动作,并且可以由参考图1所描述的处理单元110执行。
在402,将项目集中的多个项目组织成表,使得在表300中的处于同一行的项目具有相同的行向量,并且处于同一列的项目具有相同的列向量。在一些实施例,可以将具有相同的前缀的项目初始地分配在表中的同一行,并且将具有相同的后缀的项目初始地分配在表中的同一列。在一些实施例中,对于英文单词或字符串来说,前缀表示英文单词或字符串的前一部分,而后缀表示英文单词或字符串的后一部分,例如,将单词“react”、“real”以及“return”分配在同一行,并且将单词“billion”、“million”以及“trillion”分配在同一列。接下来,在404-408,利用训练数据集来调整项目在表300中的分配位置。
具体而言,在404,基于分配位置更新向量。例如,基于已有的分配位置,利用语料库对表300中的所有行向量和所有列向量进行训练,直到行向量和/或列向量变得收敛。例如,可以更新相似的项目“图像”和“图片”的向量值,使得它们的向量空间距离较短。因此,表300中的所有或一部分行向量xr和列向量xc的值可以被更新,例如,行向量
Figure BDA0001113368930000102
的值从(0.025,0.365,0.263,…)被更新为(0.012,0.242,0.347,…)。
在406,基于更新后的向量调整分配位置。在一些实施例中,基于在404中已经确定的表300中的所有行向量和列向量的值,可以利用语料库对所有项目在表300中的分配位置进行调整,以使得所有项目的损失函数最小。损失函数是优化目标的一种用于学习或训练模型的形式,损失函数可以表示用于模型优化的整体的损失的度量,其中损失可以表示误分类误差等各种因素。可以通过最小化序列中的下一词语的负对数似然函数来调整分配位置,例如,在具有T个词语的上下文中,整体的负对数似然函数NLL可以由式(1)表示。
Figure BDA0001113368930000111
其中NLL可以被定义为
Figure BDA0001113368930000112
其中NLLw是表示针对特定词语w的负对数似然函数。
为了便于描述,可以将NLLw表示为l(w,r(w),c(w)),其中(r(w),c(w))表示词语w在表300中的行和列的位置。可以利用lr(w,r(w))和来lc(w,c(w))表示l(w,r(w),c(w))的词语w的行损失和词语w的列损失。因此,词语w的负对数似然函数NLLw又可以表示为:
Figure BDA0001113368930000113
其中Sw表示词语w在语料库中的所有位置的集合。
然后,可以调整词语w在表300中的位置,以使得损失函数NLL最小。例如,假设将词语w从原始位置(r(w),c(w))移动到表300中的新的位置(i,j)。可以假定其他词语的分配位置不变而分别计算行损失lr(w,i)和lc(w,j)列损失,然后根据式(2)将l(w,i,j)确定为lr(w,i)+lc(w,j)。然后,最小化损失函数可以被转化成式(3)。
Figure BDA0001113368930000114
Figure BDA0001113368930000115
Figure BDA0001113368930000116
其中a(w,i,j)=1表示词语w被分配在表300中的新的位置(i,j),并且其中Sr和Sc分别表示表中的行和列的集合。
因此,上述最小化损失函数的问题能够等同于标准最小权重完美匹配问题,因而例如可以通过最小成本最大流算法(MCMF)来进行解决。任何目前已知的或者将来开发的MCMF方法均可与本发明的实施例结合使用,本发明的范围不限于此。因此,通过MCMF方法,可以利用语料库来调整每个项目在表中的分配位置,使得项目集中的所有项目的分配位置更加准确。
在408,判断是否满足收敛条件。例如,收敛条件可以是迭代的次数已经达到预定次数。备选地或附加地,收敛条件可以是迭代的时间已经达到预定时间。又例如,收敛条件可以是损失函数开始收敛,即损失函数的变化率小于阈值变化率。如果没有满足收敛条件,则重复动作404-408,直至满足收敛条件。如果已经满足收敛条件,在410,存储多个项目在表300中的分配位置以及表300中的所有行向量和列向量的值以供后续使用。
通过上述方式,通过语料库来对表中的所有行向量和列向量进行训练,并且通过语料库来调整所有项目在表中的分配位置,能够使得项目集中的所有项目在表中分配在最合适的位置。因此,根据本公开的实施例训练出的所有行向量和列向量的取值也很准确,有效地保证了语义模型的准确性。
图5示出了根据本公开的实施例的项目集的表中的一些行的示例图。例如,在经过几次迭代调整之后,表300中的同一行和/或同一列中的项目之间具有语义关联性,或者具有语义和语法关联性。例如,在第832行510中,分配的项目为地名;在第887行520中,分配的项目为网址;在第889行530中,分配的项目为有关时间概念的表达。因此,根据本公开的实施例的语义建模方法能够有效地发现项目之间的语义关联性,或者发现项目之间的语义和语法关联性,并且根据语义来调整每个项目在表中的分配位置。因此,根据本公开的实施例不仅能够保证语义模型的准确性,而且能够减小语义模型的大小。
图6示出了根据本公开的实施例的用于确定相关联的项目的方法600的流程图。根据方法600,可以确定与一个项目(又称为“第一项目”)相关联的另一项目(又称为“第二项目”)。应当理解,方法600可以在以上参考图2所描述的方法200中的动作206之后执行,并且可以由参考图1所描述的处理单元110执行。
在602,至少基于第二量化表示,确定在第一组语义维度上的、与项目相关联的第三量化表示。例如,假定第一项目为词语“January”,则第一量化表示为子向量
Figure BDA0001113368930000131
而第二量化表示为子向量
Figure BDA0001113368930000132
然后,基于子向量
Figure BDA0001113368930000133
和RNN中的当前隐层状态向量,在表300的所有行中确定与第一项目最相关的行的子向量(例如第2行的行向量
Figure BDA0001113368930000134
)。然后在604,至少基于第三量化表示,确定在第二组语义维度上的、与项目相关联的第四量化表示。例如,基于在602中确定的行向量
Figure BDA0001113368930000135
和RNN中的当前隐层状态向量,在表300的所有列中确定与第一项目最相关的列的子向量(例如第1列的列向量
Figure BDA0001113368930000136
)。应当理解,虽然上述示例中先确定另一项目的行向量然后再确定另一项目的列向量,然而也可以先确定另一项目的列向量然后再确定另一项目的行向量。
在606,根据第三量化表示和第四量化表示,确定另一项目。例如,基于行向量
Figure BDA0001113368930000137
和列向量
Figure BDA0001113368930000138
可以确定另一项目为表300中第二行第一列的项目,即词语“one”。在一些实施例中,第一项目可以为句子中的当前词语,则基于当前词语的语义向量,能够预测将会出现在句子中的、当前词语之后的下一词语。
传统地,对于具有V个项目的项目集,在确定与第一项目最相关的另一项目时,传统方法需要确定项目集中的每个项目与第一项目的相关性,然后根据所有的相关性来选择另一项目,因而需要V*t0的总时间,其中t0是确定每个项目与第一项目的相关性的时间。然而,根据本公开的实施例的方法中将V个项目组织在
Figure BDA0001113368930000139
列的表格中,并且先从
Figure BDA00011133689300001310
行中选择一行,然后从
Figure BDA00011133689300001311
列中选择一列,因而仅仅需要
Figure BDA00011133689300001312
的总时间。在一些情况下,在表300中的行和列不相等时,确定另一项目的总时间略大于
Figure BDA00011133689300001313
但是在V的值为千万级别时,根据本公开的实施例的处理时间远远小于传统的方法的处理时间,例如能够将处理时间从传统的几十年降低到几天甚至几个小时。因此,本公开能够有效提高语义模型的处理速度。
图7示出了根据本公开的实施例的基于RNN的预测过程的示例图。例如,图7所描述的基于RNN的预测过程可以用于在句子中基于上一位置t-1的数据预测当前位置t的词语。隐层状态向量可以分为隐层状态行向量hr和隐层状态列向量hc,wt表示第t位置的词语。令n为RNN语义模型中的输入行向量和输入列向量的维度,并且令m为RNN语义模型中的隐层状态向量的维度,其中位置t-1的列向量
Figure BDA0001113368930000143
∈实数集Rn,位置t的行向量
Figure BDA0001113368930000147
∈实数集Rn,位置t-1的隐层状态行向量
Figure BDA0001113368930000144
∈实数集Rm。因此,可以通过式(4)确定位置t-1的隐层状态列向量
Figure BDA0001113368930000145
和位置t的隐层状态行向量
Figure BDA0001113368930000146
Figure BDA0001113368930000141
其中W、U和b均表示仿射变换参数,其中W∈实数集Rm*n,U∈实数集Rm*m,并且b∈实数集Rm,f表示神经网络中的非线性激活函数(例如sigmoid函数)。另外,行向量和列向量均来自输入向量矩阵Xc,Xr∈实数集
Figure BDA0001113368930000148
然后,可以通过式(5)确定词语w在位置t的行概率Pr(wt)和词语w在位置t的列概率Pc(wt)。
Figure BDA0001113368930000142
其中r(w)表示词语w的行索引,c(w)表示词语w的列索引,
Figure BDA0001113368930000149
∈实数集Rm是Yr∈实数集
Figure BDA00011133689300001410
的第i个向量,并且
Figure BDA00011133689300001411
∈实数集Rm是Yc∈实数集
Figure BDA00011133689300001412
的第i个向量,以及Sr和Sc分别表示表中的行和列的集合。
因此,可以通过式(5)确定下一词语出现在每行的概率,并且然后确定下一词语出现在每列的概率,从而确定概率最大的行和概率最大的列所在位置的词语作为最大概率的下一词语。
由此可见,基于位置t-1的列向量
Figure BDA00011133689300001413
和位置t-1隐层状态行向量
Figure BDA0001113368930000151
可以确定位置t-1隐层状态列向量
Figure BDA0001113368930000152
然后基于
Figure BDA0001113368930000153
可以确定词语w在位置t的行概率Pr(wt),也即,至少基于前一词语的列向量
Figure BDA0001113368930000154
可以确定当前词语的行向量。此外,通过位置t的行向量
Figure BDA0001113368930000155
和位置t-1隐层状态列向量
Figure BDA0001113368930000156
可以确定位置t隐层状态行向量
Figure BDA0001113368930000157
然后基于
Figure BDA0001113368930000158
可以确定词语w在位置t的列概率Pc(wt),也即,至少基于当前词语的行向量
Figure BDA0001113368930000159
以确定当前词语的列向量。因此,对于具有V个项目的项目集,通过每行概率和每列概率的分别计算来确定词语的概率,能够将预测下一项目的时间从V*t0减小到
Figure BDA00011133689300001510
有效地提高了RNN语义模型的处理速度。
本文中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
以下列出了本公开的一些示例实现方式。
本公开可以被实现为一种电子设备,所述电子设备包括处理单元和存储器,所述存储器耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:获得包括多个项目的项目集;确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示;以及至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,其中所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
在一些实施例中,其中所述语义值由向量表示,所述第一量化表示由第一子向量表示,并且所述第二量化表示由第二子向量表示。
在一些实施例中,所述动作还包括:基于所述项目的所述语义值,确定所述项目集中与所述项目相关联的另一项目。
在一些实施例中,其中所述项目为句子中的第一词语,所述另一项目为所述句子中将会出现在所述第一词语之后的第二词语,并且确定所述另一项目包括:基于所述第一词语的语义值来预测所述第二词语。
在一些实施例中,其中确定所述另一项目包括:至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及根据所述第三量化表示和所述第四量化表示来确定所述另一项目。
在一些实施例中,其中确定所述第一量化表示和所述第二量化表示包括:将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及利用训练数据集来调整所述项目在所述表中的分配位置。
在一些实施例中,其中将所述项目集中的所述多个项目组织成表包括:将具有相同的前缀的项目分配在所述表中的同一行,所述前缀表示所述项目的前一部分;以及将具有相同的后缀的项目分配在所述表中的同一列,所述后缀表示所述项目的后一部分。
在一些实施例中,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与迭代时间、迭代次数或训练模型的参数变化有关:基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
本公开可以被实现为一种计算机实现的方法,所述方法包括:获得包括多个项目的项目集;确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示;以及至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
在一些实施例中,其中所述语义值由向量表示,所述第一量化表示由第一子向量表示,并且所述第二量化表示由第二子向量表示。
在一些实施例中,该方法还包括:基于所述项目的所述语义值,确定所述项目集中与所述项目相关联的另一项目。
在一些实施例中,其中所述项目为句子中的第一词语,所述另一项目为所述句子中将会出现在所述第一词语之后的第二词语,并且确定所述另一项目包括:基于所述第一词语的语义值来预测所述第二词语。
在一些实施例中,其中确定所述另一项目包括:至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及根据所述第三量化表示和所述第四量化表示来确定所述另一项目。
在一些实施例中,其中确定所述第一量化表示和所述第二量化表示包括:将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及利用训练数据集来调整所述项目在所述表中的分配位置。
在一些实施例中,其中将所述项目集中的所述多个项目组织成表包括:将具有相同的前缀的项目分配在所述表中的同一行,所述前缀表示所述项目的前一部分;以及将具有相同的后缀的项目分配在所述表中的同一列,所述后缀表示所述项目的后一部分。
在一些实施例中,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与迭代时间、迭代次数或训练模型的参数变化有关:基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
本公开可以被实现为一种计算机程序产品,其存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时,使得所述设备:获得包括多个项目的项目集;确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示;以及至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
在一些实施例中,其中所述语义值由向量表示,所述第一量化表示由第一子向量表示,并且所述第二量化表示由第二子向量表示。
在一些实施例中,其中所述机器可执行指令在设备中运行时还使得所述设备:基于所述项目的所述语义值,确定所述项目集中与所述项目相关联的另一项目。
在一些实施例中,其中所述项目为句子中的第一词语,所述另一项目为所述句子中将会出现在所述第一词语之后的第二词语,并且确定所述另一项目包括:基于所述第一词语的语义值来预测所述第二词语。
在一些实施例中,其中确定所述另一项目包括:至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及根据所述第三量化表示和所述第四量化表示来确定所述另一项目。
在一些实施例中,其中确定所述第一量化表示和所述第二量化表示包括:将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及利用训练数据集来调整所述项目在所述表中的分配位置。
在一些实施例中,其中将所述项目集中的所述多个项目组织成表包括:将具有相同的前缀的项目分配在所述表中的同一行,所述前缀表示所述项目的前一部分;以及将具有相同的后缀的项目分配在所述表中的同一列,所述后缀表示所述项目的后一部分。
在一些实施例中,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与迭代时间、迭代次数或训练模型的参数变化有关:基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

1.一种电子设备,包括:
处理单元;
存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
获得包括多个项目的项目集;
确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示,其中所述第一组语义维度表示具有第一数目的维度的多维空间,并且所述第二组语义维度表示具有第二数目的维度的多维空间;以及
至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
2.根据权利要求1所述的设备,其中所述语义值由向量表示,所述第一量化表示由第一子向量表示,并且所述第二量化表示由第二子向量表示。
3.根据权利要求1所述的设备,所述动作还包括:
基于所述项目的所述语义值,确定所述项目集中与所述项目相关联的另一项目。
4.根据权利要求3所述的设备,其中所述项目为句子中的第一词语,所述另一项目为所述句子中将会出现在所述第一词语之后的第二词语,并且确定所述另一项目包括:
基于所述第一词语的语义值来预测所述第二词语。
5.根据权利要求3所述的设备,其中确定所述另一项目包括:
至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;
至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及
根据所述第三量化表示和所述第四量化表示来确定所述另一项目。
6.根据权利要求1所述的设备,其中确定所述第一量化表示和所述第二量化表示包括:
将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及
利用训练数据集来调整所述项目在所述表中的分配位置。
7.根据权利要求6所述的设备,其中将所述项目集中的所述多个项目组织成表包括:
将具有相同的前缀的项目分配在所述表中的同一行,所述前缀表示所述项目的前一部分;以及
将具有相同的后缀的项目分配在所述表中的同一列,所述后缀表示所述项目的后一部分。
8.根据权利要求6所述的设备,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:
迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与以下至少一项相关:迭代时间、迭代次数和训练模型的参数变化:
基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及
基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
9.一种计算机实现的方法,包括:
获得包括多个项目的项目集;
确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示,其中所述第一组语义维度表示具有第一数目的维度的多维空间,并且所述第二组语义维度表示具有第二数目的维度的多维空间;以及
至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
10.根据权利要求9所述的方法,其中所述语义值由向量表示,所述第一量化表示由第一子向量表示,并且所述第二量化表示由第二子向量表示。
11.根据权利要求9所述的方法,还包括:
基于所述项目的所述语义值,确定所述项目集中与所述项目相关联的另一项目。
12.根据权利要求11所述的方法,其中所述项目为句子中的第一词语,所述另一项目为所述句子中将会出现在所述第一词语之后的第二词语,并且确定所述另一项目包括:
基于所述第一词语的语义值来预测所述第二词语。
13.根据权利要求11所述的方法,其中确定所述另一项目包括:
至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;
至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及
根据所述第三量化表示和所述第四量化表示来确定所述另一项目。
14.根据权利要求9所述的方法,其中确定所述第一量化表示和所述第二量化表示包括:
将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及
利用训练数据集来调整所述项目在所述表中的分配位置。
15.根据权利要求14所述的方法,其中将所述项目集中的所述多个项目组织成表包括:
将具有相同的前缀的项目分配在所述表中的同一行,所述前缀表示所述项目的前一部分;以及
将具有相同的后缀的项目分配在所述表中的同一列,所述后缀表示所述项目的后一部分。
16.根据权利要求14所述的方法,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:
迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与以下至少一项相关:迭代时间、迭代次数和训练模型的参数变化:
基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及
基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
17.一种非瞬态计算机可读存储介质,存储机器可执行指令,所述机器可执行指令在设备中运行时使得所述设备:
获得包括多个项目的项目集;
确定所述项目集中的项目在第一组语义维度上的第一量化表示和在第二组语义维度上的第二量化表示,其中所述第一组语义维度表示具有第一数目的维度的多维空间,并且所述第二组语义维度表示具有第二数目的维度的多维空间;以及
至少基于所述第一量化表示和所述第二量化表示来生成所述项目的语义值,所述语义值能够用于确定所述项目与所述项目集中的其他项目之间的语义相关性,所述第一量化表示和所述第二量化表示中的至少一个由所述项目与所述项目集中的至少一个其他项目共享。
18.根据权利要求17所述的非瞬态计算机可读存储介质,其中所述机器可执行指令在设备中运行时还使得所述设备:
至少基于所述第二量化表示,确定在所述第一组语义维度上的、与所述项目相关联的第三量化表示;
至少基于所述第三量化表示,确定在所述第二组语义维度上的、与所述项目相关联的第四量化表示;以及
根据所述第三量化表示和所述第四量化表示来确定所述项目集中与所述项目相关联的另一项目。
19.根据权利要求17所述的非瞬态计算机可读存储介质,其中确定所述第一量化表示和所述第二量化表示包括:
将所述项目集中的所述多个项目组织成表,使得所述表中的处于同一行的项目具有在所述第一组语义维度上相同的量化表示,并且处于同一列的项目具有在所述第二组语义维度上相同的量化表示;以及
利用训练数据集来调整所述项目在所述表中的分配位置。
20.根据权利要求19所述的非瞬态计算机可读存储介质,其中利用训练数据集来调整所述项目在所述表中的分配位置包括:
迭代执行以下操作至少一次,直至收敛条件被满足,所述收敛条件与以下至少一项相关:迭代时间、迭代次数和训练模型的参数变化:
基于所述分配位置,更新所述第一量化表示和所述第二量化表示;以及
基于更新后的所述第一量化表示和所述第二量化表示,调整所述分配位置。
CN201610818984.3A 2016-09-12 2016-09-12 针对自然语言的语义处理 Active CN107818076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610818984.3A CN107818076B (zh) 2016-09-12 2016-09-12 针对自然语言的语义处理

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610818984.3A CN107818076B (zh) 2016-09-12 2016-09-12 针对自然语言的语义处理

Publications (2)

Publication Number Publication Date
CN107818076A CN107818076A (zh) 2018-03-20
CN107818076B true CN107818076B (zh) 2021-11-12

Family

ID=61601158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610818984.3A Active CN107818076B (zh) 2016-09-12 2016-09-12 针对自然语言的语义处理

Country Status (1)

Country Link
CN (1) CN107818076B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807207B (zh) * 2019-10-30 2021-10-08 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310825A (zh) * 1998-06-23 2001-08-29 微软公司 用于分类文本以及构造文本分类器的方法和装置
CN102646091A (zh) * 2011-02-22 2012-08-22 日电(中国)有限公司 依存关系标注方法、装置和系统
CN104765728A (zh) * 2014-01-08 2015-07-08 富士通株式会社 训练神经网络的方法和装置以及确定稀疏特征向量的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008292781B2 (en) * 2007-08-31 2012-08-09 Microsoft Technology Licensing, Llc Identification of semantic relationships within reported speech
US8924315B2 (en) * 2011-12-13 2014-12-30 Xerox Corporation Multi-task learning using bayesian model with enforced sparsity and leveraging of task correlations
US9330090B2 (en) * 2013-01-29 2016-05-03 Microsoft Technology Licensing, Llc. Translating natural language descriptions to programs in a domain-specific language for spreadsheets
US9519859B2 (en) * 2013-09-06 2016-12-13 Microsoft Technology Licensing, Llc Deep structured semantic model produced using click-through data
CN103955714A (zh) * 2014-04-09 2014-07-30 中国科学院信息工程研究所 基于水军检测模型构建方法和系统及水军检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310825A (zh) * 1998-06-23 2001-08-29 微软公司 用于分类文本以及构造文本分类器的方法和装置
CN102646091A (zh) * 2011-02-22 2012-08-22 日电(中国)有限公司 依存关系标注方法、装置和系统
CN104765728A (zh) * 2014-01-08 2015-07-08 富士通株式会社 训练神经网络的方法和装置以及确定稀疏特征向量的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Recurrent neural network based language model;Tomas Mikolov et al.;《INTERSPEECH 2010》;20100930;第1045-1048页 *
Strategies for Training Large Vocabulary Neural Language Models;Wenlin Chen et al.;《arXiv:1512.04906v1》;20151215;第1-13页 *
单词嵌入——自然语言的连续空间表示;陈恩红 等;《数据采集与处理》;20140131;第29卷(第1期);第19-29页 *

Also Published As

Publication number Publication date
CN107818076A (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
Joulin et al. Efficient softmax approximation for GPUs
US11604956B2 (en) Sequence-to-sequence prediction using a neural network model
US11030997B2 (en) Slim embedding layers for recurrent neural language models
Cho et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation
US11928600B2 (en) Sequence-to-sequence prediction using a neural network model
Li et al. LightRNN: Memory and computation-efficient recurrent neural networks
CN111985228B (zh) 文本关键词提取方法、装置、计算机设备和存储介质
CN111368996A (zh) 可传递自然语言表示的重新训练投影网络
CN111291556B (zh) 基于实体义项的字和词特征融合的中文实体关系抽取方法
CN109829162B (zh) 一种文本分词方法及装置
CN111191002A (zh) 一种基于分层嵌入的神经代码搜索方法及装置
CN110019471A (zh) 从结构化数据生成文本
CN111709243A (zh) 一种基于深度学习的知识抽取方法与装置
Baltescu et al. Pragmatic neural language modelling in machine translation
CN113761868A (zh) 文本处理方法、装置、电子设备及可读存储介质
EP4060526A1 (en) Text processing method and device
US20190266482A1 (en) Distance based deep learning
Wang et al. Learning trans-dimensional random fields with applications to language modeling
WO2014073206A1 (ja) 情報処理装置、及び、情報処理方法
CN114548123B (zh) 机器翻译模型训练方法和装置、及文本翻译方法和装置
CN112380855B (zh) 确定语句通顺度的方法、确定概率预测模型的方法和装置
KR20230062430A (ko) 스토리 기반 이미지 시퀀스 결정 방법, 장치 및 시스템
Zhang et al. Supervised hierarchical Dirichlet processes with variational inference
CN116401502B (zh) 一种基于NUMA系统特性优化Winograd卷积的方法及装置
CN112784003A (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