乾貨|NLP、知識圖譜教程、書籍、網站、工具……(附資源連結)

乾貨|NLP、知識圖譜教程、書籍、網站、工具……(附資源鏈接)

本文多資源,建議閱讀收藏。

本文整理了關於 NLP 與知識圖譜的眾多參考資源,涵蓋內容與形式非常豐富。

[ 導讀 ]本文作者一年前整理了這份關於 NLP 與知識圖譜的參考資源,涵蓋內容與形式也是非常豐富,接下來我們還會繼續努力,分享更多更好的新資源給大家,也期待能與大家多多交流,一起成長。

乾貨|NLP、知識圖譜教程、書籍、網站、工具……(附資源鏈接)

NLP參考資源

自然語言處理(Natural Language Processing)是深度學習的主要應用領域之一。

1. 教程

  • CS224d: Deep Learning for Natural Language Processing
  • http://cs224d.stanford.edu/
  • CS224d課程的課件
  • http://web.stanford.edu/class/cs224n/syllabus.html
  • CMU的NLP教程。該網頁下方還有美國其他高校的NLP課程的鏈接。
  • http://demo.clab.cs.cmu.edu/NLP/
  • 北京大學的NLP教程,特色:中文處理。缺點:傳統方法居多,深度學習未涉及。
  • http://ccl.pku.edu.cn/alcourse/nlp/
  • COMS W4705: Natural Language Processing
  • http://www.cs.columbia.edu/~cs4705/
  • 初學者如何查閱自然語言處理(NLP)領域學術資料
  • https://mp.weixin.qq.com/s/TSc4E8lKwgc-EvzP8OlJeg
  • 揭開知識庫問答KB-QA的面紗(知識圖譜方面的系列專欄)
  • https://zhuanlan.zhihu.com/kb-qa
  • 《語音與語言處理》第三版,NLP和語音合成方面的專著
  • http://web.stanford.edu/~jurafsky/slp3/ed3book.pdf
  • CIPS ATT 2017 文本分析和自然語言課程PPT
  • https://mp.weixin.qq.com/s/5KhTWdOk-b84DXmoVr68-A
  • CMU NN for NLP
  • http://phontron.com/class/nn4nlp2017/assets/slides/
  • CMU Machine Translation and Sequence to Sequence Models
  • http://phontron.com/class/mtandseq2seq2017/
  • Oxford Deep NLP 2017 course
  • https://github.com/oxford-cs-deepnlp-2017/lectures

2. 書籍

  • 《Natural Language Processing with Python》,Steven Bird、Ewan Klein、Edward Loper著。這本書的作者們創建了著名的NLTK工具庫。
  • http://ccl.pku.edu.cn/alcourse/nlp/LectureNotes/Natural%20Language%20Processing%20with%20Python.pdf

注:

Steven Bird,愛丁堡大學博士,墨爾本大學副教授。

http://www.stevenbird.net/about.html

Ewan Klein,蘇格蘭人,哥倫比亞大學博士(1978年),愛丁堡大學教授。

Edward Loper,賓夕法尼亞大學博士。

  • 推薦5本經典自然語言處理書籍
  • https://mp.weixin.qq.com/s/0HmsMytif3INqAX1Si5ukA

3. 網站

  • 一個自然語言處理愛好者的群體博客。包括52nlp、rickjin、liwei等國內外華人大牛.
  • http://www.52nlp.cn/
  • 實戰課程:自己動手做聊天機器人
  • http://www.shareditor.com/bloglistbytag/?tagname=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%81%9A%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA
  • 北京大學計算機科學技術研究所語言計算與互聯網挖掘研究
  • http://www.icst.pku.edu.cn/lcwm/
  • NLP深度學習方面的代碼庫
  • https://github.com/rockingdingo/deepnlp
  • NLP專家李維的blog
  • https://liweinlp.com/
  • 一個NLP方面的blog
  • http://www.shuang0420.com/
  • 一個DL+ML+NLP的blog
  • http://www.cnblogs.com/Determined22/
  • 一個NLP方面的blog
  • http://www.cnblogs.com/robert-dlut/
  • 一個NLP方面的blog
  • https://blog.csdn.net/wangxinginnlp

4. 工具

  • Natural Language Toolkit(NLTK)
  • 官網:http://www.nltk.org/
  • 可使用nltk.download()下載相關nltk官方提供的各種資源。

參考:

