您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Python怎么實現馬耳可夫鏈算法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
python實現馬耳可夫鏈算法有個簡便的方法,通過實現馬耳可夫鏈算法,來通過輸入的文本,“隨機”的生成一些有用的文本。
說明:
1. 程序使用了字典,字典和散列可不是一個東西,字典是鍵值對的集合,而散列是一種能夠常數階插入,刪除,不過可以用散列來實現字典。
2. 字典的setdefault()方法使得程序少了許多條件判斷。
3. random.choice()可以隨機取出一個序列中的元素。
4. 每兩個前綴詞確定一個后綴。
實現代碼:
import random import sys MAXGEN = 10000 NONWORD = '\n' w1 = w2 = NONWORD statetab = {} text = sys.stdin.read() words = text.split() for word in words: statetab.setdefault((w1, w2),[]).append(word) w1, w2 = w2, word # add tail statetab.setdefault((w1, w2),[]).append(NONWORD) # show mar words w1 = w2 = NONWORD for i in xrange(MAXGEN): suf = statetab[(w1,w2)] t = random.choice(suf) if t == NONWORD: break print t w1, w2 = w2, t
以上就是Python怎么實現馬耳可夫鏈算法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。