使用nltk進行文字預處理

2021-09-19 11:52:36 字數 4655 閱讀 7613

# coding:utf-8

import nltk

import re

import string

from nltk.corpus import brown

from nltk.book import

*from nltk.tokenize import wordpuncttokenizer

# print(brown.words())

# print(len(brown.sents())) # 句子數

# print(len(brown.words())) # 單詞數

deffilter_punctuation

(words)

: new_words =

; illegal_char = string.punctuation +

'【·!…()—:「」?《》、;】'

pattern=re.

compile

('[%s]'

% re.escape(illegal_char)

)for word in words:

new_word = pattern.sub(u''

, word)

ifnot new_word == u''

:return new_words

'''英文文字處理'''

'''詞性標註'''

text_en =

open

(u'./data/text_en.txt'

,encoding=

'utf-8-sig'

,errors=

'ignore'

).read(

)# text_cn = open(u'./data/text_cn.txt',encoding='utf-8',errors='ignore').read()

text=

"don't hesitate to ask questions. be positive."

# 文字切分成語句

# from nltk.tokenize import sent_tokenize

# print(sent_tokenize(text))

# 大批量切分

# tokenizer=nltk.data.load('tokenizers/punkt/english.pickle')

# print(tokenizer.tokenize(text))

# 分詞1

words=nltk.word_tokenize(text_en)

print

(words[0:

20])# 分詞2, 分離標點

使用awk進行文字處理

有過大文字處理經歷的朋友一定都知道awk,這是一種指令碼語言,對於處理一定格式的資料還是很方便使用的。下面介紹一下awk的常用方法。如果想系統學習,請看 1 awk的內建變數 awk 所內建的字段變數及其涵意如下 字段變數 含義 0 一字串,其內容為目前 awk 所讀入的資料行.1 0 上第乙個欄位...

NLTK(處理原始文字)

import nltk from urllib.request import urlopen url raw urlopen url read print type raw print len raw print raw 75 輸出 1201733 b xef xbb xbfthe project ...

awk進行文字處理

1 awk的內建變數 awk 所內建的字段變數及其涵意如下 字段變數 含義 0 一字串,其內容為目前 awk 所讀入的資料行.1 0 上第乙個欄位的資料.2 0 上第二個欄位的資料.其餘類推 內建變數 含義nf number of fields 為一整數,其值表 0上所存在的字段數目.nr numb...