http://www.cnblogs.com/baiboy/p/nltk3.html

  • OpenNLP
  • http://opennlp.apache.org/
  • FudanNLP
  • https://github.com/FudanNLP/fnlp
  • Stanford CoreNLP
  • http://stanfordnlp.github.io/CoreNLP/
  • THUCTC
  • THUCTC(THU Chinese Text Classification)是由清華大學自然語言處理實驗室推出的中文文本分類工具包。
  • http://thuctc.thunlp.org/
  • gensim
  • gensim是Python語言的計算文本相似度的程序包。
  • http://radimrehurek.com/gensim/index.html

安裝指令:

pip install --upgrade gensim

GitHub 地址:

https://github.com/RaRe-Technologies/gensim

參考學習:

情感分析的新方法——基於Word2Vec /Doc2Vec/Python

http://www.open-open.com/lib/view/open1444351655682.html

Gensim Word2vec使用教程

http://blog.csdn.net/Star_Bob/article/details/47808499

  • GloVe
  • GloVe:Global Vectors for Word Representation
  • https://nlp.stanford.edu/projects/glove/
  • textsum
  • textsum是一個基於深度學習的文本自動摘要工具。

代碼:

https://github.com/tensorflow/models/tree/master/textsum

參考:

http://www.jiqizhixin.com/article/1449

谷歌開源新的TensorFlow文本自動摘要代碼:

TensorFlow文本摘要生成 - 基於注意力的序列到序列模型

http://blog.csdn.net/tensorflowshizhan/article/details/69230070

  • jieba
  • https://github.com/fxsjy/jieba
  • NLPIR:NLPIR漢語分詞系統(又名ICTCLAS2013),是中科院張華平博士的作品。
  • http://ictclas.nlpir.org/

參考:

這個網頁對於NLP的大多數功能進行了可視化的展示。NLP入門必看。

http://ictclas.nlpir.org/nlpir/

  • snownlp
  • https://github.com/isnowfy/snownlp
  • HanLP:HanLP是一個目前留學日本的中國學生的作品
  • http://hanlp.linrunsoft.com/

作者blog:

http://www.hankcs.com/

Github:

https://github.com/hankcs/HanLP/

從作者的名氣來說,HanLP無疑是最低的,性能也不見得有多好。然而對於初學者來說,這卻是最適合的工具。這主要體現在以下幾個方面:

1.中文處理能力。NLTK和OpenNLP對中文支持非常差,這裡不光是中文分詞的問題,有些NLP算法需要一定的語言模型數據,但瀏覽NLTK官方的模型庫,基本找不到中文模型數據。

2.jieba、IK之類的功能太單一,多數侷限在中文分詞方面領域。gensim、THUCTC專注於NLP的某一方面,也不是通用工具。

3.NLPIR和Stanford CoreNLP算是功能最強的工具包了。前者的問題在於收費不開源,後者的問題在於缺少中文文檔。FudanNLP的相關文檔較少,文檔友好度不如HanLP。

4.HanLP在主頁上提供了相關算法的blog,便於初學者快速掌握相關概念。

其詞典是明文發佈,便於用戶修改。HanLP執行時,會將明文詞典以特定結構緩存,以提高執行效率。

注:不要以為中文有分詞問題,就比別的語言複雜,英文還有詞根問題呢。。。每種語言都不簡單。

  • AllenNLP
  • AllenNLP是 Allen AI實驗室的作品,採用深度學習技術,基於PyTorch開發。
  • http://allennlp.org/

Allen AI實驗室由微軟聯合創始人Paul G. Allen投資創立。

http://allenai.org/

  • python版的漢字轉拼音軟件
  • https://github.com/mozillazg/python-pinyin
  • Java分佈式中文分詞組件-word分詞
  • https://github.com/ysc/word
  • jena是一個語義網絡、知識圖譜相關的軟件
  • http://jena.apache.org/
  • NLPchina
  • NLPchina(中國自然語言處理開源組織)旗下有許多好用的工具。
  • http://www.nlpcn.org/

Github:

https://github.com/NLPchina

  • Ansj
  • Ansj是一個NLPchina旗下的開源的Java中文分詞工具,基於中科院的ictclas中文分詞算法,比其他常用的開源分詞工具(如mmseg4j)的分詞準確率更高。
  • https://github.com/NLPchina/ansj_seg
  • Word2VEC_java
  • word2vec java版本的一個實現。
  • https://github.com/NLPchina/Word2VEC_java
  • doc2vec java版本的一個實現,基於Word2VEC_java。
  • https://github.com/yao8839836/doc2vec_java
  • ansj_fast_lda
  • LDA算法的Java包。
  • https://github.com/NLPchina/ansj_fast_lda
  • nlp-lang
  • 這個項目是一個基本包.封裝了大多數nlp項目中常用工具
  • https://github.com/NLPchina/nlp-lang
  • 詞性標註
  • ICTPOS3.0漢語詞性標記集
  • http://jacoxu.com/ictpos3-0%E6%B1%89%E8%AF%AD%E8%AF%8D%E6%80%A7%E6%A0%87%E8%AE%B0%E9%9B%86/
  • Word Hashing
  • Word Hashing是非常重要的一個trick,以英文單詞來說,比如good,他可以寫成#good#,然後按tri-grams來進行分解為#go goo ood od#,再將這個tri-grams灌入到bag-of-word中,這種方式可以非常有效的解決vocabulary太大的問題(因為在真實的web search中vocabulary就是異常的大),另外也不會出現oov問題,因此英文單詞才26個,3個字母的組合都是有限的,很容易枚舉光。

