亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

發布時間:2021-10-25 18:14:40 來源:億速云 閱讀:215 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何使用Python生成基于馬爾可夫鏈的偽隨機文本,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先看一下來自Wolfram的定義

馬爾可夫鏈是隨機變量{X_t}的集合(t貫穿0,1,...),給定當前的狀態,未來與過去條件獨立。

Wolfram的定義更清楚一點兒

...馬爾可夫鏈是具有馬爾可夫性質的隨機過程...[這意味著]狀態改變是概率性的,未來的狀態僅僅依賴當前的狀態。

馬爾可夫鏈具有多種用途,現在讓我看一下如何用它生產看起來像模像樣的胡言亂語。

算法如下,

找一個作為語料庫的文本,語料庫用于選擇接下來的轉換。

從文本中兩個連續的單詞開始,最后的兩個單詞構成當前狀態。

生成下一個單詞的過程就是馬爾可夫轉換。為了生成下一個單詞,首先查看語料庫,查找這兩個單詞之后跟著的單詞。從它們中隨機選擇一個。

重復2,直到生成的文本達到需要的大小。

代碼如下:

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

為了看到一個示例結果,我們從古騰堡計劃中拿了沃德豪斯的《My man jeeves》作為文本,示例結果如下。

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

馬爾可夫算法怎樣呢?

最后兩個單詞是當前狀態。

接下來的單詞僅僅依賴最后兩個單詞,也就是當前狀態。

接下來的單詞是從語料庫的統計模型中隨機選擇的。

這是一個示例文本。

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

這個文本對應的語料庫像這樣,

如何使用Python生成基于馬爾可夫鏈的偽隨機文本

現在如果我們從"brown fox"開始,接下來的單詞可以是"jumps"或者"who"。如果我們選擇"jumps",然后當前的狀態就變成了"fox jumps",再接下的單詞就是"over",之后依此類推。

提示

我們選擇的文本越大,每次轉換的選擇更多,生成的文本更好看。

狀態可以設置為依賴一個單詞、兩個單詞或者任意數量的單詞。隨著每個狀態的單詞數的增加,生成的文本更不隨機。

不要去掉標點符號等。它們會使語料庫更具代表性,隨機文本更好看。

關于如何使用Python生成基于馬爾可夫鏈的偽隨機文本就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西丰县| 金塔县| 周宁县| 双辽市| 许昌市| 宁南县| 罗定市| 平舆县| 绥化市| 阳高县| 隆子县| 邵阳县| 平和县| 哈密市| 渑池县| 多伦县| 铜川市| 无为县| 贺兰县| 襄垣县| 临清市| 沙洋县| 晴隆县| 霞浦县| 兰考县| 项城市| 萍乡市| 万年县| 夏邑县| 黄梅县| 含山县| 广州市| 驻马店市| 武平县| 新余市| 大余县| 化州市| 襄樊市| 庆安县| 墨竹工卡县| 临沂市|