0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自然語言處理(NLP)的學習方向

如意 ? 來源:小冬講技術(shù) ? 作者:小冬講技術(shù) ? 2020-07-06 16:30 ? 次閱讀

1、自然語言處理概述

自然語言處理(Natural Language Processing,NLP)是計算機科學領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究人與計算機之間用自然語言進行有效通信的理論和方法。融語言學、計算機科學、數(shù)學等于一體的科學。旨在從文本數(shù)據(jù)中提取信息。目的是讓計算機處理或“理解”自然語言,以執(zhí)行自動翻譯、文本分類和情感分析等。自然語言處理是人工智能中最為困難的問題之一。

2、自然語言處理入門基礎(chǔ)

2.1 數(shù)學基礎(chǔ)

(1)線性代數(shù)

向量、 矩陣、距離計算(余弦距離、歐式距離、曼哈頓距離、明可夫斯基距離、切比雪夫距離、杰卡德距離、漢明距離、標準歐式距離、皮爾遜相關(guān)系數(shù))

(2)概率論

隨機試驗、條件概率、全概率、貝葉斯定理、信息論

(3)統(tǒng)計學

圖形可視化(餅圖、條形圖、熱力圖、折線圖、箱線圖、散點圖、雷達圖、儀表盤)

數(shù)據(jù)度量標準(平均數(shù)、中位數(shù)、眾數(shù)、期望、方差、標準差)

概率分布(幾何分布、二項分布、正態(tài)分布、泊松分布)

統(tǒng)計假設(shè)檢驗

2.2 語言學基礎(chǔ)

語音、詞匯、語法

2.3 Python基礎(chǔ)

廖雪峰教程,Python從入門到實踐

2.4 機器學習基礎(chǔ)

統(tǒng)計學習方法、機器學習周志華、機器學習實戰(zhàn)

2.5 深度學習基礎(chǔ)

CNN、RNN、LSTM

2.6 自然語言處理的理論基礎(chǔ)

統(tǒng)計自然語言處理(宗成慶第二版)、Python自然語言處理、數(shù)學之美(第二版)

3、自然語言處理的主要技術(shù)范疇

3.1 語義文本相似度分析

語義文本相似度分析是對兩段文本的意義和本質(zhì)之間的相似度進行分析的過程。

3.2 信息檢索(Information Retrieval, IR)

信息檢索是指將信息按一定的方式加以組織,并通過信息查找滿足用戶的信息需求的過程和技術(shù)。

3.3 信息抽?。↖nformation Extraction)

信息抽取是指從非結(jié)構(gòu)化/半結(jié)構(gòu)化文本(如網(wǎng)頁、新聞、 論文文獻、微博等)中提取指定類型的信息(如實體、屬性、關(guān)系、事件、商品記錄等),并通過信息歸并、冗余消除和沖突消解等手段將非結(jié)構(gòu)化文本轉(zhuǎn)換為結(jié)構(gòu)化信息的一項綜合技術(shù)。

3.4 文本分類(Text Categorization)

文本分類的任務是根據(jù)給定文檔的內(nèi)容或主題,自動分配預先定義的類別標簽。

3.5 文本挖掘(Text Mining)

文本挖掘是信息挖掘的一個研究分支,用于基于文本信息的知識發(fā)現(xiàn)。文本挖掘的準備工作由文本收集、文本分析和特征修剪三個步驟組成。目前研究和應用最多的幾種文本挖掘技術(shù)有:文檔聚類、文檔分類和摘要抽取。

3.6 文本情感分析(Textual Affective Analysis)

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

3.7 問答系統(tǒng)(Question Answering, QA)

自動問答是指利用計算機自動回答用戶所提出的問題以滿足用戶知識需求的任務。不同于現(xiàn)有搜索引擎,問答系統(tǒng)是信息服務的一種高級形式,系統(tǒng)返回用戶的不再是基于關(guān)鍵詞匹配排序的文檔列表,而是精準的自然語言答案。

3.8 機器翻譯(Machine Translation,MT)

機器翻譯是指利用計算機實現(xiàn)從一種自然語言到另外一種自然語言的自動翻譯。被翻譯的語言稱為源語言(source language),翻譯到的語言稱作目標語言(target language)。

機器翻譯研究的目標就是建立有效的自動翻譯方法、模型和系統(tǒng),打破語言壁壘,最終實現(xiàn)任意時間、任意地點和任意語言的自動翻譯,完成人們無障礙自由交流的夢想。

3.9 自動摘要(Automatic Summarization)

