正向最大匹配法演算法流程:
從前往後取詞,每次減乙個字,直至詞典命中或剩下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 ...