一、所学内容
自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
二、我的收获
通过这学期对自然语言课程的学习,我对自然语言处理的发展历程及其应用有了更加全面的认识。
自然语言处理技术,简称NLP,是计算机科学中的一个重要研究领域。自然语言处理技术的发展历程从20世纪50年代开始,经过了多个阶段,并不断地迭代发展,如今已经成为信息技术领域中的重要一环。在近年来,随着人工智能和大数据技术的快速发展,自然语言处理迎来了一个新的机遇期。自然语言处理在机器翻译、智能客服、智能写作、智能搜索、情感分析等方面的应用正在快速发展。此外,自然语言处理在医疗健康、金融科技、教育和新媒体等领域也得到了广泛应用。
同时,我还对自然语言处理的基本知识有了更加深刻的了解,明白了对文本等数据的分词、词性标注、句法分析等相关操作;学会了利用代码实现常见的任务:词和短语级任务---切词、词性标注、命名实体识别、同义词计算等以词为研究对象的任务;句子和段落级任务---文本倾向性分析、文本相似度计算等以句子为研究对象的任务;对话和篇章级任务---如机器阅读理解、对话系统等;自然语言生成---机器翻译、机器写作等。在一次次的实验过程中,不断增强着自己的编程能力和对具体模型、框架的简单使用。
关于自然语言处理的方法层面老师所说的大多都是目前最先进的神经网络方法,但符号方法和统计方法如今仍然经常出现,比如说当训练数据量不足以成功应用机器学习方法之时,抑或是用于 NLP 管道中的预处理,后处理以及转换NLP 管道的输出都可以再次应用符号方法,同时统计方法也与需要统计可解释性和透明度的环境相关。而有关于神经网络的自然语言处理书本上也有很清楚的说明,接下来我们就加深了解一下自然语言处理的相关应用,首先是文本和语音处理,包括光学字符识别(OCR),也即将打字、手写或打印文本的图像以电子或机械方式转换为机器编码文本,无论是来自扫描文档、文档照片、场景照片或叠加在图像上的字幕文字,还有语音识别、语音分割以及语音合成,其次是词汇语义和句法分析,包括各种语法归纳、语法解析、词汇语义以及分布语义,甚至是情绪分析。这些初级应用也为自动摘要(文本摘要)、语法错误纠正、机器翻译、自然语言生成(NLG)、自然语言理解(NLU)以及机器问答等高级应用提供了基础。
三、自我检讨
对比这学期刚开始时自己所制定的目标,我想我是做到了一部分:有认真学习、认识了文本的各种有关模型;但是在对模型进行应用时,发现漏洞百出,对模型的认知还浮于表面,没有深入地理解模型的内在结构;特别是对于机器翻译、机器阅读理解的相关模型。就拿Transformer 模型来说,其作用如下。
Transformer 模型中没有循环结构,而是把序列中的所有单词或者符号并行处理,同时借助自注意力机制对句子中所有单词之间的关系直接进行建模,而无需考虑各自的位置。具体而言,如果要计算给定单词的下一个表征,Transformer 会将该单词与句子中的其它单词一一对比,并得出这些单词的注意力分数。
我就没能理解其中的编码组件和解码组件的构成、起什么作用;怎么用代码完成它的搭建等一系列流程都让人感到非常茫然。还有就是使用深度学习解决自然语言处理任务的套路还不能熟练的使用。在使用深度学习解决自然语言处理任务一般需要经历如下几个步骤:处理数据。 实现网络。 模型训练。 评估&上线;问题往往出在实现网络那一部分,由于没学懂导致对参数的调整经常失误,结果达不到理想的预测识别。
四、自我评价
通过对一下学期下来各种任务的完成,我将每月平均成绩以折线图形式展现出来,还有平时代码、博客学习的量化;在图上,我们可以清晰的看出从刚开始的不适应课堂模式,到后来的得心应手。
五、努力方向
为了在今后的学习中,我能够更好的提高自己,能够用结合语言的特征信息来增加模型的可解释性,进一步改善学习算法,我做出如下计划:
1、首先要更加了解熟悉nlp领域的基本术语、任务定义以及一些基本算法,结合一些不错的工具实践,比如经典的jieba、hanlp、snownlp、stanfordcorenlp、spaCy、pyltp、nltk、textblob、gensim、scikit-learn等,以及最近的pkuseg、flair等等。通过这些熟悉比如任务的输入输出、评价指标以及应用场景等等。
2、配合吴恩达老师、李宏毅老师的相关课程来巩固知识,加深对知识点的应用。
3、当知识贮备到一定量的时候,自身的能力也提升上来了,此时就可以直接看第一手资源了:官方API和论文,来开拓眼界。
希望能够利用好接下来的暑假,独立实现NLP的一些经典实例,并且读懂更多的代码,能够解决好GPU版本的虚拟环境下深度学习框架的问题,可以成功使用。