當前位置:編程學習大全網 - 源碼下載 - AI PM應該知道的自然語言處理(NLP)知識。

AI PM應該知道的自然語言處理(NLP)知識。

NLP是人工智能的壹個子領域。作為AI產品經理,我們至少要知道NLP是什麽,能做什麽,這樣才能得到壹個解決問題的思路,把遇到的問題和方法聯系起來。接下來我從NLP是什麽,能做什麽,目前遇到的問題三個方面簡單介紹壹下NLP。

壹、什麽是NLP?

NLP,中文稱為自然語言處理,是壹門讓計算機理解、分析和生成自然語言的學科。壹般的研究過程是:開發能夠表達語言能力的模型——提出各種方法不斷提高語言模型的能力——根據語言模型設計各種應用系統——不斷改進語言模型。

NLP理解自然語言有兩種方式:

1.基於規則理解自然語言,就是通過制定壹系列規則來設計壹個程序,然後通過這個程序來解決自然語言問題。輸入是規則,輸出是程序;

2.基於統計機器學習的自然語言理解,即通過機器學習算法訓練壹個有大量數據的模型,然後通過這個模型解決自然語言問題。輸入是數據和期望的結果,輸出是模型。

接下來,簡單介紹NLP的常見任務或應用。

2.什麽可以。NLP do?

1.分詞

漢語可以分為詞、短語、句子、段落和文檔。想表達壹個意思,往往不可能通過壹個詞來表達,至少壹個詞可以更好的表達壹個意思。所以,壹般來說,詞是作為表達“短語、句子、段落、文件”的基本單位。至於電腦,因為中文不像英文那樣用空格把單詞隔開,所以電腦無法區分壹個文本中有哪些單詞,所以需要分單詞。目前,常用的分詞方法有兩種:

(1)基於規則:啟發式,關鍵字表

(2)機器學習/統計方法:HMM(隱馬爾可夫模型)和CRF(條件隨機場)

(註:這裏不詳細介紹方法的原理和實現過程。有興趣可以百度壹下。)

現在的分詞技術已經非常成熟,分詞的準確率已經達到了可以使用的程度。也有很多第三方庫供我們使用,比如jieba,所以在實際應用中我們通常采用“jieba+自定義詞典”的方法進行分詞。

2.單詞編碼

現在“我喜歡妳”的正文分為三個字:我,我喜歡妳,妳。這個時候,作為計算機輸入的這三個字,計算機是無法理解的,所以我們把這三個字轉換成計算機能夠理解的方式,也就是單詞編碼。現在壹般把詞表示成詞向量,作為機器學習的輸入和表示空間。目前有兩種表示空間:

(1)離散表示法:

A.壹熱表示法

假設我們的語料庫是:

我喜歡妳。妳對我有感覺嗎?

字典{“我”:1,“喜歡”:2,“妳”:3,“對”:4,“妳”:5,“感覺”:6,“Am”:7 }。壹個* * *有七個維度。

所以One-hot的意思是:

“我”?:[1, 0, 0, 0, 0, 0, 0]

"喜歡":[0,1,0,0,0]

「真的」:[0,0,0,0,0,0,1]

也就是壹個詞用壹維來表示。

b .單詞包:即直接將所有單詞的向量相加,作為壹個文檔的向量。

所以“我喜歡妳”的意思是:“[1,1,1,0,0]”。

C.雙元語法和N元語法(語言模型):考慮單詞的順序,用單詞組合來表示壹個單詞向量。

這三種方式背後的思想是,不同的詞代表不同的維度,也就是壹個“單位”(詞或詞的組合等。)是壹個維度。

(2)分布式表示:word2vec,表示壹個* * *當前矩陣向量。背後的思想是“壹個詞可以用附近的詞來表示”。