自動文摘(又稱自動文檔摘要)是指通過自動分析給定的一篇文檔或多篇文檔,提煉、總結(jié)其中的要點信息,最終輸出一篇長度較短、可讀性良好的摘要(通常包含幾句話或數(shù)百字),該摘要中的句子可直接出自原文,也可重新撰寫所得。

3.10 語音識別(Speech Recognition)

語言識別指的是將不同語言的文本區(qū)分出來。其利用語言的統(tǒng)計和語法屬性來執(zhí)行此任務。語言識別也可以被認為是文本分類的特殊情況

4、自然語言處理基本點

4.1 語料庫(Corpus)

語料庫中存放的是在語言的實際使用中真實出現(xiàn)過的語言材料;語料庫是以電子計算機為載體承載語言知識的基礎(chǔ)資源;真實語料需要經(jīng)過加工(分析和處理),才能成為有用的資源。

4.2 中文分詞(Chinese Word egmentation)

(1)中文分詞指的是將一個漢字序列切分成一個一個單獨的詞。分詞就是將連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程。

(2)現(xiàn)有的分詞方法可分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法、基于統(tǒng)計的分詞方法和基于深度學習的中文分詞。推薦

(3)比較流行的中文分詞工具:jieba、StanfordNLP、HanLP、SnowNLP、THULAC、NLPIR

4.3 詞性標注(Part-of-speech tagging)

(1)詞性標注是指為給定句子中的每個詞賦予正確的詞法標記,給定一個切好詞的句子,詞性標注的目的是為每一個詞賦予一個類別,這個類別稱為詞性標記(part-of-speech tag),比如,名詞(noun)、動詞(verb)、形容詞(adjective)等。

(2)詞性標注是一個非常典型的序列標注問題。最初采用的方法是隱馬爾科夫生成式模型, 然后是判別式的最大熵模型、支持向量機模型,目前學術(shù)界通常采用的結(jié)構(gòu)是感知器模型和條件隨機場模型。近年來,隨著深度學習技術(shù)的發(fā)展,研究者們也提出了很多有效的基于深層神經(jīng)網(wǎng)絡的詞性標注方法。

4.4 句法分析(Parsing)

(1)基于規(guī)則的句法結(jié)構(gòu)分析

(2)基于統(tǒng)計的語法結(jié)構(gòu)分析

4.5 詞干提?。⊿temming)

詞干提取是將詞語去除變化或衍生形式,轉(zhuǎn)換為詞干或原型形式的過程。詞干提取的目標是將相關(guān)詞語還原為同樣的詞干。

4.6 詞形還原(Lemmatization)

詞形還原是將一組詞語還原為詞源或詞典的詞目形式的過程。

4.7 停用詞過濾

停用詞過濾是指在文本中頻繁出現(xiàn)且對文本信息的內(nèi)容或分類類別貢獻不大甚至無貢獻的詞語,如常見的介詞、冠詞、助詞、情態(tài)動詞、代詞以及連詞等。

4.8 詞向量化(Word Vector)

詞向量化是用一組實數(shù)構(gòu)成的向量代表自然語言的叫法。這種技術(shù)非常實用,因為電腦無法處理自然語言。詞向量化可以捕捉到自然語言和實數(shù)間的本質(zhì)關(guān)系。通過詞向量化,一個詞語或者一段短語可以用一個定維的向量表示。(word2vec)

from gensim.models import Word2Vec

4.9 命名實體消歧(Named Entity Disambiguation)

命名實體消岐是對句子中的提到的實體識別的過程。

例如,對句子“Apple earned a revenue of 200 Billion USD in 2016”,命名實體消岐會推斷出句子中的Apple是蘋果公司而不是指一種水果。一般來說,命名實體要求有一個實體知識庫,能夠?qū)⒕渥又刑岬降膶嶓w和知識庫聯(lián)系起來。

4.10 命名實體識別(named entity recognition)

命名實體識別是識別一個句子中有特定意義的實體并將其區(qū)分為人名,機構(gòu)名,日期,地名,時間等類別的任務。

三種主流算法:CRF,字典法和混合方法

5、特征處理

5.1 特征提取(Feature Extraction)

特征提取是指將機器學習算法不能識別的原始數(shù)據(jù)轉(zhuǎn)化為算法可以識別的特征的過程。

舉例(文本分類特征提取步驟):

(1)對訓練數(shù)據(jù)集的每篇文章,我們進行詞語的統(tǒng)計,以形成一個詞典向量。詞典向量里包含了訓練數(shù)據(jù)里的所有詞語(假設(shè)停用詞已去除),且每個詞語代表詞典向量中的一個元素。

(2)在經(jīng)過第一步的處理后,每篇文章都可以用詞典向量來表示。這樣一來,每篇文章都可以被看作是元素相同且長度相同的向量,不同的文章具有不同的向量值。這也就是表示文本的詞袋模型(bag of words)。

