python可以自动写文章吗_让python来告诉你神奇的操作,如何实现文章自动化
三河講python
首先來(lái)告訴大家下面的Python程序?qū)崿F(xiàn)了通過(guò)從網(wǎng)頁(yè)抓取一篇文章,然后根據(jù)這篇文章來(lái)生成新的文章,這其中的原理就是基于概率統(tǒng)計(jì)的文本分析。
過(guò)程大概就是網(wǎng)頁(yè)抓取數(shù)據(jù)->統(tǒng)計(jì)分析->生成新文章。網(wǎng)頁(yè)抓取數(shù)據(jù)是通過(guò)BeautifulSoup庫(kù)來(lái)抓取網(wǎng)頁(yè)上的文本內(nèi)容。統(tǒng)計(jì)分析這個(gè)首先需要使用ngram模型來(lái)把文章進(jìn)行分詞并統(tǒng)計(jì)頻率。因?yàn)槲恼律芍饕罁?jù)馬爾可夫模型,所以使用了2-gram,這樣可以統(tǒng)計(jì)出一個(gè)單詞出現(xiàn)在另一個(gè)單詞后的概率。生成新文章是基于分析大量隨機(jī)事件的馬爾可夫模型。隨機(jī)事件的特點(diǎn)是在一個(gè)離散事件發(fā)生之后,另一個(gè)離散事件將在前一個(gè)事件的條件下以一定的概率發(fā)生。
buildWordDict(text)函數(shù)接收文本內(nèi)容,生成的內(nèi)容如下{‘itself’: {‘,’: 1}, ‘night’: {‘sky’: 1}, ‘You’: {‘came’: 1, ‘will’: 1}, ‘railways’: {‘a(chǎn)ll’: 1}, ‘government’: {‘while’: 1, ‘,’: 1, ‘is’: 1}, ‘you’: {‘now’: 1, ‘open’: 1, ‘down’: 1, ‘with’: 1, ‘.’: 6, ‘,’: 1, ‘that’: 1},
主要就是生成一個(gè)字典,鍵是文章中所有出現(xiàn)的詞語(yǔ),值其實(shí)也是一個(gè)字典,這個(gè)字典是所有直接出現(xiàn)在鍵后邊的詞語(yǔ)及其出現(xiàn)的頻率。這個(gè)函數(shù)就是ngram模型思想的運(yùn)用。
retrieveRandomWord(wordList)函數(shù)的wordList代表的是出現(xiàn)在上一個(gè)詞語(yǔ)后的詞語(yǔ)列表及其頻率組成的字典,然后根據(jù)統(tǒng)計(jì)的概率隨機(jī)生成一個(gè)詞。這個(gè)函數(shù)是馬爾可夫模型的思想運(yùn)用。
然后運(yùn)行這個(gè)程序會(huì)生成一個(gè)長(zhǎng)度為100的文章,如下面所示
fail . We will stir ourselves , but we will never before . Do not share one heart and pleasant it back our jobs . We are infused with the orderly and railways all of the gangs and robbed our jobs for their success will determine the civilized world . We will their success will be a great men and highways and millions to all bleed the world . It belongs to great national effort to defend our products , constantly complaining , D . We will be ignored again . It belongs to harness the expense of America .
總結(jié)
以上是生活随笔為你收集整理的python可以自动写文章吗_让python来告诉你神奇的操作,如何实现文章自动化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 海信vidda售后标准
- 下一篇: 抽化粪池多少钱啊?