NLP【自然語言處理】技術路線

 

自然語言處理 NLP

1. 數學基礎........................................................................................................... 3

1.1. 線性代數......................................................................................................... 3

1.1.1. 向量.............................................................................................................. 3

1.1.2. 矩陣..................................................................................................   ......... 3

1.1.3. 距離計算........................................................................................................ 3

1.2. 概率論............................................................................................................... 4

1.2.1. 水機實驗........................................................................................................ 4

1.2.2. 條件概率........................................................................................................ 4

1.2.3. 全概率............................................................................................................ 4

1.2.4. 貝葉斯定理..................................................................................................... 4

1.2.5. 信息論............................................................................................................ 4

1.3. 統計學................................................................................................................ 4

1.3.1. 圖形可視化..................................................................................................... 5

1.3.2. 數據度量標準................................................................................................. 5

1.3.3. 概率分佈........................................................................................................ 6

1.3.4. 統計假設檢驗................................................................................................. 7

1.4. 書單.................................................................................................................... 7

1.4.1. 統計自然語言處理基礎 Christopher Manning and Hinrich Schütze.........     .... 7

2. 語言學基礎.............................................................................................................. 7

2.1. 語音....................................................................................................................... 7

2.2. 詞彙....................................................................................................................... 7

2.3. 語法....................................................................................................................... 7

2.4. 書單....................................................................................................................... 7

2.4.1. 自然語言處理綜論......................................................................................     .... 7

2.4.2. 信息檢索導論..............................................................................................      ... 7

3. python基礎.............................................................................................................   8

3.1. 書單....................................................................................................................... 8

3.1.1. python自然語言處理..................................................................................      ... 8

4. 機器學習基礎................................................................................................................. 8

4.1. 統計學習方法........................................................................................................ 8

4.2. 機器學習 周志華................................................................................................... 8

4.3. 機器學習實戰........................................................................................................ 8

4.4. 書單....................................................................................................................... 8

4.4.1. 神經網絡在自然語言數據中的應用................................................................ 8

4.4.2. 機器學習 吳恩達............................................................................................ 9

5. 深度學習基礎................................................................................................................. 9

5.1. CNN...................................................................................................................... 9

5.2. RNN...................................................................................................................... 9

5.3. LSTM.................................................................................................................... 9

5.4. 視頻課程............................................................................................................... 9

5.4.1. CS224d:用於自然語言處理的深度學習...................................................... 9

5.4.2. 自然語言處理深度學習.................................................................................. 9

6. 自然語言處理理論基礎.................................................................................................. 9

6.1. 統計自然語言處理 宗成慶第二版......................................................................... 9

6.2. python自然語言處理.......................................................................................... 10

6.3. 數學之美 第二版................................................................................................. 10

7. 技術範疇...................................................................................................................... 10

7.1. 語義文本相似度分析........................................................................................... 10

7.2. 信息檢索(Information Retrieval, IR)............................................................... 10

7.3. 信息抽取(Information Extraction)................................................................... 10

7.4. 文本分類(Text Categorization)...................................................................... 10

7.5. 文本挖掘(Text Mining)................................................................................... 10

7.6. 文本情感分析(Textual Affective Analysis)..................................................... 10

7.7. 問答系統(Question Answering, QA).............................................................. 11

7.8. 機器翻譯(Machine Translation,MT)............................................................ 11

7.9. 自動摘要(Automatic Summarization)............................................................ 11

7.10. 語言識別(Speech Recognition)..................................................................... 11

8. 自然語言處理基本點.................................................................................................... 11

8.1. 語料庫Corpus.................................................................................................... 11

8.2. 中文分詞 Chinese word egmentation................................................................ 11

8.2.1. 基於字符串匹配(詞典)的分詞方法(機械分詞).................................... 11

8.2.2. 基於統計的分詞方法.................................................................................... 12

8.2.3. 基於理解的分詞方法.................................................................................... 13

8.2.4. 基於深度學習的中文分詞............................................................................. 14

8.2.5. 工具.............................................................................................................. 14

8.3. 詞性標註 Part-of-speech tagging....................................................................... 16

8.3.1. 難點.............................................................................................................. 16

8.3.2. 隱馬爾科夫生成式模型................................................................................ 16

8.3.3. 判別式的最大熵模型.................................................................................... 16

8.3.4. 支持向量機模型主題.................................................................................... 16

8.3.5. 感知器模型................................................................................................... 16

8.3.6. 條件隨機場模型........................................................................................... 16

8.3.7. 基於深層神經網絡的詞性標註..................................................................... 16

8.3.8. 工具.............................................................................................................. 16

8.3.9. 方法.............................................................................................................. 18

8.4. 句法分析(Parsing).......................................................................................... 19

8.4.1. 基於規則的句法結構分析............................................................................. 19

8.4.2. 基於統計的語法結構分析............................................................................. 19

8.5. 詞幹提取 stemming............................................................................................ 19

8.6. 詞形還原 lemmatization..................................................................................... 19

8.7. 停用詞過濾.......................................................................................................... 19

8.8. 詞向量化 word vector......................................................................................... 20

8.9. 命名實體消歧 Named entity Disambiguation..................................................... 20

8.10. 命名實體識別 named entity recognition............................................................. 20

8.10.1. CRF算法..................................................................................................... 20

8.10.2. 字典法.......................................................................................................... 20

8.10.3. 混合方法...................................................................................................... 20

9. 特徵處理...................................................................................................................... 20

9.1. 特徵提取 Feature Extraction.............................................................................. 20

9.2. 特徵選擇 Feature Selection............................................................................... 20

9.3. 降維 Dimension Reduction................................................................................ 21

10. 模型選擇.................................................................................................................... 21

10.1. 馬爾可夫模型...................................................................................................... 21

10.2. 隱馬爾可夫模型.................................................................................................. 21

10.3. 層次化隱馬爾可夫模型....................................................................................... 21

10.4. 馬爾可夫網絡...................................................................................................... 21

10.5. 條件隨機場 CRF................................................................................................. 21

10.6. 貝葉斯網絡.......................................................................................................... 21

10.7. 最大熵模型.......................................................................................................... 21

