Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Chatbot

チャットボットとは、テキストまたは音声で自然言語による会話を行うソフトウェアです。ELIZAのようなキーワード照合スクリプトから、ChatGPTのようなLLMチャットアプリまであります。

チャットボットとは、テキストまたは音声を使って自然言語で人々と会話するコンピュータープログラムです。MITで執筆され、1966年に公開されたJoseph WeizenbaumのELIZAは、一般に最初のチャットボットとされています。ELIZAのDOCTORスクリプトは、キーワードに一致させてユーザーの発言を質問に言い換えることで心理療法士を模倣しており、Weizenbaumは、自身の秘書を含むユーザーが、ELIZAに理解されているかのように悩みを打ち明ける様子を見て衝撃を受けました。その後、チャットボットはルールベースのスクリプトからインテントベースのボット、そして大規模言語モデル (LLMs)へと、3世代にわたって発展してきました。2022年11月30日に公開されたOpenAIのChatGPTによって第3世代が一般に広まり、現在「チャットボット」は通常、ChatGPT、Claude、GeminiなどのLLMを使ったチャットインターフェースを指します。

チャットボットの仕組み#

  • ルールベースのチャットボット:ユーザーの言葉を手書きのパターンと照合し、テンプレートから回答します。予測しやすく低コストですが、作成者が想定していない表現には対応できません。
  • インテントベースのチャットボット:自然言語理解 (NLU)分類器が各メッセージを残高確認などのインテントに分類し、口座や日付などの詳細を抽出したうえで、設計者が作成した対話フローに従って応答を決定します。銀行、航空会社、通信会社がこの方式でカスタマーサービス用ボットを構築したのは、すべての回答を事前に確認できたためです。
  • LLMチャットボット:それまでの会話に基づき、トークンを1つずつ生成して各回答を作成します。システムプロンプトでボットの役割とルールを設定し、モデルは誰も想定していなかった表現にも対応します。

LLMチャットボットの基盤となるモデルは、対話向けにTransformerを学習させ、指示チューニングと人間のフィードバックによる強化学習 (RLHF)を適用したものです。モデルは呼び出しの間でメモリを保持しません。アプリケーションが会話を保存し、新しいメッセージのたびに、モデルのチャットテンプレートで整形した会話全体を送信します。

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-135M-Instruct")

# # チャットボットは会話を保存し、新しいターンごとに会話全体を送信します
messages = [
    {"role": "system", "content": "You are a support assistant for an online store."},
    {"role": "user", "content": "Where is my order?"},
    {"role": "assistant", "content": "Could you share your order number?"},
    {"role": "user", "content": "It's 4417."},
]

# # チャットテンプレートは履歴を1つのプロンプトにまとめ、モデルが続きを生成できるようにします
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
print(prompt)

出力されたプロンプトでは、各ターンが役割とともに<|im_start|>および<|im_end|>マーカーで囲まれ、末尾は未完了の<|im_start|>assistant行になります。そのため、モデルが次に生成するtokensが回答となり、「4417です」という答えも、先行する質問が同じプロンプトに含まれている場合にのみ意味を持ちます。ターンごとにプロンプトが長くなるため、コンテキストウィンドウを超える前に、長い会話は切り詰めるか要約します。また、プロンプトキャッシュを使えば、各ターンで変更されていない履歴を再処理せずに済みます。

グラウンディング、ツール、画像#

学習データだけを使って回答するサポートチャットボットは、誤ったポリシーを自信ありげに伝える可能性があります。そのため、本番環境のボットでは、まず検索拡張生成 (RAG)で関連文書やアカウントデータを取得し、AIガードレールで入力と回答の草案を確認します。また、回答を裏付けられない場合は担当者に引き継ぎます。

関数呼び出しを使って注文の照会などのツールを呼び出すチャットボットは、AIエージェントへと発展しつつあります。また、マルチモーダルチャットボットは、視覚言語モデル (VLMs)を通じて、1回のターンで写真やスクリーンショットを受け付けます。UltralyticsのLLMインターフェースは、プロンプト、画像、または会話履歴全体をOpenAI互換の任意のチャットモデルに送信し、プロバイダー独自のレスポンスオブジェクトを返します。そのため、YOLO26パイプラインは、検出によって人物が見つかった場合に限り、マルチモーダルモデルにシーンの説明を依頼できます。

リスク#

企業がボットを導入すると、ハルシネーションが法的責任につながることがあります。2024年2月に判決が下されたMoffatt v. Air Canadaでは、航空会社のウェブサイト上のチャットボットが、死別した乗客に対し、搭乗後でも遺族割引を申請できると伝えましたが、これは実際のポリシーに反していました。ブリティッシュコロンビア州の民事紛争解決審判所は、チャットボットが自らの発言に責任を負うというAir Canadaの主張を退け、差額を支払うよう命じました。チャットボットはプロンプトインジェクションやジェイルブレイクの試みにもさらされます。また、ユーザーを喜ばせるように調整されたモデルは、誤りを正さず同意してしまうAIの迎合に陥ることがあります。

  • バーチャルアシスタント:SiriやAlexaのように、アプリやデバイスをまたいで要求を実行するソフトウェアです。チャットボットは通常、1つのウェブサイト、アプリ、またはメッセージングチャネルで利用され、会話に特化しています。
  • AIエージェント:人が介在しないまま、複数のステップにわたってアクションを選択・実行し、目標を達成するシステムです。チャットボットは、回答だけでなくツールを使ったアクションも実行するようになると、エージェントになります。
  • 会話型AI:チャットボットやアシスタントを支える技術分野全般を指し、音声認識、NLU、対話管理、音声合成などが含まれます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう