一、字串操作
去空格及特殊符號
s = '查詢字元hello, world!'#
預設把左右空格去掉
s.strip()
print s.lstrip('
hello, ')
print s.rstrip('
!')
#大小寫:upper()和lower()方法< 0 為未找到
sstr1 = '
strchr
'sstr2 = 'tr'
#找到返回目標子串開始下標
npos =sstr1.index(sstr2)
print npos
刪除字串:分片的方式
比價字串:cmp()
分割
s = '二、正規表示式ab,cde,fgh,ijk
'print(s.split('
,'))
驗證**,fq進
練習**
字元:.:匹配除換行符外所有字元
\d:所有數字
\d:所有除數字外所有字元
\s:空格、table鍵、換行
\s:除掉所有空格、table鍵、換行外所有
\w:數字,字元和下劃線(大小寫都有)
對應大寫都是除掉小寫對應的規則的字元,即反規則
數量詞:
:找到兩個對應前邊規則的字元
找到m-n個前邊規則的字元:\d找到長度為2到4的連續數字串
?:前邊規則出現1次或者0次的:and?:an或者and都可以
*:匹配到前邊規則結束,即0到無限個,abc*:abc或者abccccccc或者ab
+:1到無限個
用括號可以表示規則組合:(ab)*:ababababab
:中括號裡表示想要的字元[abc]:想要a和b和c [a-g]:想要a-g的
邊界詞:
^:後邊跟規則,代表以xx開頭的
$:前邊加規則,代表以xx結尾:^ab$:以a開頭,b結尾的
|:前後都加規則,代表或者
python中正規表示式模組:re
使用re的一般步驟是
#三、jieba中文處理encoding: utf-8
importre
#將正規表示式編譯成pattern物件,格式是r'模式串'
pattern = re.compile(r'
hello.*\!')
#使用pattern匹配文字,獲得匹配結果,無法匹配時將返回none
match = pattern.match('
hello, hanxiaoyang! how are you?')
ifmatch:
#使用match獲得分組資訊
print match.group()
3.1基本分詞函式與用法
jieba.cut函式:
jieba.cur_for_search方法接受兩個引數
#新增使用者自定義詞典encoding=utf-8
import
jieba
seg_list = jieba.cut("
我在學習自然語言處理
", cut_all=true)
seg_list
print("
full mode:
" + "
/ ".join(seg_list)) #
全模式seg_list = jieba.cut("
我在學習自然語言處理
", cut_all=false)
print("
default mode:
" + "
/ ".join(seg_list)) #
精確模式
seg_list = jieba.cut("
") #
預設是精確模式
print(", "
.join(seg_list))
#cut_for_search的劃分粒度很細
seg_list = jieba.cut_for_search("
小明碩士畢業於中國科學院計算所,後在哈佛大學深造
") #
搜尋引擎模式
print("
, ".join(seg_list))
針對自己的場景,可能會有一些領域內的專有詞彙
自然語言處理
自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...
自然語言處理
前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...
統計自然語言處理 自然語言處理是什麼?
自然語言是指中文 英語 西班牙語 法語 德語等等語言,作為人們日常使用的其他語言,它們對人類的交流有著重要作用。自然語言是隨著人類社會的發展而自然產生的語言,而不是由人類所特意創造的語言。自然語言是人們日常學習生活的重要工具和媒介,如果人類失去交流的能力,文明就失去了意義。總的來說,自然語言就是指人...