第一周内容

  首先要吐槽一下这个博客园,就在刚刚,我写到最后一行的时候,它竟然崩溃了。我不知道是浏览器的问题还是这个编辑器的问题,没办法我只能又重新开始码一些重复的字。对于这个问题,我学到了两点:一是少写废话;二是多保存进度。

  第一周老师提出了一些课程要求,如使用博客,github等。说来也是惭愧,自己很久以前就想有个人的技术博客,也曾经前端后台的自己实现了一个,可最后也就不了了之了。关于使用github,以前也有过冲动,但也因为懒的原因没有真正的用过,可能也因为自己既不参加开源项目也没有什么拿得出手的项目可以挂在github上的原因。借着课程学习的机会,自己也学了学git的使用。记录如下:

  第一次使用github大概有以下的步骤

    1.安装Git

    2.生成ssh key    

     使用命令  ssh-keygen -t rsa -C "github账号注册使用的邮箱地址",这会生成一个ssh key。

    3.将 ssh key 添加到github账号。

     在github Account Settings 中添加id_rsa.pub文件中生成ssh key。

    4.验证key是否添加成功

     输入ssh -T git@github.com 

   当key添加成功之后,可以使用下面的基本命令开始管理自己的代码了。

 

git init 初始化本地git仓库

git remote add origin <server> 将本地仓库与远程仓库关联起来

git add <file> 将文件添加到Index(缓存区)

git commit - m "infomation" 向本地仓库提交更改

git push origin <branch_name> 提交更改到远程仓库

git pull origin <branch_name> 更新本地分支

git checkout -b <branch_name> 在本地创建一个分支

git branch -d <branch_name> 删除本地分支

git push origin --delete <branch_name> 删除远程分支

git push origin <branch_name>  推送本地分支到远程分支

git checkout <branch_name> 切换到对应分支

  然后来说说第一次作业,我选择了词频统计程序并使用了python来实现它。为什么使用python呢?一是本人刚接触python不久,希望多练习python;二则是因为python的绘图功能挺强大,方便我最后结果的展现。程序的思路为按行读取文件,并将每行中的字母全转为小写,然后使用正则将所有非字母的字符转化为空格(这里可能存在异议,有些词如state-of-the-art在我这个程序里面会被看出四个词),最后按空格将每行分成一个一个的词并使用一个字典(python中,hashmap被称为dict)记录每个词出现的次数,最后画图呈现结果。程序对小说Solitude for One Century的词频统计结果如下图:

  由于原文存在10827个不同的单词,全部显示在一个图里非常难看,所以左图只选择显示了前50个词的词频柱状图,可以看到单词the,of,and这类的词出现频率极高,这些在对文本分词选特征的时候应该都视作停用词去掉,因为它们在每个文章中都重复出现对模型的学习起不到任何的帮助。从右图可以看到,这篇文章中的常用词大概也就400-500个。

  代码已经上传到https://github.com/pppppY/Work/blob/master/word_segmenter/segmenter.py

 

 

最后附上工作量表

  代码行数 博客字数 知识点
第一周 51   git使用,matplotlib.pyplot库的使用,python基础数据结构
       

posted on 2016-03-09 09:29  pengyang93  阅读(249)  评论(3编辑  收藏  举报

导航