作一箇中文文本分類任務,首先要作的是文本的預處理,對文本進行分詞和去停用詞操做,來把字符串分割成詞與詞組合而成的字符串集合並去掉其中的一些非關鍵詞彙(像是:的、地、得等)。再就是對預處理事後的文本進行特徵提取。最後將提取到的特徵送進分類器進行訓練。html
NLP(Natural Language Processing,天然語言處理)當中所謂的「天然」是爲了與人造的語言(好比 C 語言, JAVA 等)區分開來,指天然造成的語言,即平時人們平常使用的交流的語言。「語言」則是人類區別其餘動物的本質特性。在全部生物中,只有人類才具備語言能力。人類的多種智能都與語言有着密切的關係。人類的邏輯思惟以語言爲形式,人類的絕大部分知識也是以語言文字的形式記載和流傳下來的。「處理」則指的是對天然語言的各類處理方法與運用。python
NLP 不只是計算語言學的應用領域,仍是計算機科學和人工智能(AI)領域的一個重要研究方向。NLP 主要研究人與計算機之間用天然語言進行有效通訊的各類理論和方法。git
總的來講,天然語言處理能夠歸納爲: 就是利用計算機的強大的運算能力,採用統計手段來對語言進行處理,而後得到須要的信息,以達到最終想要的目的,而使用各類方法的一門技術。人工智能
NLP 通過多年的發展與進步,從天然語言的角度出發,基本能夠劃分爲兩個部分:天然語言的理解和天然語言的生成。翻譯
1.語言理解涉及語言、語境和各類語言形式的學科。但總的來講,天然語言理解又能夠分爲三個方面:3d
2.天然語言的生成則是從結構化的數據(能夠通俗理解爲天然語言理解分析後的數據)以讀取的方式自動生成文本。主要有三個階段:code
3.NLP的研究問題(主要)有下面幾種:htm
4.一些 NLP 的一些基礎專業術語。blog
分詞:詞是 NLP 中可以獨立活動的有意義的語言成分。即便某個中文單字也有活動的意義,但其實這些單字也是詞,屬於單字成詞。索引
詞性標註:給每一個詞語的詞性進行標註,好比 跑/動詞、美麗的/形容詞等等。
命名實體識別:從文本中識別出具備特定類別的實體。像是識別文本中的日期,地名等等。
詞義消歧:多義詞判斷最合理的詞義。
句法分析:解析句子中各個成分的依賴關係。
指代消解:消除和解釋代詞「這個,他,你」等的指代問題。
5.字符做爲文本類數據的基本單元,其在天然語言處理中的地位能夠說是很是的重要。並且,大部分的天然語言處理任務都是從字符上着手,下面是一些字符串操做
.count()
方法返回特定的子串在字符串中出現的次數
.strip()
方法能夠去除字符串首尾的指定符號。無指定時,默認去除空格符 ' '
和換行符 '\n'
.lstrip()只去除開頭的
.rstrip()只去除結尾的
須要將字符串用特定的符號拼接起來的字符的時候,能夠用 .join()
方法來進行拼接。
.upper()
將文本轉化爲大寫, .lower()
將文本轉化爲小寫。
.find查找到某段字符串當中某個子串的位置信息,未找到的則會返回 -1
字符串截取[0:4]
表示從0開始截4個
.split('k')拆分
翻轉字符串
判斷某字符是否在某字符串中用in
.replace(old,new)
.startswish()判斷字符串是否以某段字符開頭,.endswith()
來肯定字符串是否以某段字符串結尾。
.isdigit()檢查字符串是否由純數字構成
python中的正則