论文部分内容阅读
在最近几年的发展中,随着计算机的计算能力的显著提高和研究人员的在计算机算法的不断的努力,自动语音识别技术性能和准确度上有了显著的提高,已经达到满足人们在日常生活使用的基本要求,自动语音识别在工业和日常生活中越来越受欢迎。语音识别技术已经广泛应用于智能家居系统、会话转录器、语音听写技术和同声传译等领域,给人们的日常生活和工作带来了极大的便利。在大多数情况下,语音识别技术把语音信号被转录成文本信息,然后对文本进行相应的分析和后处理。在这种情况下,转录文本的质量的好坏直接影响后续任务的执行从而影响产品的性能和用户的体验。然而,由于在日常人们交流说话的时候对标点是不发出声音的,这也导致大多数自动语音识别系统不能识别标点只生成没有任何标点符号的文字序列。然而标点对于文本是不可或缺的组成部分,标点在句子中起到停顿和语气的作用,它通常强调某些单词或短语,从而更好地表达句子的意思。缺少标点符号会导致一些问题如,使人类读者对句子理解造成困扰同时影响现有的自然语言处理算法的性能,如机器翻译,摘要提取,人机对话等任务。所以如何对一段文字自动加标点是很重要的任务。为了阐述上述的问题,我们给出两个例子,第一是两段相同的文字,一个有标点符号,另外一个没有标点符号如下:(1)“在以往的研究中主要的方法是利用声学特征和文本特征如词性标记词之间的停顿时长词的矢量音高等。”。(2)“在以往的研究中,主要的方法是利用声学特征和文本特征,如词性标记、词间停顿时长、词向量、音高等。”。很明显,标点符号的句子比没有标点符号的句子更容易理解。第二个例子:即使文本是一样的,如果你用不同的标点符号,它也会有不同的含义,比如“女人,没有她的男人,什么都不是。”和“女人:没有她,男人什么都不是。”我们很容易看到两个句子有不同的意思。缺少标点符号会导致一些问题,使人类读者和现成的自然语言处理算法都感到困惑。因此,在识别的文本中自动添加标点符号非常重要。提高标点预测的准确性和标点预测模型的鲁棒性,将极大地改善自然语言处理的环境,更有效地促进计算机与人类的互动,使人们更好地融入信息时代。到目前为止,已经有很多关于自动标点预测的研究。在深度学习成为一种趋势之前,主要的方法是人工规则,随着数据量的增加,一些基于统计的方法成为主流,例如使用N-Gram语言模型对有标点符号的文本进行训练,或者将标点符号预测任务视为序列标注任务,然后使用条件随机场来解决。随着深度学习的发展,许多研究者开始将其用于标点符号预测任务。人们的交流通常跨越多个领域,然而每个领域都有自己的词汇和写作风格,因此,考虑领域信息有助于标点符号的预测。在以往的研究中,主要的方法是利用声学特征和文本特征,如词性标记、词向量、词间停顿时长、音高等。然而,很少有研究考虑不同领域的特殊性。基于这些原因,我们将在考虑领域的信息对文本进行加标点,在实验中使用了从2005年到2011年新浪新闻订阅频道收集的THUCNews语料库这个数据库是由清华学收集建立,包含74万篇各类的新闻文档(2.19 GB),均为UTF-8纯文本格式其中包含科学、技术、时政、游戏、家具、教育等领域的文本用于训练标点预测模型的数据。在我们的实验中我们使用他部分数据,本次实验有两个大小相似的领域不同训练集EX-Sport和EX-Multi和一个测试集EX-Test。EX-Sport训练集仅包含体育领域中的文本,包含53768个段落,EX-Multi集合包含多个领域中的文本,每个领域中有5500个段落。测试集EX-Test还包含多个领域的文本每个领域中有500个段落。对于英语句型,句子中的每个单词都用空格隔开。明显的区别。因此,对于中文自然语言处理,首先将中文文本中的字符串切割成合理的词序列,然后在此基础上进行其他分析处理。所以分词对汉语自然语言处理任务来说是十分重要步骤之一。在中文分词方面也有很多先进的研究。常用的分词工具有:SCWS(简体中文分词)分词、搜狗分词、THULAC(清华大学中文词法分析器)分词、斯坦福自然语言处理分词和结巴分词,其中THULAC分词工具是使用最大的人工分词语料库训练的。相比之下,它工作性能和准确度都很好,所以在这个实验中,我们使用THULAC对句子进行分词。众所周知,传统的机器学习方法和深度学习方法只能处理数值类型数据。对于字符类型数据,需要将其转换为数字类型数据。在词向量出现之前,研究人员经常使用One-Hot编码将字符转换成离散数据。One-Hot编码简单易于转换和使用。然而,每个词向量都是相互独立的,所以我们很难找到词之间的联系。不同的情况编码会导致相同内容对应编码值的随机变化,编码的大小会随着数据量的增加而变大。有1000个词汇。文章的第一个位置“你”,然后这个“你”由1000维的向量表示,[1,0,0,0,0,0,…,0],只有第一个位置是1,其余位置是0。如果将单词的One-Hot向量放在一起形成一个矩阵,将会导致矩阵过于稀疏,并产生维数灾难等问题。随着神经网络的发展,研究者们提出了一些新的方法,例如词向量可以很好地解决One-Hot编码带来的问题。词向量是一种使用机器学习模型将单词映射到大规模文本的低维度向量空间的技术。训练单词嵌入有两种方法,一种是使用Skip-Gram,另一种是使用CBOW。在CBOW的训练中它根据目标词所在的原始句子的上下文来预测目标词,如{“天津”,“大学”,“是”,“中国”,“第一”“所”,“现代”,“大学”。},使用“大学”,“是”,“中国”,“第一”“所”,“现代”,“大学”作为输入来预测“天津”。在Skip-gram训练中,使用“天津”作为输入来预测其他词汇“大学”,“是”,“中国”,“第一”“所”,“现代”,“大学”。,而在Skip-Gram的训练中它使用目标词来预测原始句子的信息。在Skip-gram训练中,使用“天津”作为输入来预测其他词汇“大学”,“是”,“中国”,“第一”“所”,“现代”,“大学”。从而可以学习不同单词之间的关系,由于单词嵌入不仅可以学习单词之间的关系,还可以捕捉语义关系,因此它作为文本特征被广泛应用于许多自然语言处理任务和标点预测任务中并取得很好的效果。所以在本研究中我们将采取词向量作为训练模型的基本特征。在本研究中,我们将标点符号预测任务视为序列标签的预测任务,序列标签预测任务的主要目标是预测每个单词后的标点符号。我们统计了使用数据库中每个领域的主要标点符号(逗号、句号、问号、感叹号)的分布情况。通过统计数据,我们可以发现逗号和句号在所有领域的文本中都占了很大的比例,超过90%,并且逗号的比例明显高于句号。问号和感叹号只占整体的一小部分。通过进一步统计,我们发现标点符号在不同领域的分布有明显的差异。时尚和游戏文本中感叹号的比例高于问号,而其他领域中感叹号的比例低于问号。时尚和游戏中问号和感叹号的比例高于其他领域。在这个实验中,我们还计算了两个连续的标点符号在不同领域的概率,这可以在附录中看到。由于逗号和句号占据了标点符号的很大一部分,因此在所有域文本中,两个连续的逗号和逗号后跟句号的情况最常见。然而,科技领域文本中两者之间的频率差异并不明显,两个连续逗号的频率为37.86%,逗号后跟句号的频率为28.63%。从其他连续标点分布表中,我们可以看到其他连续标点分布也是不同的。上述分析还表明,不同领域的标点信息是不同的。本研究主要致力于预测四种最重要和最常见的标点符号:逗号、句号、问号和感叹号。依据以前研究人员的研究,我们将分号和冒号被逗号代替,其他标点符号从语料库中删除。我们把标点符号预测任务看作是每个单词后面的标点符号是什么的分类问题。同时定义了一个特殊的符号“O”,用来表示在单词后面没有标点符号即空格。在本次实验中训练模型的输入是单词序列,例如“我喜欢她的幽默,你呢?”。输入是“我喜欢她的幽默你呢”,输出是对应一系列标点符号,如“O O O O O,O?”。本实验将基于BiLSTM模型为基线模型,因为它可以很好的考虑上下文的信息,在一段文中如何添加合适的标点很显然不仅仅和标点前面的词语有关,后面的词语同时也影响着标点,例如,如果我们仅仅考虑前面的文本信息将初夏如下情况:“我喜欢她,的幽默。你呢?”这显然是存在却问题的,正确的预测应该考虑后面“幽默”这个单词在此之后添加句号如:“我喜欢她的幽默。你呢?”在此我们简单介绍一下该模型在时间步长t的输出是放置在单词Ct-1和单词Ct之间的不同标点的概率。我们使用单词嵌入编码单词的序列C=(C1,…,CT)作为双向长短期记忆层的输入。双向长短期记忆层由两个LSTM层组成,其中正向LSTM层处理正向的值序列,反向LSTM层处理反向的值序列。两个LSTM层使用带权重的共享层来处理信息。前向LSTM层的隐藏状态是时间步长t处的(?),反向LSTM层的隐藏状态(?)的计算方法与以前向LSTM层序列的方法相同。BiLSTM层(?)的隐藏状态然后通过在步骤时间t结合前向LSTM层的隐藏单元(?)和后向LSTM层的隐藏单元(?)的状态来构造的(?)。因此,双向LSTM可以利用前后的语句(例如,“我喜欢她的幽默”)来学习每个输入单词的表达,这可以帮助模型更好地识别经常依赖于语境的标点符号。然后输出层在时间步t产生标点概率(?),如下(?)。然而人们的交流通常跨越多个领域,每个领域都有自己的词汇和文本风格,因此考虑领域信息可能有助于标点符号预测任务。为了考虑领域信息,我们提出了一种添加领域标签模型,将领域标签转换成一个One-Hot编码,并将其与作为模型输入的词嵌入向量相结合。从而很直接的学到领域的信息提高模型性能。然而,该模型存在一个问题,在预测句子的标点符号时,需要知道句子属于哪个领域,一般来说,在给一段文本加标点符号时,句子属于哪个领域是未知的,这给标点符号的预测带来了很大的不便。同时词嵌入是代表单词和单词之间的关系,当和One-Hot编码结合的时候,它可能会影响性能。为了解决这个问题,更好地考虑领域信息,本部分提出了采用多任务学习的MTL-BILSTM模型。一般来说,领域信息对于标点符号预测任务来说很难学习,而对于一些与领域信息相关的任务,如领域分类,则很容易学习。为了在标点符号预测任务中使用领域信息,然而在通常的机器学习算法的优化目标是某一个特定的度量,人们通常一这个目标为目标对参数进行不断的微调,直到这个目标不能在优化为止,虽然单任务的模型优化可以使模型的达到这个目标,但是单任务的模型训练使模型只注重优化本身的目标度量从而导致模型忽略其他对优化有用的信息,从而导致任务存在偏差,然而多任务学习可以使模型在一定程度上共享不同任务的参数,从而使得原来的任务具有更好的泛化能力。多任务学习有如下的优点(1)增加隐式的数据。例如,我们使用两个任务:任务一和任务二,由于在深度学习中每个任务在深度学习模型训练的时候都存在信息的噪声,当在训练任务一的时候,在理想的状况下,训练时候的目标有很好的表现,在通常情况下有良好的泛化能力,但是事实并非如此,在通常情况下由于噪音信息的缘故会有过拟合或欠拟合的情况出现。在多任务学习的时候,同时训练多个任务则会使模型减少对噪音的关注度,可以学习到更多的任务的一般表征,所以任务一和任务二的的联合学习可以使得模型获得更好的表征。(2)通过多任务学习,使模型能够窃听。例如,通过任务二很容易学习特征X,但是通过任务一很难学习这个特征。导致这种现象有很多原因:1)任务一以更复杂的方式与特征X交互。2)可能是其他的特征学习阻碍了模型学习特征X的学习的能力。通过多任务学习,模型可以使任务一从任务二学习特征X。最简单的方法是制作模型来预测任务需要的特征(3)多任务学习有助于模型关注重要特性。例如在数据的维度很高且数量有限时,模型可能不容易区分相关和不相关的特征。通过使用多任务学习,另一个任务将为一些相关或不相关的特征提供更多的证据,从而帮助模型关注相关的特征。基于此本研究使用MLT-BILSTM模型,该模型有两个任务,一个是标点符号预测,另一个是领域分类。在该模型中,两个任务在共享层一起训练参数,使得标点预测任务可以从领域分类任务中获取领域信息。在该模型中,我们只使用没有标点符号的句子作为输入,句子所属的领域D和标点符号序列:{y1,y2,…,yt}作为训练的输出目标,因此,该模型可以在考虑领域信息的同时学习标点符号预测能力。同时,这种模式在预测标点符号时只需要一个不精确的单词序列,从而避免了添加领域标签模型因需要句子领域标签而带来的局限性。在我们的研究中,我们使用反向传播算法来训练所有的深层神经网络。网络使用Adam优化器更新每个训练示例的权重,Adam优化器的学习率为0.001。在我们的神经网络模型中,每个LSTM层有256个单元LSTM单元,我们在单词输入和LSTM层之间使用嵌入层,嵌入层的维数根据经验设置为128。由于中文单词较多,本实验中使用的输入词汇是由本语料库中出现频率最高的10万个中文单词和两个特殊符号组成,一个用于表示未知单词(未出现在本词汇表中的单词),另一个用于表示输入结束。在本研究中,我们首先验证了领域信息对于标点符号预测任务是有用的,然后我们提出了两种考虑领域信息的方法来完成这项工作。为了验证领域信息对标点预测任务的有效性,本研究使用双向长短期记忆神经网络模型作为基线,并在两个大小相似的不同训练集上训练模型,一个训练集只包含一个领域文本,另一个训练集包含多个领域文本,并在同一个训练集上对它们进行测试。多领域训练的性能较好,表明领域信息对于标点符号预测任务是有用的。对于在标点预测任务中使用领域信息,我们使用两种方法,第一种添加领域信息的方法是将领域标签转换成一个One-Hot编码器。然后结合词向量作为神经网络的输入。另一种方法是使用多任务学习(MTL),因为MTL可以帮助模型把注意力集中在那些实际上很重要的特征上,因为其他任务将为这些特征的相关性或不相关性提供额外的证据。我们提出了一个基于多任务学习(MTL)方法的标点预测模型,它有两个任务,一个是标点预测,另一个是领域分类。在该模型中,两个任务在一个共享层一起训练参数,这样标点预测任务可以从领域分类任务中获得领域信息。在本次实验结果表明,MTL-BILSTM模型优于BLSTM-Sport模型。这一结果支持了我们领域信息对标点预测是有用的这一观点。考虑领域信息的提高了标点预测模型的性能。在MTL-BILSTM的模型中我们计算了精确度,Recall,以及每个标点符号的F1分数(F1)。通过多任务学习获取领域信息后,我们可以看到所有标点的预测准确率性能都得到了提高。本文提出并验证了领域信息有助于标点符号预测任务,同时提出了考虑领域信息的两个模型一个是在训练时候加入领域标签,另外一个是使用多任务学习的方法学习领域信息。然而,领域信息在我们的研究中还没有被充分利用。此外,在我们的调查中,还有一些使用领域信息的其他自然的语言处理任务。研究人员在情感分类任务中使用了领域注意。这对我们的工作有很大的启发。在未来,我们的着重于找到其他方法,可以充分考虑领域信息。在此次实验中我们的整体性能提高16.8%,但每一个标点符号的性能只是1%~2%的绝对提高,由于文本中有太多的空格,在性能方面还有很大的改进空间。下一步我们将探索如何解决这个问题从而提升模型的整体性能。