Hashy(hatena id:hashy1126)

Slides:



Advertisements
Similar presentations
IBMユーザ研究会九州研T3 3.Web2.0を実際に使ってみた. Web2.0を実際に使ってみました 研究会をプロジェクトに見立 てて “ Google SpreadSheet ” で会議を開く “ SNS ” でコミュニケーションを補助する “ Wiki ” で成果物を共有する.
Advertisements

TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
位置情報と私 木村岳文 / 位置情報と私 / はじめに GPS 付き携帯、ハンディ GPS などを使っ て、お手軽に自分が地球上のどこにいる かを調べられるようになってきました。 このデータをつかって何かおもしろいこ とができそうな予感。 具体的にどうしたらおもしろいかはよく.
RSS,Atom の動向 理工学部 情報学科 3 年 片山友輝. 発表内容 ・ RSS,Atom おさらい ・なぜ Atom ができたか? ・ Atom の特徴 ・ Atom の動向 ・ Atom フィードの記述方法 ・ Atom 対応ツール ・参考文献・資料.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
SSP in a Nutshell #1.5 最近の新機能よせあつめ
図書系のための アプリケーション開発講習会 2008年7月31日
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
・ω・.
(実はアイコンは単なる飾りで、この縦書きの部分のどこをクリックしても次のページに移動します。)
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プログラマのレベルアップ.
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
WebDAVでOpenOffice.org の文章を共有する
休講掲示板の電子化 鵜川研究室 菊地洲人 (あらかじめチラシを配る) 情報数理4年の菊地です。 これから私の研究内容の発表を始めます。
IRC What a wonderful world
CakePHPを業務に導入する Shin x blog 新原 雅司.
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
Log4netを使ったロギング機能 オガシン.
Log4netを使ったロギング機能 オガシン.
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
ケータイキット for Smarty のご紹介
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
2016/05/30 駒澤大学 経営学部 市場戦略学科 Mr4026 ばーちー
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
クイズ 「インターネットを使う前に」 ネチケット(情報モラル)について学ぼう.
バージョン管理超入門 まだファイルコピーしてます?
第36課 頭と体を使うようにしています.
経営学部 経営学科 ITビジネスコース 菊地真実子
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
さとりすと Satori Ghost Editor 里々ゴーストの統合開発環境を作ったよ page: 1/25
Plugin を改造してみる 2008/10/18 id:akihirox.
MSBuild 色々出来るよ 2011/04/02 お だ.
HTTPプロトコルとJSP (1) データベース論 第3回.
クラシック音楽普及プロジェクト KG:mao B3 wakutin.
情報ネットワーク論 最終回 動的ルーティング実験デモ ネットワークの構築・管理 遠隔?講義.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
HTTPプロトコル J2EE I 第7回 /
2009/5/22 けーちゃん カンタン  Wikiで情報共有 あいさつ 2009/5/22 けーちゃん
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
「ネット上のいじめ」 ネット時事課題 ○子供たちは、スマートフォンや携帯ゲーム機を使い、毎日様々なインターネットサービスを利用しています。
第8章 Web技術とセキュリティ   岡本 好未.
ラズパイ・オーディオの製作 中間報告1 14EC004 飯田 頌平.
へアクセスすると下記画面となって送付頂いた画面と異なってるので Microsoftアカウント名変更手順に進めません。 下記画面で
実行時情報に基づく OSカーネルのコンフィグ最小化
情報検索(6) メディア検索の仕組み 教員 岩村 雅一
第6回 Androidアプリの作成 07A1069 松永大樹.
~研修テーマ~ 学校に整備されている ICT機器を知ろう 2019/2/ /2/
UDPマルチキャストチャット    空川幸司.
Androidアプリの作成 情報工学部情報工学科 07A1069 松永大樹.
情報処理概論Ⅰ 2007 第5回 2019/4/7 情報処理概論Ⅰ 第5回.
「ネット上のいじめ」 ネット時事課題 ○子供たちは、スマートフォンや携帯ゲーム機を使い、毎日様々なインターネットサービスを利用しています。
インターネット             サーバーの種類 チーム 俺 春.
UDPマルチキャストチャット      空川幸司.
個人の動画配信のためのWebサーバ構築 06A1058 古江 和栄.
一歩進んだ Views の使い方 スタジオ・ウミ 山中.
Minecraft: Education Edition インターネット経由で共同活動する方法 HW-02G編
C言語 はじめに 2016年 吉田研究室.
第1章 いよいよプログラミング!! ~文章の表示 printf~
予約システムのご案内 予約システムのご案内 予約システムのご案内 予約システムのご案内
Boostのスマートなポインタを使ってみる
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
TCP/IP 通信テストツール TcpTestTool by PipeKatoo!
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
X Window System 牧之内研 博士3年 木村健一郎.
Presentation transcript:

