查看“New-stu-training”的源代码
←
New-stu-training
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
== 李正华TODO == 我的PPT不好,有的要简化,例如GB编码没有具体说明:两个字节,第一个字节怎么样。 有的需要更详细、更丰满。 == 说明 == * 所有俱乐部同学,包括刚进入实验室的研究生,都要做NLP基础编程练习,一方面提高编程能力,另一方面打好机器学习和自然语言处理的基础 * 我们精心设计了一系列的基础练习作业,从简单到复杂,逐步深入:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/ 题目(课程)主页] * 请直入主题,从题目出发,按照推荐的顺序,逐一做 * 遇到一个题目,去下面的课件或讲义中寻找相关内容,进行快速学习和理解 ** 做基础练习的时候,要关注主要知识点,不要陷入细枝末节,否则的话,进度就太慢了。比如随机过程,这个本身是非常大的一个概念,千万不要钻进去学习,了解其基本概念、例子即可。 ** 总之,一切以正确完成编程题目为主要目标,先做出来,然后做对,最后做好 ** 我相信,等编程作业做完了,很多知识点就会有自己的理解了 * 注意,<font color="#FF0000">千万不要直接看别人写好的代码,一定要努力自己去理解和消化。</font>一定要有一个自己思考的过程,尽最大努力自己写代码,即使效率低,准确率差,也没关系。通过自己的思考,逐渐优化和提高。这个过程非常重要,很有意义。 * 另外,<font color="#FF0000">尽量不要在网上找各种参考资料。</font>虽然我的讲义很精简,但是如果仔细看,认真思考,推导,一定能搞明白。这个过程也很重要,对自我提升很有帮助。 ** 任何一个理论或方法,从不同角度都可以进行解释,看的角度多了,就没有自己的角度了。网上的各种资料,都是从不同角度来说同一个事,看多了就乱了。 * 如果有问题,可以找自己的mentor去讨论,如果mentor也不懂,那说明mentor也没理解,就可以发邮件给老师。 == 参考书目 == * Chris Manning. 2005. 统计自然语言处理基础. * [http://web.stanford.edu/~jurafsky/slp3/ Dan Jurafsky. Speech and Language Processing] * 宗成庆. 2008. 统计自然语言处理. * 李航. 2012. 统计学习方法. * [http://neuralnetworksanddeeplearning.com/index.html Michael Nielsen. Neural networks and deep learning] * [https://nndl.github.io QiuXipeng. 神经网络与深度学习] ... == 数据(utf8编码) == === CoNLL格式的含义 === * 每个词占一行,每行的第2列为当前词语,第4列为当前词的词性,第7列为当前词的中心词的序号,第8列为当前词语与中心词的依存关系。句子与句子之间以空行间隔。 === 最大匹配分词数据 === * [http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/5-chinese-word-segmentation/data.conll 分词数据] === 词性标注数据 === * [http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/6-ngram-language-model/data.tar.gz 小数据集] {| class="wikitable" ! style="text-align:left;"| 训练 ! 开发 |- | 803句 | 1910句 |- |} * [http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/ctb5-postagged.tar.gz 大数据集] {| class="wikitable" ! style="text-align:left;"| 训练 ! 开发 ! 测试 |- | 16091句 | 803句 | 1910句 |- |} * 示例: 输入:严守一 把 手机 关 了 输出:严守一/NR 把/P手机/NN关/VV 了/SP == 基础编程训练列表 == '''一些同学的代码,不同同学的代码可以看不同的branch''':[https://github.com/SUDA-LA/CIP github网址] === 分字 === 给定文件,将文件中的句子按照字(字符)切分,字符中间用空格隔开。用C/C++实现。Python(3.0)可以直接用split处理UTF8编码的字符串,也试试,对比一下结果。 * 参考资料:[[File:Chinese-encoding.pdf]] * 数据:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/2-chinese-encoding/example.tar.gz 几个不同编码的文件],可以用hexdump查看。也可以自己生成不同编码的文件。 === 最大匹配分词 === * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/5-chinese-word-segmentation/max-match.ppt 最大匹配] === 有监督HMM词性标注 === * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/7-hmm-tagging/collins-tagging.pdf Collins教授课件]、[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/7-hmm-tagging/main.pdf 李正华老师课件]、[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/7-hmm-tagging/HMM-v2.pptx 理解HMM的Viterbi]、[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/7-hmm-tagging-MLE/main.pdf HMM模型中极大似然估计的由来(公式推导)] === 基于线性模型(linear model)的词性标注 === * 要点:判别模型、partial feature * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/9-linear-model/main2.pdf 李正华老师课件] === 基于最大熵(max-entropy,log-linear)模型的词性标注 === * 要点:梯度下降方法,Adam优化 * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/10-maxent-loglinear/main.pdf 李正华老师课件]、[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/10-maxent-loglinear/collins-loglinear.pdf Collins教授课件] === 基于全局线性模型(global linear model)的词性标注 === * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/11-global-linear-model/main.pdf 李正华老师课件] === 基于条件随机场(conditional random field,CRF)模型的词性标注 === * 要点:全局概率、期望、Forward-backward结合、viterbi解码 * 参考课件:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/12-crf/main.pdf 李正华老师课件] === 基于前馈神经网络(FFN)的词性标注 === * 要点:必须自己实现前向计算loss,和backpropagation。 * 参考:[http://neuralnetworksanddeeplearning.com/ 神经网络入门书籍] 基本阅读完前三章即可完成本任务 === 基于FFN-CRF的词性标注 === * 要点:仍然自己实现前向计算loss,和backpropagation。 * 提示:将神经网络输出看成发射矩阵,之后加上转移矩阵 * 参考:[https://createmomo.github.io/2017/09/23/CRF_Layer_on_the_Top_of_BiLSTM_2/ 关于神经网络后加CRF层的理解]、[https://createmomo.github.io/2017/11/11/CRF-Layer-on-the-Top-of-BiLSTM-5/ CRF loss的计算] === 基于BiLSTM的词性标注 === * 要点:可以利用Pytorch自带的。Dropout等的使用,是关键。 * 参考:[https://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html DEEP LEARNING FOR NLP WITH PYTORCH] 其中关于pytorch的使用、词嵌入、LSTM的内容,[https://zybuluo.com/hanbingtao/note/581764 LSTM理论知识] === 基于BiLSTM-CRF的词性标注 === * 参考:[https://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html DEEP LEARNING FOR NLP WITH PYTORCH] 其中关于BiLSTM-CRF的内容 == 后续自主学习扩展 == === 基于图的依存句法分析 === 直接用神经网络实现即可。Biaffine Parser框架。 重点:Eisner动态规划解码算法(看我的COLING-2014 tutorial) 进而可以扩展到TreeCRF,将Eisner算法扩展为inside算法。 具体看我们的ACL-2020文章:Yu Zhang et al. === 基于转移的依存句法分析 === 了解一下转移系统 === Seq2Seq (RNN) NMT with attention === 了解一下语言生成 === Transformer NMT === 这里面的技术细节很多。 === 无监督学习 === HMM-EM VAE === ELMo/BERT的原理 ===
返回至
New-stu-training
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
新闻
成员介绍
研究组
科研项目
发表论文
在线演示
工具
链入页面
相关更改
特殊页面
页面信息