Natural Language Processing with Python - Chapter 0

来源:http://www.cnblogs.com/timothy1993/archive/2016/09/18/5881041.html
-Advertisement-
Play Games

一年之前,我做夢也想不到會來這裡寫技術總結。誤打誤撞來到了上海西南某高校,成為了文科專業的工科男,現在每天除了膜ha,就是惡補CS。導師是做計算語言學的,所以當務之急就是先自學電腦自然語言處理,打好底子準備做科研(認真臉)。 進入正題,從圖書館找了本“Natural Language Proces ...


一年之前,我做夢也想不到會來這裡寫技術總結。誤打誤撞來到了上海西南某高校,成為了文科專業的工科男,現在每天除了膜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可以視為學習前的準備工作,正所謂“工欲善其事,必先利其器”。

IDE: PyCharm IDE我選了PyCharm,據說很好用。下載及安裝方法如下: 1.Python官網下載Python,打開terminal,輸入python顯示版本信息 2.下載Python開發的IDE PyCharm,Professional版的激活碼可以求助度娘
關於Python文件編碼聲明 1.位置:必須放在python文件的第一行或第二行 2.格式:a. 帶等於號的
1 #coding=<encoding name>

           b. 帶冒號的,最常見,大多數編輯器都可以識別               

1 #!/usr/bin/python
2 # -*- coding: <encoding name> -*-             
           c. vim的:
1 #!/usr/bin/python               
2 # vim: set fileencoding=<encoding name>
3.作用:告訴python interpreter如何解釋字元串的編碼            如果沒有文件編碼類型聲明,則python預設以ASCII編碼去處理。            如果沒有聲明代碼,但是文件中又包含非ASCII編碼的字元的話,python解釋器去解釋python文件自然會報錯。 4.例子:第一行說明腳本語言是python的;第二行用來指定文件編碼為utf-8的 。   
1 #!/usr/bin/python                 
2 # -*- coding: utf-8 -*-                          
5.註意:單個python源碼文件中只允許用單一的編碼,不允許嵌入多種編碼,否則會報錯!!! 6.Python分詞器+編譯器工作邏輯:             a. 讀取文件             b. 不同的文件,根據其聲明的編碼去解析為Unicode             c. 轉換為UTF-8字元串             d. 針對UTF-8字元串去分詞             e. 編譯之,創建Unicode對象 7.UTF-8: 8-bit Unicode Transformation Format,是一種針對Unicode的可變長度字元編碼,又稱萬國碼。              總之,要想讓Python程式支持中文,就需要在Python源文件開頭加上這樣一段編碼聲明。
My First Python Program - Hello World! 1.File --> New Project --> 選擇Project的保存路徑(個人感覺很像R語言中working directory的設定) 2.右鍵剛剛建好的project --> New --> Python File --> 給File命個名(個人感覺這就是腳本文件,類似於R語言中的script) 3.敲入文件編碼聲明(其實並不必要,因為我們輸入英文"Hello World!",而不是中文) 4.Hello World
1 print ("Hello World!") 
5.這時會發現運行及調試按鈕(綠色三角形)是灰色的,因為我們還沒有設置控制台。
  python設置控制台 1.點擊運行旁邊的黑色倒三角,進入Run/Debug Configurations配置界面(或者Run —> Edit Configurations) 2.點擊綠色加號,新建一個配置項,並選擇python(因為是用源代碼是python程式) 3.配置界面里Name一欄寫一個名字,點擊Script選項,找到剛纔寫的 .py 文件 4.點擊OK,自動返回編輯界面,這時運行及調試按鈕全部變綠 5.點擊運行,觀看輸出結果
Installing Packages in PyCharm - Mac 1.Pycharm —> preference —> project interpreter 2. +  for adding packages     -   for deleting packages     -> for updating packages
NLTK (Natural Language Toolkit) 通過輸入以下代碼,調用NLTK這個包,然後下載我們所需的data sets(實際上就是書中所用的語料)
1 import nltk
2 nltk.download()
Run and you will get to the NLTK Downloader 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. 我表示下載速度讓人捉雞,雖然MIT (Minhang Institute of Technology,譯作:閔行男子職業技術學院)的網速相當快,而且不用交網費!!!
吃飯前,還是要膜一下!遛了。   

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • "返回總目錄" 本篇目錄 "介紹" "ASP.NET MVC" "ASP.NET WEB API" "ASP.NET Core" 【以後補上】 "客戶端類庫" "內部原理" 介紹 CSRF【Cross Site Request Forgery】 跨站請求偽造是一種攻擊類型,一般指的是一個惡意的網站、 ...
  • 0 Asp.Net Core 項目實戰之許可權管理系統(0) 無中生有 1 Asp.Net Core 項目實戰之許可權管理系統(1) 使用AdminLTE搭建前端 2 Asp.Net Core 項目實戰之許可權管理系統(2) 功能及實體設計 3 Asp.Net Core 項目實戰之許可權管理系統(3) 通過 ...
  • 關於 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 11.8.0.8_冰河之刃重打包版 基於 官方原版的安裝包 + http://www.cnblogs.com/tracky 提供的補丁DLL製作而成。安裝之後,直接就可以用了。省心省事。不必再單獨的打一 ...
  • 為瞭解決單機處理的瓶頸,增強軟體的可用性,我們需要將軟體部署在多台伺服器上啟用多個二級子功能變數名稱以頻道化的方式,根據業務功能將網站分佈部署在獨立的伺服器上,或通過負載均衡技術(如:DNS輪詢、Radware、F5、LVS等)讓多個頻道共用一組伺服器。當我們將網站程式分部到多台伺服器上後,由於Sessio... ...
  • 從14年11月的實習到正式的工作的工作我在上一家公司工作一年多了。然而到16年5月20跳槽後自己已經好久都沒有在寫博客了,在加上回學校畢業答辯3天以及拿檔案中途耽擱了幾天的時間,跳槽後雖然每天都在不停的搞開發做項目天天忙的就如狗一樣,確實是沒有時間整理以及總結和發表自己的感慨。難得中秋銀行的事情搞完 ...
  • 項目需求: 某學校訂單截止操作時間的上一個月最後一天晚上23:59:59 為止所有支付的訂單統計; 代碼: 圖片: 利用DateTime.Parse();將string類型的時間轉換為datetime類型,我們看一下後面的代碼,是將時間手動的設置為我們需要的時間。 這樣我們設置了值。 封裝取時間的方 ...
  • 題目要求:用戶隨機輸入字母及數字組成的字元串,當用戶連續輸入字元串‘hello’時,程式結束用戶輸入,並分別顯示用戶輸入的字母及數字的數目。 代碼: 題目解析:首先這道題目要求用戶輸入字元串”hello“時結束輸入,不如分別判斷這五個字母,其次需要程式自動結束輸入,我們就需要用Console.Rea ...
  • 1.VirtrualBox安裝Centos6.8 minimal VirtrualBox新建個虛擬機配置好記憶體以及硬碟大小,安裝即可; 網路方式是 NAT(預設)和橋接方式來實現,最好在安裝前設置好,NAT主要是連外網,橋接可通過區域網IP訪問; 設置-網路-網卡1(NAT)預設已經設置好了,再點開 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...