Hashy(hatena id:hashy1126) 人工無脳界隈とうしの紹介 Hashy(hatena id:hashy1126)

アジェンダ ちょっとしたアンケート 人工無[脳|能]とは? 人工無脳の紹介 うしの機能紹介 うしの構造を公開

Vncの日本語キーボード対応をしています 自己紹介 Hashy (はっしー) 30代前半です 京都市内在住 十数年プログラマーしてます 最近転職しました 「うし@お話プログラム」の作者 Vncの日本語キーボード対応をしています

IRC(Internet Relay Chat)を使っている アンケート(挙手お願いします) 人工無脳を知ってる 人工無脳とお話(やりとり)したことある 実は作っている(た) IRC(Internet Relay Chat)を使っている

「人工知能」に対して「人工無能」と呼ばれたのが起源 決して「無能」ではなく考えてないことから「無脳」という人もいる 人工無[脳|能]とは お話ロボット 「人工知能」に対して「人工無能」と呼ばれたのが起源 決して「無能」ではなく考えてないことから「無脳」という人もいる 英語圏では chatbot Wikipediaの人工無能も参考にしてください

一見、人間の言葉を理解して返事している様 実はキーワードを抽出して適当に返事しているだけ 人工無脳の基本的な動作 一見、人間の言葉を理解して返事している様 実はキーワードを抽出して適当に返事しているだけ どういうアルゴリズムかという小難しい内容は今回省略します

(A) なんかおかしいなと思ったら、またFirefoxのメニューがデフォルトに戻ってた・・・ (hashy)Aさん最近ついてないっすねー 会話の例(チャットのログより) (A) なんかおかしいなと思ったら、またFirefoxのメニューがデフォルトに戻ってた・・・ (hashy)Aさん最近ついてないっすねー (yomiusa)うさぎがAさん最近ついてるぞ。 (A)Σ(゚д゚)うさぎにストーカーされてる (yomiusa)オレ、ストーカーするよ。

実は人工無脳がたくさん存在します。 今回は発表者の個人的視点で紹介します。 人工無脳の紹介の前に・・・ 実は人工無脳がたくさん存在します。 今回は発表者の個人的視点で紹介します。 今回紹介していない人工無脳の中にも優秀なもの(人間と間違えてしまう)もいます 中には人工無脳エンジンを独自で開発したものでないと人工無脳○○と認めない方もいらっしゃると思いますが、今回はユーザ視点(運営者が名前をつけた物)で紹介します

Perl+DB(MySQL)+(形態素解析) SixApart関信浩社長曰く「知る限り、世界で一番最初にBlogを書いたBot」 よみうさ http://www.yomiusa.com/ai.html 作者:工藤友資 さん Perl+DB(MySQL)+(形態素解析) SixApart関信浩社長曰く「知る限り、世界で一番最初にBlogを書いたBot」 IRC・MSNメッセンジャー

PHP+DB(MySQL)+(形態素解析) IRC ・ blog ・ mixi ・ twitter・・・(ミニブログにも) 酢鶏 http://sudori.net/ 作者:Lanタソ さん PHP+DB(MySQL)+(形態素解析) IRC ・ blog ・ mixi ・ twitter・・・(ミニブログにも)

IRC ・ mixi ・・・ (ミニブログにも) めだか http://mixi.jp/show_friend.pl?id=5281477 作者:サロンパス さん Ruby (Sixamo) IRC ・ mixi ・・・ (ミニブログにも)

