CN111226222B - 使用人工神经网络的基于深度上下文的语法错误校正 - Google Patents
使用人工神经网络的基于深度上下文的语法错误校正 Download PDFInfo
- Publication number
- CN111226222B CN111226222B CN201780094942.2A CN201780094942A CN111226222B CN 111226222 B CN111226222 B CN 111226222B CN 201780094942 A CN201780094942 A CN 201780094942A CN 111226222 B CN111226222 B CN 111226222B
- Authority
- CN
- China
- Prior art keywords
- word
- target word
- target
- neural network
- sentence
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本文公开了用于语法错误检测的方法和系统。在一个示例中,接收句子。至少部分地基于一种或更多种语法错误类型来识别句子中的一个或更多个目标词。一个或更多个目标词中的每个目标词与一种或更多种语法错误类型中的至少之一对应。对于一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类。至少部分地基于目标词以及目标词的估计分类来检测句子中的语法错误。
Description
技术领域
本公开内容大体涉及人工智能,并且更具体地,涉及使用人工神经网络的语法错误校正。
背景技术
自动语法错误校正(GEC)对于把英语作为第二语言学习的数百万人来说是必要且有用的工具。这些书写者犯的许多种语法和用法错误标准检验工具都无法解决。开发对于语法错误检测和/或校正具有高精确率和召回率的自动系统成为自然语言处理(NLP)的快速增长领域。
虽然对于这样的自动系统存在很大的潜力,但是已知系统也遇到了问题,例如,各种语法错误模式的覆盖范围有限以及对复杂的语言特征工程或人工注释的训练样本要求较高。
发明内容
本公开内容大体涉及人工智能,并且更具体地,涉及使用人工神经网络的语法错误校正。
在一个示例中,公开了一种用于语法错误检测的方法。接收句子。至少部分地基于一种或更多种语法错误类型来识别句子中的一个或更多个目标词。一个或更多个目标词中的每个目标词与一种或更多种语法错误类型中的至少之一对应。对于一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出关于语法错误类型的目标词的分类值。至少部分地基于目标词以及目标词的估计分类来检测句子中的语法错误。
在另一示例中,提供了一种用于训练人工神经网络模型的方法。提供了用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出目标词的分类值。获得训练样本集。训练样本集中的每个训练样本包括:包括关于语法错误类型的目标词的句子,以及关于语法错误类型的目标词的实际分类。至少部分地基于每个训练样本中的目标词的估计分类与实际分类之间的差来联合地训练与递归神经网络相关联的第一组参数以及与前馈神经网络相关联的第二组参数。
在不同示例中,用于语法错误检测的系统包括存储器以及耦接至存储器的至少一个处理器。至少一个处理器被配置成接收句子并且至少部分地基于一种或更多种语法错误类型来识别句子中的一个或更多个目标词。一个或更多个目标词中的每个目标词与一种或更多种语法错误类型中的至少之一对应。至少一个处理器还被配置成:对于一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来生成目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出关于语法错误类型的目标词的分类值。至少一个处理器还被配置成至少部分地基于目标词以及目标词的估计分类来检测句子中的语法错误。
在另一示例中,用于语法错误检测的系统包括存储器以及耦接至存储器的至少一个处理器。至少一个处理器被配置成提供用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出目标词的分类值。至少一个处理器还被配置成获得训练样本集。训练样本集中的每个训练样本包括:包括关于语法错误类型的目标词的句子,以及关于语法错误类型的目标词的实际分类。至少一个处理器还被配置成至少部分地基于每个训练样本中的目标词的估计分类与实际分类之间的差来联合地调整与递归神经网络相关联的第一组参数以及与前馈神经网络相关联的第二组参数。
其他构思涉及用于语法错误检测和人工神经网络模型训练的软件。符合该构思的软件产品包括至少一个计算机可读非暂态装置以及装置所携载的信息。装置所携载的信息可以是关于与请求相关联的参数或操作参数的可执行指令。
在一个示例中,其上记录有用于语法错误检测的指令的有形计算机可读非暂态装置,其中,指令在由计算机执行时使计算机执行一系列操作。接收句子。至少部分地基于一种或更多种语法错误类型来识别句子中的一个或更多个目标词。一个或更多个目标词中的每个目标词与一种或更多种语法错误类型中的至少之一对应。对于一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出关于语法错误类型的目标词的分类值。至少部分地基于目标词以及目标词的估计分类来检测句子中的语法错误。
在另一示例中,其上记录有用于训练人工神经网络模型的指令的有形计算机可读非暂态装置,其中,指令在由计算机执行时使计算机执行一系列操作。提供了用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型。模型包括两个递归神经网络,两个递归神经网络被配置成至少部分地基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。模型还包括前馈神经网络,前馈神经网络被配置成至少部分地基于目标词的上下文向量来输出目标词的分类值。获得训练样本集。训练样本集中的每个训练样本包括:包括关于语法错误类型的目标词的句子,以及关于语法错误类型的目标词的实际分类。至少部分地基于每个训练样本中的目标词的估计分类与实际分类之间的差来联合地训练与递归神经网络相关联的第一组参数以及与前馈神经网络相关联的第二组参数。
仅出于示出一些实施方式以提供对本文中描述的主题的理解的目的提供本发明内容。因此,上述特征仅是示例,并且不应当被解释为缩小本公开内容中主题的范围或精神。根据以下具体实施方式、附图和权利要求,本公开内容的其它特征、方面和优点将变得明显。
附图说明
并入本文并形成说明书的一部分的附图示出了所提出的公开内容,并且附图与说明书一起进一步用于解释本公开内容的原理并且使得(一个或更多个)相关领域的技术人员能够实现并使用本公开内容。
图1是示出根据实施方式的语法错误校正(GEC)系统的框图;
图2是由图1中的系统执行的自动语法错误校正的示例的描绘;
图3是示出根据实施方式的用于语法错误校正的方法的示例的流程图;
图4是示出根据实施方式的图1中的系统的基于分类的GEC模块的示例的框图;
图5是使用根据实施方式的图1中的系统提供句子中的目标词的分类的示例的描绘;
图6是示出根据实施方式的用于语法错误校正的人工神经网络(ANN)模型的示例的示意图;
图7是示出根据实施方式的用于语法错误校正的ANN模型的另一示例的示意图;
图8是示出根据实施方式的图6中的ANN模型的示例的详细示意图;
图9是示出根据实施方式的用于句子的语法错误校正的方法的示例的流程图;
图10是示出根据实施方式的用于将关于语法错误类型的目标词分类的方法的示例的流程图;
图11是示出根据实施方式的用于将关于语法错误类型的目标词分类的方法的另一示例的流程图;
图12是示出根据实施方式的用于提供语法得分的方法的示例的流程图;
图13是示出根据实施方式的ANN模型训练系统的框图;
图14是由图13中的系统使用的训练样本的示例的描绘;
图15是示出根据实施方式的用于语法错误校正的ANN模型训练的方法的示例的流程图;
图16是示出根据实施方式的针对语法错误校正训练ANN模型的示例的示意图;以及
图17是示出对实现本公开内容中阐述的各种实施方式有用的计算机系统的示例的框图。
参照附图对本公开内容进行描述。在附图中,通常,相同的附图标记表示相同的元件或功能上相似的元件。另外,通常,附图标记的(一个或更多个)最左边的数字标识附图标记首次出现的附图。
具体实施方式
在以下详细描述中,通过示例的方式阐述了许多具体细节以提供对相关公开内容的透彻理解。然而,对本领域技术人员应当明显的是,可以在没有这样的细节的情况下实践本公开内容。在其他实例中,在不包括细节的相对较高水平上描述了公知的方法、步骤、系统、部件和/或电路,以避免不必要地模糊本公开内容的各方面。
贯穿说明书和权利要求书,术语可以具有超出明确陈述的含义的上下文中提出或暗示的细微含义。同样,如本文中所使用的短语“在一个实施方式/示例中”不一定是指相同的实施方式,并且如本文中所使用的短语“在另一实施方式/示例中”不一定是指不同的实施方式。例如,旨在所要求保护的主题全部或部分地包括示例实施方式的组合。
通常,可以至少部分地根据上下文的使用来理解术语。例如,如本文中所使用的诸如“和”、“或”或“和/或”的术语可以包括各种各样的含义,这些含义可以至少部分地依赖于使用这样的术语的上下文。通常,“或”(如果用于关联列表,例如,A、B或C)旨在表示:A、B和C,这里以包含性的意义来使用;以及A、B或C,这里以排他性的意义来使用。另外,如本文中所使用的至少部分地依赖于上下文的术语“一个或更多个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的组合。类似地,再次,可以至少部分地依赖于上下文将诸如“一”、“一个”或“该”的术语理解为传达单数用法或传达复数用法。另外,可以将术语“基于”理解为不一定旨在传达因素的排他集,而是可以再次至少部分地依赖于上下文来允许存在不一定明确描述的另外的因素。
如将在下面详细公开的,在其他新颖特征中,本文中公开的自动GEC系统和方法提供了使用可以从本机文本数据受训的深度上下文模型来高效且有效地检测和校正语法错误的能力。在一些实施方式中,对于特定语法错误类型,可以将错误校正任务当作分类问题,在分类问题中可以从很大程度上可用的本机文本数据中学习语法上下文表示。与传统的分类器方法相比,本文中公开的系统和方法不需要通常需要语言学知识并且可能不涵盖所有上下文特征的复杂的特征工程。在一些实施方式中,代替使用表面和浅层特征,本文中公开的系统和方法可以直接使用深层特征,例如,表示上下文的递归神经网络。在一些实施方式中,不同于通常需要大量监督数据而可用数据却有限的传统NLP任务,本文中公开的系统和方法可以利用丰富的本机纯文本语料库,并且以端对端的方式联合地学习上下文表示和分类以有效地校正语法错误。
在以下描述中将部分地阐述另外的新颖特征,并且这些另外的新颖特征部分地对于本领域技术人员在研究以下内容和附图时将变得显而易见,或者可以通过示例的生产或操作来获知。通过实践或使用以下讨论的详细示例中阐述的方法、工具和组合的各个方面,可以实现和获得本公开内容的新颖特征。
图1是示出根据实施方式的GEC系统100的框图。GEC系统100包括输入预处理模块102、解析模块104、目标词分发模块106以及多个基于分类的GEC模块108,多个基于分类的GEC模块108中的每个被配置成使用深度上下文执行基于分类的语法错误检测和校正。在一些实施方式中,可以使用流水线(pipeline)架构来实现GEC系统100,以将其他GEC方法(例如,基于机器翻译的方法和基于预限定规则的方法)与基于分类的方法组合,以进一步提高GEC系统100的性能。如图1所示,GEC系统100还可以包括基于机器翻译的GEC模块110、基于规则的GEC模块112和评分/校正模块114。
输入预处理模块102被配置成接收输入文本116并且对输入文本116进行预处理。输入文本116可以包括至少一个英语句子,例如,单个句子、段落、文章或任何文本语料库。可以例如经由手写、打字或复制/粘贴直接接收输入文本116。也可以例如经由语音识别或图像识别间接接收输入文本116。例如,可以使用任何适当的语音识别技术将语音输入转换为输入文本116。在另一示例中,可以使用任何适当的光学字符识别(OCR)技术将图像中包含的文本传送到输入文本116中。
输入预处理模块102可以以各种方式对输入文本116进行预处理。在一些实施方式中,由于通常在特定句子的上下文中分析语法错误,因此输入预处理模块102可以将输入文本116划分为句子,使得可以将每个句子当作用于后续处理的单元。可以通过识别句子的开头和/或结束来执行将输入文本116划分为句子。例如,输入预处理模块102可以搜索作为句子结束的指示符的某些标点符号(例如,句号、分号、问号或感叹号)。输入预处理模块102还可以搜索作为句子开始的指示符的首字母大写的词。在一些实施方式中,输入预处理模块102可以例如通过将输入文本116中的任何大写字母转换成小写字母来使输入文本116小写以便于后续处理。在一些实施方式中,输入预处理模块102还可以参考词汇数据库118检查输入文本116中的标记(词、短语或任何文本串),以确定不在词汇数据库118中的任何标记。可以将不匹配的标记当作特殊标记,例如,单个unk标记(未知标记)。词汇数据库118包括可以由GEC系统100处理的所有词。不在词汇数据库118中的任何词或其他标记均可以被GEC系统100忽略或区别对待。
解析模块104被配置成解析输入文本116以识别输入文本116的每个句子中的一个或更多个目标词。不同于认为所有语法错误统一并且试图将不正确的文本翻译为正确的文本的已知系统,GEC系统100使用如以下详细描述的针对每种特定语法错误类型受训的模型。因此,在一些实施方式中,解析模块104可以基于预限定语法错误类型从每个句子中的文本标记识别目标词,使得每个目标词与语法错误类型中的至少之一对应。语法错误类型包括但不限于冠词错误、主语一致错误、动词形式错误、介词错误和名词数错误。应当认识到,语法错误类型不限于以上示例,并且可以包括任何其他类型。在一些实施方式中,解析模块104可以将每个句子标记化并且结合词汇数据库118从标记识别目标词,词汇数据库118包括词汇信息和GEC系统100已知的知识。
例如,对于主语一致错误,解析模块104可以预先提取非第三人称单数现在时词和第三人称单数现在时词映射关系。然后,解析模块104可以将动词定位为目标词。对于冠词错误,解析模块104可以将名词和名词短语(名词和形容词的组合)定位为目标词。对于动词形式错误,解析模块104可以将以原形、动名词或现在分词或过去分词的动词定位为目标词。关于介词错误,解析模块104可以将介词定位为目标词。关于名词数错误,解析模块104可以将名词定位为目标词。应当认识到,解析模块104可以将一个词识别为与多种语法错误类型对应。例如,可以关于主语一致错误和动词形式错误将动词识别为目标词,并且可以关于冠词错误和名词数错误将名词或名词短语识别为目标词。还应当认识到,目标词可以包括作为多个词的组合的短语,例如名词短语。
在一些实施方式中,对于每种语法错误类型,解析模块104可以被配置成确定每个目标词的实际分类。解析模块104可以向关于对应的语法错误类型的每个目标词分配原始标签,作为目标词的实际分类值。例如,对于主语一致错误,动词的实际分类是第三人称单数现在时形式或原形。解析模块104可以向目标词分配原始标签,例如,如果目标词为第三人称单数现在时形式,则为“1”;如果目标词为原形,则为“0”。对于冠词错误,目标词的实际分类可以是“a/an”、“the”或“无冠词(no article)”。解析模块104可以检查目标词前面的冠词(名词或名词短语)以确定每个目标词的实际分类。关于动词形式错误,目标词(例如,动词)的实际分类可以是“原形”、“动名词或现在分词”或“过去分词”。关于介词错误,解析模块104可以使用最常用的介词作为实际分类。在一些实施方式中,实际分类包括11个原始标签:“about”、“at”、“by”、“for”、“from”、“in”、“of”、“on”、“to”、“until”、“with”和“against”。关于名词数错误,目标词(例如,名词)的实际分类可以是单数形式或复数形式。在一些实施方式中,解析模块104可以结合词汇数据库118基于词性(PoS)标签来确定关于对应的语法错误类型的每个目标词的原始标签。
目标词分发模块106被配置成针对对应的语法错误类型将每个目标词分发到基于分类的GEC模块108。在一些实施方式中,对于每种语法错误类型,由对应的基于分类的GEC模块108独立地训练和使用ANN模型120。因此,每个基于分类的GEC模块108与一种特定语法错误类型相关联并且被配置成处理关于同一语法错误类型的目标词。例如,对于作为介词(关于介词错误类型)的目标词,目标词分发模块106可以将介词发送到处理介词错误的基于分类的GEC模块108。应当认识到,由于可以将一个词确定为关于多种语法错误类型的目标词,因此目标词分发模块106可以将相同的目标词发送到多个基于分类的GEC模块108。还应当认识到,在一些实施方式中,由GEC系统100分配给每个基于分类的GEC模块108的资源可以不相等。例如,依赖于每个语法错误类型在某个用户群组内或针对特定用户发生的频率,目标词分发模块106可以向关于最频繁出现的语法错误类型的目标词分发最高优先级。对于文本规模较大(例如,包含多个句子和/或一个句子包含多个目标词)的输入文本116,目标词分发模块106可以鉴于每个基于分类的GEC模块108的工作量以最佳方式调度每个句子中的每个目标词的处理,以减少时延。
每个基于分类的GEC模块108包括已经针对对应的语法错误类型受训的对应的ANN模型120。基于分类的GEC模块108被配置成使用对应的ANN模型120来估计关于对应的语法错误类型的目标词的分类。如以下详细描述的,在一些实施方式中,ANN模型120包括两个递归神经网络,两个递归神经网络被配置成基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。ANN模型120还包括前馈神经网络,前馈神经网络被配置成基于目标词的上下文向量来输出关于语法错误类型的目标词的分类值。
基于分类的GEC模块108还被配置成基于目标词以及目标词的估计分类来检测句子中的语法错误。如上所述,在一些实施方式中,可以由解析模块104确定每个目标词的实际分类。然后,基于分类的GEC模块108可以将目标词的估计分类与目标词的实际分类进行比较,并且在目标词的实际分类与估计分类不匹配时检测句子中的语法错误。例如,对于某种语法错误类型,对应的ANN模型120可以学习围绕目标词的可变长度上下文的嵌入函数,并且对应的基于分类的GEC模块108可以利用上下文嵌入来预测目标词的分类。如果预测的分类标签不同于目标词的原始标签,则可以将目标词标记为错误,并且可以将预测用作校正。
如图1所示,在一些实施方式中,可以在GEC系统100中并行应用多个基于分类的GEC模块108以同时检测各种语法错误类型的语法错误。如上所述,可以基于每种语法错误类型的出现频率将GEC系统100的资源分配给不同的语法错误类型。例如,可以由GEC系统100分配更多计算资源来处理比其他语法错误类型更频繁出现的语法错误类型。可以鉴于每个基于分类的GEC模块108的频率改变和/或工作量来动态地调整资源分配。
基于机器翻译的GEC模块110被配置成基于统计机器翻译(例如,基于短语的机器翻译、基于神经网络的机器翻译等)来检测每个句子中的一个或更多个语法错误。在一些实施方式中,基于机器翻译的GEC模块110包括一个模型,该模型拥有为句子分配概率的语言子模型和分配条件概率的翻译子模型。可以使用目标语言中的单语言训练数据集来训练语言子模型。可以从并行训练数据集(即,外语句子及其对应的到目标语言的翻译句子的集)估计翻译子模型的参数。应当认识到,在GEC系统100的流水线架构中,可以将基于机器翻译的GEC模块110应用于基于分类的GEC模块108的输出,或者可以将基于分类的GEC模块108应用于基于机器翻译的GEC模块110的输出。此外,在一些实施方式中,通过将基于机器翻译的GEC模块110添加到流水线架构中,某些基于分类的GEC模块108不如基于机器翻译的GEC模块110,这些基于分类的GEC模块108可能不包括在流水线架构中。
基于规则的GEC模块112被配置成基于预限定规则来检测每个句子中的一个或更多个语法错误。应当认识到,基于规则的GEC模块112在流水线中的位置不限于如图1所示的末尾,而是可以在流水线的开头作为第一检测模块,或者可以在基于分类的GEC模块108与基于机器翻译的GEC模块110之间。在一些实施方式中,其他机械错误(例如,标点符号、拼写和大写错误)也可以由基于规则的GEC模块112使用预限定规则来检测和修正。
评分/校正模块114被配置成基于从流水线接收的语法错误结果来提供输入文本116的校正文本和/或语法得分122。以基于分类的GEC模块108为例,对于由于估计分类与实际分类不匹配而被检测为具有语法错误的每个目标词,可以由评分/校正模块114基于目标词的估计分类来提供目标词的语法错误校正。为了评估输入文本116,评分/校正模块114还可以基于从流水线接收的语法错误结果、使用评分函数来提供校正文本和/或语法得分122。在一些实施方式中,评分函数可以给每种语法错误类型分配权重,使得不同类型的语法错误可以对校正文本和/或语法得分122具有不同水平的影响。可以给精确率和召回率分配权重,作为评估语法错误结果时的加权因子。在一些实施方式中,评分函数也会考虑提供输入文本116的用户个人信息。例如,对于不同的用户,权重可以不同,或者可以将用户的信息(例如,母语、住处、教育水平、历史得分、年龄等)考虑到评分函数中。
图2是由图1中的GEC系统100执行的自动语法错误校正的示例的描绘。如图2所示,输入文本202包括多个句子,并且输入文本是从由用户ID-1234标识的用户接收的。在通过具有其中的每个针对对应的语法错误类型单独受训的多个ANN模型120的GEC系统100之后,为用户提供具有语法得分的校正文本204。例如,在输入文本202中的句子“it will justadding on their misery”中,动词“adding”被GEC系统100识别为关于动词形式错误的目标词。目标词“adding”的实际分类是动名词或现在分词。GEC系统100应用针对动词形式错误受训的ANN模型120,并且估计目标词“adding”的分类是原形——“add”。由于估计分类与目标词“adding”的实际分类不匹配,因此GEC系统100检测到动词形式语法错误,这会在考虑到应用到动词形式错误类型的权重和/或用户的个人信息的情况下影响语法得分。还由GEC系统100使用目标词“adding”的估计分类以提供校正“add”来替换校正文本204中的“adding”。由GEC系统100使用针对动词形式错误的相同ANN模型120以检测和校正输入文本202中的其他动词形式错误,例如“dishearten”至“disheartening”。由GEC系统100使用针对其他语法错误类型的ANN模型120来检测其他类型的语法错误。例如,由GEC系统100使用针对介词错误的ANN模型120来检测和校正输入文本202中的介词错误,例如“for”至“in”,以及“to”至“on”。
图3是示出根据实施方式的用于语法错误校正的方法300的示例的流程图。方法300可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图3中所示不同的顺序执行。
将参照图1描述方法300。然而,方法300不限于该示例实施方式。在302中,接收输入文本。输入文本包括至少一个句子。可以从例如书写、打字或复制/粘贴直接接收输入文本,或者从例如语音识别或图像识别间接接收输入文本。在304中,对接收的输入文本进行预处理,例如,将接收的输入文本划分为句子(即,文本标记化)。在一些实施方式中,预处理可以包括将大写字母转换为小写字母,从而转化输入文本为小写格式。在一些实施方式中,预处理可以包括识别输入文本中的不在词汇数据库118中的任何标记,并且将这些标记表示为特殊标记。302和304可以由GEC系统100的输入预处理模块102执行。
在306中,解析预处理的输入文本以识别每个句子中的一个或更多个目标词。可以基于语法错误类型从文本标记识别目标词,使得每个目标词与语法错误类型中的至少之一对应。语法错误类型包括但不限于冠词错误、主语一致错误、动词形式错误、介词错误和名词数错误。在一些实施方式中,确定关于对应的语法错误类型的每个目标词的实际分类。可以例如基于句子中的PoS标签(又称词性标记,PoS:part-of-speech tagging)和文本标记自动进行该确定。在一些实施方式中,可以由诸如斯坦福corenlp工具的NLP工具来执行目标词识别和实际分类确定。306可以由GEC系统100的解析模块104执行。
在308中,将每个目标词分发到对应的基于分类的GEC模块108。每个基于分类的GEC模块108包括例如在本机训练样本上针对对应的语法错误类型受训的ANN模型120。308可以由GEC系统100的目标词分发模块106执行。在310中,使用ANN模型120来检测每个句子中的一个或更多个语法错误。在一些实施方式中,对于每个目标词,可以使用对应的ANN模型120来估计关于对应的语法错误类型的目标词的分类。然后,可以基于目标词以及目标词的估计分类来检测语法错误。例如,如果估计不同于原始标签,并且概率大于预限定阈值,则认为发现了语法错误。310可以由GEC系统100的基于分类的GEC模块108执行。
在312中,使用机器翻译来检测每个句子中的一个或更多个语法错误。312可以由GEC系统100的基于机器翻译的GEC模块110执行。在314中,基于预限定规则来检测每个句子中的一个或更多个语法错误。314可以由GEC系统100的基于规则的GEC模块112执行。在一些实施方式中,可以使用流水线架构将任何合适的基于机器翻译的方法和/或基于预限定规则的方法与本文中描述的基于分类的方法组合,以进一步提高GEC系统100的性能。
在316中,提供对输入文本的检测到的语法错误的校正和/或语法得分。在一些实施方式中,可以基于对应的语法错误类型对目标词的每个语法错误结果应用权重。可以基于语法错误结果和句子中的目标词以及应用于每个语法错误结果的权重来确定每个句子的语法得分。在一些实施方式中,也可以基于与从其接收句子的用户相关联的信息来提供语法得分。关于对检测到的语法错误的校正,在一些实施方式中,可以使用关于对应的语法错误类型的目标词的估计分类来生成校正。应当认识到,校正和语法得分不一定一起提供。316可以由GEC系统100的评分/校正模块114执行。
图4是示出根据实施方式的图1中的GEC系统100的基于分类的GEC模块108的示例的框图。如上所述,基于分类的GEC模块108被配置成接收句子402中的目标词,并且使用针对目标词的对应的语法错误类型的ANN模型120来估计目标词的分类。句子402中的目标词也由(例如,解析模块104中的)目标词标记单元404接收。目标词标记单元404被配置成基于例如句子402的PoS标签和文本标记来确定目标词的实际分类(例如,原始标签)。基于分类的GEC模块108还被配置成基于目标词的估计分类和实际分类来提供语法错误结果。如图4所示,基于分类的GEC模块108包括初始上下文生成单元406、深度上下文表示单元408、分类单元410、注意力单元412和分类比较单元414。
初始上下文生成单元406被配置成基于围绕句子402中的目标词的词(上下文词)来生成目标词的多个初始上下文向量集(初始上下文矩阵)。在一些实施方式中,初始上下文向量集包括基于句子402中的目标词之前的至少一个词(前向上下文词)而生成的前向初始上下文向量集(前向初始上下文矩阵),以及基于句子402中的目标词之后的至少一个词(后向上下文词)而生成的后向初始上下文向量集(后向初始上下文矩阵)。每个初始上下文向量表示句子402中的一个上下文词。在一些实施方式中,初始上下文向量可以是表示基于独热编码的词的独热向量,使得独热向量的大小(维数)与(例如,词汇数据库118中的)词汇量相同。在一些实施方式中,初始上下文向量可以是维数小于词汇量的低维向量,例如,上下文词的词嵌入向量。例如,可以通过任何合适的通用词嵌入方法(例如但不限于word2vec或Glove)来生成词嵌入向量。在一些实施方式中,初始上下文生成单元406可以使用被配置成输出初始上下文向量的一个或更多个集的一个或更多个递归神经网络。由初始上下文生成单元406使用的(一个或更多个)递归神经网络可以是ANN模型120的一部分。
应当认识到,用于生成前向或后向初始上下文向量集的上下文词的数目不受限制。在一些实施方式中,基于句子402中的目标词之前的所有词来生成前向初始上下文向量集,并且基于句子402中的目标词之后的所有词来生成后向初始上下文向量集。由于每个基于分类的GEC模块108和对应的ANN模型120处理特定语法错误类型,并且不同类型的语法错误的校正可能需要依赖于不同词距离(例如,介词由目标词附近的词来确定,而动词的状态可能受到远离动词的主语的影响),因此在一些实施方式中,可以基于与基于分类的GEC模块108和对应的ANN模型120相关联的语法错误类型来确定用于生成前向或后向初始上下文向量集的上下文词的数目(即,窗口大小)。
在一些实施方式中,可以基于目标词本身的词元来生成初始上下文向量。词元是词的原形(例如,词“walk”、“walks”、“walked”、“walking”均具有相同的词元“walk”)。例如,对于与名词数错误相关联的基于分类的GEC模块108和对应的ANN模型120,除了上下文词(即,围绕句子402中的目标词的词)之外,由于目标词是单数还是复数形式与其自身密切相关,可以将目标名词的词元形式以初始词元上下文向量的形式引入,作为提取上下文信息。在一些实施方式中,目标词的词元的初始上下文向量可以是前向初始上下文向量集的一部分或后向初始上下文向量集的一部分。
在一些已知的GEC系统中,需要手动设计语义特征并将其从句子提取以生成特征向量,由于语言的复杂性,这些特征难以覆盖所有情况。相比之下,由于可以将句子402中的目标词的上下文词直接用作初始上下文信息(例如,以初始上下文向量的形式),并且可以如以下详细描述的以端到端的方式联合地学习深度上下文特征表示和分类,因此本文中公开的基于分类的GEC模块108不需要复杂的特征工程。
参照图5,在该示例中,句子包括n个词1-n(包括目标词i)。针对目标词i之前的每个词(即,词1、词2、……或词i-1)生成对应的初始上下文向量1、2、……或i-1。初始上下文向量1、2、……和i-1是“前向”向量,因为这些向量从目标词i之前的词生成,并且要在前向方向上(即,从句子的开头,即,第一词1)被供入下一阶段。针对目标词i之后的每个词(即,词i+1、词i+2、……或词n)生成对应的初始上下文向量i+1、i+2、……或n。初始上下文向量n、……、i+2和i+1是“后向”向量,因为这些向量从目标词i之后的词生成,并且要在后向方向上(即,从句子的末尾,即,最后一词n)被供入下一阶段。
在该示例中,可以将前向初始上下文向量集表示为前向初始上下文矩阵,前向初始上下文矩阵具有与词嵌入的维数相同的列数以及与目标词i之前的词数相同的行数。前向初始上下文矩阵中的第一行可以是第一词1的词嵌入向量,并且前向初始上下文矩阵中的最后一行可以是紧邻目标词i之前的词i-1的词嵌入向量。可以将后向初始上下文向量集表示为后向初始上下文矩阵,后向初始上下文矩阵具有与词嵌入的维数相同的列数以及与目标词i之后的词数相同的行数。后向初始上下文矩阵中的第一行可以是最后一词n的词嵌入向量,并且后向初始上下文矩阵中的最后一行可以是紧邻目标词i之后的词i+1的词嵌入向量。每个词嵌入向量的维数可以是至少100,例如300。在该示例中,也可以基于目标词i的词元来生成词元初始上下文向量lem(例如,词嵌入向量)。
返回参照图4,深度上下文表示单元408被配置成基于句子402中的上下文词、使用ANN模型120来提供目标词的上下文向量,例如,由初始上下文生成单元406生成的前向和后向初始上下文向量集。分类单元410被配置成基于句子402中的目标词的深度上下文表示(例如,由深度上下文表示单元408生成的上下文向量)使用ANN模型120来提供关于语法错误类型的目标词的分类值。
转到图6,示出了根据实施方式的ANN模型120的示例的示意图。在该示例中,ANN模型120包括可以由深度上下文表示单元408使用的深度上下文表示子模型602,以及可以由分类单元410使用的分类子模型604。可以以端到端的方式联合地训练深度上下文表示子模型602和分类子模型604。深度上下文表示子模型602包括两个递归神经网络:前向递归神经网络606和后向递归神经网络608。每个递归神经网络606或608可以是长短期记忆(LSTM)神经网络、门控递归单元(GRU)神经网络、或隐藏单元之间的连接形成有向循环的任何其他合适的递归神经网络。
递归神经网络606和608被配置成基于从句子402中的目标词的上下文词生成的初始上下文向量来输出目标词的上下文向量。在一些实施方式中,前向递归神经网络606被配置成接收前向初始上下文向量集,并且基于前向初始上下文向量集来提供目标词的前向上下文向量。前向递归神经网络606可以被供以前向方向上的前向初始上下文向量集。后向递归神经网络608被配置成接收后向初始上下文向量集,并且基于后向初始上下文向量集来提供目标词的后向上下文向量。后向递归神经网络608可以被供以后向方向上的后向初始上下文向量集。在一些实施方式中,前向和后向初始上下文向量集可以是如上所述的词嵌入向量。应当认识到,在一些实施方式中,可以将目标词的词元初始上下文向量供入前向递归神经网络606和/或后向递归神经网络608以生成前向上下文向量和/或后向上下文向量。
现在参照图5,在该示例中,前向递归神经网络被供以前向方向上的前向初始上下文向量集(例如,以前向初始上下文矩阵的形式),并且生成前向上下文向量for。后向递归神经网络被供以后向方向上的后向初始上下文向量集(例如,以后向初始上下文矩阵的形式),并且生成后向上下文向量back。应当认识到,在一些实施方式中,可以将词元初始上下文向量lem供入前向递归神经网络和/或后向递归神经网络。前向和后向递归神经网络中,每个递归神经网络中的隐藏单元数为至少300,例如600。在该示例中,然后,通过连接前向上下文向量for和后向上下文向量back来生成目标词i的深度上下文向量i。深度上下文向量i表示基于围绕目标词i的上下文词1至i-1以及上下文词i+1至n(在一些实施方式中,以及目标词i的词元)的目标词i的深度上下文信息。换言之,深度上下文向量i可以被视为围绕目标词i的联合句子上下文的嵌入向量。如上所述,由于不需要复杂的特征工程去手动设计和提取,即可得到用于表示目标词i的上下文的语义特征,深度上下文向量i是可以处理各种情况的通用表示。
返回到图6,分类子模型604包括前馈神经网络610,前馈神经网络610被配置成基于目标词的上下文向量来输出关于语法错误类型的目标词的分类值。前馈神经网络610可以包括多层感知器(MLP)神经网络或者隐藏单元之间的连接不形成循环的任何其他合适的前馈神经网络。例如,如图5所示,将深度上下文向量i供入前馈神经网络以生成目标词i的分类值y。对于不同的语法错误类型,可以以表I所示的不同方式限定分类值y。应当认识到,语法错误类型不限于表I中的五个示例,并且分类值y的限定也不受表I中示出的示例的限制。还应该认识到,在一些实施方式中,可以将分类值y表示为目标词在与语法错误类型相关联的类别(标签)上的概率分布。
表I
在一些实施方式中,前馈神经网络610可以包括具有对上下文向量的完全连接的线性运算的第一激活函数的第一层。第一层中的第一激活函数可以是例如整流线性单元激活函数或者作为来自(一个或更多个)先前层的一倍输出的函数的任何其他合适的激活函数。前馈神经网络610还可以包括连接到第一层并且具有用于生成分类值的第二激活函数的第二层。第二层中的第二激活函数可以是例如softmax激活函数或者用于多元分类的任何其他合适的激活函数。
返回图4,在一些实施方式中,注意力单元412被配置成基于句子402中的目标词之前的至少一个词以及目标词之后的至少一个词使用ANN模型120来提供目标词的上下文权重向量。图7是示出根据实施方式的用于语法错误校正的ANN模型120的另一示例的示意图。与图6中示出的示例相比,图7中的ANN模型120还包括可以由注意力单元412使用的注意力机制子模型702。然后,通过将上下文权重向量应用于上下文向量来计算加权上下文向量。可以以端到端的方式联合地训练深度上下文表示子模型602、分类子模型604和注意力机制子模型702。在一些实施方式中,注意力机制子模型702包括被配置成基于目标词的上下文词来生成目标词的上下文权重向量的前馈神经网络704。可以基于句子中的每个上下文词与目标词之间的距离来训练前馈神经网络704。在一些实施方式中,由于上下文权重向量可以调整与目标词的距离不同的上下文词的权重,因此可以基于句子中的所有围绕的词来生成初始上下文向量集,并且上下文权重向量可以调整加权上下文向量以集中于影响语法用法的这些上下文词。
返回到图4,分类比较单元414被配置成将由分类单元410提供的估计分类值与由目标词标记单元404提供的实际分类值进行比较,以检测语法错误类型的任何错误的存在。如果实际分类值与估计分类值相同,则针对目标词未检测到语法错误类型的错误。否则,检测到语法错误类型的错误,并且使用估计分类值来提供校正。例如,在以上关于图2描述的示例中,关于动词形式错误的目标词“adding”的估计分类值为“0”(原形),而目标词“adding”的实际分类值为“1”(动名词或现在分词)。因此,检测到动词形式错误,并且校正为目标词“adding”的原形。
图8是示出根据实施方式的图6中的ANN模型的示例的详细示意图。在该示例中,ANN模型包括被联合地训练的前向GRU神经网络、后向GRU神经网络和一MLP神经网络。对于句子“I go to school everyday”中的目标词“go”,将前向上下文词“I”从左至右(前向方向)供入前向GRU神经网络,而将后向上下文词“to school everyday”从右至左(后向方向)供入后向GRU神经网络。给定上下文w1:n,则可以将目标词wi的上下文向量限定为等式1:
其中,lGRU是在给定上下文中从左至右(前向方向)读取词的GRU,以及rGRU是从右至左(后向方向)读取词的反转。l/f表示上下文词的不同的从左至右/从右至左词嵌入。其后,将连接的向量供入MLP神经网络以捕获两方向的相互依赖性。在MLP神经网络的第二层,可以使用softmax层来预测目标词的分类(例如,目标词或目标词的状态,例如,单数或复数):
MLP(x)=softmax(ReLU(L(x))), (2)
其中,ReLU是整流线性单元激活函数,ReLU(x)=max(0,x),L(x)=W(x)+b是完全连接的线性运算。在该示例中,ANN模型120的最终输出为:
y=MLP(biGRU(w1:n,i)), (3)
其中,y是如上所述的分类值。
图9是示出根据实施方式的用于句子的语法错误校正的方法900的示例的流程图。方法900可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图9中所示不同的顺序执行。
将参照图1和图4描述方法900。然而,方法900不限于该示例实施方式。在902中,接收句子。句子可以是输入文本的一部分。902可以由GEC系统100的输入预处理模块102执行。在904中,基于一种或更多种语法错误类型来识别句子中的一个或更多个目标词。每个目标词与一种或更多种语法错误类型对应。904可以由GEC系统100的解析模块104执行。在906中,使用针对语法错误类型受训的ANN模型120来估计关于对应的语法错误类型的一个目标词的分类。在908中,基于目标词以及目标词的估计分类来检测语法错误。可以通过将目标词的实际分类与目标词的估计分类进行比较来进行检测。906和908可以由GEC系统100的基于分类的GEC模块108执行。
在910中,确定句子中是否存在尚未处理的更多目标词。如果答案为“是”,则方法900返回到904以处理句子中的下一个目标词。一旦已经处理了句子中的所有目标词,则在912中,基于语法错误结果来提供对句子的语法错误校正。可以使用每个目标词的估计分类来生成语法错误校正。也可以基于语法错误结果来提供语法得分。912可以由GEC系统100的评分/校正模块114执行。
图10是示出根据实施方式的用于将关于语法错误类型的目标词分类的方法1000的示例的流程图。方法1000可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图10中所示不同的顺序执行。
将参照图1和图4描述方法1000。然而,方法1000不限于该示例实施方式。在1002中,基于句子中的上下文词来提供目标词的上下文向量。上下文词可以是围绕句子中的目标词的任何数目的词。在一些实施方式中,上下文词包括句子中除了目标词之外的所有词。在一些实施方式中,上下文词也包括目标词的词元。上下文向量不包括从句子提取的语义特征。1002可以由基于分类的GEC模块108的深度上下文表示单元408执行。
在1004中,基于句子中的上下文词来提供上下文权重向量。在1006中,将上下文权重向量应用于上下文向量以生成加权上下文向量。上下文权重向量可以基于上下文词与目标词的距离将相应权重应用于句子中的每个上下文词。1004和1006可以由基于分类的GEC模块108的注意力单元412执行。
在1008中,基于目标词的加权上下文向量来提供关于语法错误类型的目标词的分类值。分类值表示与语法错误类型相关联的多个分类之一。分类值可以是目标词在与语法错误类型相关联的类别上的概率分布。1008可以由基于分类的GEC模块108的分类单元410执行。
图11是示出根据实施方式的用于将关于语法错误类型的目标词分类的方法1100的另一示例的流程图。方法1100可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图11中所示不同的顺序执行。
将参照图1和图4描述方法1100。然而,方法1100不限于该示例实施方式。在1102中,例如从多个预限定语法错误类型确定目标词的语法错误类型。在1104中,基于语法错误类型来确定上下文词的窗口大小。窗口大小指示要视为上下文词的、句子中的目标词之前的最大词数以及目标词之后的最大词数。对于不同的语法错误类型,窗口大小可以变化。例如,对于主语一致和动词形式错误,可以将整个句子视为上下文,因为这两种错误类型通常需要依赖于远离目标词的上下文词。关于冠词、介词和名词数错误,窗口大小可以小于整个句子,例如,对于冠词错误的3、5或10的窗口大小,对于介词错误,窗口大小为3、5或10,而对于名词数错误,窗口大小为10、15甚至20。
在1106中,基于目标词之前的上下文词来生成前向词嵌入向量集。每个前向词嵌入向量的维数可以是至少100,例如300。生成前向词嵌入向量集的顺序可以是从窗口大小内的第一词到紧邻目标词之前的词(前向方向)。在1108中,并行地,基于目标词之后的上下文词来生成后向词嵌入向量集。每个后向词嵌入向量的维数可以是至少100,例如300。生成后向词嵌入向量集的顺序可以是从窗口大小内的最后一词到紧邻目标词之后的词(后向方向)。1102、1104、1106和1108可以由基于分类的GEC模块108的初始上下文生成单元406执行。
在1110中,基于前向词嵌入向量集来提供前向上下文向量。可以按照从窗口大小内的第一词的前向词嵌入向量到紧邻目标词之前的词的前向词嵌入向量(前向方向)的顺序,将前向词嵌入向量集供入递归神经网络。在1112中,并行地,基于后向词嵌入向量集来提供后向上下文向量。可以按照从窗口大小内的最后一词的后向词嵌入向量到紧邻目标词之后的词的后向词嵌入向量(后向方向)的顺序,将后向词嵌入向量集供入另一递归神经网络。在1114中,通过连接前向上下文向量和后向上下文向量来提供上下文向量。1110、1112和1114可以由基于分类的GEC模块108的深度上下文表示单元408执行。
在1116中,将完全连接线性运算应用于上下文向量。在1118中,将例如MLP神经网络的第一层的激活函数应用于完全连接的线性运算的输出。激活函数可以是整流线性单元激活函数。在1120中,将例如MLP神经网络的第二层的另一激活函数应用于第一层的激活函数的输出,以生成关于语法错误类型的目标词的分类值。关于语法错误类型的目标词的多类分类可以由MLP神经网络在1116、1118和1120中基于上下文向量来执行。1116、1118和1120可以由基于分类的GEC模块108的分类单元410执行。
图12是示出根据实施方式的用于提供语法得分的方法1200的示例的流程图。方法1200可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图12中所示不同的顺序执行。
将参照图1和图4描述方法1200。然而,方法1200不限于该示例实施方式。在1202中,基于用户的信息来确定用户因子。信息包括例如母语、住处、教育水平、年龄、历史得分等。在1204中,确定精确率和召回率的权重。通常组合使用精确率和召回率,作为GEC的主要评估指标。精确率P和召回率R被限定如下:
其中,g是针对特定语法错误类型,经过两个人工注释者标注之后的黄金标准(标准答案),e是对应的系统自动处理后的版本。许多其他语法错误类型与动词形式错误类型之间可能存在交叠,因此在计算动词形式错误性能时,g可以基于所有语法错误类型的注释。在将精确率和召回率组合在一起作为评估指标时,可以调整精确率和召回率之间的权重。例如,等式5中限定的F0.5组合了精确率和召回率两者,而在一些实施方式中,当准确反馈比覆盖范围更重要时,给精确率P分配两倍权重。
应当认识到,可以在其他示例中应用Fn,其中,n在0至1之间。在一些实施方式中,不同语法错误类型的权重也可以变化。
在1206中,基于用户因子和权重来获得评分函数。评分函数可以使用用户因子和权重(对于不同的语法错误类型,可以相同或不同)作为参数。在1208中,接收句子中的每个目标词的语法错误结果。在1210中,基于语法错误结果和评分函数来提供语法得分。语法错误结果可以是评分函数的变量,并且用户因子和权重可以是评分函数的参数。1202、1204、1206、1208和1210可以由GEC系统100的评分/校正模块114执行。
图13是示出根据实施方式的ANN模型训练系统1300的框图。ANN模型训练系统1300包括模型训练模块1302,模型训练模块1302被配置成使用训练算法1308、基于目标函数1306在训练样本集1304上针对特定语法错误类型训练每个ANN模型120。在一些实施方式中,每个训练样本集1304可以是本机训练样本。与包括具有一个或更多个语法错误的句子的学习者训练样本相反,如本文中所公开的本机训练样本包括没有语法错误的句子。与需要受到监督训练数据的大小和可用性限制的定制的训练(即,使用监督数据作为训练样本例如学习者训练样本)的一些已知GEC系统相比,ANN模型训练系统1300可以利用丰富的本机纯文本语料库作为训练样本集1304,以更有效和高效地训练ANN模型120。例如,可以从wiki转储获得训练样本集1304。应当认识到,用于ANN模型训练系统1300的训练样本集1304不限于本机训练样本。在一些实施方式中,对于某些语法错误类型,ANN模型训练系统1300可以使用学习者训练样本或者本机训练样本与学习者训练样本的组合来训练ANN模型120。
图14是由图13中的ANN模型训练系统1300使用的训练样本集1304的示例的描绘。训练样本包括与一个或更多个语法错误类型1、……、n相关联的句子。尽管训练样本可以是没有语法错误的本机训练样本,但是句子仍可以与语法错误类型相关联,这是因为如上所述,特定词例如基于其PoS标签与一种或更多种语法错误类型相关联。例如,只要句子包括动词,句子就可以与例如动词形式和主语一致错误相关联。一个或更多个目标词1、……、m可以与每种语法错误类型相关联。例如,在训练样本中,句子中的所有动词均为关于动词形式或主语一致错误的目标词。对于每个目标词,其还与两条信息相关联:词嵌入向量集(矩阵)x和实际分类值y。可以基于句子中的目标词的上下文词来生成词嵌入向量集x。应当认识到,在一些实施方式中,词嵌入向量集x可以是任何其他初始上下文向量集例如独热向量集。如上所述,关于特定语法错误类型,实际分类值y可以是类别标签之一,例如,关于名词数错误,“0”为单数,而“1”为复数。因此,训练样本包括词嵌入向量集x和实际分类值y对,其中的每个与句子中的关于语法错误类型的目标词对应。
返回到图13,ANN模型120包括当被供以训练样本集1304时可以由模型训练模块1302联合地调整的多个参数。模型训练模块1302联合地调整ANN模型120的参数以使用训练算法1308在训练样本集1304上使目标函数1306最小化。在以上关于图8描述的示例中,用于训练ANN模型120的目标函数为:
其中,n是训练样本集1304的数目。训练算法1308可以是用于找到目标函数1306的最小值的任何合适的迭代优化算法,包括梯度下降算法(例如,随机梯度下降算法)。
图15是示出根据实施方式的用于语法错误校正的ANN模型训练的方法1500的示例的流程图。方法1500可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合的处理逻辑执行。应当认识到,可能不需要所有步骤来执行本文中提供的公开内容。此外,如本领域普通技术人员将理解的那样,步骤中的一些可以同时执行,或者以与图15中所示不同的顺序执行。
将参照图13描述方法1500。然而,方法1500不限于该示例实施方式。在1502中,提供用于语法错误类型的ANN模型。ANN模型用于关于语法错误类型来估计句子中的目标词的分类。ANN模型可以是本文中公开的任何ANN模型,例如,在图6和图7中示出的模型。在一些实施方式中,ANN模型可以包括两个递归神经网络,两个递归神经网络被配置成基于句子中的目标词之前的至少一个词以及目标词之后的至少一个词来输出目标词的上下文向量。在一些实施方式中,上下文向量不包括训练样本中的句子的语义特征。如上所述,ANN模型可以包括可以被参数化为前向递归神经网络606和后向递归神经网络608的深度上下文表示子模型602。ANN模型还可以包括被配置成基于目标词的上下文向量来输出目标词的分类值的前馈神经网络。如上所述,ANN模型可以包括可以被参数化为前馈神经网络610的分类子模型604。
在1504中,获得训练样本集。每个训练样本包括具有目标词的句子以及关于语法错误类型的目标词的实际分类。在一些实施方式中,训练样本可以包括目标词的词嵌入矩阵,目标词的词嵌入矩阵包括前向词嵌入向量集以及后向词嵌入向量集。基于目标词之前的相应上下文词来生成每个前向词嵌入向量,并且基于目标词之后的相应上下文词来生成每个后向词嵌入向量。每个词嵌入向量的维数可以是至少100,例如300。
在1506中,例如以端到端的方式联合地调整ANN模型的参数。在一些实施方式中,基于每个训练样本中目标词的实际分类与估计分类之间的差,与跟前馈神经网络610相关联的分类子模型604的第二组参数联合地调整与递归神经网络606和608相关联的深度上下文表示子模型602的第一组参数。在一些实施方式中,与前向递归神经网络606相关联的参数与跟后向递归神经网络608相关联的参数分开。在一些实施方式中,ANN模型还可以包括可以被参数化为前馈神经网络610的注意力机制子模型702。也可以与ANN模型的其他参数联合地调整与前馈神经网络610相关联的注意力机制子模型702的参数。在一些实施方式中,使用训练算法1308来联合地调整ANN模型的参数,以使来自目标函数1306的每个训练样本中目标词的估计分类与实际分类之间的差最小化。1502、1504和1506可以由ANN模型训练系统1300的模型训练模块1302来执行。
图16是示出根据实施方式的训练ANN模型120以用于语法错误校正的示例的示意图。在该示例中,关于特定语法错误类型,在训练样本集1304上训练ANN模型120。训练样本集1304可以来自本机文本,并且如以上关于图1所述的那样被预处理和解析。每个训练样本集1304包括具有关于语法错误类型的目标词以及关于语法错误类型的目标词的实际分类的句子。在一些实施方式中,可以针对每个训练样本集1304获得包括目标词的词嵌入矩阵x以及目标词的实际分类值y的矩阵对。词嵌入矩阵x可以包括基于目标词之前的上下文词而生成的前向词嵌入向量集,以及基于目标词之后的上下文词而生成的后向词嵌入向量集。因此,训练样本集1304可以包括多个(x,y)矩阵对。
在一些实施方式中,ANN模型120可以包括多个递归神经网络1-n1602和多个前馈神经网络1-m 1604。神经网络1602和1604中的每个与要使用训练算法1308、基于目标函数1306在训练样本集1304上训练的一组参数相关联。递归神经网络1602可以包括被配置成基于目标词的上下文词来输出目标词的上下文向量的前向递归神经网络和后向递归神经网络。在一些实施方式中,递归神经网络1602还可以包括被配置成基于目标词的上下文词来生成目标词的词嵌入矩阵的另一个或更多个递归神经网络。前馈神经网络1604还可以包括被配置成基于目标词的上下文向量来输出目标词的分类值y'的前馈神经网络。在一些实施方式中,前馈神经网络1604还可以包括被配置成输出要应用于上下文向量的上下文权重向量的另一前馈神经网络。可以连接神经网络1602和1604,使得可以以端到端的方式联合地训练神经网络1602和1604。在一些实施方式中,上下文向量不包括训练样本集1304中的句子的语义特征。
在一些实施方式中,对于每个迭代,可以将在对应的训练样本集1304中的目标词的词嵌入矩阵x供入ANN模型120、通过神经网络1602和1604。可以从ANN模型120的输出层(例如,前馈神经网络1604的一部分)输出估计分类值y'。在对应的训练样本集1304中的目标词的实际分类值y和估计分类值y'可以被发送到目标函数1306,并且可以使用训练算法1308由目标函数1306使用估计分类值y'与实际分类值y之间的差来联合地调整与ANN模型120中的神经网络1602和1604中的每个相关联的每组参数。通过迭代地且联合地调整与针对每个训练样本集1304的ANN模型120中的神经网络1602和1604中的每个相关联的每组参数,估计分类值y'与实际分类值y之间的差变小,并且目标函数1306被优化。
可以例如使用诸如图17所示的计算机系统1700的一个或更多个计算机系统来实现各种实施方式。例如,可以使用一个或更多个计算机系统1700来实现图3的方法300、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200和图15的方法1500。例如,根据各种实施方式,计算机系统1700可以检测和校正语法错误和/或训练人工神经网络模型以用于检测和校正语法错误。计算机系统1700可以是能够执行本文中描述的函数的任何计算机。
计算机系统1700可以是能够执行本文中描述的函数的任何公知的计算机。计算机系统1700包括一个或更多个处理器(也被称为中央处理单元或CPU),例如处理器1704。处理器1704连接到通信基础设施1706或总线。一个或更多个处理器1704可以各自是图形处理单元(GPU)。在实施方式中,GPU是作为被设计成处理数学密集应用的专用电子电路的处理器。GPU可以具有对于并行处理大数据块(例如,计算机图形应用、图像、视频等通用的数学密集数据)高效的并行结构。
计算机系统1700还包括通过用户输入/输出接口1702与通信基础设施1706进行通信的(一个或更多个)用户输入/输出装置1703,例如,监视器、键盘、定点装置等。
计算机系统1700还包括主存储器1708,例如,随机存取存储器(RAM)。主存储器1708可以包括一个或更多个级别的缓存。主存储器1708中存储有控制逻辑(即,计算机软件)和/或数据。计算机系统1700还可以包括一个或更多个辅助存储器1710。辅助存储器1710可以包括例如硬盘驱动器1712和/或可移除存储驱动器1714。可移除存储驱动器1714可以是软盘驱动器、磁带驱动器、致密盘驱动器、光存储装置、磁带备份装置和/或任何其他存储装置/驱动器。可移除存储驱动器1714可以与可移除存储单元1718交互。可移除存储单元1718包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储装置。可移除存储单元1718可以是软盘、磁带、致密盘、DVD、光存储盘和/或任何其他计算机数据存储装置。可移除存储驱动器1714以公知的方式从可移除存储单元1718读取和/或写入可移除存储单元1718。
根据示例性实施方式,辅助存储器1710可以包括用于允许计算机程序和/或其他指令和/或数据被计算机系统1700访问的其他手段、工具或其他方法。这样的手段、工具或其他方法可以包括例如可移除存储单元1722和接口1720。可移除存储单元1722和接口1720的示例可以包括程序盒和盒接口(例如,在视频游戏装置中发现的程序盒和盒接口)、可移除存储器芯片(例如,EPROM或PROM)和相关联的插槽、存储棒和USB端口、存储卡和相关联的存储卡插槽、和/或任何其他可移除存储单元和相关联的接口。
计算机系统1700还可以包括通信接口1724。通信接口1724使得计算机系统1700能够与远程装置、远程网络、远程实体等的任何组合(由远程装置、网络、实体1728单独和共同地引用)进行通信和交互。例如,通信接口1724可以允许计算机系统1700通过通信路径1726与远程装置、网络、实体1728进行通信,通信路径1726可以是有线和/或无线的并且可以包括LAN、WAN、互联网等的任何组合。可以经由通信路径1726向/从计算机系统1700传输控制逻辑和/或数据。
在实施方式中,包括在其上存储有控制逻辑(软件)的有形计算机可用或可读介质的有形设备或制品在本文中也被称为计算机程序产品或程序存储装置。这包括但不限于计算机系统1700、主存储器1708、辅助存储器1710和可移除存储单元1718和1722、以及实施前述的任何组合的有形制品。这样的控制逻辑在由一个或更多个数据处理装置(例如,计算机系统1700)执行时使得这样的数据处理装置如本文所述地操作。
基于本公开内容中包含的教导,对于(一个或更多个)相关领域的技术人员,如何使用除了图17所示以外的数据处理装置、计算机系统和/或计算机架构来实现并使用本公开内容的实施方式将是明显的。特别地,实施方式可以与除了本文中描述的软件、硬件和/或操作系统实现方式之外的软件、硬件和/或操作系统实现方式一起操作。
应当认识到,具体实施方式部分而非发明内容部分和摘要部分旨在用于解释权利要求。发明内容部分和摘要部分可以阐述如(一个或更多个)发明人所设想的本公开内容的一个或更多个而非所有示例性实施方式,并且因此,发明内容部分和摘要部分不旨在以任何方式限制本公开内容或所附权利要求。
尽管本文中已经参照示例性实施方式针对示例性领域和应用描述了本公开内容,但是应当理解,本公开内容不限于此。其他实施方式及其修改是可能的并且在本公开内容的范围和精神内。例如,并且在不限制该段落的一般性的情况下,实施方式不限于在附图中示出和/或在本文中描述的软件、硬件、固件和/或实体。此外,实施方式(无论是否在本文中明确描述)对于本文中描述的示例之外的领域和应用具有显著的实用性。
本文中已经借助于示出指定功能及其关系的实现方式的功能构建块描述了实施方式。为了便于描述,在本文中任意限定了这些功能构建块的边界。只要指定功能和关系(或其等同内容)被适当地执行,就可以限定替选的边界。此外,替选实施方式可以使用与本文中描述的顺序不同的顺序来执行功能块、步骤、操作、方法等。
本公开内容的外延和范围不应当受到上述示例性实施方式中的任何实施方式的限制,而应当仅根据所附权利要求和其等同内容来限定。
Claims (66)
1.一种用于语法错误检测的方法,包括:
由至少一个处理器接收句子;
由所述至少一个处理器至少部分地基于一种或更多种语法错误类型来识别所述句子中的一个或更多个目标词,其中,所述一个或更多个目标词中的每个目标词与所述一种或更多种语法错误类型中的至少之一对应;
对于所述一个或更多个目标词中的至少之一,由所述至少一个处理器使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来输出所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出关于所述语法错误类型的所述目标词的分类值;以及
由所述至少一个处理器至少部分地基于所述目标词以及所述目标词的估计分类来检测所述句子中的语法错误;
其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布。
2.根据权利要求1所述的方法,其中,至少部分地基于所述目标词的词元来提供所述目标词的上下文向量,所述词元是词的原形。
3.根据权利要求1所述的方法,所述估计还包括:
生成第一组词嵌入向量,其中,至少部分地基于所述句子中的所述目标词之前的所述至少一个词中的相应一个词来生成所述第一组词嵌入向量中的每个词嵌入向量;以及
生成第二组词嵌入向量,其中,至少部分地基于所述句子中的所述目标词之后的所述至少一个词中的相应一个词来生成所述第二组词嵌入向量中的每个词嵌入向量。
4.根据权利要求3所述的方法,其中,所述每个词嵌入向量的维数是至少100。
5.根据权利要求1所述的方法,其中:
所述目标词之前的所述至少一个词包括所述句子中的所述目标词之前的所有词;并且
所述目标词之后的所述至少一个词包括所述句子中的所述目标词之后的所有词。
6.根据权利要求1所述的方法,其中,至少部分地基于所述语法错误类型来确定所述目标词之前的所述至少一个词的数目和/或所述目标词之后的所述至少一个词的数目。
7.根据权利要求1所述的方法,所述估计还包括:
至少部分地基于所述句子中的所述目标词之前的所述至少一个词以及所述目标词之后的所述至少一个词来提供所述目标词的上下文权重向量;以及
将所述上下文权重向量应用于所述上下文向量。
8.根据权利要求3所述的方法,提供所述上下文向量还包括:
使用所述两个递归神经网络中的第一递归神经网络、至少部分地基于所述第一组词嵌入向量来提供所述目标词的第一上下文向量;
使用所述两个递归神经网络中的第二递归神经网络、至少部分地基于所述第二组词嵌入向量来提供所述目标词的第二上下文向量;以及
通过连接所述第一上下文向量和所述第二上下文向量来提供所述上下文向量。
9.根据权利要求8所述的方法,其中:
从所述句子的开头的词的词嵌入向量开始,将所述第一组词嵌入向量提供给所述第一递归神经网络;并且
从所述句子的末尾的词的词嵌入向量开始,将所述第二组词嵌入向量提供给所述第二递归神经网络。
10.根据权利要求1所述的方法,其中,所述两个递归神经网络中的每个递归神经网络中的隐藏单元的数目是至少300。
11.根据权利要求1所述的方法,其中,所述前馈神经网络包括:
第一层,其具有对所述上下文向量的完全连接的线性运算的第一激活函数;以及
第二层,其连接到所述第一层并且具有用于生成所述分类值的第二激活函数。
12.根据权利要求1所述的方法,所述检测还包括:
将所述目标词的估计分类与所述目标词的实际分类进行比较;以及
当所述实际分类与所述目标词的估计分类不匹配时,检测所述句子中的所述语法错误。
13.根据权利要求1所述的方法,还包括:
响应于检测到所述句子中的所述语法错误,至少部分地基于所述目标词的估计分类来提供所述目标词的语法错误校正。
14.根据权利要求1所述的方法,还包括:
对于所述一个或更多个目标词中的每个目标词,使用针对所述对应的语法错误类型受训的相应人工神经网络模型来估计关于该语法错误类型的所述目标词的相应分类,并且将所述目标词的估计分类与所述目标词的实际分类进行比较,以生成所述目标词的语法错误结果;
至少部分地基于所述对应的语法错误类型对所述一个或更多个目标词的所述语法错误结果中的每个语法错误结果应用权重;以及
基于所述一个或更多个目标词的语法错误结果和权重来提供所述句子的语法得分。
15.根据权利要求14所述的方法,其中,至少部分地基于与从其接收所述句子的用户相关联的信息来提供所述语法得分。
16.根据权利要求1所述的方法,其中,由本机训练样本来训练所述模型。
17.根据权利要求1所述的方法,其中,联合地训练所述两个递归神经网络和所述前馈神经网络。
18.根据权利要求1所述的方法,其中,所述模型还包括:
另一递归神经网络,其被配置成输出要输入到所述两个递归神经网络以用于生成所述上下文向量的初始上下文向量集;以及
另一前馈神经网络,其被配置成输出要应用于所述上下文向量的上下文权重向量。
19.根据权利要求18所述的方法,其中,由本机训练样本联合地训练所有的递归神经网络和前馈神经网络。
20.一种用于语法错误检测的系统,包括:
存储器;以及
至少一个处理器,其耦接至所述存储器并且被配置成:
接收句子;
至少部分地基于一种或更多种语法错误类型来识别所述句子中的一个或更多个目标词,其中,所述一个或更多个目标词中的每个目标词与所述一种或更多种语法错误类型中的至少之一对应;
对于所述一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来生成所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出关于所述语法错误类型的所述目标词的分类值;以及
至少部分地基于所述目标词以及所述目标词的估计分类来检测所述句子中的语法错误;
其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布。
21.根据权利要求20所述的系统,其中,至少部分地基于所述目标词的词元来提供所述目标词的上下文向量,所述词元是词的原形。
22.根据权利要求20所述的系统,其中,为了估计所述目标词的分类,所述至少一个处理器被配置成:
生成第一组词嵌入向量,其中,至少部分地基于所述句子中的所述目标词之前的所述至少一个词中的相应一个词来生成所述第一组词嵌入向量中的每个词嵌入向量;以及
生成第二组词嵌入向量,其中,至少部分地基于所述句子中的所述目标词之后的所述至少一个词中的相应一个词来生成所述第二组词嵌入向量中的每个词嵌入向量。
23.根据权利要求22所述的系统,其中,所述每个词嵌入向量的维数是至少100。
24.根据权利要求20所述的系统,其中:
所述目标词之前的所述至少一个词包括所述句子中的所述目标词之前的所有词;并且
所述目标词之后的所述至少一个词包括所述句子中的所述目标词之后的所有词。
25.根据权利要求20所述的系统,其中,至少部分地基于所述语法错误类型来确定所述目标词之前的所述至少一个词的数目和/或所述目标词之后的所述至少一个词的数目。
26.根据权利要求20所述的系统,其中,为了估计所述目标词的分类,所述至少一个处理器被配置成:
至少部分地基于所述句子中的所述目标词之前的所述至少一个词以及所述目标词之后的所述至少一个词来提供所述目标词的上下文权重向量;以及
将所述上下文权重向量应用于所述上下文向量。
27.根据权利要求22所述的系统,其中,为了提供所述目标词的上下文向量,所述至少一个处理器被配置成:
使用所述两个递归神经网络中的第一递归神经网络、至少部分地基于所述第一组词嵌入向量来提供所述目标词的第一上下文向量;
使用所述两个递归神经网络中的第二递归神经网络、至少部分地基于所述第二组词嵌入向量来提供所述目标词的第二上下文向量;以及
通过连接所述第一上下文向量和所述第二上下文向量来提供所述上下文向量。
28.根据权利要求27所述的系统,其中:
从所述句子的开头的词的词嵌入向量开始,将所述第一组词嵌入向量提供给所述第一递归神经网络;并且
从所述句子的末尾的词的词嵌入向量开始,将所述第二组词嵌入向量提供给所述第二递归神经网络。
29.根据权利要求20所述的系统,其中,所述两个递归神经网络中的每个递归神经网络中的隐藏单元的数目是至少300。
30.根据权利要求20所述的系统,其中,所述前馈神经网络包括:
第一层,其具有对所述上下文向量的完全连接的线性运算的第一激活函数;以及
第二层,其连接到所述第一层并且具有用于生成所述分类值的第二激活函数。
31.根据权利要求20所述的系统,其中,为了检测语法错误,所述至少一个处理器被配置成:
将所述目标词的估计分类与所述目标词的实际分类进行比较;以及
当所述实际分类与所述目标词的估计分类不匹配时,检测所述句子中的所述语法错误。
32.根据权利要求20所述的系统,所述至少一个处理器还被配置成:
响应于检测到所述句子中的所述语法错误,至少部分地基于所述目标词的估计分类来提供所述目标词的语法错误校正。
33.根据权利要求20所述的系统,所述至少一个处理器还被配置成:
对于所述一个或更多个目标词中的每个目标词,使用针对所述对应的语法错误类型受训的相应人工神经网络模型来估计关于该语法错误类型的所述目标词的相应分类,并且将所述目标词的估计分类与所述目标词的实际分类进行比较,以生成所述目标词的语法错误结果;
至少部分地基于所述对应的语法错误类型对所述一个或更多个目标词的所述语法错误结果中的每个语法错误结果应用权重;以及
基于所述一个或更多个目标词的语法错误结果和权重来提供所述句子的语法得分。
34.根据权利要求33所述的系统,其中,至少部分地基于与从其接收所述句子的用户相关联的信息来提供所述语法得分。
35.根据权利要求20所述的系统,其中,由本机训练样本来训练所述模型。
36.根据权利要求20所述的系统,其中,联合地训练所述两个递归神经网络和所述前馈神经网络。
37.根据权利要求20所述的系统,其中,所述模型还包括:
另一递归神经网络,其被配置成输出要输入到所述两个递归神经网络以用于生成所述上下文向量的初始上下文向量集;以及
另一前馈神经网络,其被配置成输出要应用于所述上下文向量的上下文权重向量。
38.根据权利要求37所述的系统,其中,由本机训练样本联合地训练所有的递归神经网络和前馈神经网络。
39.一种有形计算机可读装置,其上存储有指令,所述指令在由至少一个计算装置执行时使所述至少一个计算装置执行操作,所述操作包括:
接收句子;
至少部分地基于一种或更多种语法错误类型来识别所述句子中的一个或更多个目标词,其中,所述一个或更多个目标词中的每个目标词与所述一种或更多种语法错误类型中的至少之一对应;
对于所述一个或更多个目标词中的至少之一,使用针对对应的语法错误类型受训的人工神经网络模型来估计关于该语法错误类型的目标词的分类,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来输出所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出关于所述语法错误类型的所述目标词的分类值;以及
至少部分地基于所述目标词以及所述目标词的估计分类来检测所述句子中的语法错误;
其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布。
40.一种用于训练人工神经网络模型的方法,包括:
由至少一个处理器提供用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来输出所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出所述目标词的分类值;其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布;
由所述至少一个处理器获得训练样本集,其中,所述训练样本集中的每个训练样本包括:包括关于所述语法错误类型的目标词的句子,以及关于所述语法错误类型的所述目标词的实际分类;以及
由所述至少一个处理器至少部分地基于每个训练样本中的所述目标词的估计分类与所述实际分类之间的差来联合地调整与所述递归神经网络相关联的第一组参数以及与所述前馈神经网络相关联的第二组参数。
41.根据权利要求40所述的方法,其中,每个训练样本是没有语法错误的本机训练样本。
42.根据权利要求40所述的方法,其中,所述递归神经网络是门控递归单元(GRU)神经网络,并且所述前馈神经网络是多层感知器(MLP)神经网络。
43.根据权利要求40所述的方法,其中,所述模型还包括:
另一前馈神经网络,其被配置成输出要应用于所述上下文向量的上下文权重向量。
44.根据权利要求43所述的方法,所述联合地调整包括:
至少部分地基于每个训练样本中的所述目标词的估计分类与所述实际分类之间的差来联合地调整所述第一组参数和所述第二组参数以及与所述另一前馈神经网络相关联的第三组参数。
45.根据权利要求40所述的方法,还包括:对于每个训练样本,
生成第一组词嵌入向量,其中,至少部分地基于所述训练样本中的所述目标词之前的至少一个词中的相应一个词来生成所述第一组词嵌入向量中的每个词嵌入向量;以及
生成第二组词嵌入向量,其中,至少部分地基于所述训练样本中的所述目标词之后的至少一个词中的相应一个词来生成所述第二组词嵌入向量中的每个词嵌入向量。
46.根据权利要求45所述的方法,其中,所述每个词嵌入向量的维数是至少100。
47.根据权利要求45所述的方法,其中:
所述目标词之前的所述至少一个词包括所述句子中的所述目标词之前的所有词;并且
所述目标词之后的所述至少一个词包括所述句子中的所述目标词之后的所有词。
48.根据权利要求45所述的方法,还包括:对于每个训练样本,
使用所述两个递归神经网络中的第一递归神经网络、至少部分地基于所述第一组词嵌入向量来提供所述目标词的第一上下文向量;
使用所述两个递归神经网络中的第二递归神经网络、至少部分地基于所述第二组词嵌入向量来提供所述目标词的第二上下文向量;以及
通过连接所述第一上下文向量和所述第二上下文向量来提供所述上下文向量。
49.根据权利要求48所述的方法,其中:
从所述句子的开头的词的词嵌入向量开始,将所述第一组词嵌入向量提供给所述第一递归神经网络;并且
从所述句子的末尾的词的词嵌入向量开始,将所述第二组词嵌入向量提供给所述第二递归神经网络。
50.根据权利要求48所述的方法,其中,所述第一上下文向量和所述第二上下文向量不包括所述训练样本中的所述句子的语义特征。
51.根据权利要求40所述的方法,其中,所述两个递归神经网络中的每个递归神经网络中的隐藏单元的数目是至少300。
52.根据权利要求40所述的方法,其中,所述前馈神经网络包括:
第一层,其具有对所述上下文向量的完全连接的线性运算的第一激活函数;以及
第二层,其连接到所述第一层并且具有用于生成所述分类值的第二激活函数。
53.一种用于训练人工神经网络模型的系统,包括:
存储器;以及
至少一个处理器,其耦接至所述存储器并且被配置成:
提供用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来输出所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出所述目标词的分类值;其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布;
获得训练样本集,其中,所述训练样本集中的每个训练样本包 括:包括关于所述语法错误类型的目标词的句子,以及关于所述语法错误类型的所述目标词的实际分类;以及
至少部分地基于每个训练样本中的所述目标词的估计分类与所述实际分类之间的差来联合地调整与所述递归神经网络相关联的第一组参数以及与所述前馈神经网络相关联的第二组参数。
54.根据权利要求53所述的系统,其中,每个训练样本是没有语法错误的本机训练样本。
55.根据权利要求53所述的系统,其中,所述递归神经网络是GRU神经网络,并且所述前馈神经网络是MLP神经网络。
56.根据权利要求53所述的系统,其中,所述模型还包括:
另一前馈神经网络,其被配置成输出要应用于所述上下文向量的上下文权重向量。
57.根据权利要求56所述的系统,其中,为了联合地调整第一组参数和第二组参数,所述至少一个处理器被配置成:
至少部分地基于每个训练样本中的所述目标词的估计分类与所述实际分类之间的差来联合地调整所述第一组参数和所述第二组参数以及与所述另一前馈神经网络相关联的第三组参数。
58.根据权利要求53所述的系统,所述至少一个处理器还被配置成:对于每个训练样本,
生成第一组词嵌入向量,其中,至少部分地基于所述训练样本中的所述目标词之前的至少一个词中的相应一个词来生成所述第一组词嵌入向量中的每个词嵌入向量;以及
生成第二组词嵌入向量,其中,至少部分地基于所述训练样本中的所述目标词之后的至少一个词中的相应一个词来生成所述第二组词嵌入向量中的每个词嵌入向量。
59.根据权利要求58所述的系统,其中,所述每个词嵌入向量的维数是至少100。
60.根据权利要求58所述的系统,其中:
所述目标词之前的所述至少一个词包括所述句子中的所述目标词之前的所有词;并且
所述目标词之后的所述至少一个词包括所述句子中的所述目标词之后的所有词。
61.根据权利要求58所述的系统,所述至少一个处理器还被配置成:对于每个训练样本,
使用所述两个递归神经网络中的第一递归神经网络、至少部分地基于所述第一组词嵌入向量来提供所述目标词的第一上下文向量;
使用所述两个递归神经网络中的第二递归神经网络、至少部分地基于所述第二组词嵌入向量来提供所述目标词的第二上下文向量;以及
通过连接所述第一上下文向量和所述第二上下文向量来提供所述上下文向量。
62.根据权利要求61所述的系统,其中:
从所述句子的开头的词的词嵌入向量开始,将所述第一组词嵌入向量提供给所述第一递归神经网络;并且
从所述句子的末尾的词的词嵌入向量开始,将所述第二组词嵌入向量提供给所述第二递归神经网络。
63.根据权利要求61所述的系统,其中,所述第一上下文向量和所述第二上下文向量不包括所述训练样本中的所述句子的语义特征。
64.根据权利要求53所述的系统,其中,所述两个递归神经网络中的每个递归神经网络中的隐藏单元的数目是至少300。
65.根据权利要求53所述的系统,其中,所述前馈神经网络包括:
第一层,其具有对所述上下文向量的完全连接的线性运算的第一激活函数;以及
第二层,其连接到所述第一层并且具有用于生成所述分类值的第二激活函数。
66.一种有形计算机可读装置,其上存储有指令,所述指令在由至少一个计算装置执行时使所述至少一个计算装置执行操作,所述操作包括:
提供用于估计句子中的关于语法错误类型的目标词的分类的人工神经网络模型,其中,所述模型包括:(i)两个递归神经网络,所述两个递归神经网络被配置成至少部分地基于所述句子中的所述目标词之前的至少一个词以及所述目标词之后的至少一个词来输出所述目标词的上下文向量,以及(ii)前馈神经网络,所述前馈神经网络被配置成至少部分地基于所述目标词的上下文向量来输出所述目标词的分类值;其中,所述分类值是所述目标词在与所述语法错误类型相关联的多个类别上的概率分布;
获得训练样本集,其中,所述训练样本集中的每个训练样本包括:包括关于所述语法错误类型的目标词的句子,以及关于所述语法错误类型的所述目标词的实际分类;以及
至少部分地基于每个训练样本中的所述目标词的估计分类与所述实际分类之间的差来联合地调整与所述递归神经网络相关联的第一组参数以及与所述前馈神经网络相关联的第二组参数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/095841 WO2019024050A1 (en) | 2017-08-03 | 2017-08-03 | CORRECTION OF GRAMMAR ERRORS BASED ON DEEP CONTEXT AND USING ARTIFICIAL NEURAL NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111226222A CN111226222A (zh) | 2020-06-02 |
CN111226222B true CN111226222B (zh) | 2023-07-07 |
Family
ID=65233230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780094942.2A Active CN111226222B (zh) | 2017-08-03 | 2017-08-03 | 使用人工神经网络的基于深度上下文的语法错误校正 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP7031101B2 (zh) |
KR (1) | KR102490752B1 (zh) |
CN (1) | CN111226222B (zh) |
MX (1) | MX2020001279A (zh) |
WO (1) | WO2019024050A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176321B2 (en) | 2019-05-02 | 2021-11-16 | International Business Machines Corporation | Automated feedback in online language exercises |
CN111914540A (zh) * | 2019-05-10 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 语句鉴定方法及装置、存储介质和处理器 |
CN110399607B (zh) * | 2019-06-04 | 2023-04-07 | 深思考人工智能机器人科技(北京)有限公司 | 一种基于拼音的对话系统文本纠错系统及方法 |
CN110309512A (zh) * | 2019-07-05 | 2019-10-08 | 北京邮电大学 | 一种基于生成对抗网络的中文语法错误更正方法 |
CN110472243B (zh) * | 2019-08-08 | 2023-04-07 | 河南大学 | 一种中文拼写检查方法 |
CN110797010A (zh) * | 2019-10-31 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的问答评分方法、装置、设备及存储介质 |
CN110889284B (zh) * | 2019-12-04 | 2023-04-07 | 成都中科云集信息技术有限公司 | 一种基于双向长短时记忆网络的多任务学习中文语病诊断方法 |
WO2021124490A1 (ja) * | 2019-12-18 | 2021-06-24 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
US11886812B2 (en) * | 2020-03-02 | 2024-01-30 | Grammarly, Inc. | Proficiency and native language-adapted grammatical error correction |
CN111310447B (zh) * | 2020-03-18 | 2024-02-02 | 河北省讯飞人工智能研究院 | 语法纠错方法、装置、电子设备和存储介质 |
CN112749553B (zh) * | 2020-06-05 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 视频文件的文本信息处理方法、装置和服务器 |
CN111950292B (zh) * | 2020-06-22 | 2023-06-27 | 北京百度网讯科技有限公司 | 文本纠错模型的训练方法、文本纠错处理方法和装置 |
US11593557B2 (en) * | 2020-06-22 | 2023-02-28 | Crimson AI LLP | Domain-specific grammar correction system, server and method for academic text |
KR102517971B1 (ko) * | 2020-08-14 | 2023-04-05 | 부산대학교 산학협력단 | 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
CN112016603B (zh) * | 2020-08-18 | 2021-04-30 | 上海松鼠课堂人工智能科技有限公司 | 基于图神经网络的错因分析方法 |
KR102379660B1 (ko) * | 2020-11-30 | 2022-03-29 | 주식회사 티맥스에이아이 | 딥러닝 기반 의미역 분석을 활용하는 방법 |
CN112380883B (zh) * | 2020-12-04 | 2023-07-25 | 北京有竹居网络技术有限公司 | 模型训练方法、机器翻译方法、装置、设备及存储介质 |
CN112597754B (zh) * | 2020-12-23 | 2023-11-21 | 北京百度网讯科技有限公司 | 文本纠错方法、装置、电子设备和可读存储介质 |
KR20220106331A (ko) * | 2021-01-22 | 2022-07-29 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN114372441B (zh) * | 2022-03-23 | 2022-06-03 | 中电云数智科技有限公司 | 一种中文文本自动纠错方法及装置 |
CN115544259B (zh) * | 2022-11-29 | 2023-02-17 | 城云科技(中国)有限公司 | 一种长文本分类预处理模型及其构建方法、装置及应用 |
CN116306598B (zh) * | 2023-05-22 | 2023-09-08 | 上海蜜度信息技术有限公司 | 针对不同领域字词的定制化纠错方法、系统、设备及介质 |
CN117350283A (zh) * | 2023-10-11 | 2024-01-05 | 西安栗子互娱网络科技有限公司 | 文本缺陷检测方法、装置、设备和存储介质 |
CN117574860A (zh) * | 2024-01-16 | 2024-02-20 | 北京蜜度信息技术有限公司 | 一种用于文本润色的方法与设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494711A (zh) * | 2001-02-05 | 2004-05-05 | �Ҵ���˾ | 使用多模式输入进行多模式焦点检测,参考岐义解析和语气分类的系统和方法 |
CN101739870A (zh) * | 2009-12-03 | 2010-06-16 | 深圳先进技术研究院 | 交互式语言学习系统及交互式语言学习方法 |
CN103365838A (zh) * | 2013-07-24 | 2013-10-23 | 桂林电子科技大学 | 基于多元特征的英语作文语法错误自动纠正方法 |
US8775341B1 (en) * | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
CN105845134A (zh) * | 2016-06-14 | 2016-08-10 | 科大讯飞股份有限公司 | 自由朗读题型的口语评测方法及系统 |
CN106463113A (zh) * | 2014-03-04 | 2017-02-22 | 亚马逊技术公司 | 在语音辨识中预测发音 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG188531A1 (en) * | 2010-09-24 | 2013-04-30 | Univ Singapore | Methods and systems for automated text correction |
KR101374900B1 (ko) * | 2012-12-13 | 2014-03-13 | 포항공과대학교 산학협력단 | 문법 오류 정정 시스템 및 이를 이용한 문법 오류 정정 방법 |
KR102199445B1 (ko) * | 2014-07-30 | 2021-01-06 | 에스케이텔레콤 주식회사 | 클래스 기반 음향 모델의 변별 학습 방법 및 장치, 그리고 이를 이용한 음성 인식 장치 |
US10115055B2 (en) * | 2015-05-26 | 2018-10-30 | Booking.Com B.V. | Systems methods circuits and associated computer executable code for deep learning based natural language understanding |
US9552547B2 (en) * | 2015-05-29 | 2017-01-24 | Sas Institute Inc. | Normalizing electronic communications using a neural-network normalizer and a neural-network flagger |
US9595002B2 (en) * | 2015-05-29 | 2017-03-14 | Sas Institute Inc. | Normalizing electronic communications using a vector having a repeating substring as input for a neural network |
US20180260860A1 (en) * | 2015-09-23 | 2018-09-13 | Giridhari Devanathan | A computer-implemented method and system for analyzing and evaluating user reviews |
CN106610930B (zh) * | 2015-10-22 | 2019-09-03 | 科大讯飞股份有限公司 | 外语写作自动纠错方法及系统 |
-
2017
- 2017-08-03 KR KR1020207005087A patent/KR102490752B1/ko active IP Right Grant
- 2017-08-03 JP JP2020505241A patent/JP7031101B2/ja active Active
- 2017-08-03 CN CN201780094942.2A patent/CN111226222B/zh active Active
- 2017-08-03 MX MX2020001279A patent/MX2020001279A/es unknown
- 2017-08-03 WO PCT/CN2017/095841 patent/WO2019024050A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494711A (zh) * | 2001-02-05 | 2004-05-05 | �Ҵ���˾ | 使用多模式输入进行多模式焦点检测,参考岐义解析和语气分类的系统和方法 |
CN101739870A (zh) * | 2009-12-03 | 2010-06-16 | 深圳先进技术研究院 | 交互式语言学习系统及交互式语言学习方法 |
US8775341B1 (en) * | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
CN103365838A (zh) * | 2013-07-24 | 2013-10-23 | 桂林电子科技大学 | 基于多元特征的英语作文语法错误自动纠正方法 |
CN106463113A (zh) * | 2014-03-04 | 2017-02-22 | 亚马逊技术公司 | 在语音辨识中预测发音 |
CN105845134A (zh) * | 2016-06-14 | 2016-08-10 | 科大讯飞股份有限公司 | 自由朗读题型的口语评测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019024050A1 (en) | 2019-02-07 |
MX2020001279A (es) | 2020-08-20 |
JP7031101B2 (ja) | 2022-03-08 |
KR20200031154A (ko) | 2020-03-23 |
CN111226222A (zh) | 2020-06-02 |
JP2020529666A (ja) | 2020-10-08 |
KR102490752B1 (ko) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111226222B (zh) | 使用人工神经网络的基于深度上下文的语法错误校正 | |
Yu et al. | Learning composition models for phrase embeddings | |
Kim et al. | Two-stage multi-intent detection for spoken language understanding | |
US8131536B2 (en) | Extraction-empowered machine translation | |
CN112270379A (zh) | 分类模型的训练方法、样本分类方法、装置和设备 | |
CN111401084B (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
US20150095017A1 (en) | System and method for learning word embeddings using neural language models | |
US20140365201A1 (en) | Training markov random field-based translation models using gradient ascent | |
US20060015317A1 (en) | Morphological analyzer and analysis method | |
Woodsend et al. | Text rewriting improves semantic role labeling | |
US11669740B2 (en) | Graph-based labeling rule augmentation for weakly supervised training of machine-learning-based named entity recognition | |
US11775763B2 (en) | Weakly supervised and explainable training of a machine-learning-based named-entity recognition (NER) mechanism | |
CN112329476A (zh) | 一种文本纠错方法及装置、设备、存储介质 | |
Arvanitis et al. | Translation of sign language glosses to text using sequence-to-sequence attention models | |
CN110991193B (zh) | 一种基于OpenKiWi的翻译矩阵模型选择系统 | |
CN115935959A (zh) | 一种低资源黏着语序列标注的方法 | |
CN116629211B (zh) | 基于人工智能的写作方法及系统 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
Siddique et al. | Bilingual word embeddings for cross-lingual personality recognition using convolutional neural nets | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN114925698A (zh) | 缩略语消歧方法、装置、计算机设备和存储介质 | |
Zarir et al. | Automated image captioning with deep neural networks | |
Tkachenko et al. | Neural morphological tagging for Estonian | |
Park et al. | Classification‐Based Approach for Hybridizing Statistical and Rule‐Based Machine Translation | |
Wegari et al. | Parts of speech tagging for Afaan Oromo |
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 |