11. NLP工具技能............................................................................................................ 22

11.1. Anaconda............................................................................................................ 22

11.2. Scikit- learn......................................................................................................... 22

11.3. Tensor Flow........................................................................................................ 22

11.4. Keras................................................................................................................... 22

11.5. Gensim................................................................................................................ 22

11.6. NLTK................................................................................................................... 22

11.7. Jieba................................................................................................................... 22

12. NLP語言模型............................................................................................................ 22

12.1. 詞的獨熱表示 one-hot representation................................................................ 22

12.2. Bag of Words...................................................................................................... 23

12.3. Bi-gram 和 N-gram............................................................................................ 23

12.4. 詞的分佈式表示 distributed respresentation...................................................... 23

12.5. 共現矩陣 Cocurrence martrix............................................................................. 23

12.6. 神經網絡語言模型............................................................................................... 23

12.7. word2vec............................................................................................................ 23

13. 項目實戰範疇............................................................................................................. 23

13.1. 用於中文分詞的卷積神經網絡和詞嵌入.............................................................. 23

13.1.1. https://github.com/chqiwang/convseg......................................................... 23

13.1.2. 論文:https://arxiv.org/pdf/1711.04411.pdf................................................ 23

13.2. 使用卷積神經網絡進行單詞預測......................................................................... 24

13.2.1. https://github.com/Kyubyong/word_prediction............................................ 24

13.3. 基於Tensorflow做文本蘊涵............................................................................... 24

13.3.1. https://github.com/Steven-Hewitt/Entailment-with-Tensorflow................... 24

13.4. 基於DeepMind的WaveNet和tensorflow的端到端句子級英語語音識別........ 24

13.4.1. https://github.com/buriburisuri/speech-to-text-wavenet.............................. 24

13.5. PKULCWM/PKUSUMSUM................................................................................. 24

13.5.1. https://github.com/PKULCWM/PKUSUMSUM........................................... 24

13.6. 深度學習文本糾錯............................................................................................... 24

13.6.1. https://github.com/atpaino/deep-text-corrector........................................... 24

13.7. 字音轉換Tensorflow........................................................................................... 24

13.7.1. https://github.com/cmusphinx/g2p-seq2seq............................................... 25

13.8. 基於複述驅動學習的開放域問答......................................................................... 25

13.8.1. http://knowitall.cs.washington.edu/paralex/ 25

13.9. 基於CNN做音漢互譯......................................................................................... 25

13.9.1. https://github.com/Kyubyong/neural_chinese_transliterator 25

13.10. 情感分析............................................................................................................... 25

13.10.1. 預測電影評分情緒......................................................................................... 25

13.10.2. http://sentic.net/about/.............................. 25

13.11. 手語識別............................................................................................................... 25

13.11.1. http://www.signall.us/............................... 26

13.12. 詞性標註(POS)、 命名實體識別(NER)、 句法分析(parser)、 語義角色標註(SRL) 26

13.12.1. https://github.com/HIT-SCIR/ltp..................................................................... 26

13.13. 詞幹...................................................................................................................... 26

13.13.1. https://github.com/snowballstem/snowball 26

13.14. 語言識別............................................................................................................... 26

13.14.1. https://github.com/saffsd/langid.py........... 26

13.15. 機器翻譯............................................................................................................... 26

13.15.1. https://github.com/OpenNMT/OpenNMT-py 26

13.16. 複述生成............................................................................................................... 26

13.16.1. https://github.com/vsuthichai/paraphraser 26

13.17. 關係抽取............................................................................................................... 27

13.17.1. https://github.com/ankitp94/relationship-extraction 27

13.18. 句子邊界消歧........................................................................................................ 27

13.18.1. https://github.com/Orekhov/SentenceBreaking 27

13.19. 事件抽取............................................................................................................... 27

13.19.1. https://github.com/liuhuanyong/ComplexEventExtraction 27

13.20. 詞義消歧............................................................................................................... 27

13.20.1. https://github.com/alvations/pywsd........... 27

13.21. 命名實體消歧........................................................................................................ 27

13.21.1. https://github.com/dice-group/AGDISTIS.. 27

13.22. 幽默檢測............................................................................................................... 28

13.22.1. https://github.com/pln-fing-udelar/pghumor 28

13.23. 諷刺檢測............................................................................................................... 28

13.23.1. https://github.com/AniSkywalker/SarcasmDetection 28

13.24. 實體鏈接............................................................................................................... 28

13.24.1. https://github.com/hasibi/EntityLinkingRetrieval-ELR 28

13.25. 指代消歧............................................................................................................... 28

13.25.1. https://github.com/huggingface/neuralcoref 28

13.26. 鍵詞/短語抽取和社會標籤推薦.............................................................................. 28

13.26.1. https://github.com/thunlp/THUTag............ 28

13.27. 海量實踐數據集.................................................................................................... 28

13.28. NLP論文書寫規範................................................................................................ 29

 

1. 數學基礎

1.1. 線性代數

1.1.1. 向量

1.1.2. 矩陣

1.1.3. 距離計算

1.1.3.1. 餘弦距離

1.1.3.2. 歐式距離

1.1.3.3. 曼哈頓距離

1.1.3.4. 明可夫斯基距離

1.1.3.5. 切比雪夫距離

1.1.3.6. 傑卡德距離

1.1.3.7. 漢明距離

1.1.3.8. 標準歐式距離

1.1.3.9. 皮爾遜相關係數

1.2. 概率論

1.2.1. 水機實驗

1.2.2. 條件概率

1.2.3. 全概率

1.2.4. 貝葉斯定理

1.2.5. 信息論

1.3. 統計學

1.3.1. 圖形可視化

1.3.1.1. 餅圖

1.3.1.2. 條形圖

1.3.1.3. 熱力圖

1.3.1.4. 折線圖

1.3.1.5. 箱線圖

1.3.1.6. 散點圖

1.3.1.7. 雷達圖

1.3.1.8. 儀表盤

1.3.2. 數據度量標準

1.3.2.1. 平均數

1.3.2.2. 中位數

1.3.2.3. 期望

1.3.2.4. 方差

1.3.2.5. 標準差

1.3.2.6. 子主題

