NLP 理論實踐 Task2

2021-09-24 17:19:33 字數 1209 閱讀 2382

正向最大匹配法演算法流程:

從前往後取詞,每次減乙個字,直至詞典命中或剩下1個單字。

假設詞典中最長的單詞為 5 個,那麼最大匹配的起始子串字數也為 5 個

(1)從左往右讀入子串,掃瞄字典,測試讀入的子串是否在字典中

(2)如果存在,則從輸入中刪除掉該子串,重新按照規則取子串,重複(1)

(3)如果不存在於字典中,則從右向左減少子串長度,重複(1)

逆向最大匹配法演算法流程:

從後往前取詞,每次減乙個字,直至詞典命中或剩下1個單字。

假設詞典中最長的單詞為 5 個,那麼最大匹配的起始子串字數也為 5 個

(1)從右往左讀入子串,掃瞄字典,測試讀入的子串是否在字典中

(2)如果存在,則從輸入中刪除掉該子串,重新按照規則取子串,重複(1)

(3)如果不存在於字典中,則從左向右減少子串長度,重複(1)

雙向最大匹配法

分詞目標:

將正向最大匹配演算法和逆向最大匹配演算法進行比較,從而確定正確的分詞方法。

演算法流程:

正向最大與逆向最大兩種演算法都進行一遍分詞,根據詞的顆粒度越大越好且單字和非字典詞越少越好,進行分詞。

(1) 比較正向最大匹配和逆向最大匹配結果

(2) 如果分詞數量結果不同,那麼取分詞數量較少的那個

(3) 如果分詞數量結果相同

分詞結果相同,可以返回任何乙個

分詞結果不同,返回單字數比較少的那個

1.2.1 字頻

import numpy as np

from collections import counter

word=

"大連海事大學一百一十周年快樂"

result=counter(word)

print

(result)

1.2.2 詞頻

from collections import counter

import jieba

word=

"大連海事大學一百一十周年快樂"

seg_list =

list

(jieba.cut(word)

)result = counter(seg_list )

print

(result)

nlp實踐task2 特徵提取

1.1 分詞的概念 分詞的正向最大 逆向最大 雙向最大匹配法 所謂詞典正向最大匹配就是將一段字串進行分隔,其中分隔 的長度有限制,然後將分隔的子字串與字典中的詞進行匹配,如果匹配成功則進行下一輪匹配,直到所有字串處理完畢,否則將子字串從末尾去除乙個字,再進行匹配,如此反覆。逆向匹配與此類似。正向最大...

nlp 特徵提取 task2

1.1 分詞的概念 分詞的正向最大 逆向最大 雙向最大匹配法 漢語分詞難點 分詞規範 歧義切分 未登入詞識別。分詞規範 詞這個概念一直是漢語語言學界糾纏不清又揮之不去的問題,也就是說,對於詞的抽象定義 詞是什麼 和詞的具體界定 什麼是詞 迄今拿不出乙個公認的 具有權威性的詞表來。歧義切分 切分歧義是...

NLP基礎 Task2 特徵提取

基本文字處理技能 1.1 分詞的概念 分詞的正向最大 逆向最大 雙向最大匹配法 1.2 詞 字元頻率統計 可以使用python中的collections.counter模組,也可以自己尋找其他好用的庫 概念2.1 語言模型中unigram bigram trigram的概念 2.2 unigram ...