“New-stu-training”的版本间的差异

来自SUDA-HLT
跳到导航 跳到搜索
(创建页面,内容为“ === 分字 === === 最大匹配分词 === === 有监督HMM词性标注 === 输入:严守一 把 手机 关 了 输出:严守一/NR 把/P手机/NN关/VV 了...”)
 
第1行: 第1行:
 +
== 说明 ==
 +
 +
* 所有俱乐部同学,包括刚进入实验室的研究生,都要做NLP基础编程练习,一方面提高编程能力,另一方面打好机器学习和自然语言处理的基础
 +
* 我们精心设计了一系列的基础练习作业,从简单到复杂,逐步深入:[http://hlt.suda.edu.cn/~zhli/teach/cip-2015-fall/ 题目(课程)主页]
 +
* 请直入主题,从题目出发,按照推荐的顺序,逐一做
 +
* 遇到一个题目,去下面的课件或讲义中寻找相关内容,进行快速学习和理解
 +
** 做基础练习的时候,要关注主要知识点,不要陷入细枝末节,否则的话,进度就太慢了。比如随机过程,这个本身是非常大的一个概念,千万不要钻进去学习,了解其基本概念、例子即可。
 +
** 总之,一切以正确完成编程题目为主要目标,先做出来,然后做对,最后做好
 +
** 我相信,等编程作业做完了,很多知识点就会有自己的理解了
 +
* 注意,<font color="#FF0000">千万不要直接看别人写好的代码,一定要努力自己去理解和消化。</font>一定要有一个自己思考的过程,尽最大努力自己写代码,即使效率低,准确率差,也没关系。通过自己的思考,逐渐优化和提高。这个过程非常重要,很有意义。
 +
* 另外,<font color="#FF0000">尽量不要在网上找各种参考资料。</font>虽然我的讲义很精简,但是如果仔细看,认真思考,推导,一定能搞明白。这个过程也很重要,对自我提升很有帮助。
 +
** 任何一个理论或方法,从不同角度都可以进行解释,看的角度多了,就没有自己的角度了。网上的各种资料,都是从不同角度来说同一个事,看多了就乱了。
 +
* 如果有问题,可以找自己的mentor去讨论,如果mentor也不懂,那说明mentor也没理解,就可以发邮件给老师。
 +
 +
 +
== 基础编程训练列表 ==
  
  
第39行: 第55行:
  
 
=== 基于BiLSTM-CRF的词性标注 ===
 
=== 基于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

2020年6月14日 (日) 03:46的版本

说明

  • 所有俱乐部同学,包括刚进入实验室的研究生,都要做NLP基础编程练习,一方面提高编程能力,另一方面打好机器学习和自然语言处理的基础
  • 我们精心设计了一系列的基础练习作业,从简单到复杂,逐步深入:题目(课程)主页
  • 请直入主题,从题目出发,按照推荐的顺序,逐一做
  • 遇到一个题目,去下面的课件或讲义中寻找相关内容,进行快速学习和理解
    • 做基础练习的时候,要关注主要知识点,不要陷入细枝末节,否则的话,进度就太慢了。比如随机过程,这个本身是非常大的一个概念,千万不要钻进去学习,了解其基本概念、例子即可。
    • 总之,一切以正确完成编程题目为主要目标,先做出来,然后做对,最后做好
    • 我相信,等编程作业做完了,很多知识点就会有自己的理解了
  • 注意,千万不要直接看别人写好的代码,一定要努力自己去理解和消化。一定要有一个自己思考的过程,尽最大努力自己写代码,即使效率低,准确率差,也没关系。通过自己的思考,逐渐优化和提高。这个过程非常重要,很有意义。
  • 另外,尽量不要在网上找各种参考资料。虽然我的讲义很精简,但是如果仔细看,认真思考,推导,一定能搞明白。这个过程也很重要,对自我提升很有帮助。
    • 任何一个理论或方法,从不同角度都可以进行解释,看的角度多了,就没有自己的角度了。网上的各种资料,都是从不同角度来说同一个事,看多了就乱了。
  • 如果有问题,可以找自己的mentor去讨论,如果mentor也不懂,那说明mentor也没理解,就可以发邮件给老师。


基础编程训练列表

分字

最大匹配分词

有监督HMM词性标注

输入:严守一 把 手机 关 了 输出:严守一/NR 把/P手机/NN关/VV 了/SP

基于线性模型的词性标注

判别模型

Partial feature

基于最大熵模型的词性标注

梯度下降方法,Adam

基于全局线性模型的词性标注

基于CRF模型的词性标注

全局概率。期望。Forward-backward结合。

基于前馈神经网络(FFN)的词性标注

必须自己实现前向计算loss,和backpropagation。

基于FFN-CRF的词性标注

仍然自己实现前向计算loss,和backpropagation。

基于BiLSTM的词性标注

可以利用Pytorch自带的。Dropout等的使用,是关键。

基于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