1.3.3. 概率分佈

1.3.3.1. 幾何分佈

1.3.3.2. 二項分佈

1.3.3.3. 正太分佈

1.3.3.4. 泊松分佈

1.3.4. 統計假設檢驗

1.4. 書單

1.4.1. 統計自然語言處理基礎 Christopher Manning and Hinrich Schütze

分爲四個部分,共16章,包括了構建自然語言處理軟件工具將用到的幾乎所有理論和算法。全書的論述過程由淺入深,從數學基礎到精確的理論算法,從簡單的詞法分析到複雜的語法分析,適合不同水平的讀者羣的需求。同時,《統計自然語言處理基礎:國外計算機科學教材系列》將理論與實踐緊密聯繫在一起,在介紹理論知識的基礎上給出了自然語言處理技術的高層應用(如信息檢索等)。經典的統計自然語言處理入門教材。內容涉及統計自然語言處理用到的數學基礎,詞法到語法分析,以及自然語言處理的基本任務(比如文本分類、聚類,統計機器翻譯,以及信息檢索)。本教材成書較早(1999年),但是自然語言處理領域的基本概念和任務沒有太大的變化,仍然適用於初學者快速瞭解自然語言處理相關的概念和任務,中文版本爲《統計自然語言處理基礎:國外計算機科學教材系列》(電子工業出版社出版)。

2. 語言學基礎

2.1. 語音

2.2. 詞彙

2.3. 語法

2.4. 書單

2.4.1. 自然語言處理綜論

2018年9月23日自然語言處理領域經典綜述教材《Speech and Language Processing 》,中文名《自然語言處理綜述》第三版發佈。該書由 NLP 領域的大牛,斯坦福大學 Daniel Jurafsky 教授和科羅拉多大學的 James H. Martin 教授等人共同編寫。Daniel Jurafsky 是斯坦福大學計算機科學教授,主要研究方向是計算語言學和自然語言處理。 James H. Martin 是科羅拉多大學博爾德分校計算機科學系一名教授,兩位教授都是 NLP 領域知名學者。經典的 NLP 教科書,涵蓋了所有 NLP 的基礎知識,也被國外許多著名大學選爲自然語言處理和計算語言學課程的主要教材。本書寫作風格引人入勝,深入技術細節而又不讓人感覺枯燥,不僅可以作爲高等學校自然語言處理和計算語言學等課程的本科生和研究生教材,對於自然語言處理相關領域的研究人員和技術人員也是不可或缺的權威參考書。

2.4.2. 信息檢索導論

作者:Christopher D.Manning / Prabhakar Raghavan /Hinrich Schütze
本書從計算機科學領域的角度出發,介紹了信息檢索的基礎知識,並對當前信息檢索的發展做了回顧,重點介紹了搜索引擎的核心技術,如文檔分類和文檔聚類問題,以及機器學習和數值計算方法。書中所有重要的思想都用示例進行了解釋,生動形象,引人入勝。關於排名/搜索的優秀參考書,作者從最簡單的布爾檢索到一個完整的搜索引擎,逐步深入,逐步引導讀者思考,對建造一個大型搜索引擎需要用到的架構和算法都有所涉獵,搜索引擎並不僅僅是檢索信息,它還有一個更重要的用處是對返回的結果進行排序,而這往往是非常重要的。

3. python基礎

3.1. 書單

3.1.1. python自然語言處理

Natural Language Processing with Python作者:Steven Bird / Ewan Klein / Edward Loper本書教你如何用 Python 和 NLTK 庫來做 NLP。提供了非常易學的自然語言處理入門介紹,該領域涵蓋從文本和電子郵件預測過濾,到自動總結和翻譯等多種語言處理技術。你還將通過使用綜合語言數據結構訪問含有豐富註釋的數據集,理解用於分析書面通信內容和結構的主要算法。這本書的實用性較強。如果你對 Python 與 NLTK 感興趣,就看這本書,可以當做入門讀物來看,整本書即涉及到了語料庫的操作,也對傳統的基於規則的方法有所涉及。全書包括了分詞(tokenization)、詞性標註(POS)、語塊(Chunk)標註、句法剖析與語義剖析等方面,是 NLP 中不錯的一本實用教程。

4. 機器學習基礎

4.1. 統計學習方法

4.2. 機器學習 周志華

4.3. 機器學習實戰

4.4. 書單

4.4.1. 神經網絡在自然語言數據中的應用

Neural Network Methods in Natural Language Processing (Synthesis Lectures on Human Language Technologies)本書着重介紹神經網絡模型在自然語言數據中的應用。書的前半部分介紹了有監督的機器學習和前饋神經網絡的基礎知識,基於語言數據的機器學習的基礎知識。它還涵蓋了可以定義和訓練任意神經網絡的計算圖形抽象方面的知識,是當代神經網絡軟件庫設計的基礎。本書的第二部分介紹了更多專門的神經網絡體系結構,包括一維卷積神經網絡、遞歸神經網絡、條件生成模型和基於注意力的模型。這些體系結構和技術是機器翻譯、句法分析和許多其他應用程序的最先進算法的推動力量。最後,本書還討論了樹形網絡,結構化預測和多任務學習的前景。最近幾年由於深度學習的興起,使得圖像識別、語音識別等多個方面都發生了很大的變革。深度學習在自然語言處理方面也是非常普遍了,一些經典的自然語言模式也都是基於神經網絡的,這本書是目前市面上唯一一本介紹神經網絡在自然語言處理的應用,而且書中的大量參考文獻非常有價值。本書的作者在這個領域非常知名,並且對待學術態度極其嚴謹。

4.4.2. 機器學習 吳恩達

5. 深度學習基礎

5.1. CNN

5.2. RNN

5.3. LSTM

5.4. 視頻課程

5.4.1. CS224d:用於自然語言處理的深度學習

