2025年3月6日 星期四

Python 18 小時入門--第 14 小時:Python 人工智慧應用(AI + Chatbot)

 📌 第 14 小時:Python 人工智慧應用(AI + Chatbot)

Python 在 人工智慧(AI) 方面有許多應用,包括 聊天機器人(Chatbot)語音辨識推薦系統 等。本章將介紹:

  1. AI 概念與應用
  2. 使用 NLTK 進行自然語言處理
  3. 建構簡單的聊天機器人(Chatbot)
  4. 整合 OpenAI ChatGPT API
  5. 語音辨識與 TTS(Text-to-Speech)

🔹 1. AI 概念與應用

人工智慧(AI) 讓機器具備 學習、推理與決策能力,應用於:

  • 語音助理(Siri, Google Assistant)
  • 推薦系統(Netflix, YouTube)
  • 聊天機器人(LineBot, ChatGPT)
  • 電商 AI 客服

📌 AI 的三大關鍵技術

  1. 機器學習(Machine Learning):從數據中學習模式(如房價預測)
  2. 深度學習(Deep Learning):使用神經網路進行更複雜的學習(如影像辨識)
  3. 自然語言處理(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

  1. 註冊 OpenAI 帳戶:https://openai.com
  2. 取得 API Key
  3. 安裝 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 + 資料庫,如何管理與存取大量數據!🚀

沒有留言:

張貼留言