天天看點

一文學會最常見的10種NLP處理技術(附資源&代碼)

自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本資料中提取資訊。在它的幫助下,我們從文本中提煉出适用于計算機算法的資訊。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有資料科學家的必備技能之一。

在這篇文章中,你将學習到最常見的10個NLP任務,以及相關資源和代碼。

一文學會最常見的10種NLP處理技術(附資源&代碼)

為什麼要寫這篇文章?

對于處理NLP問題,我也研究了一段時日。這期間我翻閱了大量資料,通過研究報告,部落格和同類NLP問題的賽事内容學習該領域的最新發展成果,并應對NLP處理時遇到的各類狀況。

是以,我決定将這些資源集中起來,打造一個對NLP常見任務提供最新相關資源的一站式解決方案。下方是文章中提到的任務清單及相關資源。那就一起開始吧。

目錄:

詞幹提取

詞形還原

詞向量化

詞性标注

命名實體消岐

命名實體識别

情感分析

文本語義相似分析

語種辨識

文本總結

1. 詞幹提取

什麼是詞幹提取?詞幹提取是将詞語去除變化或衍生形式,轉換為詞幹或原型形式的過程。詞幹提取的目标是将相關詞語還原為同樣的詞幹,哪怕詞幹并非詞典的詞目。例如,英文中:

beautiful和beautifully的詞幹同為beauti。

Good,better和best 的詞幹分别為good,better和best

Porter2算法做詞幹提取的代碼:

2. 詞形還原

什麼是詞形還原? 詞形還原是将一組詞語還原為詞源或詞典的詞目形式的過程。還原過程考慮到了POS問題,即詞語在句中的語義,詞語對相鄰語句的語義等。例如,英語中:

beautiful和beautifully被分别還原為beautiful和beautifully。

good, better和best被分别還原為good, good和good。

程式實作:下面給出了在spacy上的英語詞形還原代碼

3. 詞向量化

什麼是詞向量化?詞向量化是用一組實數構成的向量代表自然語言的叫法。這種技術非常實用,因為電腦無法處理自然語言。詞向量化可以捕捉到自然語言和實數間的本質關系。通過詞向量化,一個詞語或者一段短語可以用一個定維的向量表示,例如向量的長度可以為100。

例如:“Man”這個詞語可以用一個五維向量表示。

這裡的每個數字代表了詞語在某個特定方向上的量級。

程式實作:這段代碼可以用gensim訓練你自己的詞向量。

4. 詞性标注

什麼是詞性标注?簡單來說,詞性标注是對句子中的詞語标注為名字、動詞、形容詞、副詞等的過程。例如,對句子“Ashok killed the snake with a stick.”,詞性标注會識别:

程式實作:這段代碼可以在spacy上做詞性标注

5. 命名實體消歧

什麼是命名實體消岐?命名實體消岐是對句子中提到的實體識别的過程。例如,對句子“Apple earned a revenue of 200 Billion USD in 2016”,命名實體消岐會推斷出句子中的Apple是蘋果公司而不是指一種水果。一般來說,命名實體要求有一個實體知識庫,能夠将句子中提到的實體和知識庫聯系起來。

6. 命名實體識别

命名實體識别是識别一個句子中有特定意義的實體并将其區分為人名、機構名、日期、地名、時間等類别的任務。例如,一個NER會将一個這樣的句子:

“Ram of Apple Inc. travelled to Sydney on 5th October 2017”

傳回如下的結果:

這裡,ORG代表機構組織名,GPE代表地名。

然而,當NER被用在不同于該NER被訓練的資料領域時,即使是最先進的NER也往往表現不佳。

程式實作:以下是如何使用spacy執行命名實體識别。

7. 情感分析

什麼是情感分析?情感分析是一種廣泛的主觀分析,它使用自然語言處理技術來識别客戶評論的語義情感,語句表達的情緒正負面以及通過語音分析或書面文字判斷其表達的情感等等。例如:

“我不喜歡巧克力冰淇淋”—是對該冰淇淋的負面評價。

“我并不讨厭巧克力冰激淩”—可以被認為是一種中性的評價。

從使用LSTMs和Word嵌入來計算一個句子中的正負詞數開始,有很多方法都可以用來進行情感分析。

8. 語義文本相似度

什麼是語義文本相似度分析?語義文本相似度分析是對兩段文本的意義和本質之間的相似度進行分析的過程。注意,相似性與相關性是不同的。

例如:

汽車和公共汽車是相似的,但是汽車和燃料是相關的。

9、語言識别

什麼是語言識别?語言識别指的是将不同語言的文本區分出來。其利用語言的統計和文法屬性來執行此任務。語言識别也可以被認為是文本分類的特殊情況。

10. 文本摘要

什麼是文本摘要?文本摘要是通過識别文本的重點并使用這些要點建立摘要來縮短文本的過程。文本摘要的目的是在不改變文本含義的前提下最大限度地縮短文本。

程式實作:以下是如何用gensim包快速實作文本摘要。

結束語

以上就是最常見的NLP任務的入門介紹和資料彙總了,如果你有更多優質的資源,也歡迎在評論區分享哦!

原文釋出時間為:2017-11-20