課程鏈接: http://cs224d.stanford.edu/syllabus.html斯坦福大學自然語言小組基於深度學習的自然語言處理課程。介紹了自然語言處理領域廣泛應用的網絡結構(例如循環神經網絡、卷積神經網絡以及遞歸神經網絡等)及其在自然語言處理的經典任務,例如分類任務(情感分類),序列標註任務(實體識別),序列到序列的生成任務(機器翻譯)等實際應用。自然語言處理是信息時代最重要的技術之一。理解複雜的語言也是人工智能的重要組成部分。自然語言處理的應用無處不在,因爲人們用語言溝通了大部分內容:網絡搜索、廣告、電子郵件、客戶服務、語言翻譯、放射學報告等等。本課程比較適合對這個領域感興趣的初學者。

5.4.2. 自然語言處理深度學習

簡介連接:https://machinelearningmastery.com/oxford-course-deep-learning-natural-language-processing/學習資源鏈接:https://github.com/oxford-cs-deepnlp-2017/lecturesYouTube視頻課程鏈接:https://www.youtube.com/playlist?list=PL613dYIGMXoZBtZhbyiBqb0QtgK6oJbpmDeepMind 團隊成員在牛津大學教授基於深度學習的自然語言處理的課程。內容涉及到詞嵌入,基於循環神經網絡的語言模型,基於循環神經網絡和卷積神經網絡的文本分類,基於循環神經網絡的條件語言模型(廣泛應用於機器翻譯、文本摘要等)及其中的注意力機制,以及基於深度學習模型的自動問答等主要自然語言處理的任務。深度學習方法在自然語言處理問題上達到了一定的效果。本課程的大部分材料都可以在線免費獲取,比較適合對這個領域有一定的基礎,希望瞭解最新進展和進一步學習和研究的同學。

6. 自然語言處理理論基礎

6.1. 統計自然語言處理 宗成慶第二版

6.2. python自然語言處理

6.3. 數學之美 第二版

7. 技術範疇

7.1. 語義文本相似度分析

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

7.2. 信息檢索(Information Retrieval, IR)

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

7.3. 信息抽取(Information Extraction)

信息抽取是指從非結構化或半結構化文本(如:網頁/新聞/論文文獻/微博等)中提取指定類型的信息(如實體/屬性/關係/事件/商品記錄等),並通過信息歸併,冗餘消除和衝突消解等手段將非結構化文本轉換爲結構化信息的一項綜合技術。

7.4. 文本分類(Text Categorization)

文本分類的任務是根據給定的文檔內容或主題,自動分配預先定義的類別標籤。

7.5. 文本挖掘(Text Mining)

文本挖掘是信息挖掘的一個研究分支,用於基於文本信息的知識發現。文本挖掘的準備工作由文本蒐集/文本分析/特徵修剪三個步驟組成。目前研究和應用最多的幾種文本挖掘技術有:文檔聚類/文檔分類/摘要提取。

7.6. 文本情感分析(Textual Affective Analysis)

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

7.7. 問答系統(Question Answering, QA)

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

7.8. 機器翻譯(Machine Translation,MT)

機器翻譯是指利用計算機實現從一種自然語言到另外一種自然語言的自動翻譯。被翻譯的語言稱爲源語言(source language),翻譯到的語言稱作目標語言(target language)。機器翻譯研究的目標就是建立有效的自動翻譯方法、模型和系統,打破語言壁壘,最終實現任意時間、任意地點和任意語言的自動翻譯,完成人們無障礙自由交流的夢想。

7.9. 自動摘要(Automatic Summarization)

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

7.10. 語言識別(Speech Recognition)

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

8. 自然語言處理基本點

8.1. 語料庫Corpus

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

8.2. 中文分詞 Chinese word egmentation

中文分詞指的是將一個漢字序列切分成一個一個單獨的詞。分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。

8.2.1. 基於字符串匹配(詞典)的分詞方法(機械分詞)

這種方法本質上就是字符串匹配的方法,將一串文本中的文字片段和已有的詞典進行匹配,如果匹配到,則此文字片段就作爲一個分詞結果。但是基於詞典的機械切分會遇到多種問題,最爲常見的包括歧義切分問題和未登錄詞問題。

帥比: 2019-10-13 17:26:48

這類算法的優點是速度快,時間複雜度可以保持在O(n),實現簡單,效果尚可,但是對歧義和未登錄詞處理效果不佳。

8.2.1.1. 正向最大匹配法(從左到右的方向)

8.2.1.2. 逆向最大匹配法(從右至左的方向)

8.2.1.3. 最小的切分(每一句中切分出的詞數最小)

8.2.1.4. 雙向最大匹配(從左至右/從右至左兩次掃描)

8.2.2. 基於統計的分詞方法

基於統計的分詞方法是在給定大量已經分詞的文本的前提下,利用統計機器學習模型學習詞語切分的規律(稱爲訓練),從而實現對未知文本的切分。例如最大概率分詞方法和最大熵分詞方法等。隨着大規模語料庫的建立,統計機器學習方法的研究和發展,基於統計的中文分詞方法漸漸成爲了主流方法。

8.2.2.1. 模型

8.2.2.1.1. N元文法模型(N-gram)

8.2.2.1.2. 隱馬爾可夫模型(HMM)

8.2.2.1.3. 最大熵模型(ME)

8.2.2.1.4. 條件隨機模型(CRF)

8.2.2.2. 方法

8.2.2.2.1. N-最短路徑方法

8.2.2.2.2. 基於分詞的n元語法模型的分詞方法

8.2.2.2.3. 由字構詞的漢語分詞方法

8.2.2.2.4. 基於詞感知機算法的漢語分詞方法

8.2.2.2.5. 基於字的生成式模型和區分式模型相結合的漢語分詞方法

8.2.3. 基於理解的分詞方法

基於理解的分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現象。它通常包括三個部分:分詞子系統、句法語義子系統、總控部分。在總控部分的協調下,分詞子系統可以獲得有關詞、句子等的句法和語義信息來對分詞歧義進行判斷,即它模擬了人對句子的理解過程。

帥比: 2019-10-13 17:40:07

這種分詞方法需要使用大量的語言知識和信息。由於漢語語言知識的籠統、複雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基於理解的分詞系統還處在試驗階段。

8.2.3.1. 分詞子系統

8.2.3.2. 句法語義子系統

8.2.3.3. 總控部分

8.2.4. 基於深度學習的中文分詞