(3)針對于特定的文章,如何給表示它的向量的每一個元素賦值呢?最簡單直接的辦法就是0-1法了。簡單來說,對于每一篇文章,我們掃描它的詞語集合,如果某一個詞語出現(xiàn)在了詞典中,那么該詞語在詞典向量中對應的元素置為1,否則為0。

5.2 特征選擇( Feature Selection)

當數(shù)據(jù)預處理完成后,我們需要選擇有意義的特征輸入機器學習的算法和模型進行訓練。特征選擇是指去掉無關(guān)特征,保留相關(guān)特征的過程,也可以認為是從所有的特征中選擇一個最好的特征子集。特征選擇本質(zhì)上可以認為是降維的過程。

from sklearn.feature_extraction.text import TfidfVectorizer

5.3 降維(Dimension Reduction)

6、模型選擇

6.1 馬爾可夫模型、隱馬爾可夫模型、層次化隱馬爾可夫模型、馬爾可夫網(wǎng)絡

(1)應用:詞類標注、語音識別、局部句法剖析、語塊分析、命名實體識別、信息抽取等。應用于自然科學、工程技術(shù)、生物科技、公用事業(yè)、信道編碼等多個領(lǐng)域。

(2)馬爾可夫鏈:在隨機過程中,每個語言符號的出現(xiàn)概率不相互獨立,每個隨機試驗的當前狀態(tài)依賴于此前狀態(tài),這種鏈就是馬爾可夫鏈。

(3)多元馬爾科夫鏈:考慮前一個語言符號對后一個語言符號出現(xiàn)概率的影響,這樣得出的語言成分的鏈叫做一重馬爾可夫鏈,也是二元語法。二重馬爾可夫鏈,也是三元語法,三重馬爾可夫鏈,也是四元語法

6.2 條件隨機場(CRF)

(1)條件隨機場用于序列標注,中文分詞、中文人名識別和歧義消解等自然語言處理中,表現(xiàn)出很好的效果。原理是:對給定的觀察序列和標注序列,建立條件概率模型。條件隨機場可用于不同預測問題,其學習方法通常是極大似然估計。

(2)條件隨機場模型也需要解決三個基本問題:特征的選擇、參數(shù)訓練和解碼。

6.3 貝葉斯網(wǎng)絡

貝葉斯網(wǎng)絡又稱為信度網(wǎng)絡或信念網(wǎng)絡(belief networks),是一種基于概率推理的數(shù)學模型,其理論基礎(chǔ)是貝葉斯公式。

6.4 最大熵模型

7、NLP常用工具

(1)Anaconda

Anaconda是一個用于科學計算的Python開發(fā)平臺,支持 Linux,Mac和Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本Python并存、切換以及各種第三方包安裝問題。Anaconda利用conda命令來進行package和environment的管理,并且已經(jīng)包含了Python和相關(guān)的配套工具。Anaconda集成了大量的機器學習庫以及數(shù)據(jù)處理必不可少的第三方庫,比如NumPy,SciPy,Scikit-Learn以及TensorFlow等。

(2)Scikit-learn

Scikit-learn是廣受歡迎的入門級機器學習庫,包含大量的機器學習算法和特征提取實現(xiàn),使用非常簡便。Scikit-learn實現(xiàn)的是淺層學習算法,神經(jīng)網(wǎng)絡僅實現(xiàn)了多層感知機。

(3)TensorFlow

TensorFlow是谷歌基于DistBelief進行研發(fā)的第二代人工智能學習系統(tǒng),可被用于語音識別或圖像識別等多項機器學習和深度學習領(lǐng)域。

(4)Keras

Keras是一個高級別的Python神經(jīng)網(wǎng)絡框架,能在TensorFlow或者 Theano 上運行。Keras的作者、谷歌AI研究員Francois Chollet宣布了一條激動人心的消息,Keras將會成為第一個被添加到TensorFlow核心中的高級別框架,這將會讓Keras變成Tensorflow的默認API。

(5)Gensim

Gensim是一款開源的第三方Python工具包,用于從原始的非結(jié)構(gòu)化的文本中,無監(jiān)督地學習到文本隱層的主題向量表達。它支持包括TF-IDF,LSA,LDA,和word2vec在內(nèi)的多種主題模型算法,支持流式訓練,并提供了諸如相似度計算,信息檢索等一些常用任務的API接口。

(6)NLTK

在NLP領(lǐng)域中,NLTK是最常使用的一個Python庫。

(7)Jieba. Jieba,結(jié)巴分詞是最受歡迎的中文分詞工具。

