CN111046659B - 上下文信息生成方法、上下文信息生成装置及计算机可读记录介质 - Google Patents
上下文信息生成方法、上下文信息生成装置及计算机可读记录介质 Download PDFInfo
- Publication number
- CN111046659B CN111046659B CN201910949442.3A CN201910949442A CN111046659B CN 111046659 B CN111046659 B CN 111046659B CN 201910949442 A CN201910949442 A CN 201910949442A CN 111046659 B CN111046659 B CN 111046659B
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- words
- context information
- context
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000013598 vector Substances 0.000 claims abstract description 362
- 238000010801 machine learning Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000002093 peripheral effect Effects 0.000 claims abstract description 30
- 239000000284 extract Substances 0.000 claims abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 description 63
- 238000012549 training Methods 0.000 description 13
- 238000003058 natural language processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 210000005036 nerve Anatomy 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 235000009508 confectionery Nutrition 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
- G06V30/274—Syntactic or semantic context, e.g. balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/416—Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
上下文信息生成方法、上下文信息生成装置及计算机可读记录介质。存储单元内存储文档和作为针对多个单词分别计算出的单词嵌入的多个单词向量。处理单元针对单词中的一个单词,从文档中提取位于从所述一个单词出现的一个出现位置起的规定范围内的两个或更多个周边单词,并通过将分别对应于周边单词的单词向量相加来计算和向量。处理单元确定参数,以使用机器学习模型,根据和向量和该参数来预测周边单词。处理单元将参数作为所述一个出现位置的上下文信息,与对应于一个单词的单词向量相关联地存储。
Description
技术领域
本文讨论的实施方式涉及上下文信息生成方法、上下文信息生成装置及计算机可读记录介质。
背景技术
在处理以自然语言书写的文档的自然语言处理领域中,可以使用单词嵌入向量作为表示单词的特征的特征信息。单词嵌入捕获单词的含义(定义)并提供一种将相似向量与具有相似含义的单词相关联的方法。单词嵌入向量的使用使得能够高效搜索与查询语句相似的语句,进而能够提供包括机器翻译和对话系统在内的各种自然语言处理服务。
例如,按以下方式生成单词嵌入向量。针对训练文档中的每个单词,从训练文档中提取在该单词附近出现的周边单词,然后训练诸如神经网络之类的机器学习模型,使得它能够根据单词预测该单词的周边单词。这里,机器学习模型是通过无需为训练文档分配教师标签的无监督学习来训练的。在训练后,每个单词被馈送至机器学习模型以使机器学习模型计算向量,然后提取计算出的向量并将其与单词相关联来作为单词嵌入向量。就此而言,可以针对不同的、但是在其附近经常具有相似的周边单词的单词来计算相似向量。
已经提出了一种词汇歧义消解装置,该词汇歧义消解装置确定在语句中具有两个或更多个可能含义的单词的正确含义。所提出的词汇歧义消解装置被设计为读取先前分配了各自指示可观测单词的含义的教师标签的培训文档,并且通过区分可观测单词的不同含义,来学习诸如在可观测单词与其周边单词之间同现的频率之类的统计信息。词汇歧义消解装置读取要处理的输入文档,并基于输入文档中可观测单词附近的周边单词和针对每个含义先前学习的统计信息,来确定输入文档中可观测单词的含义。另外,已经提出了一种确定装置,该确定装置提取三个单词的单词嵌入向量,并计算由所提取的三个向量形成的角度作为关于这三个单词之间的相关性的指标。
参见例如日本特开平10-171806号专利公报。
另请参见日本特开2017-167986号专利公报。
然而,将单词嵌入向量与单词相关联的上述常规技术被设计为将唯一向量与每个单词拼写相关联。由于单词拼写和向量之间的关系是固定的,因此不可能满足将相似向量与具有相似含义的单词相关联的期望,这降低了相似句子的检索准确性。
如果培训文档中具有两个或更多个不同含义的单词未分配指示该单词正确含义的教师标签,则该单词可以在没有考虑其上下文的情况下始终被标识为表示同一事物,因此可以在没有区分不同含义的情况下计算平均向量。另外,例如,如果培训文档包含单词的拼写错误或拼写变体,则该单词的不同拼写可能会被标识为代表不同单词。在这种情况下,由于统计过程针对拼写发生频率较低的单词可能生成不同的向量,因此基于拼写错误或拼写变体,可能针对单词的不同拼写计算出不相似的向量。如上所述,传统的单词嵌入难以处理单词在每个出现位置处的上下文。
处理上下文的一种方法可以是使用机器学习模型(诸如递归神经网络(RNN)或长短期记忆(LSTM))将一个向量与多个连续单词的序列相关联。但是,该方法需要巨大的计算量。另外,关于周边单词顺序的信息是用于确定上下文之间的一致性的额外信息。
发明内容
根据一个方面,本发明旨在提供一种用于针对单词的每个出现位置有效地生成上下文信息的方法、装置及存储计算机程序的计算机可读记录介质。
根据一个方面,提供了一种由计算机执行的上下文信息生成方法。该上下文信息生成方法包括如下步骤:获得包括由多个单词组成的语句的文档以及作为分别针对多个单词计算出的单词嵌入的多个单词向量;针对多个单词中的一个单词,从文档中提取位于从所述一个单词出现的一个出现位置起的规定范围内的两个或更多个周边单词,并通过将分别与两个或更多个周边单词对应的两个或更多个单词向量相加来计算和向量;确定参数,以使用预测周边单词的规定的机器学习模型,根据和向量和参数来预测两个或更多个周边单词;以及将参数作为一个出现位置的上下文信息,与对应于一个单词的单词向量相关联地存储。
附图说明
图1是用于说明上下文信息生成装置的示例的图;
图2是例示了机器学习装置的硬件配置的示例的框图;
图3是例示了机器学习装置的功能的示例的框图;
图4例示了神经网络的示例;
图5例示了计算单词向量或单词嵌入的示例;
图6例示了计算单词向量或单词嵌入的示例的继续;
图7例示了扩展向量关联文档的示例;
图8例示了如何生成上下文过滤器的示例;
图9例示了生成上下文过滤器的第一示例;
图10例示了生成上下文过滤器的第一示例的继续;
图11例示了生成上下文过滤器的第二示例;
图12是例示了如何生成单词向量的示例的流程图;
图13是例示了如何生成上下文信息的示例的流程图;
图14例示了如何确定含义的第一示例;以及
图15是例示了如何确定含义的第二示例的流程图。
具体实施方式
在下文中,下面将参照附图描述优选实施方式。
(第一实施方式)
将描述第一实施方式。
图1是用于说明上下文信息生成装置的示例的图。
第一实施方式的上下文信息生成装置10被设计为分析以自然语言书写的文档,以促进诸如检索相似语句之类的自然语言处理。上下文信息生成装置10可以用于包括机器翻译和对话系统的各种自然语言处理服务。上下文信息生成装置10可以被称为计算机或信息处理装置。上下文信息生成装置10可以是由用户操作的客户端装置,或者是经由网络可访问的服务器装置。
上下文信息生成装置10包括储存单元11和处理单元12。储存单元11可以是诸如随机存取存储器(RAM)之类的易失性半导体存储器件,或者诸如硬盘驱动器(HDD)或闪存之类的非易失性储存器件。例如,处理单元12是诸如中央处理单元(CPU)、图形处理单元(GPU)或数字信号处理器(DSP)之类的处理器。就此而言,处理单元12可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)或另一专用电子电路。多个处理器的集合可以称为“多处理器”或简称为“处理器”。
储存单元11在其内存储文档13,该文档13包括由包含单词w1、w2和w3的多个单词组成的句子。单个语句通过按时间发生顺序排列两个或更多个单词来形成。这里的“单词”是指具有特定拼写的一种单词。每个单词的单个出现可以称为“单词实例”、“出现单词”或其它。文档13可以包括在两个或更多个不同出现位置处的相同单词。
另外,储存单元11在其内存储多个单词向量,多个单词向量是针对在文档13中可以出现的多个单词而分别计算出的单词嵌入。每个单词向量或单词嵌入具有规定数量(两个或更多)的维度(例如,200个维度)。例如,储存单元11存储分别与单词w1、w2和w3相对应的单词向量14-1、14-2和14-3。单词嵌入捕获单词的含义,并提供针对具有相似含义的单词计算相似单词向量的方式。例如,可以使用Word2vec或GloVe计算单词向量或单词嵌入。另外,可以基于文档13或另一文档来计算单词向量。
针对一个单词在文档13中出现的一个出现位置,处理单元12生成指示在出现位置处的上下文的上下文信息。在单词嵌入中,唯一的单词向量与每个单词拼写相关联。因此,仅以对应单词向量为基础不能区分单词的两个或更多个含义。另外,如果由于拼写错误或拼写变体而针对同一单词存在多个不同的单词拼写,则仅以它们的相关联单词向量为基础难以确认多个单词拼写之间的相关性。为了处理这些问题,除了单词向量之外,处理单元12还准备了表示在每个单词的每个出现位置处的上下文的信息。上下文指示单词的含义以及该单词被用于什么样的周边中。
更具体地,以一个单词的一个出现位置作为参考,处理单元12从文档13提取单词在从基准出现位置起的预定范围内的两个或更多个周边单词。例如,预定范围可以被设置为在与基准出现位置相同的语句中在基准出现位置之前和之后出现的单词的范围(n×2个单词)。也就是说,该范围包括在基准出现位置之前出现的n个单词和在基准出现位置之后出现的n个单词。在此,n是规定的自然数。另选地,可以将在基准出现位置之前或之后出现的仅n个单词的范围设置为规定范围。例如,处理单元12以单词w1的一个出现位置作为基准,提取在该基准出现位置之前和之后出现的周边单词w2和w3。
处理单元12计算储存单元11中所存储的多个单词向量当中的与所提取的两个或更多个周边单词相对应的两个或更多个单词向量的和向量15。例如,处理单元12通过将与周边单词w2和w3相对应的单词向量14-2和14-3相加来计算和向量15。注意,通过将两个或更多个单词向量在每个维度上的值相加来使所述两个或更多个单词向量相加。因此,和向量15具有与两个或更多个单词向量相同的维度。
注意,由于语句中单词的数量或目标单词在语句中的出现位置,在上述规定范围内可能只有一个周边单词。在这种情况下,可以将与所提取的一个周边单词相对应的单词向量用作和向量15。如果目标单词位于语句的句首,则可以在语句的句首插入k个虚拟虚设单词(k是n或更大的自然数),然后可以提取周边单词。在这种情况下,在计算和向量15时可以忽略这些虚设单词。类似地,如果目标单词位于语句的句尾,则可以在语句的句尾插入k个虚拟虚设单词,然后可以提取周边单词。在这种情况下,在和向量15的计算中可以忽略这些虚设单词。这种方法简化了提取周边单词的过程。
处理单元12确定参数16,以便使用规定的机器学习模型17根据和向量15和参数16来预测以上两个或更多个周边单词。机器学习模型17被设计为接收输入向量并输出周边单词的预测结果。机器学习模型17可以是神经网络。另选地,可以重复使用在单词向量或单词嵌入的计算中所使用的机器学习模型。
参数16可以是将和向量15转换为要输入到机器学习模型17的输入向量的转换过滤器。例如,处理单元12将和向量15在维度上的值乘以参数16在相应维度上的值。参数16可以是具有与和向量15相同维度的向量,或者具有比和向量15更少维度的向量。在后一种情况下,处理单元12可以将参数16的一个维度分派给和向量15的规定数量的相邻维度。例如,可以将参数16的一个维度分派给和向量15的四个相邻维度。这使得和向量15具有200个维度,而参数16具有50个维度。
处理单元12调整参数16,使得从机器学习模型17输出的周边单词的预测结果更接近从文档13提取的两个或更多个周边单词。例如,处理单元12重复以下过程:通过将参数16应用于和向量15来生成输入向量,将输入向量馈送至机器学习模型17以获得周边单词的预测结果,将预测出的周边单词与正确的周边单词进行比较,并更新参数16。
然后,处理单元12将参数16作为上下文信息18与对应于在基准出现位置处出现的单词的单词向量相关联地存储。上下文信息18指示在出现位置处的上下文。例如,针对单词w1的一个出现位置,处理单元12将上下文信息18与对应于单词w1的单词向量14-1相关联地存储。如果参数16是转换过滤器,则上下文信息18可以被称为“上下文过滤器”。上下文信息18可以与单词w1的单词向量14-1分开存储。另选地,可以通过将单词向量14-1和上下文信息18级联来生成扩展向量,并且针对出现位置存储扩展向量。
可以针对相同单词的不同出现位置生成不同的上下文信息。特别地,针对具有两个或更多个含义的单词,可以针对不同出现位置生成不相似的上下文信息。另一方面,对于实际上相同但由于拼写错误或拼写变体而被识别为不同的单词,可以生成类似的上下文信息。
如上所述,第一实施方式的上下文信息生成装置10针对一个单词的一个出现位置,通过将一个单词的周边单词的单词向量相加来计算和向量15,并且确定参数16以便使用机器学习模型17根据和向量15正确地预测周边单词。然后,上下文信息生成装置10存储所确定的参数16作为指示一个出现位置处的上下文的上下文信息18。
在上述方法中,可以针对单词的每个出现位置以紧凑方式呈现上下文。通过将单词的周边单词的单词向量相加而产生的每个和向量15本身因为可能发生由意想不到的不同周边单词的组合生成相似的向量而具有歧义性。相比之下,使用参数16作为上下文信息18使得能够将不同的上下文彼此区分开。另外,由于周边单词的单词向量没有被级联而是相加,因此可以防止向量中维数的增加。因此,与考虑到周边单词的顺序的机器学习算法相比,可以降低机器学习的复杂性并有效地生成足以区分上下文的信息。
另外,可以针对具有两种或更多种含义的单词的不同出现位置生成不相似的上下文信息。因此,例如,通过不仅使用单词向量而且还使用上下文信息来执行缩小语句的检索处理,可以提高相似语句的检索精度。此外,通过以上下文信息为基础将用于区分单词的不同含义的标签分配给单词的出现位置,可以提高后续自然语言处理的准确性。更进一步,可以针对由于拼写错误或拼写变体而发生的不同单词拼写而生成相似的上下文信息。因此,例如,通过使用上下文信息执行检索处理,可以检测可能是拼写错误或拼写变体的单词拼写。
(第二实施方式)
现在将描述第二实施方式。
第二实施方式的机器学习装置100是通过使用神经网络的机器学习来分析以自然语言书写的文档的自然语言处理装置。机器学习装置100能够以分析结果为基础找到与特定语句相似的语句。机器学习装置100可用于使用自然语言的各种服务,诸如机器翻译、推荐系统和Q&A系统。机器学习装置100可以称为计算机或信息处理装置。机器学习装置100可以是由用户使用的客户端装置,或者是通过网络可访问的服务器装置。
图2是例示了机器学习装置的硬件配置的示例的框图。
机器学习装置100包括连接到总线的CPU 101、RAM 102、HDD 103、视频信号处理单元104、输入信号处理单元105、介质读取器106和通信接口107。机器学习装置100对应于第一实施方式的上下文信息生成装置10。CPU 101对应于第一实施方式的处理单元12。RAM102或HDD 103对应于第一实施方式的储存单元11。
CPU 101是执行程序指令的处理器。CPU 101将来自HDD 103的程序和数据的至少一部分加载到RAM 102,然后运行该程序。就此而言,CPU 101可以配置有多个处理器核,并且机器学习装置100可以配置有多个处理器。多个处理器的集合可以称为“多处理器”或简称为“处理器”。
RAM 102是易失性半导体存储器,其临时存储在处理中要由CPU 101执行的程序或要被CPU 101使用的数据。就此而言,机器学习装置100可以配置有除RAM之外的其它类型的存储器或多个存储器。
HDD 103是非易失性储存器件,其存储诸如操作系统(OS)、中间件和应用软件之类的软件程序以及数据。就此而言,机器学习装置100可以配置有诸如闪存或固态驱动器(SSD)之类的其它类型的储存器件,或者配置有多个储存器件。
视频信号处理单元104根据来自CPU 101的命令,将图像输出到连接至机器学习装置100的显示器111。作为显示器111,可以使用期望类型的显示器,诸如阴极射线管(CRT)显示器、液晶显示器(LCD)或有机电致发光(OEL)显示器。
输入信号处理单元105从连接到机器学习装置100的输入器件112接收输入信号。作为输入器件112,可以使用期望种类的输入器件,诸如鼠标、触摸面板、触摸板、或键盘。另外,可以将多种输入器件连接到机器学习装置100。
介质读取器106是从记录介质113读取程序和数据的读取器件。作为记录介质113,可以使用诸如软盘(FD)或HDD之类的磁盘、诸如致密光盘(CD)或数字多功能光盘(DVD)之类的光盘、磁光盘(MO)或半导体存储器。例如,介质读取器106将从记录介质113读取的程序和数据存储到RAM 102或HDD 103中。
通信接口107连接到网络114,以经由网络114与其它信息处理装置进行通信。通信接口107可以是连接到诸如交换机或路由器之类的有线通信设备的有线通信接口、或连接到基站或接入点的无线通信接口。
图3是例示了机器学习装置的功能的示例的框图。
机器学习装置100包括文档储存单元121、向量储存单元122、教师数据储存单元123、单词向量生成单元124、上下文信息生成单元125、检索单元126和含义确定单元127。例如,通过使用RAM 102或HDD 103中的储存空间来实现文档储存单元121、向量储存单元122和教师数据储存单元123。例如,通过使用由CPU 101执行的程序来实现单词向量生成单元124、上下文信息生成单元125、检索单元126和含义确定单元127。
文档储存单元121在其内存储以自然语言书写的文档。该文档可划分为两个或更个语句,语句进一步可划分为两个或更多个单词序列。单词是在语法上有意义的字符串。在第二实施方式中,“单词”是由特定字符串定义的单位,并且“单词实例”指示单词在语句中的特定出现位置。文档可以多次使用同一单词,因此针对同一单词可以存在多个单词实例。
向量储存单元122在其内存储作为单词嵌入并且通过分析文档与单个单词相关联的单词向量。单词嵌入捕获单词的含义,并提供将相似单词向量与具有相似含义的单词相关联的方式。例如,每个单词向量是具有200个实值维度的向量。针对每个单词计算单词向量,因此与同一单词有关的多个单词实例共享相同的单词向量。
另外,向量储存单元122在其内存储与各个单词实例相关联的扩展向量。通过将与单词实例相对应的上下文过滤器附加到与该单词实例相关联的单词向量来生成单词实例的扩展向量。上下文过滤器是指示在单词实例所指示的出现位置处的上下文的上下文信息。上下文指示单词在出现位置的含义以及单词被用于什么周边。例如,上下文过滤器是具有50个实值维度的向量。与同一单词有关的多个单词实例可以具有不同的上下文过滤器。
教师数据储存单元123在其内存储用于消解与具有两个或更多个含义的单词有关的单词实例的歧义的教师数据。与具有两个或更多个含义的单词有关的单词实例中的一些单词实例被手动分配指示其正确含义的教师标签作为教师数据。如稍后将描述的,其它单词实例以教师标签和上下文过滤器为基础,被自动分配指示其含义的标签。
单词向量生成单元124分析文档储存单元121中所存储的文档,并且利用无监督学习将单词向量或单词嵌入与每个单词相关联。为了生成单词的单词向量,单词向量生成单元124从文档中提取单词和其周边单词之间的对应关系,并训练神经网络,使得它能够从单词预测周边单词。单词向量生成单元124将单词馈送至神经网络,并提取在其中间层计算出的向量,作为与该单词相对应的单词向量。
上下文信息生成单元125使用由单词向量生成单元124生成的单词向量,针对每个单词实例,计算上下文过滤器作为上下文信息。这里,使用由单词向量生成单元124训练的神经网络和单词实例附近的周边单词来计算上下文过滤器。上下文信息生成单元125通过将上下文过滤器附加在相应单词向量的末尾来生成扩展向量,并将扩展向量与单词实例相关联。
作为使用向量储存单元122中存储的扩展向量的方法之一,检索单元126执行用于从文档中检索与输入语句相似的语句的检索处理。
例如,检索单元126以与上下文信息生成单元125相同的方式,计算输入语句中所包括的每个单词实例的上下文过滤器,并且通过将上下文过滤器与相应单词向量级联来计算扩展向量。检索单元126计算向量储存单元122中所存储的扩展向量与输入语句的扩展向量之间的诸如余弦相似度之类的相似度索引值(或距离索引值)。这里,针对相似性,还考虑了上下文过滤器。检索单元126提取具有其相似度超过阈值的扩展向量(或其距离小于阈值的扩展向量)的语句。包含其单词向量相同但其上下文过滤器不相似的单词实例的语句不可能被提取。也就是说,考虑上下文的相似性来缩小语句。
另外,例如,检索单元126仅使用扩展向量的上下文过滤器来执行检索处理,以检索包括具有相似上下文过滤器的单词实例的语句。更具体地,检索单元126计算上下文过滤器与其它上下文过滤器之间的诸如余弦相似度之类的相似度索引值(或距离索引值)。然后,检索单元126将包括其相似度超过阈值(或者其距离小于阈值)的上下文过滤器的语句添加到检索结果。
由于拼写错误或拼写变体,单词实例处的具有不同单词向量和相似上下文过滤器的单词可以被视为不同单词。在这种情况下,检索单元126呈现包括可能具有拼写错误或拼写变体的单词实例的语句,来让用户进行确认。检索单元126可以提示用户纠正单词拼写。另选地,检索单元126可以自动纠正可能是拼写错误或拼写变体的单词拼写。在纠正了单词拼写之后,单词向量生成单元124可以在校正后的文档的基础上再次学习单词向量或单词嵌入。另外,上下文信息生成单元125可以在校正后的文档的基础上针对每个单词实例再次学习上下文过滤器。
作为使用向量储存单元122中所存储的扩展向量的方法之一,含义确定单元127执行用于确定两个或更多个可能的含义当中的针对每个单词实例的正确含义的含义确定处理。含义确定处理使用教师数据储存单元123中所存储的教师标签。使用被分配了教师标签的单词实例的上下文过滤器与教师标签所指示的正确含义之间的关系,含义确定单元127自动确定其它未标记单词实例的含义并为其它单词实例分配标签。
下面描述作为单词嵌入的单词向量。
图4例示了神经网络的示例。
神经网络130用于计算单词向量或单词嵌入。神经网络130是多层神经网络。神经网络130包括与神经元相对应的多个节点和与节点之间的神经键相对应的边缘。相邻层中的节点由神经键连接。神经键被给予权重,然后将通过将层中节点的值乘以权重而计算出的值给予下一层中的节点。通过训练神经网络130来确定神经键的权重。
神经网络130包括输入层131、中间层132至134和输出层135。图4例示了三个中间层,但是可以使用任意数量的中间层。
输入层131包括与文档中可以出现的多个单词相对应的多个节点。输入层131中的一个节点对应于一个单词。在选择某个单词作为基准的情况下,将“1”输入到与正在讨论的单词相对应的节点,并将“0”输入到其它节点。中间层132与输入层131相邻,并且包括比输入层131少的节点。中间层133与中间层132相邻,并且包括比中间层132少的节点。中间层133在神经网络130中具有最小的维度。
中间层134与中间层133相邻,并且包括比中间层133多的节点。输出层135包括与文档中可以出现的多个单词相对应的多个节点。输出层135中的一个节点对应于一个单词。输入层131和输出层135具有相同数量的维度。在将单词作为基准输入到输入层131的情况下,输出层135中的每个节点根据与该节点相对应的单词在基准单词附近作为周边单词出现的出现概率来输出预测值。作为输出,单词的预测值越大意味着单词的出现概率越高。
可以从文档中提取多个组合,每个组合由单词及其周边单词组成。因此,可以使用这些组合作为训练数据来确定每个神经键的权重,以减少指示周边单词的预测结果与实际周边单词的差异的损失。在神经网络130的训练完成之后,单词向量生成单元124将一个单词输入到输入层131,并且提取列出了具有最小维度的中间层133中的节点所保持的值的向量。单词向量生成单元124使用提取的向量作为输入单词的单词向量。以上述方式,针对文档中可以出现的每个单词来确定单词向量。
图5例示了计算单词向量或单词嵌入的示例。
文档141是存储在文档储存单元121中的文档的示例。单词向量生成单元124将文档141划分为语句,然后将每个语句划分为单词。例如,可以参照日语句号将文档141划分为语句。可以利用日语形态分析将每个语句划分为单词。单词向量生成单元124从文档141中提取单词实例。在这方面,从提取结果中排除助词和重要性低的其它通用单词的单词实例。
对于每个提取的单词实例,单词向量生成单元124提取在该单词实例之前和之后的n个周边单词。在单词实例之前和之后的n个周边单词的范围是在与单词实例相同的语句中的、在单词实例之前出现的n个单词和在单词实例之后出现的n个单词的范围。在此,n是取规定的自然数的参数,并由用户预先设置。因此,从文档141中提取每个由单词及其周边单词组成的多个组合。单词向量生成单元124生成周边单词表142。周边单词表142包含单词和周边单词的组合。针对一个单词实例,可以提取两个或更多周边单词。
例如,文档141包括以下语句:“KANGAE GA AMAI。”(意思是“这个想法很幼稚。”);“RINGO GA AMAI。”(意思是“苹果很甜。”);“IGI WO TONAERU。”(意思是“陈述重要性。”);“IGI WO TONAERU。”(意思是“提出异议”。);以及“IKU KOTONIIGI GA ARU”(意思是“要走才是最重要的。”)。注意,第三语句旨在提供与第四语句相同的含义,但是单词“IGI”的汉字是拼写错误,因此如上地改变了其含义。单词向量生成单元124从第一语句中提取单词“KANGAE”及其周边单词“AMAI”的组合,并且还提取单词“AMAI”及其周边单词“KANGAE”的组合。另外,单词向量生成单元124从第二语句中提取单词“RINGO”及其周边单词“AMAI”,并且还提取单词“AMAI”及其周边单词“RINGO”的组合。
此外,单词向量生成单元124从第三语句中提取单词“IGI”及其周边单词“TONAERU”的组合以及单词“TONAERU”及其周边单词“IGI”的组合。此外,单词向量生成单元124从第四语句中提取单词“IGI”及其周边单词“TONAERU”的组合以及单词“TONAERU”及其周边单词“IGI”的组合。此外,单词向量生成单元124从第五语句中提取单词“IKU”及其周边单词“KOTO”、“IGI”和“ARU”的组合,以及单词“KOTO”及其周边单词“IKU”、“IGI”和“ARU”的组合。另外,单词向量生成单元124提取单词“IGI”及其周边单词“IKU”、“KOTO”和“ARU”的组合,以及单词“ARU”及其周边单词“IKU”、“KOTO”和“IGI”的组合。
图6例示了计算单词向量或单词嵌入的示例的继续。
单词向量生成单元124使用周边单词表142中列出的单词与其周边单词之间的对应关系来训练之前描述的神经网络130。为此,单词向量生成单元124将包括“KANGAE”、“AMAI”、“RINGO”、“IGI”、“TONAERU”、“IGI”、“IKU”、“KOTO”和“ARU”的单词逐个馈送到神经网络130,以计算其各自的单词向量。注意,以上两个“IGI”具有不同的汉字字符。
单词向量生成单元124生成单词向量表143。单词向量表143将每个单词向量与相应单词相关联。单词向量表143存储在向量储存单元122中。在第二实施方式中,作为示例,神经网络130中的中间层133具有200维度,并且每个单词向量是200维的向量。请注意,维度数目可以更改为300维度或其它维度。每个单词向量都具有实值维度。为了简单说明,图6例示了每个单词向量的前六个维度中的值的示例。例如,单词“KANGAE”具有单词向量(1.38,0.02,0.38,0.001,0.007,0.013,…)。
以下描述上下文过滤器。
图7例示了扩展向量关联文档的示例。
文档141中的每个单词实例与扩展向量相关联,使得易于执行各种自然语言处理。扩展向量是通过将单词向量和上下文过滤器级联而生成的。在第二实施方式中,单词向量具有200个维度,并且上下文过滤器具有50个维度,因此扩展向量具有250个维度。
由于唯一的单词向量与每个单词相关联,因此关于同一单词的多个单词实例的扩展向量包括相同的单词向量。另外,由于同一单词的不同出现位置具有不同的上下文,因此,不同单词实例的扩展向量原则上具有不同的上下文过滤器。对于具有两个或更多个含义的单词,期望具有不同含义的单词实例的扩展向量包括不相似的上下文过滤器。另一方面,对于由于拼写错误或拼写变体而被视为不同单词的单词,期望单词的单词实例的扩展向量包括不同的单词向量但具有相似的上下文过滤器。
单词向量生成单元124以文档141为基础生成扩展向量关联文档150。扩展向量关联文档150存储在向量储存单元122中。例如,从文档141中提取包括“KANGAE”、“AMAI”、“RINGO”、“AMAI”、“IGI”、“TONAERU”、“IGI”、“TONAERU”等的单词实例。
第一单词实例“KANGAE”与扩展向量151相关联。第二单词实例“AMAI”与扩展向量152相关联。第三单词实例“RINGO”与扩展向量153相关联。第四单词实例“AMAI”与扩展向量154相关联。第五单词实例“IGI”与扩展向量155相关联。第六单词实例“TONAERU”与扩展向量156相关联。第七单词实例“IGI”与扩展向量157相关联。第八单词实例“TONAERU”与扩展向量158相关联。
单词“AMAI”具有一些不同的含义,并且第二单词实例“AMAI”和第四单词实例“AMAI”具有相同的汉字,但含义不同。因此,扩展向量152和154包括相同的单词向量但是具有不相似的上下文过滤器。另外,第五单词实例“IGI”处的汉字是第七单词实例“IGI”处的汉字的拼写错误。因此,扩展向量155和157包括不同的单词向量但具有相似的上下文过滤器。
如下所述地生成上下文过滤器。
图8例示了如何生成上下文过滤器的示例。
上下文信息生成单元125选择单词实例161。然后上下文信息生成单元125提取在单词实例161之前和之后的n个单词作为周边单词。用于提取周边单词的范围可以与单词向量生成单元124在计算单词向量或单词嵌入中使用的范围相同。也就是说,该范围被设置为在与单词实例161相同的语句内的、在单词实例161之前出现的n个单词和在单词实例161之后出现的n个单词的范围。因此,可以使用由单词向量生成单元124生成的周边单词表142进行该提取。
现在假设提取了周边单词162-1至162-3。然后,上下文信息生成单元125获得分别与周边单词162-1至162-3相对应的单词向量163-1至163-3。上下文信息生成单元125通过将这些单词向量163-1至163-3相加来计算上下文向量164。这里,单词向量163-1至163-3通过将它们在每个维度上的值相加来相加。因此,单词向量163-1至163-3和上下文向量164都具有200个维度。
上下文信息生成单元125将上下文过滤器165应用于上下文向量164,从而计算过滤后向量166。当针对单词实例161开始计算上下文过滤器165时,上下文过滤器165被初始化。上下文过滤器165的初始值可以被设置为规定值,或者可以针对每个单词实例随机设置。上下文过滤器165的维数少于上下文向量164的维数。在第二实施方式中,上下文过滤器165的维数是上下文向量164的维数的四分之一。
上下文信息生成单元125将上下文向量164的维度中的值乘以上下文过滤器165的对应维度中的值。上下文向量164和过滤后向量166均具有200个维度。由于上下文过滤器165的维数是上下文向量164的维数的四分之一,因此上下文过滤器165的一个维度被分派给上下文向量164的四个连续维度。例如,上下文向量164的第1维度至第4维度中的每个值乘以上下文过滤器165的第1维度中的值。
上下文信息生成单元125将过滤后向量166馈送到神经网络167。神经网络167是用于从输入向量预测周边单词的机器学习模型。作为神经网络167,可以重复利用在生成单词向量或单词嵌入时训练的神经网络130。在这种情况下,过滤后向量166可以被输入到中间层133。神经网络167输出所预测的周边单词168-1至168-3。
上下文信息生成单元125计算指示所预测的周边单词168-1至168-3与正确的周边单词162-1至162-3之间的差异的损失169(预测损失)。神经网络167可以输出作为预测结果的向量,该向量的长度等于文档中可以出现的单词的数量,并且列出每个指示单词是周边单词的概率的值。在这种情况下,例如,可以将正确向量与预测结果向量之间的各个维度上的差的绝对值之和作为损失169。
上下文信息生成单元125更新上下文过滤器165以减少损失169。可以使用各种检索算法之一来更新上下文过滤器165。通过重复以上过程,可以计算与单词实例161相对应的上下文过滤器165。
注意,通过将周边单词162-1至162-3的单词向量163-1至163-3相加而生成的上下文向量164可以具有与从周边单词的另一组合模式生成的值相同的值,因此可以表示意外的上下文。另外,如果单词向量163-1至163-3被级联,则所生成的向量具有大数量的维度并且具有冗余度。相反,上下文过滤器165指示上下文向量164的每个维度对于区分上下文有多重要。因此,上下文过滤器165可以说是足以区分上下文的紧凑信息。
图9例示了生成上下文过滤器的第一示例。
这里,考虑针对图5所示的文档141的第三语句中的单词实例“IGI”生成上下文过滤器的情况。
上下文信息生成单元125提取单词实例“IGI”的周边单词“TONAERU”,并从单词向量表143中选择“TONAERU”的单词向量171。由于仅提取了一个周边单词,因此单词向量171被认为是上下文向量。另外,上下文信息生成单元125生成随机初始化的上下文过滤器173。上下文信息生成单元125将上下文过滤器173应用于上下文向量172,从而计算过滤后向量174。
为了简单说明,假设上下文向量172和上下文过滤器173具有相同数量的维度。例如,在上下文向量172在第一维度上的值为0.05,并且上下文过滤器173在第一维度上的值为0.50的情况下,则过滤后向量174在第一维度上的值计算为0.05×0.50=0.025。
上下文信息生成单元125将过滤后向量174输入到神经网络130的中间层133,从而从神经网络130的输出层135获得预测结果175。预测结果175是基于文档中可以出现的每个相应单词是周边单词的概率(可靠性)的向量列表值。上下文信息生成单元125将预测结果175与正确信息176进行比较以计算损失。正确信息176是指示正确的周边单词的向量,并且对于是周边单词的单词具有值“1”,对于不是周边单词的单词具有值“0”。
损失是通过针对每个单词,将预测结果175和正确信息176之间的差的绝对值相加而计算出的值。例如,假设预测结果表明:对于单词“KANGAE”,值为0.10;对于单词“RINGO”,值为0.15;对于单词“TONAERU”,值为0.01;对于单词“IKU”,值为0.03;对于单词“KOTO”,值为0.02;并且对于单词“ARU”,值为0.01。只有单词“TONAERU”是正确的周边单词,因此将损失计算为0.10+0.15+(1.0–0.01)+0.03+0.02+0.01+……。
上下文信息生成单元125将上下文过滤器173更新为上下文过滤器177,以减少计算出的损失。例如,第一维度中的值从0.50更新为0.60,第二维度中的值从0.10更新为0.30,第三维度中的值从0.01更新为0.80,第四维度中的值从-0.30更新为0.20,第五维度中的值从-1.00更新为-0.40,并且第六维度中的值从-0.10更新为0.80。
图10例示了生成上下文过滤器的第一示例的继续。
上下文信息生成单元125将更新的上下文过滤器177应用于从与周边单词“TONAERU”相对应的单词向量171计算出的上下文向量172,从而计算过滤后向量178。例如,在上下文向量172在第一维度上的值为0.05,并且上下文过滤器177在第一维度上的值为0.60的情况下,过滤后向量178在第一维度上的值为0.05×0.60=0.03。
上下文信息生成单元125将过滤后向量178输入到神经网络130的中间层133,从而从神经网络130的输出层135获得预测结果179。上下文信息生成单元125将预测结果179与正确信息176进行比较以计算损失。例如,假设预测结果表明:针对单词“KANGAE”,值为0.10;针对单词“RINGO”,值为0.18;针对单词“TONAERU”,值为0.75;针对单词“IKU”,值为0.03;针对单词“KOTO”,值为0.01;而针对单词“ARU”,值为0.02。在这种情况下,将损失计算为0.10+0.18+(1.0–0.75)+0.03+0.01+0.02+……。
在重复预测周边单词并更新上下文过滤器达规定次数之后,如上所述,上下文信息生成单元125固定上下文过滤器。即使对于图5的文档141的第四语句中包括的单词实例“IGI”,因为这两个“IGI”具有相同的周边单词,所以生成与第三语句中包括的单词实例“IGI”相同的上下文过滤器。因此,图7的扩展向量155和157具有不同的单词向量和相同的上下文过滤器。
图11例示了生成上下文过滤器的第二示例。
现在考虑针对图5所示的文档141的第五语句中包括的单词实例“IGI”生成上下文过滤器的情况。
上下文信息生成单元125提取单词实例“IGI”的周边单词“IKU”、“KOTO”和“ARU”,并从单词向量表143选择“IGU”、“KOTO”和“ARU”的单词向量181至183。上下文信息生成单元125通过将单词向量181至183相加来计算上下文向量184。例如,在单词向量181在第一维度上的值为-0.01,单词向量182在第一维度上的值为0.10,并且单词向量183在第一维度上的值为0.13的情况下,上下文向量184在第一维度上的值计算为-0.01+0.10+0.13=0.22。
另外,上下文信息生成单元125生成随机初始化的上下文过滤器185。上下文信息生成单元125将上下文过滤器185应用于上下文向量184,从而计算过滤后向量186。例如,在上下文过滤器185在第一维度上的值为0.50的情况下,过滤后向量186在第一维度上的值被计算为0.22×0.50=0.11。
上下文信息生成单元125将过滤后向量186输入到神经网络130的中间层133,从而从神经网络130的输出层135获得预测结果187。上下文信息生成单元125将预测结果187与正确信息188进行比较,以计算损失。例如,假设预测结果187包括:针对单词“KANGAE”,值为0.20;针对单词“RINGO”,值为0.31;针对单词“TONAERU”,值为0.01;针对单词“IKU”,值为0.35;针对单词“KOTO”,值为0.20;并且针对单词“ARU”,值为0.20。正确的周边单词为“IKU”、“KOTO”和“ARU”。因此,损失被计算为0.20+0.31+0.01+(1.0-0.35)+(1.0-0.20)+(1.0-0.20)+……。上下文信息生成单元125更新上下文过滤器185以减少计算的损失。
在图9和图10的示例以及图11的示例中,针对相同的单词“IGI”计算上下文过滤器。图9和图10中的单词实例与图11中的单词实例具有完全不同的周边单词,因此生成了不相似的上下文过滤器。
下面描述使用上下文过滤器的检索处理的示例。
现在假设有语句“KANGAE GAAMAI。”和“RINGO GAAMAI。”。这两个语句包含相同的单词“AMAI”,但使用此单词“AMAI”来提供不同的含义(前一个“AMAI”的意思是“天真”,而后一个“AMAI”则表示“甜”)。因此,在机器翻译中对这两个语句中的单词“AMAI”赋予相同的翻译单词是不正确的。当检索单元126尝试检索包含具有前一含义的单词“AMAI”的语句时,其使用包括上下文过滤器的整个扩展向量来计算相似度,从而能够适当地缩小语句。
作为另一示例,假设文档包括单词“service”和单词“sevice”。后者是前者的拼写错误。单词“service”的单词向量与单词“sevice”的单词向量可能不相似。但是,单词实例“service”的上下文过滤器和单词实例“sevice”的上下文过滤器可能相似。因此,在检索包含单词“service”的语句时,检索单元126进一步检索包括具有相似上下文过滤器的单词实例的语句,以便在检索结果中包括包含单词“sevice”的语句。这种方法降低了检索失败的风险。此时,拼写错误“sevice”可以被自动纠正,或者可以提示用户纠正该拼写错误“sevice”。在前面描述的示例中,可以以相同的方式纠正单词“IGI”的汉字中的拼写错误。
作为又一示例,假设文档包括不带空格的表述“servicepack”和带空格的表述“service pack”。从前一表述中提取单词“servicepack”,并从后一表述中提取单词“service”。不同的单词向量与单词“servicepack”和“service”相关联。
在包含具有与“servicepack”相同上下文的单词“service”的语句中,单词实例“service”的上下文过滤器类似于单词实例“servicepack”的上下文过滤器。因此,通过使用上下文过滤器的检索,除了包含“servicepack”的语句之外,检索单元126还能够找到包含“service pack”的语句。此外,在包含具有与“servicepack”不同上下文的单词“service”的语句中,单词实例“service”的上下文过滤器与单词实例“servicepack”的上下文过滤器不相似。因此,检索单元126通过使用上下文过滤器的检索,能够排除具有不同上下文的语句,例如包含除了在“service”之后的“pack”之外的单词的语句。
下面描述机器学习装置100如何操作。
图12是例示了如何生成单词向量的示例的流程图。
(S10)单词向量生成单元124将文档划分为语句,然后将语句划分为单词。
(S11)单词向量生成单元124针对文档中包含的每个单词实例(单词的每个出现位置),从与单词实例相同的语句中提取规定范围内的周边单词,例如,在单词实例之前和之后的n个单词。单词向量生成单元124然后生成指示单词与其周边单词之间的对应关系的周边单词表142。
(S12)单词向量生成单元124参照周边单词表142训练神经网络130。在训练神经网络130时,单词向量生成单元124将在向输入层131输入单词之后从输出层135输出的所预测的周边单词与实际周边单词进行比较,并更新权重以减少损失。
(S13)在神经网络130的训练完成之后,单词向量生成单元124将每个单词输入到神经网络130的输入层131,并获得列出中间层133的节点的值的向量,作为单词的单词向量。单词向量生成单元124将所获得的单词向量记录在单词向量表143中。
图13是例示了如何生成上下文信息的示例的流程图。
(S20)上下文信息生成单元125将上下文过滤器分配给文档中所包括的每个单词实例,并且初始化每个上下文过滤器。
(S21)上下文信息生成单元125参照文档的开头。
(S22)上下文信息生成单元125从文档中包括的多个单词实例当中选择当前基准位置之后的单词实例。
(S23)上下文信息生成单元125从在步骤S22选择的单词实例中获得在规定范围内的周边单词。可以从上述周边单词表142找到周边单词。上下文信息生成单元125检索单词向量表143以获得与每个周边单词相对应的单词向量。上下文信息生成单元125通过将周边单词的单词向量相加来计算上下文向量。
(S24)上下文信息生成单元125将与单词实例相对应的上下文过滤器应用于在步骤S23计算出的上下文向量。在应用上下文过滤器时,将上下文向量的维度中的值乘以上下文过滤器的相应维度中的值。由此,计算出过滤后向量。
(S25)上下文信息生成单元125将在步骤S24中计算出的过滤后向量输入到在生成单词向量时训练的神经网络130的中间层133。上下文信息生成单元125从神经网络130的输出层135获得周边单词的预测结果。另选地,可以使用能够从输入向量预测周边单词的另一机器学习模型来代替神经网络130。
(S26)上下文信息生成单元125通过将在步骤S25获得的周边单词的预测结果与在步骤S23获得的实际周边单词进行比较来计算损失。
(S27)上下文信息生成单元125以在步骤S26计算出的损失为基础来更新上下文过滤器,以减少损失。
(S28)上下文信息生成单元125确定基准位置是否已经到达文档的末尾,即,当前选择的单词实例是否是文档中的最后单词实例。如果基准位置已经到达文档的末尾,则处理前进至步骤S29。否则,处理前进至步骤S22以选择下一单词实例。
(S29)上下文信息生成单元125确定步骤S21至S28的重复次数是否已经达到规定的阈值。也就是说,上下文信息生成单元125确定从开头到末端扫描文档的次数是否已经达到阈值。如果重复次数已经达到阈值,则处理前进至步骤S30。否则,处理前进至步骤S21以返回到文档的开头。
(S30)上下文信息生成单元125针对文档中包括的每个单词实例,通过将相应上下文过滤器附加到相应单词向量来生成扩展向量。上下文信息生成单元125将所生成的扩展向量与相应单词实例相关联地输出。扩展向量用作索引。例如,上下文信息生成单元125生成扩展向量关联文档150。
下面描述使用上下文过滤器确定含义。
图14例示了如何确定含义的第一示例。
含义确定单元127针对具有两个或更多个含义的单词,通过使用被分配给一些单词实例的教师标签的监督学习,来确定尚未被分配任何标签的单词实例的单词的含义,并为单词实例自动分配标签。
教师数据储存单元123在其内针对特定单词存储分配给单词实例212-1的教师标签211-1和分配给单词实例212-2的教师标签211-2。教师标签211-1和211-2是指示单词的两个或更多个含义中的不同含义的教师数据。为单词实例212-1和212-2手动指定含义,并创建教师标签211-1和211-2。
含义确定单元127通过将单词实例212-1的周边单词的单词向量相加来计算上下文向量,然后将相应上下文过滤器213-1应用于上下文向量,从而计算过滤后向量。含义确定单元127将过滤后向量馈送到神经网络214,从而获得预测的周边单词215-1。类似地,含义确定单元127通过将单词实例212-2的周边单词的单词向量相加来计算上下文向量,并将相应上下文过滤器213-2应用于上下文向量,从而计算过滤后向量。含义确定单元127将过滤后向量馈送到神经网络214,从而获得预测出的周边单词215-2。
神经网络214是用于从过滤后向量预测周边单词的机器学习模型,并且可以使用上述神经网络130。另外,第一含义确定方法训练不同于神经网络214的神经网络216。神经网络216是接收一个或更多个周边单词的输入并输出含义的预测结果的机器学习模型。例如,神经网络216学习每个单词。
含义确定单元127将预测出的周边单词215-1馈送到神经网络216,并获得与单词实例212-1相对应的预测含义217-1。另外,含义确定单元127将预测出的周边单词215-2馈送到神经网络216,并获得与单词实例212-2相对应的预测含义217-2。
到神经网络216的输入是指示多个单词中的每个单词是否是预测出的周边单词的向量。这里假设是预测出的周边单词的单词的输入值为“1”,而不是预测出的周边单词的单词的输入值为“0”。将神经网络214的输出二值化然后馈送到神经网络216。例如,在神经网络214输出超过阈值(例如0.5)的值作为某个单词的值的情况下,含义确定单元127将值为“1”的单词馈送给神经网络216。例如,在神经网络214输出不超过阈值的值作为某一单词的值的情况下,含义确定单元127将值为“0”的单词馈送给神经网络216。
含义确定单元127将预测出的含义217-1与教师标签211-1进行比较,并且将预测出的含义217-2与教师标签211-2进行比较。含义确定单元127更新神经网络216中设置的权重,以减小预测出的含义217-1和217-2与其教师标签211-1和211-2所指示的正确含义之间的差异。
在神经网络216的训练完成之后,含义确定单元127选择尚未确定含义并因此未分配任何标签的单词实例212-3。含义确定单元127通过将单词实例212-3的周边单词的单词向量相加来计算上下文向量,然后将相应上下文过滤器213-3应用于上下文向量,从而计算过滤后向量。含义确定单元127将过滤后向量馈送到神经网络214以获得预测出的周边单词215-3。
含义确定单元127将预测出的周边单词215-3馈送到神经网络216,以预测单词实例212-3的含义,生成指示预测出的含义的自动标签218,并将标签分配给单词实例212-3。如上所述,含义确定单元127使用教师数据来学习预测出的周边单词与含义之间的关系,并使用所学习的关系来确定其含义尚未确定的单词实例的含义。
下面描述含义确定的另一示例。
图15是例示了如何确定含义的第二示例的流程图。
(S40)含义确定单元127获得包括要为其确定含义的单词实例的语句。
(S41)含义确定单元127从在步骤S40获得的语句中提取在单词实例的规定范围内出现的周边单词,并检索与周边单词相对应的单词向量。含义确定单元127通过将找到的单词向量相加来计算上下文向量。
(S42)含义确定单元127获得与分配了指示不同含义的教师标签的两个或更多个单词实例相关联的上下文过滤器。
(S43)含义确定单元127将在步骤S42获得的两个或更多个上下文过滤器中的每一个应用于在步骤S41计算出的相应上下文向量。从而,计算出与不同教师标签相对应的两个或更多个过滤后向量。
(S44)含义确定单元127将在步骤S43中计算出的两个或更多个过滤后向量馈送到神经网络。神经网络用于从输入向量预测周边单词,并且对应于上述神经网络130和神经网络214。由此,含义确定单元127获得分别与不同教师标签对应的预测周边单词的不同集合。
(S45)含义确定单元127通过将在步骤S44获得的预测周边单词的每个集合与在步骤S41提取的实际周边单词的相应集合进行比较来计算损失。
(S46)含义确定单元127从两个或更多个教师标签中选择具有在步骤S45计算出的最小损失的教师标签。含义确定单元127确定由所选教师标签指示的含义是正在讨论的单词实例的含义。含义确定单元127将指示所确定的含义的标签分配给正在讨论的单词实例。
如上所述,第二实施方式的机器学习装置100针对指示单词的单个出现的每个单词实例计算上下文过滤器作为上下文信息,通过将上下文过滤器级联至相应单词向量或者单词嵌入来生成扩展向量,并将扩展向量与单词实例相关联。
如此,可以针对单词的每个出现位置实现上下文的紧凑表示。在此,注意,作为周边单词的单词向量的相加的上下文向量可以表示意料之外的上下文,这会引起歧义。为了解决这个问题,计算指示上下文向量中的哪些维度对于识别上下文是重要的上下文过滤器。使用上下文过滤器作为上下文信息能够区分彼此不同的上下文。另外,由于周边单词的单词向量没有被级联而是相加,因此可以防止向量中维数的增加。因此,与考虑到周边单词的顺序的机器学习算法相比,可以降低机器学习的复杂度并有效地生成足以区分上下文的信息。
另外,可以为具有两个或更多个含义的单词的不同单词实例生成不相似的上下文过滤器。因此,通过使用包括上下文过滤器的整个扩展向量来执行检索处理,可以提高相似语句的检索精度。另外,以上下文过滤器为基础将指示含义的标签分配给单词实例,这有助于提高后续自然语言处理的准确性。另外,可以针对由于拼写错误或拼写变体而出现的单词的不同拼写生成相似的上下文过滤器。因此,通过使用上下文过滤器执行检索处理,可以检测可能是拼写错误或拼写变体的单词拼写。以这种方式使用上下文过滤器可以补充单词向量或单词嵌入,并简化自然语言处理。
根据一个方面,可以针对单词的每个出现位置有效地生成上下文信息。
Claims (7)
1.一种由计算机执行的上下文信息生成方法,该上下文信息生成方法包括以下步骤:
获得包括由多个单词组成的语句的文档以及作为针对所述多个单词分别计算出的单词嵌入的多个单词向量;
针对所述多个单词中的一个单词,从所述文档中提取位于从所述一个单词出现的一个出现位置起的规定范围内的两个或更多个周边单词,并通过将分别与所述两个或更多个周边单词对应的两个或更多个单词向量相加来计算和向量;
通过以下方式来确定参数:通过使用所述参数将所述和向量转换为输入向量,将所述输入向量馈送到预测周边单词的规定的机器学习模型中,计算指示所预测的周边单词与所述两个或更多个周边单词之间的差异的损失,并且基于所述损失更新所述参数,其中,所述参数是具有与所述和向量相同维度的向量或者是具有比所述和向量更少维度的向量,并且所述转换包括将所述和向量在维度上的值乘以所述参数在相应维度上的值;以及
将所述参数作为所述一个出现位置的上下文信息,与对应于所述一个单词的单词向量相关联地存储。
2.根据权利要求1所述的上下文信息生成方法,其中,所述参数是将所述和向量转换为要输入到所述规定的机器学习模型的所述输入向量的转换过滤器。
3.根据权利要求1所述的上下文信息生成方法,该上下文信息生成方法还包括以下步骤:
将所述一个单词出现的另一出现位置的另一上下文信息与对应于所述一个单词的所述单词向量相关联地存储;以及
除了对应于所述一个单词的所述单词向量之外,还使用所述上下文信息和所述另一上下文信息,执行用于缩小至包含所述一个单词的语句的检索处理。
4.根据权利要求1所述的上下文信息生成方法,该上下文信息生成方法还包括以下步骤:
将所述一个单词出现的另一出现位置的另一上下文信息与对应于所述一个单词的所述单词向量相关联地存储;以及
基于所述上下文信息和所述另一上下文信息,将用于区分所述一个单词的不同含义的标签分配给所述一个出现位置和所述另一出现位置。
5.根据权利要求1所述的上下文信息生成方法,该上下文信息生成方法还包括以下步骤:
将所述一个单词出现的另一出现位置的另一上下文信息与对应于所述一个单词的所述单词向量相关联地存储;以及
在确定出所述上下文信息与所述另一上下文信息之间的距离小于或等于阈值时,将包括所述另一出现位置的语句添加到包含所述一个单词的语句的检索结果中。
6.一种上下文信息生成装置,该上下文信息生成装置包括:
储存单元,该储存单元在其内存储包括由多个单词组成的语句的文档以及作为针对所述多个单词分别计算出的单词嵌入的多个单词向量;以及
处理单元,该处理单元针对所述多个单词中的一个单词,从所述文档中提取位于从所述一个单词出现的一个出现位置起的规定范围内的两个或更多个周边单词,并通过将分别与所述两个或更多个周边单词对应的两个或更多个单词向量相加来计算和向量,通过以下方式来确定参数:通过使用所述参数将所述和向量转换为输入向量,将所述输入向量馈送到预测周边单词的规定的机器学习模型中,计算指示所预测的周边单词与所述两个或更多个周边单词之间的差异的损失,并且基于所述损失更新所述参数,并且将所述参数作为所述一个出现位置的上下文信息,与对应于所述一个单词的单词向量相关联地存储,
其中,所述参数是具有与所述和向量相同维度的向量或者是具有比所述和向量更少维度的向量,并且所述转换包括将所述和向量在维度上的值乘以所述参数在相应维度上的值。
7.一种非暂时性计算机可读记录介质,该非暂时性计算机可读记录介质存储使计算机执行包括以下步骤的处理的计算机程序:
获得包括由多个单词组成的语句的文档以及作为针对所述多个单词分别计算出的单词嵌入的多个单词向量;
针对所述多个单词中的一个单词,从所述文档中提取位于从所述一个单词出现的一个出现位置起的规定范围内的两个或更多个周边单词,并通过将分别与所述两个或更多个周边单词对应的两个或更多个单词向量相加来计算和向量;
通过以下方式来确定参数:通过使用所述参数将所述和向量转换为输入向量,将所述输入向量馈送到预测周边单词的规定的机器学习模型中,计算指示所预测的周边单词与所述两个或更多个周边单词之间的差异的损失,并且基于所述损失更新所述参数,其中,所述参数是具有与所述和向量相同维度的向量或者是具有比所述和向量更少维度的向量,并且所述转换包括将所述和向量在维度上的值乘以所述参数在相应维度上的值;以及
将所述参数作为所述一个出现位置的上下文信息,与对应于所述一个单词的单词向量相关联地存储。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-192040 | 2018-10-10 | ||
JP2018192040A JP7116309B2 (ja) | 2018-10-10 | 2018-10-10 | コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046659A CN111046659A (zh) | 2020-04-21 |
CN111046659B true CN111046659B (zh) | 2024-04-16 |
Family
ID=70159630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910949442.3A Active CN111046659B (zh) | 2018-10-10 | 2019-10-08 | 上下文信息生成方法、上下文信息生成装置及计算机可读记录介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507746B2 (zh) |
JP (1) | JP7116309B2 (zh) |
CN (1) | CN111046659B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275934B2 (en) * | 2019-11-20 | 2022-03-15 | Sap Se | Positional embeddings for document processing |
US11586652B2 (en) * | 2020-05-18 | 2023-02-21 | International Business Machines Corporation | Variable-length word embedding |
US11983208B2 (en) * | 2021-02-16 | 2024-05-14 | International Business Machines Corporation | Selection-based searching using concatenated word and context |
US20220366188A1 (en) * | 2021-04-29 | 2022-11-17 | International Business Machines Corporation | Parameterized neighborhood memory adaptation |
WO2022264216A1 (ja) * | 2021-06-14 | 2022-12-22 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3166646B2 (ja) | 1996-12-13 | 2001-05-14 | 日本電気株式会社 | 語義曖昧性解消装置 |
CN108604227B (zh) * | 2016-01-26 | 2023-10-24 | 皇家飞利浦有限公司 | 用于神经临床释义生成的系统和方法 |
JP6400037B2 (ja) * | 2016-03-17 | 2018-10-03 | ヤフー株式会社 | 判定装置、および判定方法 |
US10460229B1 (en) * | 2016-03-18 | 2019-10-29 | Google Llc | Determining word senses using neural networks |
US20170286397A1 (en) | 2016-03-30 | 2017-10-05 | International Business Machines Corporation | Predictive Embeddings |
JP6199461B1 (ja) | 2016-09-13 | 2017-09-20 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US11068658B2 (en) * | 2016-12-07 | 2021-07-20 | Disney Enterprises, Inc. | Dynamic word embeddings |
US10817509B2 (en) * | 2017-03-16 | 2020-10-27 | Massachusetts Institute Of Technology | System and method for semantic mapping of natural language input to database entries via convolutional neural networks |
US10380259B2 (en) * | 2017-05-22 | 2019-08-13 | International Business Machines Corporation | Deep embedding for natural language content based on semantic dependencies |
US11048870B2 (en) * | 2017-06-07 | 2021-06-29 | International Business Machines Corporation | Domain concept discovery and clustering using word embedding in dialogue design |
CN111316281B (zh) * | 2017-07-26 | 2024-01-23 | 舒辅医疗 | 基于机器学习的自然语言情境中数值数据的语义分类方法以及系统 |
CN107957989B9 (zh) * | 2017-10-23 | 2021-01-12 | 创新先进技术有限公司 | 基于集群的词向量处理方法、装置以及设备 |
US12061954B2 (en) * | 2017-10-27 | 2024-08-13 | Intuit Inc. | Methods, systems, and computer program product for dynamically modifying a dynamic flow of a software application |
GB2568233A (en) * | 2017-10-27 | 2019-05-15 | Babylon Partners Ltd | A computer implemented determination method and system |
US20190187955A1 (en) * | 2017-12-15 | 2019-06-20 | Facebook, Inc. | Systems and methods for comment ranking using neural embeddings |
US11080483B1 (en) * | 2018-02-28 | 2021-08-03 | Verisign, Inc. | Deep machine learning generation of domain names leveraging token metadata |
JP6872505B2 (ja) * | 2018-03-02 | 2021-05-19 | 日本電信電話株式会社 | ベクトル生成装置、文ペア学習装置、ベクトル生成方法、文ペア学習方法、およびプログラム |
KR102540774B1 (ko) * | 2018-12-04 | 2023-06-08 | 한국전자통신연구원 | 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치 |
RU2721190C1 (ru) * | 2018-12-25 | 2020-05-18 | Общество с ограниченной ответственностью "Аби Продакшн" | Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами |
-
2018
- 2018-10-10 JP JP2018192040A patent/JP7116309B2/ja active Active
-
2019
- 2019-10-07 US US16/594,201 patent/US11507746B2/en active Active
- 2019-10-08 CN CN201910949442.3A patent/CN111046659B/zh active Active
Non-Patent Citations (2)
Title |
---|
Tomas Mikolov等.Distributed Representations of Words and Phrases and their Compositionality.NIPS.2013,第1-9页. * |
常东亚 ; 严建峰 ; 杨璐 ; .基于中心词的上下文主题模型.计算机应用研究.2017,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
US11507746B2 (en) | 2022-11-22 |
CN111046659A (zh) | 2020-04-21 |
JP2020060970A (ja) | 2020-04-16 |
US20200117710A1 (en) | 2020-04-16 |
JP7116309B2 (ja) | 2022-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046659B (zh) | 上下文信息生成方法、上下文信息生成装置及计算机可读记录介质 | |
CN109933780B (zh) | 使用深度学习技术确定文档中的上下文阅读顺序 | |
CN107491655B (zh) | 基于机器学习的肝脏疾病信息智能咨询系统 | |
US11222053B2 (en) | Searching multilingual documents based on document structure extraction | |
KR101326354B1 (ko) | 문자 변환 처리 장치, 기록 매체 및 방법 | |
US12073189B2 (en) | Learned evaluation model for grading quality of natural language generation outputs | |
CN101361065A (zh) | 分布式模型的编码和自适应、可扩展访问 | |
JP6462970B1 (ja) | 分類装置、分類方法、生成方法、分類プログラム及び生成プログラム | |
JP2007122509A (ja) | 語句配列の自然度判定装置、方法及びプログラム | |
CN116821318B (zh) | 基于大语言模型的业务知识推荐方法、装置及存储介质 | |
JP6312467B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN112232024A (zh) | 一种基于多标注数据的依存句法分析模型训练方法及装置 | |
US20200279079A1 (en) | Predicting probability of occurrence of a string using sequence of vectors | |
US20220139386A1 (en) | System and method for chinese punctuation restoration using sub-character information | |
CN116702723A (zh) | 一种合同段落标注模型的训练方法、装置及设备 | |
CN112784009A (zh) | 一种主题词挖掘方法、装置、电子设备及存储介质 | |
US20230281392A1 (en) | Computer-readable recording medium storing computer program, machine learning method, and natural language processing apparatus | |
WO2021239631A1 (en) | Neural machine translation method, neural machine translation system, learning method, learning system, and programm | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
US20210142006A1 (en) | Generating method, non-transitory computer readable recording medium, and information processing apparatus | |
CN113901793A (zh) | 结合rpa和ai的事件抽取方法及装置 | |
JP7135730B2 (ja) | 要約生成方法及び要約生成プログラム | |
US11868737B2 (en) | Method and server for processing text sequence for machine processing task | |
US20240144664A1 (en) | Multimodal data processing | |
US20230186163A1 (en) | Information processing apparatus and information processing method |
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 |