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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...