NLP 自然語言的處理步驟

2021-10-10 21:58:58 字數 1517 閱讀 6222

目錄

獲取語料

語料預處理

特徵工程

特徵選擇

模型訓練

模型評估

模型**

nlp,natural language processing 即自然語言處理。是人工智慧的乙個子領域,就是用計算機計算處理自然語言。進行自然語言處理一般需要以下步驟。

預料,即語言材料,文字的集合成為語料庫。在機器學習中,我們通常處理把用於模型訓練的一行資料稱為乙個文字。但是日常中我們一般把乙個檔案稱為乙個文字,這個概念對初學者就很容易引起誤解。比如處理資料是讀入多個檔案,但是經過預處理、特徵工程後,這些檔案可能被合併成一行,這時輸入的乙個檔案不能成為乙個文字,自然語言處理的文字概念是相對特徵工程後形態而言的。

語料的獲取方法:

(1)已有語料,即由自身業務積累下來的語料

(2)網上抓取,即通過爬蟲等工具在網上獲取的語料

(3)公共語料,一些企業或研究機構公開的語料

在自然語然的工程應用中,語料的預處理大概佔總工作量50%以上。因此開發人員大部分的工作都在進行語料的預處理。預處理通常有以下幾方面的重要工作:

(1)資料清洗,就是在語料中找到有用的東西。比如去重,對齊,刪除,合併、拆分等。

(2)分詞,語料中通常是句子和段落,尤其是中文語料詞之間沒有明顯的間隔。這個時候就需要對句子或段落分詞。分詞的方法通常有:

1)基於理解的分詞方法;

2)基於規則的分詞方法;

3)基於統計的分詞方法;

4)基於字串的分詞方法。

3)詞性標註,就是個詞語打上標籤,比如形容詞、動詞、名詞等。詞性標註並不是必須的,比如對應文字分類就不需要標註詞性,情感分析就需要關心詞性的問題。

4)去停用詞,對程式處理無用或者貢獻很小的詞稱為停用詞。比如人稱、語氣、標點符號等無用的詞在分詞後一般需要刪除。

語料預處理後,就要考慮如何把詞和詞語轉換為計算機能夠處理的型別;如中文轉換為數字。常用的處理方法有:

(1)詞袋模型bow,即不考慮詞語出現的先後順序,把詞語放入集合中,然後按照出現的次數進行統計計數。

(2)向量模型,把詞語轉換為向量矩陣。如one-hot,wordtovec。

特徵工程後,一般會存在非常多的特徵向量。特徵選擇就是選擇那些對模型訓練作用最大的特徵。這個過程非常重要,對於經驗豐富和對模型理論較好的開發人員往往能夠選擇正確特徵向量,極大的減少訓練時間,提高效率。

對不同的業務問題,選擇合適的模型進行訓練。這些模型可以用開源的演算法框架,也可以自己開發。比如採用naïve bayes,svm、fp-growth、lstm等。訓練過程中需要注意過擬合和欠擬合的問題,比如過擬合可以通過增加訓練資料、增加正則化項;欠擬合則可以增加模型複雜度,減少正則化,增加特徵維度等。

模型評估就是對訓練後的模型測量是否達到既定目標。常用的評估方法有:

(1)準確率、精確率、召回率、查全率、特異度、靈敏度

(2)f-measure、roc曲線、auc、pr曲線

模型訓練和評估後,就可以用來對業務的資料進行**了。在實際生產業務中,同乙個業務通常用多種模型進行**,分析比較。

NLP自然語言處理

第1部分自然語言處理入門 1.1自然語言處理入門.mp4 第2部分hmm和crf 1.1crf模型簡介.mp4 1.1hmm模型介紹.mp4 1.2文字處理的基本方法 part1.mp4 2.1新聞主題分類任務 第4步 part2.mp4 第43部分rnn 1.1rnn模型小結.mp4 1.1rnn...

NLP自然語言處理

老實來講這課我一頭霧水滿腦袋問號 import numpy as np from collections import counter counttime 0 def seperate filename totalnum 0 郵件的總數 global counttime i 0 file open ...

NLP自然語言處理相關

近期需要學習一些命名實體識別的知識,記錄一下,以便以後複習 個人理解 目前的理解是,命名實體識別 ner 是自然語言處理 nlp 的乙個階段,可應用於機器翻譯 摘要形成 資訊檢索等等,個人認為,自然語言處理是一門很複雜的跨學科技術,其難點在於人類是富有思維的,人的語言寄託人的思想,因此很難準確處理。...