如果單從NLP縮寫包含很多方面:
有數學的非線性規劃(Non-linear programming)醫學的無光感(No light perception)心理學的 神經語音規劃 (Neuro-linguistic programming)計算機科學與語言學轉換的領域(natural language processing)
這裡指的是計算機科學與語言學轉換的領域。(NLP)是人工智慧和語言學領域的分支學科。(人工智慧主要包含以下幾個方面: 自動推理-計算語言學-計算機視覺-進化計算-專家系統-自然語言處理-機器人學)自然語言處理(NLP)是資訊時代最重要的技術之一。理解複雜的語言也是人工智慧的重要組成部分。NLP的應用無處不在,因為人們用語言進行大部分溝通:網絡搜索,廣告,電子郵件,客戶服務,語言翻譯,發布學報告等等。NLP應用背後有大量的基礎任務和機器學習模型。
什麼是自然語言處理
NLP是計算機以一種聰明而有用的方式分析,理解和從人類語言中獲取意義的一種方式。通過利用NLP,開發者可以組織和構建知識來執行自動摘要,翻譯,命名實體識別,關係提取,情感分析,語音識別和話題分割等任務。
自然語言處理如何工作
目前NLP的方法是基於深度學習,這是一種AI,它檢查和使用數據中的模式來改善程序的理解。深度學習模型需要大量的標記數據來訓練和識別相關的相關性,匯集這種大數據集是當前NLP的主要障礙之一。早期的NLP方法涉及更基於規則的方法,在這種方法中,簡單的機器學習算法被告知要在文本中查找哪些單詞和短語,並在這些短語出現時給出特定的響應。但深度學習是一個更靈活,直觀的方法,在這個方法中,算法學會從許多例子中識別說話者的意圖,就像孩子如何學習人類語言一樣。
自然語言應用
NLP算法通常基於機器學習算法。NLP可以依靠機器學習來自動學習這些規則,而不是手工編碼大量的規則集,通過分析一系列的例子(如,一個大的資料庫,像一本書,直到一堆句子的集合),並且做一個靜態的推論。一般來說,分析的數據越多,模型越精確。社交媒體分析是NLP使用的一個很好的例子。品牌在線跟蹤對話以了解客戶的意見,並洞悉用戶行為。
開源的NLP庫
Apache OpenNLP:一種機器學習工具包,提供標記器,句子分段,詞性標註,命名實體提取,分塊,解析,共參考解析等等。自然語言工具包(NLTK):提供用於處理文本,分類,標記化,詞法分析,標記,解析等模塊的Python庫。斯坦福的NLP:一套NLP工具,提供詞性標註,命名實體識別器,共識解析系統,情感分析等等。
視頻資料查找
史丹福大學NLP - Dan Jurafsky&Chris Manning教授自然語言處理 - 密西根大學 (IIT Bombay計算機科學與工程系Pushpak Bhattacharyya教授的自然語言處理)自然語言理解:基礎和藝術 西蒙斯學院自然語言處理導論 - 劍橋編碼學院
處理的主要範疇
文本朗讀(Text to speech)/語音合成(Speech synthesis)語音識別(Speech recognition)中文自動分詞(Chinese word segmentation)詞性標註(Part-of-speech tagging)句法分析(Parsing)自然語言生成(Natural language generation)文本分類(Text categorization)信息檢索(Information retrieval)信息抽取(Information extraction)文字校對(Text-proofing)問答系統(Question answering)機器翻譯(Machine translation)自動摘要(Automatic summarization)文字蘊涵(Textual entailment)
使用NLP構建您自己的RSS閱讀器
可以使用以下算法在30分鐘內構建機器學習RSS閱讀器:
ScrapeRSS從RSS提要中獲取標題和內容;Html2Text保留重要的文本,但從文檔中去除所有的HTML;AutoTag使用潛在的Dirichlet分配來識別文本中的相關關鍵字;情感分析然後用來確定文章是積極的,消極的還是中立的;Summarizer終於被用來識別關鍵句子。
本文參考資料
WikipediaThe Stanford NLP GroupCourseraMatt KiserMargaret Rouse