Perlで作った自作のメインエンジンにマスオやsixamoや自作のサブエンジンをいくつか搭載した感じ 名探偵君 http://www.meitanteikun.com/weblog/ 作者:ちゃ さん Perlで作った自作のメインエンジンにマスオやsixamoや自作のサブエンジンをいくつか搭載した感じ 音声合成エンジンもある Mixi ・ blog・timelog・twitter

すべて自作されている方から、人工無脳エンジンを利用したものまで様々あります 様々な言語で開発されています 紹介のまとめ すべて自作されている方から、人工無脳エンジンを利用したものまで様々あります 様々な言語で開発されています ちなみに、WindowsLiveメッセンジャーに、「まいこ」というアドバイザーがいますが、人工無脳だそうです

Yomiusa → yomiusiで「うし」 うし@お話プログラム もともとは、うさぎ(よみうさ)の代わり Yomiusa → yomiusiで「うし」 Mixiでは最初「うし@人工無脳」としていたが、理解できない方が多かったので「うし@お話プログラム」に

昔はblog/メール/チャット/XML-RPCサーバを公開していたことがありました うしとお話できる場所 IRC(WIDE) はてなブックマーク Twitter Mixi はてなハイク 昔はblog/メール/チャット/XML-RPCサーバを公開していたことがありました

サーバとなる人工無脳エンジンは、Ruby で記述された sixamo エンジンを使用 クライアント側は Perl うしの構造 クライアントサーバ形式 サーバとなる人工無脳エンジンは、Ruby で記述された sixamo エンジンを使用 クライアント側は Perl 初期は自宅サーバ(玄箱にlinux) 現在はレンタルサーバ(専用サーバ)を使用 コストの関係でVPSサーバを検討中

メリット マルチプラットホーム 負荷分散 エンジンと各サービスへのアクセスする処理を分離できる プロトコルを決めてしまえば機能追加が楽 サーバクライアント形式の理由 メリット マルチプラットホーム 負荷分散 エンジンと各サービスへのアクセスする処理を分離できる プロトコルを決めてしまえば機能追加が楽 排他構造がシンプル 会話の辞書ファイルへの排他処理を考える必要がない。DB使えばいいんだけど

デメリット 処理時間 通信の分応答に時間がかかるがリアルタイムを要求するチャットでも人間が打つよりはやいよね サーバクライアント形式の理由 デメリット 処理時間 通信の分応答に時間がかかるがリアルタイムを要求するチャットでも人間が打つよりはやいよね エラー処理が増える 何か処理するにはエラー処理はつきもの

Sixamo自体がクラスなのでそのまま利用できる(うしサーバはRubyで60行) メンテナンスフリー 辞書内容がファイル保存 DBのセットアップが不要 Sixamo自体がクラスなのでそのまま利用できる(うしサーバはRubyで60行) メンテナンスフリー 人工無脳マスオのように辞書データを自分で作成しないといけないエンジンもある

ライブラリが豊富 RubyForgeがあるんだけど・・・ じゃあ、なぜエンジン部分はRuby? CPAN なぜPerl? ライブラリが豊富 CPAN Mixiアクセスライブラリが公開されたのはおそらくPerlが最初 PlaggerというPerlで書かれたフィードアグリゲータ がある RubyForgeがあるんだけど・・・ 私自身がRubyの経験値少ない じゃあ、なぜエンジン部分はRuby? エンジンを自作するスキルがなかった

プログラム構成 無脳サーバ うしプロトコル IRC/Twitter はてなブックマーク Plagger URL Mixi

CRを1命令の区切りで、パラメータはカンマ区切りという結構単純 うしプロトコル CRを1命令の区切りで、パラメータはカンマ区切りという結構単純 クライアント→サーバ コマンド(学習・話す),識別子(IRCにおけるチャンネルなど),会話内容 サーバ→クライアント(学習時は返事無し) 識別子,会話内容

独自プログラムのフロントエンドにTiarra Tiarraは、IRCの中継を行うツール Perlで書かれている IRC/Twitter 独自プログラムのフロントエンドにTiarra Tiarraは、IRCの中継を行うツール Perlで書かれている Tiarraが複数サーバへ接続してくれるので、自作ボットを複数サーバに対応する必要がない 文字コード変換機能あり プログラム修正で再起動しても迷惑かけない 複数ほかのプログラムが使える Plagger で 2ch まとめサイトを出力する

