📌 第 14 小時:Python 人工智慧應用(AI + Chatbot)
Python 在 人工智慧(AI) 方面有許多應用,包括 聊天機器人(Chatbot)、語音辨識、推薦系統 等。本章將介紹:
- AI 概念與應用
- 使用
NLTK
進行自然語言處理 - 建構簡單的聊天機器人(Chatbot)
- 整合 OpenAI ChatGPT API
- 語音辨識與 TTS(Text-to-Speech)
🔹 1. AI 概念與應用
人工智慧(AI) 讓機器具備 學習、推理與決策能力,應用於:
- 語音助理(Siri, Google Assistant)
- 推薦系統(Netflix, YouTube)
- 聊天機器人(LineBot, ChatGPT)
- 電商 AI 客服
📌 AI 的三大關鍵技術
- 機器學習(Machine Learning):從數據中學習模式(如房價預測)
- 深度學習(Deep Learning):使用神經網路進行更複雜的學習(如影像辨識)
- 自然語言處理(NLP):讓機器理解人類語言(如 Chatbot)
🔹 2. 使用 NLTK
進行 NLP
Python 的 NLTK
(Natural Language Toolkit) 是最常見的 NLP 庫。
🟢 安裝 NLTK
pip install nltk
🟢 文字處理
import nltk
from nltk.tokenize import word_tokenize
nltk.download("punkt")
text = "Hello, how are you doing today?"
tokens = word_tokenize(text)
print(tokens) # ['Hello', ',', 'how', 'are', 'you', 'doing', 'today', '?']
📌 Tokenization(分詞) 會將句子拆解成單字,方便分析。
🔹 3. 建構簡單 Chatbot
我們可以用 NLTK
建構一個簡單的聊天機器人。
🟢 安裝 ChatterBot
pip install chatterbot chatterbot_corpus
🟢 建立 Chatbot
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
# 創建 Chatbot
bot = ChatBot("AI 助理")
# 訓練模型
trainer = ChatterBotCorpusTrainer(bot)
trainer.train("chatterbot.corpus.english")
# 測試聊天機器人
while True:
user_input = input("你: ")
response = bot.get_response(user_input)
print("AI:", response)
📌 Chatbot 會學習內建的 chatterbot.corpus.english
資料庫,並與使用者互動。
🔹 4. 整合 OpenAI ChatGPT API
我們也可以整合 ChatGPT API 來提升 Chatbot 智能。
🟢 申請 OpenAI API
- 註冊 OpenAI 帳戶:https://openai.com
- 取得 API Key
- 安裝
openai
套件:pip install openai
🟢 使用 ChatGPT API
import openai
openai.api_key = "你的 API Key"
def chat_with_gpt(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"]
while True:
user_input = input("你: ")
reply = chat_with_gpt(user_input)
print("ChatGPT:", reply)
📌 這段程式碼會與 OpenAI ChatGPT 互動,並回應使用者輸入的內容!
🔹 5. 語音辨識與 TTS(Text-to-Speech)
🟢 安裝 SpeechRecognition
& pyttsx3
pip install SpeechRecognition pyttsx3
🟢 語音轉文字
import speech_recognition as sr
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("請說話...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language="zh-TW")
print(f"你說的是: {text}")
except sr.UnknownValueError:
print("無法辨識語音")
📌 這段程式碼會啟動麥克風,將語音轉為文字。
🟢 文字轉語音
import pyttsx3
engine = pyttsx3.init()
engine.say("你好,我是 AI 助理")
engine.runAndWait()
📌 這段程式碼會讓電腦朗讀 "你好,我是 AI 助理"
。
📌 第 14 小時小結
✅ 人工智慧應用於 Chatbot、語音助理、推薦系統等
✅ NLTK
可用於自然語言處理(NLP),如文字分詞
✅ ChatterBot
可建立基礎聊天機器人
✅ 整合 OpenAI ChatGPT API
讓 Chatbot 變得更聰明
✅ SpeechRecognition
用於語音辨識,pyttsx3
可讓電腦朗讀文字
學完這一章,你已掌握 AI 應用與 Chatbot 互動,下一步將學習 Python + 資料庫,如何管理與存取大量數據!🚀
沒有留言:
張貼留言