chatbotをつくってみた
youtubeを見ているとAI英会話ソフトの宣伝がすごく入ってくるようになった。みんなつくれるのかな?と思って、chatGPT(フリー版)に
AI英会話ソフトを作りたいです。素人にもわかるよう手順について教えてください。と聞いたら、以下の回答があって、さっぱりわかんないのでお得意のサンプルつくって、とお願いしたらchatbotのプログラムを作ってくれた、というお話。実際に動いたので結構感動しました。ただ、会話のパターンは力業でいっぱい入れないといけないです。一般的なQAはchatGPT任せでいっぱい作成してくれますが、マニアックなのは自力でというところでしょうか。古典的なイルカマーク系のやつはこれでいけますね。
エラー処理して、以下の結果が出るまで10分でした。個々のコマンドの意味がよくわからないのに、結果だけ出せるとてもいい時代になりました!
国民総プログラマー時代も近いと思えます。
-----
目的の明確化:
まず最初に、作成したいAI英会話ソフトの目的を明確にします。例えば、英会話の練習、質問に答える、自然な対話を提供するなど、具体的な目標を設定します。
データ収集:
AIが学習するために、大量の英語テキストデータが必要です。これには、書籍、ウェブサイト、会話のテキストなど、様々なソースからのデータ収集が含まれます。
自然言語処理(NLP)の学習:
収集したデータを使用して、自然言語処理(NLP)モデルを学習させます。これにより、AIは英文を理解し、適切に応答するための知識を獲得します。最近では、トランスフォーマーベースのモデル(例:GPTシリーズ)が一般的に使用されています。
モデルの開発:
学習済みのNLPモデルを使用して、英会話に適したAIモデルを開発します。これには、モデルのファインチューニングやカスタマイズが含まれます。例えば、英会話特有の表現や文法ルールを組み込むことができます。
ユーザーインタフェースの設計:
ユーザーがAIと対話するためのインタフェースを設計します。これには、テキストベースのチャットウィンドウ、音声認識を組み込んだインタフェースなどが含まれます。
システム統合:
AIモデルとユーザーインタフェースを統合し、完全なシステムを構築します。これには、モデルの実行環境のセットアップや、ユーザー入力の処理などが含まれます。
テストと評価:
完成したシステムをテストし、性能を評価します。これには、ユーザーによるテストや自動化されたテストが含まれます。性能の改善が必要な場合は、モデルの再トレーニングやシステムの調整を行います。
デプロイメント:
ソフトウェアをデプロイして、ユーザーが利用できるようにします。これには、ウェブサーバーへのアップロードや、アプリストアへの提出などが含まれます。
----
と出てきた。ぜんっぜんわかんない。たぶん、1から3くらいまでがかなり面倒で、出力系は自分で使う分にはこだわらなくてもいいだろうと思うのです。機械学習のところが素人には難しいんでしょうね。
とりあえず、体験ができるならしてみたいなと思って、python自体はコンパイルしてたので、サンプルプログラムつくってよーとお願いをしたら、
----------------
以下は、PythonでシンプルなAI英会話ソフトを作成するサンプルプログラムです。このプログラムは、NLTKライブラリを使用して簡単な自然言語処理を行い、ユーザーの入力に基づいて事前に用意した応答を返します。このプログラムは非常に基本的なものであり、実際のアプリケーションには改善の余地がありますが、初心者には良い出発点となるでしょう。
import nltk
import random
from nltk.chat.util import Chat, reflections
NLTKの英語のチャットデータセットを読み込む
nltk.download('punkt')
nltk.download('chat80')
独自のパターンと応答を追加する
pairs = [
[
r"my name is (.)",
["Hello %1, how are you today?",]
],
[
r"what is your name?",
["My name is ChatBot and I'm an AI chatbot.",]
],
[
r"how are you?",
["I'm doing good\nHow about You ?",]
],
[
r"sorry (.)",
["It's alright","It's OK, never mind",]
],
[
r"i'm (.) doing good",
["Nice to hear that","Alright :)",]
],
[
r"hi|hey|hello",
["Hello", "Hey there",]
],
[
r"(.) age?",
["I'm a computer program, I don't have an age!",]
],
[
r"(.*) (location|city) ?",
['Tokyo, Japan',]
],
[
r"quit",
["Bye, take care. See you soon :) ","It was nice talking to you. See you later :)"]
],
]
チャットボットのインスタンスを作成する
chatbot = Chat(pairs, reflections)
def chat():
print("Hi, I'm ChatBot! How can I help you today?")
while True:
user_input = input("You: ")
if user_input.lower() == "quit":
print(random.choice(pairs)[1][0])
break
response = chatbot.respond(user_input)
print("ChatBot:", response)
if name == "main":
chat()
--------
としてくれて、これをメモ帳にコピペして適当なファイル名を付けて保存して動かしたら動きました!(先にpip install nltk しないといけませんが)
この記事が気に入ったらサポートをしてみませんか?