概要 という書籍を参考にして、で簡易的なを作ってみました。 のは になります。 もくじ• 実装風景・デモ画面 JupyterNotebookにてを実行すると、キャラクターの画像、会話ログ、入力フォームを表示します。 この画面上でチャットボットとの会話を楽しむ形になります。 で友達ができました!!! — ゆずたそ yuzutas0 会話を積み重ねていくことで徐々に言葉を学習していきます。 感情モデルや語録も習得します。 褒めると喜び、アニメの名言には続きを返すといった具合です。 話がたまに噛み合ったり噛み合わなかったりします。 での名言集を学習させたところ、完全に会話が破綻するようになりました。 ロジックや辞書ファイルや会話ログを見比べて原因分析&チューニングしたところ、の名言はそもそも自然な日常会話ではなかったので、いくら学習させても会話としては成り立たないことが判明しました。 めでたしめでたし。 書籍内容 一時期は絶版となってしまい中古本が高騰していましたが、最近また再販されたようです。 私の手元にあるのは経由で購入したものです。 初心者向けにプログラミングの概念やの文法を説明するところから始まり、ゆくゆくはの本格的なコーディングまで案内します。 丁寧なイラストとサンプルコードで解説されているため、具体的な実装レベルで理解することができます。 例としてについての解説を一部引用します。 書籍の目次は以下の通りです。 引用元はで、一部内容を割愛しています。 ユーザーからの発言を受けつける• その発言を受けて機嫌が良くなったり悪くなったりする• 辞書をもとに返事のテキストを生成する• 会話ログをもとに辞書を更新する(学習する)• 画面を再描画する=返事をする• 以下同じ処理を繰り返す 開発手順 スモールステップで1つ1つ実装していきました。 ユーザーが何を言っても「こんにちは」と返すシンプルなを最初に実装。 次にユーザーが「XXX」と言ったらが「XXXって何?」と聞き返すように実装。 ユーザーに何を言われてもランダム辞書からランダムな発言を返すように実装。 パターンで返すように実装。 ユーザーの発言に特定のキーワードが含まれていたら、パターン辞書から特定の返答を行う。 例えば「おはよう」という言葉が含まれていたら「今日は良い天気ですね」と返す。 ポジティブとネガティブの感情を持たせる。 ユーザーが好意を示す発言を与えると、の感情パラメータはプラスになり、画面上で笑顔を見せる。 反対に、ユーザーがバカにするような言葉を与えると、の感情パラメータはマイナスになり、表情に曇りを見せる。 ネガポジは特定のキーワードが文中に含まれるかどうかで判定する。 該当キーワードが含まれないと徐々に平穏な状態(数値としてはゼロ)に収束する。 ランダム返信の語彙を学習させる。 ユーザーの発言をそのままランダム辞書に追加する。 単語で返信パターンを学習させる。 で会話ログを分解してパターン辞書に追加する。 ユーザーの発言に「牛乳」という単語が含まれていると「牛乳が飲みたい」という発言を返すようになる。 テンプレートで返信パターンを学習させる。 で会話ログを分解して、テンプレ辞書を作る。 「牛乳が飲みたい」という会話ログをもとにして「XXが飲みたい」というテンプレートを作成する。 そうすると次からはユーザーの「緑茶」という言葉を受けて、は「緑茶が飲みたい」という文章を生成するようになる。 で文章を生成させる。 ある言葉の後に別のある言葉が繋がっていくことで文章となる。 文章を生成するために、過去の会話ログをで分解して、言葉同士が繋がる確率を辞書に反映させる。 インターネットで検索して回答させる。 でユーザーの発言を分解して、出てきた名詞(キーワード)で検索した結果を返す。 それまでの会話だけでなくインターネット上のテキストから学習できるようにする。 書籍を写経していくと、これらの内容をざっと自分の手で動かすことができます。 での再現で工夫したこと• 書籍ではデスクトップで起動するツールを使っていますが、今回はJupyterNotebookで画像表示をしました。 その際、保守性を保てるようにクラスやファイルは分離しました。 個々の処理は. py ファイルとして切り出して、JupyterNotebookからは描画クラスをインポートしています。 の辞書は、書籍で案内されている 茶筌 Chasen ではなく janome を用いました。 でのインストール手順が1番簡単だったからです。 あとはのをのループ処理で愚直に書き直したり、辞書ファイルをpickleで代替したりと、それなりに地味な修正を積み重ねています。 スキルが0. 5歩くらい向上しました。 さらなる工夫の余地 書籍自体は最高なのですが、10年以上前に出版された写経本なので、いまこの書籍にチャレンジするなら工夫の余地は多々ありそうです。 内部設計• サンプルコードと文章説明だけなので、能動的に読み解く必要があり、なかなか骨が折れました。 クラス・メソッド設計をビジュアル化した補足スライドがあると進めやすいだろうなと思いました。 辞書ファイル• 取り扱うファイルがShift-JISなので、JupyterNotebookやで確認しにくいです。 何か新しい機能を追加するたびにエラーが出ました。 SQLite3などの簡易DBを採択したほうが良さそうです。 リ構成さえも特になく、直接トップリにを置いているだけです。 これを例えば Vue. あわよくば開発環境や本番環境を構築してデプロイやサーバ運用についても学んだり、テストコードの測定などのCI構築ができると尚良さそうです。 ライブラリやツールの活用• 今回はロジックのほとんどを手動で実装しました。 もともとそういう趣旨の書籍なのでこれはこれで妥当です。 しかし、近年のデータ処理ライブラリの充実を考えると、特にならもっと簡単に高性能なものを作ることもできるかもしれません。 のソリューション(MLaaS)を活用して的に作るのもアリですね。 色々と書き出しましたが、そもそもDBの利用などは筆者も分かった上で「今後の課題」として読者に委ねており、書籍の最後でカスタマイズ案が提示されています。 実際に、書籍の内容をWEBアプリケーション化したブログ記事も見つかりました。 3・4人で集まって2泊3日の合宿をやれば、この書籍をベースにして「で作る 2018」のと補足スライド、簡単な資料を作ることはできそうです。 やってみたいなぁ。 まとめ こんな感じで、で簡易的なを作ってみました。 「プログラミング」や「」、そして「開発」を学ぼうとしている初心者のネタに向いているのではないでしょうか。 時代が変わって本の内容そのままでは使えない点が多々あるので、別の素材で簡単なが出来るようになった人が、脱初心者を目指してチャレンジするのがちょうど良い位置付けになると思います。
次の
英会話の教材は世の中に数多(あまた)あるが、Webサイトを使ったものは英会話教室に通う必要がないうえに低料金で、なおかつスマホを使えば場所と時間を選ばず学習できるのでとても便利だ。 このWebサイト英会話に最近、AI(人工知能)を搭載したものが登場し始めた。 「賢いAI」に教われば英会話の習熟度も向上しそうだ。 ところがAI英会話アプリのなかには、どこにAIが使われているのかがわからないものや、運営会社すら明示されていないものも散見される。 そこで、「しっかりAIを活用している」「運営会社がしっかり判明している」の2条件をクリアしている「AI英会話ナンナ」「iKnow! 」「SpeakBuddy」「TerrTalk」の4つを紹介する。 AIと英会話学習の相性 4つのAI英会話アプリを紹介する前に、AIと英会話学習の相性についてみてみる。 最初のポイントは、AIが本領を発揮できるのは、英語全体ではなく英会話である点だ。 例えば英字新聞や英語の論文などの英語長文を読む力の育成には、AIは不向きだ。 もちろん工夫次第でAI長文読解も効果を発揮できるだろうが、紙媒体や非AIのITツールでも十分効果的な学習方法を構築できるので、わざわざAIを使う必要がない。 また、英単語の暗記も、AIを使えば多少効率化できるかもしれないが、非AIの学習法をはるかに凌駕することは難しいだろう。 音声認識技術で発音をチェック ところが英会話学習になると、俄然AIが力を発揮する。 ひとつにはAIによる音声認識の精度の高さがある。 音声認識とは、人の声をテキスト(文章)に変換する能力だ。 そのため、AI分野では音声をテキストにする技術が格段に進歩した。 そのお陰でAIの音声認識能力は、日本人による英語の正しい発音と間違った発音を簡単に見分けられるようになった。 しかも日本人の英語力では、発音が大きなネックになっている。 だから発音をチェックできるAIは、日本人の英会話力向上の救世主となりうるのである。 正しい文章に導いてくれる また、英語は単語の並び順で意味が変わってくるので、単語1つひとつを正しく発音ができても、順番が違っては会話が成立しない。 AIは正しい文章をつくることができる。 例えばAIは「この犬は白い」という文章が正しくて、「白い犬はこの」という文章が間違っていることを、膨大な日本語文章を学習することで判断できるようになっている。 それでAI英会話アプリは、ユーザーが声で発した英文の間違いを指摘し、正しい英文を提示することができるのである。 AI英会話ナンナ AI英会話ナンナはウェブリオ株式会社(本社・東京都新宿区)が運営している。 ウェブリオ社のオンライン総合辞書「Weblio」は、インターネットのヘビーユーザーなら一度は目にしたことがあるのではないだろうか。 ウェブリオ社はそのほかに、翻訳事業や留学支援や海外進出支援など英語関係ビジネスを手掛ける。 つまりナンナは「英語ビジネスの素地」のある会社が運営しているのである。 特徴:AIが会話の弱点を指摘 ナンナはサイト上で使う。 まず下記のURLにアクセスして、ユーザー名を入れる。 そして次の7つのコースを選択する。 ・レベル1:入門:基本的な表現を学ぶ ・レベル2:初級:会話表現の幅を広げる ・レベル3:中級:複雑な文法での会話表現を学ぶ ・レベル4:上級:ネイティブの会話表現を学ぶ ・ビジネス:初中級:ビジネス英会話を学ぶ ・その他:ナンナと自由に会話する ・英会話:中学2年生向け:基本的な表現を学ぶ コースを選択すると、ナンナが「Hi, how are you. 」と声をかけてくる。 それに対して英語で回答すると、ナンナと会話を続けることができる。 ナンナからの質問の難易度は、選択するコースによって異なる。 会話が終わると、ナンナに搭載されたAIがユーザーの英会話の弱点を指摘してくれる。 ユーザーはその弱点を補強することで英会話スキルをアップできるというわけだ。 しばらくナンナとの会話を続けていると、相手がコンピュータ(AI)であることを忘れるだろう。 それくらい会話の流れが自然なのだ。 ユーザーがゆっくり喋れば、ナンナはそのペースに合わせてくれる。 ナンナは2018年12月現在、無料となっている。 iKnow! iKnow! はIT・Web大手のDMMドットコムのグループ会社が運営している。 DMM社はすでにDMM英会話というブランド名で英会話ビジネスに進出している。 DMM社には、リアルに近いDMM英会話とサイトで学べるiKnow! を組み合わせることで、ユーザー支援を強化する狙いがある。 iKnow! のURLは以下のとおり。 料金 iKnow! の利用料金は1カ月プランが1,480円、12カ月プランが年9,360円、使い放題の無期限プランが24,800円となっているが、DMM英会話の有料会員はこれらの料金がかからない。 つまりDMM英会話の利用料金のなかにiKnow! の利用料が含まれているのである。 すでにNTTコミュニケーションズやソフトバンクグループ、ユニクロのファーストリテイリングなど400社が、iKnow! を社内教育用のツールとして導入している。 特徴:脳科学に基づくプログラム iKnow! の特徴は脳科学に基づく学習プログラムを採用している点だ。 英語学習を苦手にしている人は、英語そのものより、記憶を苦手にしていることが多いが、iKnow! では学習タイミングを調整することで記憶の定着を促進する。 例えば、ユーザーが新しい内容を学習したら1日後に同じ内容を学習する。 ここまでは一般的な復習と同じだが、iKnow! では3日後にさらに「要復習」の指示が出て、2度目の復習ができる。 そして3カ月後に3度目の復習を行い、記憶への定着を確実にする。 復習の対象となるのは、新しく学習した内容のうち、iKnow! に搭載されたAIが「学べていない」と判断したものだけだ。 非AIの英語教材の場合、復習をしようとすると、覚えたところも覚えていないところも一緒に繰り返さなければならない。 もしくは復習学習に取りかかる前に、自分で覚えているところと覚えていないところを確認しなければならない。 これは非効率であるばかりか、時間も手間もかかるので学習者が飽きてしまう。 iKnow! には「英会話マスター」「旅行・趣味」「留学準備」「TOEIC」「英検」「大学受験」「ビジネス英語」「ニュース英語」の8コースが用意されている。 ユーザーは自分の英語レベルや英語ニーズに合わせてコースを選ぶことができるので、この点でも効率的な学習ができる。 SpeakBuddy SpeakBuddyはappArray株式会社(本社・東京都港区)が運営している。 同社は2013年創業の英会話アプリ開発ベンチャーだ。 社長の立石剛史氏は元々英語が苦手で、大学時代に受けたTOEICは280点だった。 就活のときに一念発起して猛勉強し、TOEIC985点をマークし、英検1級も獲得した。 SpeakBuddyの開発は、立石氏の英語勉強法がベースになっている。 SpeakBuddyを利用するには、以下のURLから登録する。 特徴:キャラとの会話を楽しみながら学ぶ SpeakBuddyの特徴は、スマホ画面に登場するAIキャラクターと会話する点にある。 そのキャラクターはAIによってあたかも感情を持った人間のように発言するので、ユーザーは感情移入がしやすい。 ユーザーが学習を終えると、SpeakBuddyはユーザーの習熟度をデータで示したり、そのデータを分析したりする。 またAIがユーザーの習熟度の応じて次の学習メニューを最適化していく。 料金は個人プランが月額1,950円で、法人利用は「要相談」となっている。 TerraTalk TerraTalkは、ジョイズ株式会社(本社・東京都品川区)という2014年に創業したベンチャーが運営している。 TerraTalkは、以下のURLから登録することで使うことができる。 特徴:会話に加えて聞き取りも強化できる TerraTalkのアプリをスマホで立ち上げたら、まずレッスンを選択する。 レッスンには「薬局で薬をもらう」や「親友について話してみる」「免税店でショッピング」「安いホテルを探す」といった種類がある。 具体的なシチュエーションを想定しているのが特徴だ。 好みレッスンを選択すると、あらすじが表示されるので、ユーザーはそれを読み込みシチュエーションを理解する。 そのまま本番のレッスンに進んでもいいのだが、サンプルリスニングを試すことがある。 サンプルリスニングは、本番のレッスンで聞かれる質問と、それに対してユーザーがどのように答えたらいいのかを教えてもらえる。 続いて本番のレッスンに入り、まずはリスニングが始まる。 TerraTalkが英文を読み上げると、画面に単語がランダムに並ぶ。 ユーザーはその単語を、TerraTalkが読み上げた英文の順に並べていく。 続いて会話レッスンが始まる。 TerraTalkが音声と文字で質問するので、ユーザーがスマホに向かってその答えをいう。 その答えに対し、TerraTalkに内蔵されているAIがユーザーの英語力を評価する。 またユーザーの発音がネイティブの発音と「どれくらい同じなのか」をジャッジしてくれる。 付録としてドリルレッスンがあり、ここでは英単語の聞き取りと意味を学習できる。 聞き取り学習は、TerraTalkが発した英単語を4つの選択肢のなかから1つ選ぶ。 意味学習は、4つの英単語のなかから、最も意味が遠いものを1つ選ぶ。 TerraTalkはすでに、京都学園中学・高校や福岡第一高校などで使われている。 料金については公表していない。 まとめ~今度こそ「本当の救世主」になるか 大卒の日本人は、中学、高校、大学と10年間も英語を勉強する。 最近は小学校でも英語を学ぶから、ほとんどの日本人がやはり10年近く英語を勉強していることになる。 また、日本人はアメリカやイギリスやオーストラリアなど、英語圏の文化が好きなので、英語力を獲得するモチベーションは諸外国と比べても強いはずだ。 なのに、英語をマスターできている日本人は少ない。 経済のグローバル化が避けられない以上、英語力の伸び悩みはビジネス力の伸び悩みを招く。 AIを使った英会話アプリには、「わざわざAIを使っていること」の効果を期待したい。
次のこの記事はなが全く示されていないか、不十分です。 して記事の信頼性向上にご協力ください。 ( 2017年11月) 人工無脳(じんこうむのう)は、 会話ボットあるいは おしゃべりボット、 チャットボットなど(英語圏ではchatterbotもしくはchatbot)と呼ばれる、主にを用いたをするである。 人工無脳の応答は、一見して知性を感じることもあるが、収集した文章からキーワードを抽出()し、内部のとマッチング()して応答を返しているため、知性と呼べるほど複雑な処理を行っているわけではない。 用語としては、をひねったであり、と比肩するほどの高度な処理は行われていないという皮肉が込められている。 現在、大半の人工無脳は、やなどの、やなどの ()、個々のやを介して利用される。 概要 [ ] にがを発表し、これを参考に様々なchatterbotシステムが生まれ、進化を遂げた。 この過程で日本にも輸入され、を土壌として日本独自の進化を遂げてきた。 しかし、当時のソフトウェアやで現存するものは少なく、具体的にどのような進化を辿ってきたのかは定かではない。 日本独自の進化をせざるを得なかった日本語の性質として最も大きなものに、日本語は通常されていない(単語同士がスペースで区切られていない)ため、どこまでが単語であるかを判断するのが困難であったという点が挙げられる。 現在では、の研究の進展や、飛躍的に向上したコンピュータの記憶容量と処理速度により、などの日本語解析の手法を用いることで、英語などの分かち書きを行う言語に近い土俵に立てるようになったと言える。 (AI)に対して「人工 無能」とも呼ばれるものであるが、「 無能」のネガティブなイメージもあり、「人工 無脳」とする表記が古くからあり、好まれている。 日本ではパソコン通信のサービスのひとつ「チャット」において一般化した。 当時は漢字入力ができないことが普通で、カタカナだけの会話であったため、読みやすくするためににすることが一般的であった。 そのため構文解析の手間が少なく、エンジンの洗練化が進んだ。 出来の良い人工無脳は人間と区別がつきにくいため、人工無能の発言にはマークがつく仕組みになっていることもあった。 有名な人工無脳として、「おんJBot」や「ゆいぼっと」、「 旧:ペルソナウェア 」「」、「よみうさ」、「人工無能うずら」、「ししゃも」がある。 コンピュータによる合成音声の出力ができるものもあり、K仲川の「人工無脳ちかちゃん」 IBM ViaVoiceのエンジンを利用 や、のA. S 株式会社リコーの規則音声合成エンジンを利用 がある。 コンピュータゲームに応用したものとして、古い作品にはがある。 の開発したゲームソフトであるのキャラクター「」をはじめとするポケットピープル(略称:ポケピ)やWindows Live メッセンジャー のアドバイザー「まいこ」なども人工無脳に類するキャラクターである。 手法 [ ] 会話ボットは、人間の発した特定の単語やフレーズを認識することで、会話の内容を理解していなくとも、相手にとって意味がある応答を返すことができる。 ただし、応答の内容は事前に準備しておく必要がある。 例えば、人間が "I am feeling very worried lately,"(私は最近とても心配だ)と入力したとき、会話ボットは "I am" というフレーズを認識し、そこを "Why are you" に置き換えて最後に疑問符をつけ "Why are you feeling very worried lately? "(なぜあなたは最近とても心配だと感じているのか)と応答する。 同様の手法として、例えば著名人の名前を人間が出してきたとき、それが内部のデータベースにあれば "I think they're great, don't you? "(彼らはすごいよね)などと応答する。 特に会話ボットの仕組みを知らない人間はこのような手法によって会話が成り立っていると感じさせられる。 会話ボットに批判的な者はこのような錯覚をと呼ぶ。 会話ボットに分類されるプログラムの中には異なる原理で動作するものもある。 例えば では、人間が新たな事実や言語を学ぶ方法をモデル化しようとしている。 はの技法を利用してもっと意味のある応答をしようとしている。 ユーザインタフェースとして自然言語を利用する のようなプログラムは、会話の領域がそのプログラムの知っているシミュレートされた世界に限定されるため、会話ボットとは呼ばれないのが一般的である。 逆に SHRDLU などは内部のシミュレートされた世界に関する知識に基づいて会話しているため、会話ボットよりもとしてのレベルが高い。 初期の会話ボット [ ] 初期の会話ボットとしては、ELIZA と がある。 その後、、、、ELLA などが登場した。 会話ボットの研究分野としての成長により、様々な目的の会話ボットが作成されてきた。 ELIZA や PARRY はある型にはまった会話だけに使われたが、Racter は The Policeman's Beard is Half Constructed という物語を「書く」のに使われた。 ELLA は会話ボットの可能性を広げるため、ゲームや役に立つ機能を各種搭載している。 会話ボット(ChatterBot)という用語は1994年、Verbot や Julia といった会話ボットを開発した Michael Mauldin が Twelfth National Conference on Artificial Intelligence で発表した論文で、この種の会話プログラムを指す言葉として使ったのが最初である。 導入事例 [ ] 社内の部門のヘルプデスク担当者の負担軽減のためにチャットボットを導入するという事例がある。 「学習データの作成が大変」 だが、の節約や属人化の問題を解消できるとされ、24時間365日体制での対応も可能とされる。 悪意ある会話ボット [ ] 悪意ある会話ボットを使って、インターネット上のチャットルームをスパムであふれさせたり、他者の個人情報を明かすようそそのかしたりする状況がしばしば見られる。 このような会話ボットは 、 といったサービスや特定のコミュニティのチャットルームなどに出現する。 人工知能における位置づけ [ ] 最近の人工知能(AI)研究は実用性のある技術的課題に重きを置いている。 これをと呼び、知性と能力を必要とすると区別している。 AI研究の一分野としての研究がある。 弱いAIにおいては、自然言語理解のための特殊なソフトウェアやプログラミング言語を利用する。 例えば、最も人間に近い自然言語を話す会話ボット A. は という特殊な言語を使っている。 も推論などとは無縁な単なるに基づいて動作し、これはの最初の会話ボット ELIZA と基本的に変わっていない。 や Kyle はそれよりも若干強いAIに近く、ユーザーとのやり取りから学習し、新たなユニークな応答を生成することができる。 これらはある程度の効果を発揮するものの、様々な自然言語にまつわる問題への対処はまだ十分ではなく、汎用的な自然言語による対話が可能な人工知能は未だ存在しないと言わざるを得ない。 このため、ソフトウェア開発者はこういった技術をより実用的な目的(など)に応用する方向に向かっている。 の議論では、人工知能が真の知性を持っているかを判断することの難しさが指摘されている。 例えば、のやのなどがよく知られている。 脚注 [ ]• コンピュータのことを「電子頭脳」「人工頭脳」と呼ぶ例の影響も考えられる。 また、成書のタイトルを見ると、『人工無脳』(1987年5月ビー・エヌ・エヌ刊)『恋するプログラム - Rubyでつくる人工無脳』(2005年4月毎日コミュニケーションズ刊)『はじめてのAIプログラミング - C言語で作る人工知能と人工無能』(2006年10月オーム社刊)となっている• ITmedia エンタープライズ 2018年4月2日. 2018年4月5日閲覧。 ITmedia エンタープライズ 2018年4月2日. 2018年4月5日閲覧。 Ledge. ai 2018年2月19日. 2018年4月5日閲覧。 My-ope office. 2018年4月5日閲覧。 関連項目 [ ]• 外部リンク [ ]•
次の