您現在的位置是:首頁 > 人文
NLP的中文分詞面試指南
未登入詞識別與中文分詞有關嗎
隨著機器學習的快速發展,越來越多的網際網路公司開始擁抱機器學習。但市場上機器學習相關的優秀工程師卻非常稀少,所以網際網路公司才不惜開出高薪吸引人才。
而NLP是機器學習領域最重要的分支,也是目前最難攻克的方向。自然NLP工程師的薪資待遇要遠高於行業的標準,同時職業的生命週期還特別長,對於大多數開發者來說是一個非常理想的職業。
自然語言理解
理想是美好的,但現實是殘酷的。由於入門NLP的技術門檻很高,因此勸退了很多新人。道阻且長,行則將至,只要大家克服了對困難的恐懼,找到合適的學習途徑,腳踏實地的努力,其實掌握NLP並找到相關的工作也不是什麼太難的事情。
在NLP領域裡,中文分詞對於處在中文語言環境的我們來說,是基礎中的基礎,核心中的核心,涉及到的知識點覆蓋面很廣。
所以很多關於NLP的面試中都會問到中文分詞的問題,很多NLP任務都依賴中文分詞的結果,同時中文分詞所使用的技術可以很好的應用到其它領域,比如:語音識別、實體識別等等。
中文分詞經歷了20多年的發展,一路上克服了重重困難,概括起來主要是四大難題:
中文沒有清晰統一的詞界定標準,比如:“改革開放”既可以整體切分,也可以分開切分成“改革”和“開放”。
人工規則與統計學習孰優孰劣。
中文歧義問題多,比如:“乒乓球拍賣完了”,既可以切分成“乒乓球/ 拍賣/ 完/ 了”,也可以切分成“乒乓球拍/ 賣完/ 了”。
未登入詞的識別,比如:各種網路新詞、人名、品牌名等。
前三個難題基本得到了很好的解決,而最後一個難題是整個NLP領域近些年一直在努力攻克的重點。像今日頭條的內容推薦系統,就依賴著NLP的中文分詞質量。
既然問題清楚了,那麼就要看具體是如何解決的了。為了幫助大家順利透過面試找到心儀的工作,或者解決日常工作遇到的中文分詞難題,我梳理了一下中文分詞的技術發展路徑,大體如下圖所示:
中文分詞發展路徑
中文分詞技術的發展可以劃分成兩個階段:基於詞典及人工規則和基於標註語料庫,代表了不同的解決問題思路。
目前主流的中文分詞工具主要採取的是將兩者相結合,主體邏輯使用的是基於詞典的最大機率演算法,當出現連續的單字片段時,則加上HMM去輔助切詞。jieba(Python的中文分詞包)就是這方面典型的代表。
中文分詞的有向無環圖
除了上述的中文分詞方案之外,對於未登入詞的識別(也可以叫新詞發現),還可以使用純統計學習的方式 —— 凝固度 + 自由度。
凝固度:是衡量兩個片段(字)搭配在一起的可能性有多大。
自由度:是衡量待分詞的片段與左右邊自由組合的程度。
我們可以根據這兩個統計特徵設定閾值,就能夠自動挖掘出文字中的詞彙,自然也就能解決未登入詞的識別問題。由於是統計特徵,那麼整個演算法的效果有限於文字的規模和質量。
以上的內容大體涵蓋了整體中文分詞的技術體系,方便大家初步形成一個成體系的認知。
我本人是一個有10年工作經驗的網際網路老兵,對NLP相關領域有過深入的研究,積累豐富的經驗,寫了一本掘金小冊《深入理解NLP的中文分詞:從原理到實踐》,裡面會詳細地講解本文所涉及到的內容,並且會結合大量的實踐和案例,以圖文的形式展示給大家,能夠讓大家從零開始掌握中文分詞的技術。
在小冊裡面,你可以學習到:
中文語言學,幫助理解中文分詞所要面對的難題
Python的程式設計知識,用於演算法的實踐和開源專案的原始碼講解
統計學和資訊理論,中文分詞的演算法裡使用了很多這兩方面的知識
機器學習知識,主要涉及N-Gram、HMM、CRF、Word2vec等模型
業務案例分析,結合實際業務場景,介紹各種解決方案
希望以上內容能夠助力大家透過NLP的面試,找到自己心儀的高薪工作,享受到人工智慧這場變革帶來的巨大紅利。
多謝大家一直以來的支援和鼓勵!
推薦文章
- 深度壹點丨是誰托起淄博“經開藍”?
當高效硬核的工作機制遇到上述種種治理措施,淄博市生態環境局經濟開發區分局持續深化生態賦能,聚焦品質提升,共同繼續守護“經開藍”的大氣底色...
- 《怒晴湘西》命名是什麼意思,為什麼不倒過來命名
各位看官大家好,這裡是娛樂老徐A,我是小編徐徐,專注解讀精彩劇情,這裡正在分享的話題是:怒晴湘西是什麼意思,為什麼不倒過來命名《怒晴湘西》是鬼吹燈系列劇之一,也是對盜墓劇感興趣朋友們的大愛,此劇很好看,不枉我期待了這麼久,可惜更新太噁心人,...
- 劉端:用先進聲學器件助力應用升級
劉端:用先進聲學器件 助力應用升級大皖新聞訊 隨著我們城市發展、工業進步、和生活水平的提升,智慧感測器的市場正在高速增長,尤其以半導體微納工藝製造的MEMS感測器,得到了廣泛的應用,我們身邊的手機,汽車,智慧家電等,都使用了大量的MEMS傳...