近幾年,深度學習方法爲分詞技術帶來了新的思路,直接以最基本的向量化原子特徵作爲輸入,經過多層非線性變換,輸出層就可以很好的預測當前字的標記或下一個動作。在深度學習的框架下,仍然可以採用基於子序列標註的方式,或基於轉移的方式,以及半馬爾科夫條件隨機場。這類方法首先對語料的字進行嵌入,得到字嵌入後,將字嵌入特徵輸入給雙向LSTM,輸出層輸出深度學習所學習到的特徵,並輸入給CRF層,得到最終模型。現有的方法包括:LSTM+CRF、BiLSTM+CRF等。

8.2.4.1. LSTM+CRF

8.2.4.2. BiLSTM+CRF

8.2.5. 工具

8.2.5.1. jieba

# 安裝:pip install jieba# 國內源安裝更快:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simpleimport jieba

# 全模式分詞
wordseg_all = jieba.cut("我愛自然語言處理技術!", cut_all=True)
print("全模式: " + " ".join(wordseg_all))
# 輸出:全模式: 我 愛 自然 自然語言 語言 處理 技術 # 精確模式分詞
wordseg = jieba.cut("我愛自然語言處理技術!", cut_all=False)
print("精確模式: " + " ".join(wordseg))
# 輸出:精確模式: 我 愛 自然語言 處理 技術 !# 搜索引擎模式
wordseg_search = jieba.cut_for_search("我愛自然語言處理技術!") 
print("搜索引擎模式:" + " ".join(wordseg_search))
# 輸出:搜索引擎模式:我 愛 自然 語言 自然語言 處理 技術 !

帥比: 2019-10-13 17:42:35

“結巴”中文分詞:做最好的 Python 中文分詞組件。

下載地址

8.2.5.1.1. 下載:https://github.com/fxsjy/jieba

8.2.5.2. SnowNLP

# 安裝:pip install snownlp# 國內源安裝:pip install snownlp -i https://pypi.tuna.tsinghua.edu.cn/simplefrom snownlp import SnowNLP
model = SnowNLP(u'我愛自然語言處理技術!')
print(model.words)

# 輸出:['我', '愛', '自然', '語言', '處理', '技術', '!']

帥比: 2019-10-13 17:46:32

SnowNLP是一個python寫的類庫,可以方便的處理中文文本內容。

8.2.5.2.1. https://github.com/isnowfy/snownlp

8.2.5.3. HanLP

# 安裝:pip install pyhanlp# 國內源安裝:pip install pyhanlp -i https://pypi.tuna.tsinghua.edu.cn/simplefrom pyhanlp import *

s = '我愛自然語言處理技術!'
word_seg = HanLP.segment(s)
for term in word_seg:
 print(term.word)

帥比: 2019-10-13 17:50:57

HanLP是一系列模型與算法組成的NLP工具包,由大快搜索主導並完全開源,目標是普及自然語言處理在生產環境中的應用。

8.2.5.3.1. Github地址:https://github.com/hankcs/pyhanlp

8.2.5.4. StanfordNLP

# 安裝:pip install stanfordcorenlp# 國內源安裝:pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simplefrom stanfordcorenlp import StanfordCoreNLP
# 先下載模型,然後導入,下載地址:https://nlp.stanford.edu/software/
nlp_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh')
# 分詞
s = '我愛自然語言處理技術!'
word_seg = nlp_model.word_tokenize(s)
print(word_seg)

# 輸出:['我愛', '自然', '語言', '處理', '技術', '!']

帥比: 2019-10-13 17:50:24

斯坦福NLP組的開源,支持python接口。

8.2.5.4.1. Github地址:https://github.com/Lynten/stanford-corenlp

8.2.5.5. THULAC

# 安裝:pip install thulac# 國內源安裝:pip install thulac -i https://pypi.tuna.tsinghua.edu.cn/simpleimport thulac
# 默認模式:分詞的同時進行詞性標註
thulac_model = thulac.thulac()
wordseg = thulac_model.cut("我愛自然語言處理技術!")
print(wordseg)

# 輸出:[['我', 'r'], ['愛', 'v'], ['自然', 'n'], ['語言', 'n'], ['處理', 'v'], ['技術', 'n'], ['!', 'w']]# 只進行分詞
seg_only_model = thulac.thulac(seg_only=True)
wordseg_only = seg_only_model.cut("我愛自然語言處理技術!")
print(wordseg_only)

# 輸出:[['我', ''], ['愛', ''], ['自然', ''], ['語言', ''], ['處理', ''], ['技術', ''], ['!', '']]

帥比: 2019-10-13 17:48:26

THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研製推出的一套中文詞法分析工具包,具有中文分詞和詞性標註功能。

8.2.5.5.1. Github地址:https://github.com/thunlp/THULAC

8.2.5.6. NLPIR

# 安裝:pip install pynlpir# 國內源安裝:pip install pynlpir -i https://pypi.tuna.tsinghua.edu.cn/simple# 導入pynlpir包# 如果發現加載報錯,則需要更換license:https://github.com/NLPIR-team/NLPIR/tree/master/License/import pynlpir
# 打開分詞器
pynlpir.open()
# 分詞:這個工具會同時進行詞性標註
s = "我愛自然語言處理技術!"
word_seg = pynlpir.segment(s)
print(word_seg)

# 輸出:[('我', 'pronoun'), ('愛', 'verb'), ('自然', 'adjective'), ('語言', 'noun'), ('處理', 'verb'), ('技術', 'noun'), ('!', 'punctuation mark')]

帥比: 2019-10-13 17:49:37

NLPIR-ICTCLAS漢語分詞系統。

8.2.5.6.1. Github地址:https://github.com/tsroten/pynlpir

8.3. 詞性標註 Part-of-speech tagging

