Skip to content

carfly/scir-training-day

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

训练日

简介

我们想通过这样一个项目,给新进实验室的同学提供一些简单的和自然语言处理相关的Linux命令,脚本的训练。 希望做题的同时,能够掌握一些基础的shell和脚本,同时又能对数据有一定的认识,同时能够接触一些nlp的基础问题。

现在,我们的大部分题目集中在shell和python的使用,未来可能会加入一些其他语言的练习。 当然,未来,我们也希望程序用程序自动完成判题。

内容

参考资源

自然语言处理相关参考书和在线课程

shell练习

  1. shell基础练习
  2. grep练习
  3. awk练习
  4. sed练习
  5. sort练习

python练习

  1. BI标注词序列转换
  2. NGram统计
  3. 正向最大匹配分词
  4. HMM词性标注
  5. NumPy向量处理与SciPy稀疏矩阵(sparse matrix)操作

用法

首先需要将训练题下载下来,这个过程中,可能需要一些git的知识。 具体来讲,你需要做如下几件事:

  1. 下载一个和自己的操作系统相符的git
  2. 注册一个github账号
  3. 将这个项目fork到自己的账户下
  4. 将项目clone到本地

然后开始做题吧!

举shell练习中的第一题为例,来说明应该如何做题。

首先,题目写在对应文件夹的README.md中。这道题要写

编写一个shell脚本1.sh,这个脚本接受一个命令行参数,并把这个参数打印两次到标准输出。 如果输入没有参数输入或者有多于一个参数输入,输出"error"。

我们可以编写一个脚本1.sh

if [ $# != 1 ] ; then 
  echo "error"
else
	echo $1$1
fi

然后,为了验证程序的正确性,可以运行自动测试脚本run.py进行测试。由于脚本调用1.sh文件,所以为了使用自动评测文件名一定要正确命名。

看到运行结果

Test  0
=======
+ RUNNING
 -- sh 1.sh yes
+ RESULT
 -- Passed!

Test  1
=======
+ RUNNING
 -- sh 1.sh
+ RESULT
 -- Passed!

2 Runs, 2 Pass

表明进行了两个测试,并且都通过了。

保持更新

由于题目、数据都会不断更新,所以使用者应该注意与原项目保持更新。

具体做法可以参考

自动评测(开发者)

现在已经实现了一些自动评测的功能,其中包括

  • stdout与制定字符串对比
  • stdout与文件对比

计划是可以做成像这个这样,这部分还在完善。

About

a small traing program for new crews of hit-scir

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%