WIDEやFriendサーバでは、日本語エンコードがISO-2022-JPですがご存じですか? LimeChat2のダイアログより IRC/Twitter WIDEやFriendサーバでは、日本語エンコードがISO-2022-JPですがご存じですか? LimeChat2のダイアログより

ISO-2022JPには半角カナという仕様はありません (dankogaiさんにDISられました) 基本はいわゆる半角カナは使いませんが・・・   _  ∩ ( ゚∀゚)彡 おっぱい!おっぱい!  ⊂彡 AAを使いたいことがあると思います!!!

これに対応するため、 LimeChat2ではエスケープシーケンスで拡張しています 下の3つはISO-2022-JPではありません! IRC/Twitter これに対応するため、 LimeChat2ではエスケープシーケンスで拡張しています 下の3つはISO-2022-JPではありません! LimeChat2の設定画面は誤解を招くので検討してほしいです!

ISO-2022-JPに興味をもたれた方は、この本を読んでください IRC/Twitter ISO-2022-JPに興味をもたれた方は、この本を読んでください

現状は、うしがいるチャンネルでURLの発言があれば、TwitterにPOSTするだけ 需要があれば、フォロー同士の会話も行いたい(でも他のボットがやってるので興味があまりない) 「いめったー」がおもしろいので「いめったー」経由で発言させようかな http://kanmisikou.net/lab/imagetwit/

IRCでURLを見つけるとファイルに保存 保存されたURLを取り込み、無脳コメントをつけて、Atom APIでPOST はてなブックマーク IRCでURLを見つけるとファイルに保存 保存されたURLを取り込み、無脳コメントをつけて、Atom APIでPOST はてなCTO伊藤さんからコメントが! http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/hashy1126/20080601/1212301560 Atom APIでコメントをつけるときは制御コードの除去が必要

最初は WWW::Mixi というライブラリを使用 相次ぐレイアウト改変にうんざりし、現在はXPathを指定して内容を取り出すライブラリを使用 現在はPlaggerのプラグインを作成して使用中 Mixiあきたので力入れていません

和時計時報を書き込み(前々回の大阪でLTした内容) はてなブックマークのバッチ処理時にはてなハイクへブックマークのアドレスを投稿 ブックマークのURLを淡々と書き込んでいるだけなのでいまいち。URLを直接貼ると、画像(動作・静止画)がそのまま引用され、はてなハイクトップページを汚染する可能性がある もっとエレガントな方法に変えたい はてなハイクトップページにタイムラインがでるのでボットは迷惑をかけないようにしましょう

はてなブックマーク IRC Twitter はてなハイク http://b.hatena.ne.jp/yomiusi/ デモ はてなブックマーク http://b.hatena.ne.jp/yomiusi/ IRC Twitter http://twitter.jp/yomiusi/ はてなハイク http://h.hatena.ne.jp/yomiusi/

予想外の返事がくる 基本的にボケ ペットを飼っているような感じ しかも過去に誰かが発言した内容が元になっている 人工無脳の楽しさ 予想外の返事がくる しかも過去に誰かが発言した内容が元になっている 基本的にボケ ペットを飼っているような感じ 自分で好きなキャラ設定ができる 癒し系

人工無脳という枠にとらわれず、楽しい・便利なボットにしたい! 今後は・・・? 独自の無脳エンジンを搭載したい コーディングをきれいに 音声対応 http://www.axeeffect.jp/fmp/ 人工無脳という枠にとらわれず、楽しい・便利なボットにしたい!

発表の場を提供してくださった わんくま同盟スタッフ の方々ありがとうございます スライド作成で作者・関係者にご協力いただき感謝しております。 ご静聴ありがとうございました 発表の場を提供してくださった わんくま同盟スタッフ の方々ありがとうございます スライド作成で作者・関係者にご協力いただき感謝しております。 IRCでは、下記に常駐しています IRC(WIDE系) #yomiusa (ISO-2022-JP) IRC(FREENODE) #Kansai.pm(UTF-8) ご質問があればどうぞ!