詞性標註是指爲給定句子中的每個詞賦予正確的詞法標記,給定一個切好詞的句子,詞性標註的目的是爲每一個詞賦予一個類別,這個類別稱爲詞性標記(part-of-speech tag),比如,名詞(noun)、動詞(verb)、形容詞(adjective)等。詞性標註是一個非常典型的序列標註問題。詞性指以詞的特點作爲劃分詞類的根據。詞類是一個語言學術語,是一種語言中詞的語法分類,是以語法特徵(包括句法功能和形態變化)爲主要依據、兼顧詞彙意義對詞進行劃分的結果。從組合和聚合關係來說,一個詞類是指:在一個語言中,衆多具有相同句法功能、能在同樣的組合位置中出現的詞,聚合在一起形成的範疇。詞類是最普遍的語法的聚合。詞類劃分具有層次性。如漢語中,詞可以分成實詞和虛詞,實詞中又包括體詞、謂詞等,體詞中又可以分出名詞和代詞等。詞性標註就是在給定句子中判定每個詞的語法範疇,確定其詞性並加以標註的過程,這也是自然語言處理中一項非常重要的基礎性工作,所有對於詞性標註的研究已經有較長的時間,在研究者長期的研究總結中,發現漢語詞性標註中面臨了許多棘手的問題。

8.3.1. 難點

漢語是一種缺乏詞形態變化的語言,詞的類別不能像印歐語那樣,直接從詞的形態變化上來判別。常用詞兼類現象嚴重。《現代漢語八百詞》收取的常用詞中,兼類詞所佔的比例高達22.5%,而且發現越是常用的詞,不同的用法越多。由於兼類使用程度高,兼類現象涉及漢語中大部分詞類,因而造成在漢語文本中詞類歧義排除的任務量巨大。研究者主觀原因造成的困難。語言學界在詞性劃分的目的、標準等問題上還存在分歧。目前還沒有一個統的被廣泛認可漢語詞類劃分標準,詞類劃分的粒度和標記符號都不統一。詞類劃分標準和標記符號集的差異,以及分詞規範的含混性,給中文信息處理帶來了極大的困難。

8.3.2. 隱馬爾科夫生成式模型

8.3.3. 判別式的最大熵模型

8.3.4. 支持向量機模型主題

8.3.5. 感知器模型

8.3.6. 條件隨機場模型

8.3.7. 基於深層神經網絡的詞性標註

8.3.8. 工具

8.3.8.1. jieba

# 安裝:pip install jieba# 國內源安裝更快:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple# 先導包:jieba.posseg.dt 爲默認詞性標註分詞器# 標註句子分詞後每個詞的詞性,採用和 ictclas 兼容的標記法。import jieba.posseg as pseg
words = pseg.cut("我愛自然語言處理技術!")
for word, pos in words:
 print(word, pos)

我 r
愛 v
自然語言 l
處理 v
技術 n
! x

帥比: 2019-10-13 17:42:35

“結巴”中文分詞:做最好的 Python 中文分詞組件,可以進行詞性標註。

下載地址

8.3.8.1.1. 下載:https://github.com/fxsjy/jieba

8.3.8.2. SnowNLP

# 安裝:pip install snownlp# 國內源安裝:pip install snownlp -i https://pypi.tuna.tsinghua.edu.cn/simple# 使用snownlp進行詞性標註from snownlp import SnowNLP
model = SnowNLP(u'我愛自然語言處理技術!')
for word, pos in model.tags:
 print(word, pos)

我 r
愛 v
自然 n
語言 n
處理 vn
技術 n
! w

帥比: 2019-10-13 17:46:32

SnowNLP是一個python寫的類庫,可以方便的處理中文文本內容。

8.3.8.2.1. https://github.com/isnowfy/snownlp

8.3.8.3. HanLP

# 安裝:pip install pyhanlp# 國內源安裝:pip install pyhanlp -i https://pypi.tuna.tsinghua.edu.cn/simple# 使用pyhanlp進行詞性標註from pyhanlp import *
s = '我愛自然語言處理技術!'
word_seg = HanLP.segment(s)
for term in word_seg:
 print(term.word, term.nature)

我 rr
愛 v
自然語言處理 nz
技術 n
! w

帥比: 2019-10-13 17:50:57

HanLP是一系列模型與算法組成的NLP工具包,由大快搜索主導並完全開源,目標是普及自然語言處理在生產環境中的應用。

8.3.8.3.1. Github地址:https://github.com/hankcs/pyhanlp

8.3.8.4. StanfordNLP

# 安裝:pip install stanfordcorenlp# 國內源安裝:pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simple# 使用stanfordcorenlp進行詞性標註# 同時支持英文和中文的詞性標註from stanfordcorenlp import StanfordCoreNLP
zh_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh')
s_zh = '我愛自然語言處理技術!'
word_pos_zh = zh_model.pos_tag(s_zh)
print(word_pos_zh)

[('我愛', 'NN'), ('自然', 'AD'), ('語言', 'NN'), ('處理', 'VV'), ('技術', 'NN'), ('!', 'PU')]


eng_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27')
s_eng = 'I love natural language processing technology!'
word_pos_eng = eng_model.pos_tag(s_eng)
print(word_pos_eng)

[('I', 'PRP'), ('love', 'VBP'), ('natural', 'JJ'), ('language', 'NN'), ('processing', 'NN'), ('technology', 'NN'), ('!', '.')]

帥比: 2019-10-13 17:50:24

斯坦福NLP組的開源,支持python接口。

8.3.8.4.1. Github地址:https://github.com/Lynten/stanford-corenlp

8.3.8.5. THULAC

# 安裝:pip install thulac# 國內源安裝:pip install thulac -i https://pypi.tuna.tsinghua.edu.cn/simple# 使用thulac進行詞性標註import thulac
thulac_model = thulac.thulac()
wordseg = thulac_model.cut("我愛自然語言處理技術!")
print(wordseg)

Model loaded succeed
[['我', 'r'], ['愛', 'v'], ['自然', 'n'], ['語言', 'n'], ['處理', 'v'], ['技術', 'n'], ['!', 'w']]

帥比: 2019-10-13 17:48:26

THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研製推出的一套中文詞法分析工具包,具有中文分詞和詞性標註功能。

8.3.8.5.1. Github地址:https://github.com/thunlp/THULAC

8.3.8.6. NLTK

# 安裝:pip install nltk# 國內源安裝:pip install nltk -i https://pypi.tuna.tsinghua.edu.cn/simpleimport nltk
s = 'I love natural language processing technology!'
s = nltk.word_tokenize(s)
s_pos = nltk.pos_tag(s)
print(s_pos)

