これはpythonで作られたAIです。
自律学習型なので、自分で言葉を覚え、覚えた言葉を組み合わせて色々なことを喋ります。
予め形態素の候補として文章を読ませることもできますし、何もないところからあなたの入力した文章のみをもとに学習させることもできます。
AIと対話してみましょう!
save/alice.txt
という空のファイルを用意して下さい。もちろんこれは書き込み可能なものでなければいけません。
そしてAI/
のフォルダに移り python Alice_AI.py
のようにして実行して下さい。
save/alice.txt
を読み込んだらAliceさんがログインしました
のように表示されるので、You:
のあとに続けて何か入力して下さい。
終了のコマンドなどは特に用意していませんのでCtrl + C
などで終了して下さい。
次はAIとAIで喋らせましょう!
save/alice_2.txt
と save/bob_2.txt
という2つの空のファイルを用意して下さい。もちろん書き込み可能なものでなければいけません。
先ほどと同じようにAI/
のフォルダでpython ai2ai.py
のようにして実行して下さい。
Aliceさんがログインしました
Bobさんがログインしました
のメッセージが出ればあとは自動でAI達が喋ってくれます!
予めファイルを読ませることもできます。その場合は文章が書かれたファイルを形態素に分解しておく必要があります。
まずはファイルを用意しましょう(私が青空文庫からいくつか引っ張って来たものがtext/
のフォルダ内にあります)。
これを次にpython Cutmorph.py [ファイル名]
として実行して下さい。
するとsave/m_[ファイル名].txt
(もともとテキストファイルであれば~.txt.txt
)のようになります。
あとはこれを上のようにalice.txt
やbob_2.txt
のようにリネームしてAIを実行すれば、自動的にもとの文章から自分で会話を創りだしてくれます!好きなキャラクターなどにAIを模倣させると面白いかも知れませんね。
twitterのログを用いてAIに喋らせたい場合、twilogからログを持ってくるのが速いと思われます。
twilogの管理ページより適当な文字コードでCSVファイルを落とすことができます。今は全てutf-8で開発を行なっているのでutf-8で落として下さい。
ログファイルが用意できたら、python text/non_number.py [ログファイル]
として実行して下さい。ログファイルで不必要な数字などが省かれて[ログファイル].txt
の形で出てきます。
あとはこれを上と同じようにpython Cutmorph.py [[ログファイル].txt]
などとしてAIに読ませれば、Twitterログを通してあなたと会話することができます。
プログラムの改変
最初に読み込ませるファイルの設定は./Alice_AI.py
であれば一番下、
if __name__ == "__main__":
alice = AliceEngine("save/alice.txt") # ← ココです
while True:
input = raw_input("You:").decode('utf-8')
if input == '': continue
alice.mainloop(input)
./ai2ai.py
であれば真ん中辺りの
AI.append(Alice_AI.AliceEngine("save/alice_2.txt",u"Alice")) # ← ココです
AI.append(Alice_AI.AliceEngine("save/bob_2.txt",u"Bob")) # ← ココです
のファイル名を適当に変更して下さい。
楽しいAIライフを!
なお、このプログラムはpython2.7.3を用いています。python3.x系列では動かない部分がありますのでご了承下さい(その場合は適当にfolkして改変してくださいね!)。