2010-05-28 75 views
4

我這樣做是爲了好玩(或者像4chan說的「爲了lolz」),如果我在路上學到了更好的東西。我近兩年前接受了一門人工智能課程,而且我非常喜歡它,但我設法忘記了一切,所以這是一種更新方式。創建一個智能文本生成器

無論如何,我希望能夠給出一組輸入文字。基本上這會讀取論壇的輸入(或者也許是Twitter的推文),然後根據學習生成評論。

現在最簡單的方法是使用Markov Chain Text Generator,但我想要一些比這更復雜的事情,因爲MKC基本上只是通過詞序來學習(哪個詞在給定輸入文本的詞x後更可能出現) 。我試圖看看我能做些什麼讓它變得更聰明一些。

例如,我希望它做的是這樣的:

  • 從一大選擇在留言板帖子的瞭解,但不重量太多
  • 對於每個崗位:
    • 從該職位的其他意見和了解這些權衡投入較高
    • 生成評論和張貼
    • 看看其他用戶的反應爲y我們的帖子是。如果好好衡量一下,那麼你可以製作更多類似製作的帖子,反之亦然。

這是我不知道如何實現稱重,並從錯誤中學習的一部分。我想到了Artificial Neural Networks(主要是因爲我記得享受那一章),但據我所知,主要用於對事物進行分類(即給定一組有限的選項[x1 ... xn],其中x是給定的輸入)並不是真的生成任何東西

我甚至不確定這是否可能,或者我應該如何去學習/理解。什麼算法最適合這個?

對於那些擔心我會將此作爲機器人用於垃圾郵件或向SO提供不良答案的人,我保證不會使用此來提供(不良)建議或以垃圾郵件爲牟利。我絕對不會在SO上發表無意義的想法。我打算將它用於我自己的娛樂。

謝謝!

+0

作爲一個公然的自我插件,我在StackApps上製作了一個基於Markov鏈的「垃圾郵件」生成器。從某種意義上說,它確實不「聰明」。我仍然在等待是否有人使用它來發布問題/答案。 :) [Flack Overstow](http://stackapps.com/questions/306/flack-overstow-generate-spam-from-trilogy-posts) – 2010-05-28 02:47:03

+2

這些傢伙:http://pdos.csail.mit.edu/scigen /有一個偉大的文本生成器的計算機科學文章和他們的代碼是公開的。 – Amichai 2010-05-28 03:26:23

+1

scigen看起來是一個好開始。這就是說馬爾可夫鏈看起來非常有趣: 「如果我得到一個新的鍵盤 - 爲什麼承認自己是來自Liberty City的二手電視還不夠酷?「 – encee 2010-05-28 04:20:28

回答

2

我也在想這樣的事情。我認爲這可能會對使用語法分析器和馬爾可夫鏈生成器一起帶來顯着的改進。然後,MC可以接受文本短語的訓練(經常和對象「car」一起動詞「drive」)併產生語法正確的句子。

+0

這是一個好主意,它將有希望產生更多有更多工作機會的語法正確的句子,但我正在尋找訓練算法,以便根據訓練數據更可能產生使森SE。所以一個想法是,馬爾可夫鏈生成一個句子,我可以決定它是正面還是負面,並基於它可以重新權衡訓練數據。但問題是,大多數時候它會傾向於完全相同的句子。我不想要完全一樣的結構或意義。 – encee 2010-05-28 17:38:46