[('I', 'PRP'), ('love', 'VBP'), ('natural', 'JJ'), ('language', 'NN'), ('processing', 'NN'), ('technology', 'NN'), ('!', '.')]

帥比: 2019-10-13 18:00:23

NLTK是一個高效的Python構建的平臺,用來處理人類自然語言數據。

8.3.8.6.1. Github地址:https://github.com/nltk/nltk 官網:http://www.nltk.org/

8.3.8.7. SpaCy

# 安裝:pip install spaCy# 國內源安裝:pip install spaCy -i https://pypi.tuna.tsinghua.edu.cn/simple# 下載不了模型,需要python -m spacy download en。 The easiest solution is to re-run the command as admin(意思是用用戶管理權限打開CMD下載即可)import spacy
eng_model = spacy.load('en')
s = 'I love natural language processing technology!'# 詞性標註
s_token = eng_model(s)
for token in s_token:
 print(token, token.pos_, token.pos)

I PRON 94
love VERB 99
natural ADJ 83
language NOUN 91
processing NOUN 91
technology NOUN 91
! PUNCT 96

帥比: 2019-10-13 18:01:07

工業級的自然語言處理工具,遺憾的是不支持中文。

8.3.8.7.1. Gihub地址:https://github.com/explosion/spaCy 官網:https://spacy.io/

8.3.9. 方法

8.3.9.1. 基規則的詞性標註方法

基於規則的詞性標註方法是人們提出較早的一種詞性標註方法,其基本思想是按兼類詞搭配關係和上下文語境建造詞類消歧規則。早期的詞類標註規則一般由人工構建。隨着標註語料庫規模的增大,可利用的資源也變得越來越多,這時候以人工提取規則的方法顯然變得不現實,於是乎,人們提出了基於機器學習的規則自動提出方法。

8.3.9.2. 基於統計模型的詞性標註方法

統計方法將詞性標註看作是一個序列標註問題。其基本思想是:給定帶有各自標註的詞的序列,我們可以確定下一個詞最可能的詞性。現在已經有隱馬爾可夫模型(HMM)、條件隨機域(CRF)等統計模型了,這些模型可以使用有標記數據的大型語料庫進行訓練,而有標記的數據則是指其中每一個詞都分配了正確的詞性標註的文本。

8.3.9.3. 基於統計方法與規則方法相結合的詞性標註方法

理性主義方法與經驗主義相結合的處理策略一直是自然語言處理領域的專家們不斷研究和探索的問題,對於詞性標註問題當然也不例外。這類方法的主要特點在於對統計標註結果的篩選,只對那些被認爲可疑的標註結果,才採用規則方法進行歧義消解,而不是對所有情況都既使用統計方法又使用規則方法

8.3.9.4. 基於深度學習的詞性標註方法

8.3.9.4.1. LSTM+CRF

8.3.9.4.2. BiLSTM+CRF

8.4. 句法分析(Parsing)

8.4.1. 基於規則的句法結構分析

8.4.2. 基於統計的語法結構分析

8.5. 詞幹提取 stemming

詞幹提取是將詞語去除變化或衍生形式,轉換爲詞幹或原型形式的過程。詞幹提取的目標是將相關詞語還原爲同樣的詞幹。

8.6. 詞形還原 lemmatization

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

8.7. 停用詞過濾

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

8.8. 詞向量化 word vector

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

8.9. 命名實體消歧 Named entity Disambiguation

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

8.10. 命名實體識別 named entity recognition

命名實體識別是識別一個句子中有特定意義的實體並將其區分爲人名,機構名,日期,地名,時間等類別的任務。

8.10.1. CRF算法

8.10.2. 字典法

8.10.3. 混合方法

9. 特徵處理

9.1. 特徵提取 Feature Extraction

特徵提取是指將機器學習算法不能識別的原始數據轉化爲算法可以識別的特徵的過程。舉例(文本分類特徵提取步驟):(1)對訓練數據集的每篇文章,我們進行詞語的統計,以形成一個詞典向量。詞典向量裏包含了訓練數據裏的所有詞語(假設停用詞已去除),且每個詞語代表詞典向量中的一個元素。(2)在經過第一步的處理後,每篇文章都可以用詞典向量來表示。這樣一來,每篇文章都可以被看作是元素相同且長度相同的向量,不同的文章具有不同的向量值。這也就是表示文本的詞袋模型(bag of words)。(3)針對於特定的文章,如何給表示它的向量的每一個元素賦值呢?最簡單直接的辦法就是0-1法了。簡單來說,對於每一篇文章,我們掃描它的詞語集合,如果某一個詞語出現在了詞典中,那麼該詞語在詞典向量中對應的元素置爲1,否則爲0。

9.2. 特徵選擇 Feature Selection

當數據預處理完成後,我們需要選擇有意義的特徵輸入機器學習的算法和模型進行訓練。特徵選擇是指去掉無關特徵,保留相關特徵的過程,也可以認爲是從所有的特徵中選擇一個最好的特徵子集。特徵選擇本質上可以認爲是降維的過程。from sklearn.feature_extraction.text import TfidfVectorizer

9.3. 降維 Dimension Reduction

10. 模型選擇

10.1. 馬爾可夫模型

馬爾可夫模型、隱馬爾可夫模型、層次化隱馬爾可夫模型、馬爾可夫網絡(1)應用:詞類標註、語音識別、局部句法剖析、語塊分析、命名實體識別、信息抽取等。應用於自然科學、工程技術、生物科技、公用事業、信道編碼等多個領域。(2)馬爾可夫鏈:在隨機過程中,每個語言符號的出現概率不相互獨立,每個隨機試驗的當前狀態依賴於此前狀態,這種鏈就是馬爾可夫鏈。(3)多元馬爾科夫鏈:考慮前一個語言符號對後一個語言符號出現概率的影響,這樣得出的語言成分的鏈叫做一重馬爾可夫鏈,也是二元語法。二重馬爾可夫鏈,也是三元語法,三重馬爾可夫鏈,也是四元語法

10.2. 隱馬爾可夫模型

10.3. 層次化隱馬爾可夫模型