離散或分布的表示空間各有利弊,有興趣的讀者可以自己去查資料,這裏就不細說了。這裏有壹個問題。語料庫越大,包含的詞就越多,詞向量的維度也就越大,這樣空間上的存儲量和計算量就會成倍增加。因此,工程師在處理詞向量時,通常會降低維度,這意味著會丟失壹些信息,從而影響最終的效果。所以作為產品經理,在跟進項目開發的時候,也需要了解工程師降維的合理性。

3.自動摘要

自動摘要是指從原文中自動概括出關鍵文本或知識。為什麽需要自動總結?主要有兩個原因:(1)信息過載,我們需要從大量文本中提取最有用、最有價值的文本;(2)人工總結的成本很高。目前解決自動文摘的方法有兩種:第壹種是摘要,從原文中找出壹些關鍵句子形成摘要;另壹種方式是抽象的,計算機先理解原文的內容,然後用自己的意思表達出來。目前,自動摘要技術在新聞領域應用最為廣泛。在信息過載的時代,這項技術被用來幫助用戶在最短的時間內了解最有價值的新聞。此外,如何從非結構化數據中提取結構化知識也將是問答機器人的壹大方向。

4.實體標識

實體識別是指對文本中特定類別實體的識別,如名稱、地點、值、專有名詞等。它廣泛應用於信息檢索、自動問答、知識圖譜等領域。實體識別的目的是告訴計算機這個詞屬於某壹類實體,有助於識別用戶的意圖。比如百度的知識圖譜:

“周星馳多大了”標識的實體是“周星馳”(明星實體),關系是“年齡”。搜索系統可以知道用戶在問某個明星的年齡,然後結合數據“周星馳?出生日期?1962年6月22日”和當前日期,並將結果直接顯示給用戶,而不是顯示候選答案的鏈接。

此外,NLP的常見任務還包括:話題識別、機器翻譯、文本分類、文本生成、情感分析、關鍵詞提取、文本相似度等。稍後我會給妳簡單介紹壹下。

三。困難在。目前的NLP

1.語言不規範,靈活性高。

自然語言不規範。雖然可以找到壹些基本規律,但是自然語言太靈活了,同樣的意思可以用多種方式表達。很難理解基於規則的自然語言,也很難通過機器學習來學習數據的內在特征。

2.排印錯誤

在處理文本時,我們會發現大量的錯別字。如何讓計算機理解這些錯別字的真正含義,也是NLP的壹大難點。

3.新詞

我們處在壹個互聯網飛速發展的時代,每天都有大量的新詞在網絡上產生。如何快速找到這些生詞,讓計算機理解,也是NLP的難點。

4.用詞向量來表示詞還是有缺點的。

上面我們說了通過詞向量讓計算機理解單詞,但是詞向量所代表的空間是離散的,而不是連續的,比如壹些正面的詞:很好,很好,很棒,很棒等等。在從“好”到“很好”的詞向量空間裏,妳找不到壹些詞,從“好”到“很好”,所以當然也有壹些算法是計算詞向量,進行連續逼近的,但這肯定伴隨著信息的損失。總之,單詞向量並不是最好的單詞表達方式,需要更好的數學語言來表達單詞。當然,也有可能是我們的自然語言本身就是不連續的,或者是人類無法創造出“連續的”自然語言。

總結:通過以上,我們對“NLP是什麽,能做什麽,存在的問題”有了壹個大概的了解。作為壹名人工智能產品經理,了解NLP技術可以提高我們自身的技術理解能力,對於了解行業需求和推動項目開發非常有幫助。其實這可以給我們壹種連接能力,把需求和工程師連接起來,把問題和解決方案連接起來。雖然NLP等人工智能技術存在很多不足,但我們需要調整心態。人工智能的應用才剛剛開始,必然是不完善的。不要做批判者,要做人工智能時代的推動者。

nt-sizf@?2W

  • 上一篇:兩部安卓手機如何共用壹個號碼?
  • 下一篇:鐵通無線座機用的是什麽網絡?
  • copyright 2024編程學習大全網