# 先定義個詞典word_dict = ['我們', '經常', '有','有意見','意見','分歧']
# 滑動視窗的大小
max_len = 5
# 使用者的輸入
user_input = '我們經常有意見分歧'
len(user_input)
結果:9
前向最大匹配演算法的實現
# 前向最大匹配演算法result =
i = 0
while i < len(user_input):
matched = false
pos = i + max_len if i + max_len < len(user_input) else len(user_input)
while user_input[i:pos] not in word_dict and i < pos:
print(user_input[i:pos])
pos -= 1
if i < pos:
matched = true
i = pos if matched == true else i + max_len
print(result)
輸出結果:
我們經常有我們經常
我們經經常有意見
經常有意
經常有有意見分歧
有意見分
['我們', '經常', '有意見', '分歧']
後向最大匹配演算法的實現
# 後向最大匹配演算法result =
i = len(user_input)
while i > 0:
matched = false
pos = i - max_len if i - max_len > 0 else 0
while user_input[pos:i] not in word_dict and i > pos:
print(user_input[pos:i])
pos += 1
if i > pos:
matched = true
result.insert(0, user_input[pos:i])
i = pos if matched == true else i - max_len
print(result)
輸出結果:
有意見分歧意見分歧
見分歧經常有意見
常有意見
我們經常
們經常['我們', '經常', '有意見', '分歧']
NLP最大匹配進行分詞
coding utf 8 author lhf time 2019 11 3 def max match need seg,dic,max len 5 test list for i in range len need seg out list while true min len min max ...
HMM學習最佳範例七 前向 後向演算法3
七 前向 後向演算法 forward backward algorithm 前向 後向演算法是baum於1972年提出來的,又稱之為baum welch演算法,雖然它是em expectation maximization 演算法的乙個特例,但em演算法卻是於1977年提出的。那麼為什麼說前向 後向...
HMM學習最佳範例七 前向 後向演算法5
七 前向 後向演算法 forward backward algorithm 上一節我們定義了兩個變數及相應的期望值,本節我們利用這兩個變數及其期望值來重新估計隱馬爾科夫模型 hmm 的引數pi,a及b 前向 後向演算法程式示例如下 在baum.c中 void baumwelch hmm phmm,i...