10.4. 馬爾可夫網絡

10.5. 條件隨機場 CRF

(1)條件隨機場用於序列標註,中文分詞、中文人名識別和歧義消解等自然語言處理中,表現出很好的效果。原理是:對給定的觀察序列和標註序列,建立條件概率模型。條件隨機場可用於不同預測問題,其學習方法通常是極大似然估計。(2)條件隨機場模型也需要解決三個基本問題:特徵的選擇、參數訓練和解碼。

10.6. 貝葉斯網絡

貝葉斯網絡又稱爲信度網絡或信念網絡(belief networks),是一種基於概率推理的數學模型,其理論基礎是貝葉斯公式。

10.7. 最大熵模型

11. NLP工具技能

(1)AnacondaAnaconda是一個用於科學計算的Python開發平臺,支持 Linux,Mac和Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本Python並存、切換以及各種第三方包安裝問題。Anaconda利用conda命令來進行package和environment的管理,並且已經包含了Python和相關的配套工具。Anaconda集成了大量的機器學習庫以及數據處理必不可少的第三方庫,比如NumPy,SciPy,Scikit-Learn以及TensorFlow等。(2)Scikit-learnScikit-learn是廣受歡迎的入門級機器學習庫,包含大量的機器學習算法和特徵提取實現,使用非常簡便。Scikit-learn實現的是淺層學習算法,神經網絡僅實現了多層感知機。(3)TensorFlowTensorFlow是谷歌基於DistBelief進行研發的第二代人工智能學習系統,可被用於語音識別或圖像識別等多項機器學習和深度學習領域。(4)KerasKeras是一個高級別的Python神經網絡框架,能在TensorFlow或者 Theano 上運行。Keras的作者、谷歌AI研究員Francois Chollet宣佈了一條激動人心的消息,Keras將會成爲第一個被添加到TensorFlow核心中的高級別框架,這將會讓Keras變成Tensorflow的默認API。(5)GensimGensim是一款開源的第三方Python工具包,用於從原始的非結構化的文本中,無監督地學習到文本隱層的主題向量表達。它支持包括TF-IDF,LSA,LDA,和word2vec在內的多種主題模型算法,支持流式訓練,並提供了諸如相似度計算,信息檢索等一些常用任務的API接口。(6)NLTK在NLP領域中,NLTK是最常使用的一個Python庫。(7)JiebaJieba,結巴分詞是最受歡迎的中文分詞工具。

11.1. Anaconda

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

11.2. Scikit- learn

11.3. Tensor Flow

11.4. Keras

11.5. Gensim

11.6. NLTK

11.7. Jieba

12. NLP語言模型

12.1. 詞的獨熱表示 one-hot representation

12.2. Bag of Words

12.3. Bi-gram 和 N-gram

12.4. 詞的分佈式表示 distributed respresentation

12.5. 共現矩陣 Cocurrence martrix

12.6. 神經網絡語言模型

12.7. word2vec

13. 項目實戰範疇

13.1. 用於中文分詞的卷積神經網絡和詞嵌入

13.1.1. https://github.com/chqiwang/convseg

13.1.2. 論文:https://arxiv.org/pdf/1711.04411.pdf

13.2. 使用卷積神經網絡進行單詞預測

13.2.1. https://github.com/Kyubyong/word_prediction

13.3. 基於Tensorflow做文本蘊涵

13.3.1. https://github.com/Steven-Hewitt/Entailment-with-Tensorflow

13.4. 基於DeepMind的WaveNet和tensorflow的端到端句子級英語語音識別

13.4.1. https://github.com/buriburisuri/speech-to-text-wavenet

13.5. PKULCWM/PKUSUMSUM

13.5.1. https://github.com/PKULCWM/PKUSUMSUM

13.6. 深度學習文本糾錯

13.6.1. https://github.com/atpaino/deep-text-corrector

13.7. 字音轉換Tensorflow

13.7.1. https://github.com/cmusphinx/g2p-seq2seq

13.8. 基於複述驅動學習的開放域問答

13.8.1. http://knowitall.cs.washington.edu/paralex/

13.9. 基於CNN做音漢互譯

13.9.1. https://github.com/Kyubyong/neural_chinese_transliterator

13.10. 情感分析

13.10.1. 預測電影評分情緒

13.10.1.1. https://nlp.stanford.edu/sentiment/

13.10.2. http://sentic.net/about/

13.11. 手語識別

13.11.1. http://www.signall.us/

13.12. 詞性標註(POS)、 命名實體識別(NER)、 句法分析(parser)、 語義角色標註(SRL)

13.12.1. https://github.com/HIT-SCIR/ltp

13.13. 詞幹

13.13.1. https://github.com/snowballstem/snowball

13.14. 語言識別

13.14.1. https://github.com/saffsd/langid.py

13.15. 機器翻譯

13.15.1. https://github.com/OpenNMT/OpenNMT-py

13.16. 複述生成

13.16.1. https://github.com/vsuthichai/paraphraser

13.17. 關係抽取

13.17.1. https://github.com/ankitp94/relationship-extraction

13.18. 句子邊界消歧

13.18.1. https://github.com/Orekhov/SentenceBreaking

13.19. 事件抽取

13.19.1. https://github.com/liuhuanyong/ComplexEventExtraction

13.20. 詞義消歧

13.20.1. https://github.com/alvations/pywsd

13.21. 命名實體消歧

13.21.1. https://github.com/dice-group/AGDISTIS

13.22. 幽默檢測

13.22.1. https://github.com/pln-fing-udelar/pghumor

13.23. 諷刺檢測

13.23.1. https://github.com/AniSkywalker/SarcasmDetection

13.24. 實體鏈接

13.24.1. https://github.com/hasibi/EntityLinkingRetrieval-ELR

13.25. 指代消歧

13.25.1. https://github.com/huggingface/neuralcoref

13.26. 鍵詞/短語抽取和社會標籤推薦

13.26.1. https://github.com/thunlp/THUTag

13.27. 海量實踐數據集

https://github.com/niderhoff/nlp-datasets

13.28. NLP論文書寫規範

https://zhuanlan.zhihu.com/p/58752815

14. 待續

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章