8、NLP語言模型

(1)詞的獨熱表示(one-hot representation)

(2)Bag of Words

(3)Bi-gram 和 N-gram

(4)詞的分布式表示(distributed representation)

(5)共現(xiàn)矩陣(Cocurrence martrix)

(6)神經(jīng)網(wǎng)絡語言模型(Neural Networ Language model,NNLM)

(7)word2vec

連續(xù)詞袋模型(Continuous Bag of Words,CBOW)Skip-Gram模型

9、快速入門NLP方法

(1)認真看完一本NLP相關(guān)的書,堅持看完一部視頻。

(2)看這兩年相關(guān)方向的綜述論文,然后看一些經(jīng)典的論文和最新論文。

(3)獨立實現(xiàn)一個小型的自然語言處理項目。

(4)可以在Github上找到很多相關(guān)的開源代碼,選一個自己感興趣的方向進行研究。

10、自然語言處理學習資料

(1)我愛自然語言處理

(2)一文讀懂自然語言NLP

(3)中文分詞原理與工具

(4)自然語言處理項目資源庫匯總

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46060

    瀏覽量

    234958
  • 自然語言
    +關(guān)注

    關(guān)注

    1

    文章

    279

    瀏覽量

    13295
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    481

    瀏覽量

    21932
收藏 人收藏

    評論

    相關(guān)推薦

    nlp自然語言處理基本概念及關(guān)鍵技術(shù)

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解、解釋和生成人類語言。
    的頭像 發(fā)表于 07-09 10:32 ?261次閱讀

    nlp自然語言處理框架有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是計算機科學和人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解和處理人類
    的頭像 發(fā)表于 07-09 10:28 ?292次閱讀

    nlp自然語言處理的主要任務及技術(shù)方法

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學領(lǐng)域的一個分支,它研究如何讓計算機能夠理解、生成和
    的頭像 發(fā)表于 07-09 10:26 ?400次閱讀

    nlp自然語言處理模型怎么做

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它涉及到計算機對人類語言的理解和生成。隨著深度
    的頭像 發(fā)表于 07-05 09:59 ?351次閱讀

    nlp自然語言處理模型有哪些

    自然語言處理(Natural Language Processing,NLP)是計算機科學和人工智能領(lǐng)域的一個重要分支,旨在使計算機能夠理解、解釋和生成人類語言。以下是對
    的頭像 發(fā)表于 07-05 09:57 ?407次閱讀

    nlp自然語言處理的應用有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個分支,它致力于使計算機能夠理解和生成自然語言。隨著技術(shù)的發(fā)展,
    的頭像 發(fā)表于 07-05 09:55 ?1960次閱讀

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理NLP)的廣闊領(lǐng)域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢,以及
    的頭像 發(fā)表于 07-04 14:40 ?269次閱讀

    自然語言處理技術(shù)有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個分支,它致力于使計算機能夠理解、解釋和生成人類語言。
    的頭像 發(fā)表于 07-03 14:30 ?596次閱讀

    自然語言處理模式的優(yōu)點

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解、生成和處理人類
    的頭像 發(fā)表于 07-03 14:24 ?400次閱讀

    自然語言處理技術(shù)的核心是什么

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,其核心目標是使計算機能夠理解、生成和處理人類
    的頭像 發(fā)表于 07-03 14:20 ?336次閱讀

    自然語言處理是什么技術(shù)的一種應用

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學領(lǐng)域的一個分支,它涉及到使用計算機技術(shù)來處理
    的頭像 發(fā)表于 07-03 14:18 ?306次閱讀

    自然語言處理包括哪些內(nèi)容

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它涉及到計算機與人類語言之間的交互。
    的頭像 發(fā)表于 07-03 14:15 ?516次閱讀

    什么是自然語言處理 (NLP)

    自然語言處理(Natural Language Processing, NLP)是人工智能領(lǐng)域中的一個重要分支,它專注于構(gòu)建能夠理解和生成人類語言的計算機系統(tǒng)。
    的頭像 發(fā)表于 07-02 18:16 ?577次閱讀

    自然語言處理技術(shù)的原理的應用

    自然語言處理(Natural Language Processing, NLP)作為人工智能(AI)領(lǐng)域的一個重要分支,旨在使計算機能夠理解和處理人類
    的頭像 發(fā)表于 07-02 12:50 ?238次閱讀

    神經(jīng)網(wǎng)絡在自然語言處理中的應用

    自然語言處理NLP)是人工智能領(lǐng)域中的一個重要分支,它研究的是如何使計算機能夠理解和生成人類自然語言。隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡在自然語
    的頭像 發(fā)表于 07-01 14:09 ?285次閱讀