すなぶろ

フリーランスのWebエンジニアがPythonを中心にプログラミング情報を紹介していきます。Rubyも書きますが、今はPython勉強中。一緒にPythonista目指しましょう!

人工無脳

AIが人類を超える日は来るの?→もう来てるよ

先日買い物に行きました。ごま油が欲しかったのですが、目の前にあったのは 298円のごま油(250g、セール中) 378円のごま油(340g、通常価格) の2つ。私は安ければ何でも良いのですが、オトクなのはどちらだ?と考えたとき、暗算が苦手なのですぐに答えが…

unmoをsetup.pyを使ってパッケージにしてみた

Pythonのパッケージと言えばsetup.pyです。依存関係も解決してくれるし、必要ならwheelを使ったプリビルトパッケージも含めることができます。 でも書くのが面倒くさいと思ってずっと放置していたんですが、先日知人にUnmoを試してもらおうと思ったら思いの…

Python初心者に送る「人工知能の作り方」 Part7(終)

前回はマルコフ連鎖で学習・応答するモジュールを作りました。それなりに複雑な処理が含まれていましたが、設計時点で仕様を決めておき、それをコメントを含めたコードにすることで、メンテナンス性を保っています。 sandmark.hateblo.jp 今回はmarkov.pyをD…

Python初心者に送る「人工知能の作り方」 Part5

前回は形態素解析による学習と、名詞に関連した文章を返すPatternResponderを追加しました。キーワードで連想的に応答を生成させることで、そこそこ文脈を保った会話が実現した気がします。とはいえ一文をまるごと保存しているため、オウム返しされている感…

Python初心者に送る「人工知能の作り方」 Part4

前回はリスト内包表記と正規表現を使って新しい思考エンジンを作りました。しかし依然として辞書はユーザーが手作業で作らなければならず、チャットをしても新しい発見があるとは思えません。 sandmark.hateblo.jp 今回はDictionaryに学習機能を組み込みます…

Python初心者に送る「人工知能の作り方」 Part3

前回はAIに思考エンジンを追加しました。まだまだ会話にはなりませんが、継承を使ってコードを簡潔に保つことで、機能を追加しやすい状況にしています。今回のソースはこちら。 sandmark.hateblo.jp チャットボットっぽくなってきた? 今回のテーマは『Respo…

Python初心者に送る「人工知能の作り方」 Part2

前回はAIを作るにあたって、全体の骨組みとインターフェイスを作ってみました。結果として「○○ってなに?」としか発言しない、とてもAIとは呼べないものになっていますが、今回はもう少し反応を改善してみます。 sandmark.hateblo.jp 前回のおさらい: Respo…

Python初心者に送る「人工知能の作り方」

プログラムと会話(?)しよう! 昨今、機械学習やディープラーニングといったキーワードで注目を集めているPython。簡潔な文法から初心者向けの学習目的にも採用されています。 とはいえ、入門書を読んだだけではよくわからないという人も多いはず。「何を…