Natural Language Processing with Python - Chapter 0
一年之前,我做梦也想不到会来这里写技术总结。误打误撞来到了上海西南某高校,成为了文科专业的工科男,现在每天除了膜ha,就是恶补CS。导师是做计算语言学的,所以当务之急就是先自学计算机自然语言处理,打好底子准备做科研(认真脸)。
进入正题,从图书馆找了本”Natural ;Language ;Processing ;with ;Python ;(影印版),书长这个样子,作者是Steven ;Bird, ;Ewan ;Klein和Edward ;Loper。粘贴个豆瓣链接供参考:https://book.douban.com/subject/5336893/
对于本书,读者大多将其定义为:NLTK的工具书(再加个”入门级的定语或许更佳恰当),理论性还有待深入。但是对于小白来讲先刷一遍再说,简单、粗暴、实用、能迅速上手才是王道!
顺便再说一下为什么要选Python,其实对于小白来讲,与其浪费时间去纠结学什么编程语言,不如花时间去多敲几行代码。Python语言本身好不好小白我没资格评价,但是这里必须要说一句Python有很多功能强大的第三方工具包(package),这些工具包是解决具体学科具体问题的利器!比如在自然语言处理方面,NLTK(Natural ;Language ;Toolkit)功能及其强大。
好了,这次终于能进入正题了。Chapter ;0可以视为学习前的准备工作,正所谓”工欲善其事,必先利其器。
; ;<div>IDE: ;PyCharm
; ;<div>IDE我选了PyCharm,据说很好用。下载及安装方法如下:
; ;<div>1.Python官网下载Python,打开terminal,输入python显示版本信息
; ;<div>2.下载Python开发的IDE ;PyCharm,Professional版的激活码可以求助度娘
; ;<div>关于Python文件编码声明
; ;<div>1.位置:必须放在python文件的第一行或第二行
; ;<div>2.格式:a. ;带等于号的
; ;<div>
#coding=<encoding name>; ;
; ; ; ; ; b. ;带冒号的,最常见,大多数编辑器都可以识别 ; ; ; ; ; ; ;
; ;<div>
#!/usr/bin/python # -*- coding: <encoding name> -*-; ;
; ;<div> ; ; ; ; ; c. ;vim的:
; ;<div>
#!/usr/bin/python # vim: set fileencoding=<encoding name>; ;
; ;<div>3.作用:告诉python ;interpreter如何解释字符串的编码
; ;<div> ; ; ; ; ; 如果没有文件编码类型声明,则python默认以ASCII编码去处理。
; ;<div> ; ; ; ; ; 如果没有声明代码,但是文件中又包含非ASCII编码的字符的话,python解释器去解释python文件自然会报错。
; ;<div>4.例子:第一行说明脚本语言是python的;第二行用来指定文件编码为utf-8的 ;。 ;
; ;<div>
#!/usr/bin/python # -*- coding: utf-8 -*-; ;
; ;<div>5.注意:单个python源码文件中只允许用单一的编码,不允许嵌入多种编码,否则会报错!!!
; ;<div>6.Python分词器+编译器工作逻辑:
; ;<div> ; ; ; ; ; ;a. ;读取文件
; ;<div> ; ; ; ; ; ;b. ;不同的文件,根据其声明的编码去解析为Unicode
; ;<div> ; ; ; ; ; ;c. ;转换为UTF-8字符串
; ;<div> ; ; ; ; ; ;d. ;针对UTF-8字符串去分词
; ;<div> ; ; ; ; ; ;e. ;编译之,创建Unicode对象
; ;<div>7.UTF-8: ;8-bit ;Unicode ;Transformation ;Format,是一种针对Unicode的可变长度字符编码,又称万国码。
; ;<div> ; ; ; ; ; ; 总之,要想让Python程序支持中文,就需要在Python源文件开头加上这样一段编码声明。
; ;<div>My ;First ;Python ;Program ;- ;Hello ;World!
; ;<div>1.File ;--> ;New ;Project ;--> ;选择Project的保存路径(个人感觉很像R语言中working ;directory的设定)
; ;<div>2.右键刚刚建好的project ;--> ;New ;--> ;Python ;File ;--> ;给File命个名(个人感觉这就是脚本文件,类似于R语言中的script)
; ;<div>
; ;<div>3.敲入文件编码声明(其实并不必要,因为我们输入英文"Hello ;World!",而不是中文)
; ;<div>4.Hello ;World
; ;<div>
print ("Hello World!"); ;
; ;<div>5.这时会发现运行及调试按钮(绿色三角形)是灰色的,因为我们还没有设置控制台。
; ; ; ;<div>python设置控制台
; ;<div>1.点击运行旁边的黑色倒三角,进入Run/Debug ;Configurations配置界面(或者Run ;—> ;Edit ;Configurations)
; ;<div>2.点击绿色加号,新建一个配置项,并选择python(因为是用源代码是python程序)
; ;<div>3.配置界面里Name一栏写一个名字,点击Script选项,找到刚才写的 ;.py ;文件
; ;<div>4.点击OK,自动返回编辑界面,这时运行及调试按钮全部变绿
; ;<div>5.点击运行,观看输出结果
; ;<div>Installing ;Packages ;in ;PyCharm ;- ;Mac
; ;<div>1.Pycharm ;—> ;preference ;—> ;project ;interpreter
; ;<div>2. ;+ ; for ;adding ;packages
; ;<div> ; ;- ; ;for ;deleting ;packages
; ;<div> ; ;-> ;for ;updating ;packages
; ;<div>
; ;<div>NLTK ;(Natural ;Language ;Toolkit)
; ;<div>通过输入以下代码,调用NLTK这个包,然后下载我们所需的data ;sets(实际上就是书中所用的语料)
; ;<div>
import nltk nltk.download(); ;
; ;<div>Run ;and ;you ;will ;get ;to ;the ;NLTK ;Downloader
; ;<div>The ;Collections ;tab ;on ;the ;downloader ;shows ;how ;the ;packages ;are ;grouped ;into ;sets, ;and ;you ;should ;select ;the ;line ;labeled ;book ;to ;obtain ;all ;data ;required ;for ;the ;examples ;and ;exercises ;in ;this ;book.
; ;<div>
; ;<div>我表示下载速度让人捉鸡,虽然MIT ;(Minhang ;Institute ;of ;Technology,译作:闵行男子职业技术学院)的网速相当快,而且不用交网费!!!
; ;<div>吃饭前,还是要膜一下!遛了。