大快HanLP自然語言處理技術介紹

2021-08-28 20:29:34 字數 1483 閱讀 9791

大快hanlp自然語言處理技術介紹

這段時間一直在接觸學習hadoop方面的知識,所以說對自然語言處理技術也是做了一些了解。網路上關於自然語言處理技術的分享文章很多,今天就給大家分享一下hanlp方面的內容。

自然語言處理技術其實是所有與自然語言的計算機處理相關聯的技術的統稱,自然語言處理技術應用的目的是為了能夠讓計算機理解和接收我們用自然語言輸入的指令,實現從將我們人類的語言翻譯成計算機能夠理解的並且不會產生歧義的一種語言。接合目前的大資料以及人工智慧,自然語言處理技術的快速發展能夠很好的助力人工智慧的發展。

(大快dkhadoop技術架構圖)

這裡要分享的hanlp是我在學習使用大快dkhadoop大資料一體化平台時使用到的自然語言處理技術,使用這個組建可以很高效的進行自然語言的處理工作,比如進行文章摘要,語義判別以及提高內容檢索的精確度和有效性等。

本想找個通俗的案例來介紹一下hanlp,一時間也沒想到什麼好的案例,索性就從hanlp資料結構he 分詞簡單介紹下吧。

首先我們來看了解下hanlp的資料結構:

二分tire樹:tire樹是一種字首壓縮結構,可以壓縮存大量字串,並提供速度高於map的get操作。hanlp中的trie樹採用有序陣列儲存子節點,通過二分搜尋演算法檢索,可以提供比treemap更快的查詢速度。

不同於父節點儲存子節點引用的普通trie樹,雙陣列trie樹將節點的從屬關係轉化為字元內碼的加法與校驗操作

對於乙個接收字元c從狀態s移動到t的轉移,需滿足條件是:

base[s] + c = t

check[t] = s比如:base[一號] + 店 = 一號店

check[一號店] = 一號

相較於trie樹的字首壓縮(success表),ac自動機還實現了字尾壓縮(output表)

在匹配失敗時,ac自動機會跳轉到最可能成功的狀態(fail指標)

關於hanlp分詞

1、詞典分詞

基於雙陣列trie樹或acdat的詞典最長分詞(即從詞典中找出所有可能的詞,順序選擇最長的詞語)

輸出:[hanlp/名詞, 是不是/null, 特別/副詞, 方便/形容詞, ?/null]

2、ngram分詞

統計語料庫中的bigram,根據轉移概率,選出最可能的句子,達到排除歧義的目的

3、hmm2分詞

這是一種由字構詞的生成式模型,由二階隱馬模型提供序列標註

被稱為tnt tagger,特點是利用低階事件平滑高階事件,彌補高階模型的資料稀疏問題

4、crf分詞

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...

自然語言處理

一 字串操作 去空格及特殊符號 s hello,world 預設把左右空格去掉 print s.strip print s.lstrip hello,print s.rstrip 查詢字元 0 為未找到 sstr1 strchr sstr2 tr 找到返回目標子串開始下標 npos sstr1.in...