NLTK-004:加工原料文本

      網友投稿 847 2025-03-31

      從網絡和硬盤訪問文本


      編號 2554 的文本是《罪與罰》的英文翻譯,我們可以用如下方式訪問它。

      from urllib import request url = "http://www.gutenberg.org/files/2554/2554.txt" response = request.urlopen(url) raw = response.read().decode('utf8')

      1

      2

      3

      4

      (如果是404之類的,得找個代理外網IP,下面訪問的都一樣… )

      所以假設獲取到了內容。變量raw是這本書原始的內容,包括很多我們不感興趣的細節,如空格、換行符和空 行。請注意,文件中行尾的\r 和\n,是 Python 用來顯示特殊的回車和換行字符的方式

      我們要對其進行分詞操作,產生一個詞匯和標點符號的鏈表。

      tokens = nltk.word_tokenize(raw)

      1

      我們現在采取進一步的步驟從這個鏈表創建一個 NLTK 文本

      text = nltk.Text(tokens)

      1

      我們可以進行我們在之前看到的所有的其他語言的處理,也包括常規的鏈表操作,例如切片:

      text[1024:1062]

      1

      處理HTML

      網絡上的文本大部分是 HTML 文件的形式。 HTML 的全部內容包括: meta 元標簽、圖像標簽、map 標

      簽、JavaScript、表單和表格。

      我們可以使用BeautifulSoup或者其他庫來從HTML中提取文本,然后我們可以對原始文本進行分詞:

      from bs4 import BeautifulSoup raw = BeautifulSoup(html).get_text() tokens = nltk.word_tokenize(raw)

      1

      2

      3

      你可以選擇你感興趣的標識符,按照前面講的那樣初始化一個文本。

      tokens = tokens[110:390] text = nltk.Text(tokens) text.concordance('gene')

      1

      2

      3

      訪問單個字符

      我們可以計數單個字符。通過將所有字符小寫來忽略大小寫的區分,并過濾掉非字母字符。

      from nltk.corpus import gutenberg raw = gutenberg.raw('melville-moby_dick.txt') fdist = nltk.FreqDist(ch.lower() for ch in raw if ch.isalpha()) fdist.most_common(5) fdist.plot()

      1

      2

      3

      4

      5

      使用 Unicode 進行文字處理

      Unicode支持超過一百萬種字符。每個字符分配一個編號,稱為 編碼點。在 Python 中 ,編碼點寫作\uXXXX 的形式,其中 XXXX是四位十六進制形式數。

      解碼:將文本翻譯成Unicode;

      編碼:將Unicode 轉化為其它編碼的過程;

      從文件中提取已編碼文本 :

      假設我們有一個小的文本文件,我們知道它是如何編碼的。例如:polish-lat2.txt 顧名思義是波蘭語的文本片段(來源波蘭語 Wikipedia;可以在 http://pl.wikipedia.org/wiki/Biblioteka_Pruska中看到)。此文件是 Latin-2 編碼的,也稱為 ISO-8859-2。nltk.data.find()函數為我們定位文件。

      path = nltk.data.find('corpora/unicode_samples/polish-lat2.txt')

      1

      codecs模塊:提供了將編碼數據讀入為Unicode 字符串和將Unicode 字符串以編碼形式寫出的函數。

      codecs.open()函數:encoding 參數來指定被讀取或寫入的文件的編碼。

      NLTK-004:加工原料文本

      f = open(path, encoding='latin2') for line in f: line = line.strip() print(line)

      1

      2

      3

      4

      HTML

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:EXCEL2019凍結標題首行的方法
      下一篇:python介紹函數
      相關文章
      久久久久亚洲AV成人网人人网站| 亚洲黄色三级网站| 无码专区—VA亚洲V天堂| 久久亚洲中文字幕精品一区| 国产精品国产亚洲区艳妇糸列短篇| 亚洲人成影院在线高清| 亚洲视频在线不卡| 亚洲视频网站在线观看| 中文字幕亚洲精品资源网| 亚洲色四在线视频观看| 久久久久久亚洲AV无码专区| 亚洲人成网www| 亚洲综合网美国十次| 亚洲成年人电影网站| 亚洲成a人片在线观| 亚洲天堂福利视频| 中文文字幕文字幕亚洲色| 亚洲中文字幕久久精品蜜桃 | 亚洲1234区乱码| 国产91在线|亚洲| 亚洲色偷偷偷综合网| 亚洲精品国产第一综合99久久| 亚洲国产精品18久久久久久| 在线观看亚洲视频| 亚洲国产专区一区| 国产综合精品久久亚洲| 亚洲日韩国产精品第一页一区| 久久精品亚洲一区二区 | 一区二区三区亚洲| 亚洲欧洲国产成人精品| 亚洲一级毛片免观看| 亚洲日韩精品国产一区二区三区| 亚洲av无码专区首页| 亚洲男人第一无码aⅴ网站| 亚洲人成网站在线观看播放| 亚洲AV无码一区二区乱子伦| 亚洲黄网在线观看| 亚洲www77777| 四虎亚洲国产成人久久精品| 丁香五月亚洲综合深深爱| 亚洲AV人无码激艳猛片|