オミータです。ツイッターで人工知能のことや他媒体の記事など を紹介しています。 @omiita_atiimoもご覧ください! 話題爆発中のAI「ChatGPT」の仕組みにせまる! 注意:ChatGPTはまだ論文が出ていないため、細かい箇所は不明です。本記事では公式から出た記事およびInstructGPTの論文をもとにChatGPTの仕組みを探っていきます本記事の流れ: 忙しい方へChatGPTとはGPT-3 InstructGPTChatGPT まとめと所感 参考 0. 忙しい方へChatGPTは、InstructGPTをベースとしたモデルだよ InstructGPTは、「人間の好みに合った文を出力するように微調整したGPT-3」だよ InstructGPTの学習では、以下の3つが重要だよGPT-3の教師ありファインチューニング Reward Modelの学習 RLHF(=Re

こんにちは!sakasegawaです! ( https://twitter.com/gyakuse ) 今日は今流行のChatGPTについて紹介します!ChatGPTとはOpenAIが開発するGPT-3(※)というめちゃくちゃすごい言語モデルをベースとしたチャットアプリです。 色んな質問にすぐ答えてくれます。 この記事ではさまざまな使い方を紹介します。 https://chat.openai.com/ ちなみにGPT-3関連では、noteの以下記事も便利なのでぜひ読んでみてくださいAIがコミットメッセージ自動生成!神ツール『auto-commit』『commit-autosuggestions』の紹介 ※正確にはGPT-3.5シリーズと呼ばれていますChatGPTの仕組みを考えながらプロンプトを作る手法はこちらに別途まとめています 文章 質問-応答 〜について教えて Wikiped

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめにAmazon Lex はチャットボット等の会話インターフェースを作成するためAI サービスです。 昨年より東京リージョンで利用可能になっていたものの、サービスの対応言語としては長らく日本語に対応していませんでしたが、ついに日本語を正式にサポートしました! 簡単なボットを作成し、Slack に連携させるまでをやってみたいと思います。 Lex V1 と V2 の違いAmazon Lex は 2021年1月に V2API がリリースされています。コンソールのデザインが変わっただけではなく、新しい機能を含む新規のAPI として

「Amazon lex」とは? まだ自然言語処理も機械学習も習得してないけど、チャットボットアプリ作ってみたいなぁなんて呟いてたらAmazonに実現できそうなサービス、ありました! 以下Amazon Lexの概要から引用 音声やテキストを使用して、アプリに対話型インターフェイスを構築するサービス 音声のテキスト変換には自動音声認識 (ASR)、テキストの認識には自然言語理解 (NLU) という 高度な深層学習機能が使用でき、リアルな会話を実現するアプリを開発できます。AmazonAlexa に使われている深層学習技術と同じ技術を利用でき、自然言語での高度な対話ボット (チャットボット) を短時間で簡単に構築できます。 どちらかというと「音声対話アプリケーションをつくる」という点に強みがあるそう。 ■使いやすい 数分でオリジナルのチャットボットを作成 会話型インターフェイスを、アプリケ

前回はボットで Azure AD v2 の認証をしました。今回は取得したトークンを利用してMicrosoft Graph から予定を取得します。Microsoft Graph については以前連載を書いたので、詳細はそちらを参照してください。Microsoft Graph を使ってみよう : 目次Microsoft Graph 用クラス まずはMicrosoft Graph を使えるようにします。 1. 以下コマンドでMicrosoft.Graph パッケージの追加。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threadi

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ボットから Office 365 など他サービスを呼び出す際に、Azure AD など外部 ID サービスに対して認証が必要となります。Bot Service では認証をGUI での設定と簡単なコードで実現できます。 Azure Bot Service が提供する認証支援機能 今までは、他サービスの認証を行う為には開発者がコードを全て用意する必要がありました。またセキュリティ対応のため、認証後にユーザーにマジックコード (6 桁の数字など) を別途送ってもらい認証を完了していましたが、Azure Bot Service ではその処理を

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 最近Azure Bot ServiceおよびQnA Maker周りで、大きく発表されたものから地味なアップデートまで色々と出てきているので、この記事では筆者が現時点で気づいた最近の新機能や旧バージョンからの変更点等についてまとめたいと思います。気づいたものから随時追加できればと思います。Microsoft ConversationalAI ToolsMicrosoftBuild 2018というイベントでチャットボット作成のためのツール群として、Microsoft ConversationalAI Toolsが定義され

前回の記事では、開発者が意図しないメッセージをどう扱うかという課題に対し、例外処理やグローバルコマンドの利用法紹介しました。 ただしユーザーが送ってくるメッセージに対してハードコードされた文字列でしか対応できないため、今回は自然言語処理を使います。 LUIS (Language Understanding Intelligent Service) LUIS はMicrosoft の自然言語解析サービスで、入力された自然言語から「意図(インテント)」と「キーワード(エンティティ)」を取得します。まずは LUIS アプリケーションを作ります。ここでは以下のインテントとエンティティを追加します。 Cancel : キャンセルに対応 Help : ヘルプに対応 Weather : 天気確認用 Profile : プロファイル変更用 1. https://www.luis.ai にアクセスし Lo

ここまでの記事では、開発者の意図通りにユーザーがボットを利用する前提でしたが、この記事ではそれ以外の処理について考えていきます。 中断処理とグローバルコマンド 中断処理 ユーザーがダイアログの途中で、処理を中断したいというメッセージを送ってくることがあります。これを中断処理と言います。中断処理は開発者があらかじめ予期できるもので、中断用のメニューを用意します。 グローバルコマンド ユーザーが任意のタイミングで、特定のダイアログではなく、全体に関わるようなメッセージを送ってくることがあります。これをグローバルコマンドと呼びます。 中断処理の実装 まず中断処理から実装していきます。中断処理の実装をするには、ダイアログの流れ自体が中断に対応しやすい設計になっていることが重要です。今回は ProfileDialog を拡張して、最後の確認で名前や年齢を入れなおせるようにします。 1. Profil

前回はウォーターフォールダイアログを使って、複数のプロンプトを扱う方法を紹介しました。今回は複数の ComponentDialog ダイアログを既存のボットに追加して、管理する方法を見ていきます。 追加するダイアログとシナリオ 今回の記事では、前回追加した ProfileDialog に加え、以下のダイアログを追加します。 MenuDialog : ボットの機能を伝えるダイアログ WeatherDialog : 天気を知らせてくれるダイアログ ScheduleDialog : 予定を知らせてくれるダイアログ また、ProfileDialog はユーザーが初回にボットに話しかけたタイミングで実行するようにします。 ダイアログスタック ダイアログにはスタックという考え方があります。 まず初めのダイアログがスタックに追加される (BeginDialogAsync) 子ダイアログを呼ぶと、現在のダ

Fs = require 'fs' Canvas = require 'canvas' Request = require 'request' module.exports = (robot) -> robot.respond /meme (\S+) (\S.*)$/i, (msg) -> name = msg.match[1]text = msg.match[2] # 画像の情報を取得 if collage = findCollage(name) path = './scripts/meme/' # 画像の読み込み Fs.readFile path + collage.image, (err, data) -> iferr msg.send '指定された画像の読み込みに失敗しました...' else # 画像をCanvasへ書き込み image = new Canvas.Image

本記事ではMicrosoft Azure で提供されるボットサービスの作成と展開について紹介します。 Azure Bot Service 概要 Azure Bot Service はMicrosoft Azure で提供されるボットソリューションで、以下のコンポーネントから成り立ちます。 BotBuilder をはじめとする SDK とツール類 Bot Connector (Bot Channels Registration) Bot のホスト先 (WebApps/Function) や充実したサンプル/ドキュメント Azure Bot Service を使うメリットは色々ありますが、主には以下の通りです。 Web チャット、Facebook Messenger やSlack、コルタナなど、複数のチャネルで動作するボットを同じコードで開発できる。 充実した SDK とサンプルで迅速

前回は Azure Bot Service の概要と、初めての Web App Bot 作成をしました。今回は作成した Web App Bot の詳細を見ていきます。 ※尚、Azure Bot Service シリーズでは BotBuilder で開発されたコードの解説はしないため、BotBuilder シリーズを確認してください。 ボットのコード Web App Bot を作成した際いくつかのリソースが追加されましたが、ボットは App Service 上で動いています。またそこで動作するコードは以下の手順で取得できます。 1. メニューより「ビルド」を選択し、「zip ファイルをダウンロード」をクリック。 2. 暫くしたらzip をダウンロードできるので、「zip ファイルのダウンロード」をクリックして、任意のフォルダに保存。 3. ダウンロードしたファイルを解凍し、ソリューショ

前回の記事では、最小構成で「オウム返し」ボットを開発しました。本記事では、そのコードを使って、ボットが呼び出されるまでの仕組みを理解していきます。 公式ページにある Bot が動作する仕組み 以下の図は公式ページにあるシーケンス図です。 Bot Framework Service なるものから HTTP POST が来る Web Server Integration で受けて ProcessActivity を呼ぶ Adapter、TurnContext と Middleware でそれらを受けて、OnTurn を呼ぶ 自分のボットが呼び出される 自分のボットから SendActivity で返信を返す (HTTP 応答ではなく、新規の POST) それぞれの HTTP 要求に対して 200 を返す 今回はこの動作のうち、OnTurn が呼ばれるところまでを見ていきます。 NuGet パッ

前回の記事では、ボットが呼び出されるまでの仕組みを確認しました。その中でアダプター、TurnContext、Activity という概念が出てきましたが、これらは BotBuilder にとって非常に重要な概念であるため、ここで改めて説明します。 アダプター (BotFrameworkAdapter/BotAdapter) アダプターはMicrosoft.Bot.Builder モジュールに含まれる機能で、 BotAdapter.cs をベースに BotFrameworkAdapter.cs に実装があります。 ボット アダプター : 公式ドキュメント アダプターでは以下の処理を行います。 Bot Connector との認証 Bot Connector から受信したメッセージから TurnContext を作成しボットに渡す ボットからの返信を Bot Connector に送る ミド

本記事では BotBuilder v4 のダイアログとステート管理について見ていきます。ダイアログについては、まずは単純なものを見ていき、今後の記事でより複雑なダイアログを見ていきます。 ダイアログ ダイアログは BotBuilder でユーザーとボットの会話を管理する際に中心となる概念です。ダイアログはユーザーからの入力を処理して、次の出力を生成し、その過程を管理します。 例えばユーザープロファイルを作る場面で、ボットは名前、誕生日、仕事など複数の質問を行い、対応するユーザーの回答を記憶、最後にデータベースなどに情報を格納するという動作を行います。この際、以下のような内容を管理する必要があります。 ユーザーの入力が、どの質問に対応するものかを理解 ユーザー入力の検証と記憶 次の質問を正しく選択して、ユーザーへ送信 最後の質問に対する回答を得た場合、データベースの保存 Bot Buil

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く