那麼問題就來了,這樣兩個不同的單詞會不會產出相同的tri-grams,paper裡面做了統計,說了這個衝突的概率非常的低,500K個word可以降到30k維,衝突的概率為0.0044%。

但是在中文場景下,這個Word Hashing估計沒有這麼有效了:

  • 詞彙共現
  • http://sewm.pku.edu.cn/TianwangLiterature/SEWM/2005(5)/%5b%b3%c2%c1%88,%20et%20al.,2005%5d/050929.pdf

詞彙共現是指詞彙在文檔集中共同出現。以一個詞為中心,可以找到一組經常與之搭配出現的詞,作為它的共現詞彙集。

詞彙共現的其中一種用例:

有若干關鍵詞,比如:水果、天氣、風,有若干描述詞,比如,很甜、晴朗、很大,然後現在要找出他們之間的搭配,在這個例子裡,我們最終要找到:水果很甜、天氣晴朗、風很大。

  • 關鍵詞提取
  • 主要三種方法:1.基於統計特徵,如TF-IDF;2.基於詞圖模型,如TextRank;3.基於主題模型,如LDA。
  • 自然語言理解
  • Natural language understanding(NLU)屬於NLP的一個分支,屬於人工智能的一個部分,用來解決機器理解人類語言的問題,屬於人工智能的核心難題。
  • http://www.shuang0420.com/2017/04/27/NLP%E7%AC%94%E8%AE%B0%20-%20NLU%E4%B9%8B%E6%84%8F%E5%9B%BE%E5%88%86%E7%B1%BB/
  • 論文
  • 《Distant Supervision for relation extraction without labeled data》
  • 《Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding》
  • 《Convolutional Neural Networks for Sentence Classification》

知識圖譜參考資源

  • 知識圖譜構建技術綜述
  • https://wenku.baidu.com/view/38ad3ef7e109581b6bd97f19227916888586b959.html
  • 知識圖譜技術綜述
  • https://wenku.baidu.com/view/e69a3619fe00bed5b9f3f90f76c66137ee064f15.html
  • 知識圖譜技術原理介紹
  • https://wenku.baidu.com/view/b3858227c5da50e2534d7f08.html
  • 基於知識圖譜的問答系統關鍵技術研究
  • https://mp.weixin.qq.com/s/JLYegFP7kEg6n34crgP09g
  • 什麼是知識圖譜?
  • https://mp.weixin.qq.com/s/XgKvh63wgEe-CR9bchp03Q
  • 當知識圖譜遇上聊天機器人
  • https://mp.weixin.qq.com/s/iqFXvhvYfOejaeNAhXxJEg
  • 知識圖譜前沿技術課程實錄
  • https://mp.weixin.qq.com/s/U-dlYhnaR8OQw2UKYKUWKQ
  • 阿里知識圖譜首次曝光:每天千萬級攔截量,億級別全量智能審核
  • https://mp.weixin.qq.com/s/MZE_SXsNg6Yt4dz2fmB1sA
  • 東南大學漆桂林:知識圖譜的應用
  • https://mp.weixin.qq.com/s/WIro7pk7kboMvdwpZOSdQA
  • 東南大學高桓:知識圖譜表示學習
  • https://mp.weixin.qq.com/s/z1hhG4GaBQXPHHt9UGZPnA
  • 復旦肖仰華:基於知識圖譜的問答系統
  • https://mp.weixin.qq.com/s/JZYH_m1eS93KRjkWA82GoA
  • 多源信息表示學習在知識圖譜中的應用
  • https://mp.weixin.qq.com/s/cEmtOAtfP2gSBlaPfGXb3w
  • 如何構建知識圖譜
  • https://mp.weixin.qq.com/s/cL1aKdu8ig8-ocOPirXk2w
  • 中文通用百科知識圖譜(CN-DBpedia)
  • https://mp.weixin.qq.com/s/Nh7XJOLNBDdpibopVG4MrQ

原文鏈接:

https://blog.csdn.net/antkillerfarm/article/details/78082564


分享到:


相關文章: