-
1 # 周浩666666
-
2 # 夢無痕84574230
個人認為自然語言處理的底層核心是分詞技術,在網上是自然語言理解也就是nlu,分詞對於中文等粘合性語言尤為重要,這裡說的分詞包括命名實體識別,新詞發現和詞性標註,這些是上層應用的基礎,如果分詞就錯了,會嚴重影響後續效果,比如機器翻譯,情感分析,問答系統等。
應用核心是自然語言理解,主要是理解詞法,句法,語義和語用語境等。目前語用語境級個人能力瞭解還比較欠缺。
中文自然語言處理目前國內研究進步比較快,相信會越來越好,也希望大家多多交流共同進步。
-
3 # AI河馬
所謂的自然語言處理,就是研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法,說到底,就是研究人如何同計算機交流的學科
那他的核心技術又在哪兒?為什麼可以實現人和計算機之間的交流?
我們從以下幾個方面談談:
先了解一下目前遇到的難點。
1.語言的多樣性造成了語種不同,那就會導致語序不同,所以如果用同樣的方法處理不同的語言,就可能造成語序不連貫的問題。
2.詞義的歧義性,很多的詞並不只代表一個意思,還需要看上下文語境。比如蘋果,如果沒有上下文語境,我們如何知道,這是水果,還是品牌呢?
3.句法的模糊性,自然語言的語法是摸稜兩可的,針對同一個句子可能有多種剖析樹,而我們必須知道前後文才能選出最合適的剖析樹。
4.大規模資料集的建設,自然語言處理是以統計機器學習為基礎的,那就需要大量的資料集,但是構建資料集是一項費時費力還費錢的工作,所以導致目前的資料集並沒有達到任意使用的地步。
知道難點以後,我們再去看他的核心技術,為什麼能夠進行機器和人類的交流。
1.多層感知機的應用,透過非線性啟用函式(tanh函式,Sigmoid函式)對線性不可分資料進行分類
2.CNN
卷積神經網路的應用,作為一種特殊的前向傳播網路,獨特的結構性帶來的是更少的引數需求和更深的網路層數。
3.RNN
迴圈神經網路的應用,解決卷積神經網路無法結合上下文關係的問題,使用迴圈結構,使得其像人一樣擁有了記憶能力。
4.LSTM
長短期記憶網路的應用,LSTM是一種特殊的RNN, 用來解決長期依賴問題。和傳統的RNN一樣,網路結構是重複的,每次的訓練,神經元和神經元之間需要傳遞一些資訊。傳統的RNN,每個重複的模組裡都有一個簡單tanh層。
5.Sequenceto Sequence(序列對),
一類End-to-End的演算法框架,也就是從序列到序列的轉換模型框架,應用在機器翻譯,自動應答等場景。Seq2Seq一般是透過Encoder-Decoder(編碼-解碼)框架實現,Encoder和Decoder部分可以是任意的文字,語音,影象,影片資料,模型可以採用CNN、RNN、LSTM、GRU、BLSTM等等。所以基於Encoder-Decoder,我們可以設計出各種各樣的應用演算法。
以上觀點如有錯誤,還請指正
內心OS:(大家多多關注呀!)
-
4 # HelloNLP
自如語言處理的的核心技術有多個。
不過主要可以概括為3個型別:
1、文字分類
可以理解為文字到標籤的任務,例如情感分析和垃圾郵件分類。
2、序列標註
可以理解為序列到序列,並且輸入序列的長度等於輸出序列的長度。這樣的任務主要有詞性標準,命名實體識別等。
3、問答、閱讀理解
也可以理解為序列到序列的任務。但是,輸入序列的長度往往不等於輸出序列的長度。這樣的任務主要有機器翻譯、智慧問答、閱讀理解等。
回覆列表
從自身角度來隨便聊聊,有什麼錯漏的地方請大家指正。
我個人覺得除了各種應用之外,自然語言處理較為核心的問題有兩個:一是自然語言理解 (NLU),即如何讓計算機去理解人類的語言,具體來說比如句法分析,語義解析等。二是自然語言生成 (NLG),即如何讓機器生成人能夠理解的語言,自然語言生成被用在很多地方,比如對話系統,機器翻譯以及自動問答等。
在深度學習出來之前,個人比較關注的方向是句法分析。因為當時我從自己有限的知識出發,能夠想到的一個解決的問題思路就是先把句法做好,然後在句法的基礎上做理解做生成,因為我當時覺得句法是解決語言長距離資訊傳遞的一個重要手段,對理解和生成都很有用,且句法是一個典型的結構化學習任務,對於NLP其他方向有很強的借鑑意義。
在深度學習流行之後,我的關注點就從句法分析轉向了自然語言生成,或者說就是機器翻譯。我覺得現在語義分析還是讓我看不到光亮,句法分析現在很多人覺得有了深度學習工具之後嚴格的句法不那麼重要了。而基於深度學習的自然語言生成突然看上去變得比過去靠譜多了,我自己過去就對於ngram能做到什麼地步是不太相信的。其中,我還認為機器翻譯是所有生成任務中最容易的,因為他有極強的源端訊號,這個訊號不需要推理,也不太需要KB。在單獨的language model在應用上效果不直觀時,我覺得如果生成能夠有突破,應該是翻譯最先突破。