編集済み 8 数か月前 によって ExtremeHow 編集チーム
音声アシスタントAI音声認識オープンAINLPボット開発統合ボイスインタラクション
翻訳が更新されました 8 数か月前
ボイスアシスタントを構築することは、プログラミング、機械学習、および自然言語処理(NLP)のさまざまな分野を探求するエキサイティングなプロジェクトです。最近の人工知能の進歩、特にChatGPTのようなモデルにより、堅牢な音声駆動アプリケーションを構築することが容易になっています。このガイドでは、OpenAIが開発した強力な言語モデルであるChatGPTを使用して、ボイスアシスタントを設計および実装するプロセスを案内します。ステップバイステップのプロセスに飛び込み、ボイスアシスタントを構築するために必要なコンポーネントを探求してみましょう。
ボイスアシスタントは通常、以下の主要なコンポーネントで構成されます。
始める前に、以下を確認してください。
まず、開発環境をセットアップする必要があります。システムを準備するために以下の手順に従ってください。
mkdir voice_assistant
cd voice_assistant
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install openai speechrecognition pyttsx3
音声認識ライブラリを使用してユーザーの音声入力をキャプチャし認識します。次に示すのはその基本的な実装方法です。
import speech_recognition as sr
def listen():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Say something...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio)
print(f"You said: {text}")
except sr.UnknownValueError:
print("Sorry, could not understand your speech.")
except sr.RequestError as e:
print(f"Could not request results; {e}")
return text
if __name__ == "__main__":
listen()
このコードはマイクを設定し、音声をリスニングして、Googleの音声認識サービスを使用してテキストに変換します。
テキスト入力が得られたら、ChatGPTを使用して応答を生成します。まず、セキュリティ上の理由から、OpenAI APIキーを環境変数として保存してください。次に、ChatGPTを統合しましょう。
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate_response(prompt):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=150
)
return response.choices[0].text.strip()
if __name__ == "__main__":
user_input = "What is the weather today?"
response = generate_response(user_input)
print(f"ChatGPT: {response}")
generate_response
関数はプロンプトをChatGPTに送信し、完全な応答を返します。エンジンやパラメータを調整して、モデルの出力をよりコントロールすることができます。
応答が生成されたら、pyttsx3ライブラリを使用してこのテキストを音声に変換します。
import pyttsx3
def speak(text):
engine = pyttsx3.init()
engine.say(text)
engine.runAndWait()
if __name__ == "__main__":
response_text = "The weather is sunny today with a high of 75 degrees."
speak(response_text)
この関数は、テキスト読み上げエンジンを起動し、入力テキストを読み上げ、読み上げタスクが完了するまで待ちます。応答生成と組み合わせて、対話的なループを作りましょう。
では、すべてを1つのアプリケーションにまとめましょう。音声認識、ChatGPTの統合、およびテキスト読み上げを継続的なリスニングループに組み合わせます。
def main():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
while True:
print("Listening...")
audio = recognizer.listen(source)
try:
user_input = recognizer.recognize_google(audio)
print(f"User: {user_input}")
if user_input.lower() in ["exit", "quit", "bye"]:
speak("Goodbye!")
break
response = generate_response(user_input)
print(f"ChatGPT: {response}")
speak(response)
except sr.UnknownValueError:
print("Sorry, could not understand your speech.")
except sr.RequestError as e:
print(f"Could not request results; {e}")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
main()
この完全なソリューションでは、「exit」、「leave」、「bye」と言うまでボイスアシスタントはコマンドをリスニングします。各コマンドをChatGPTで処理し、応答を読み上げます。
基本的なボイスアシスタントができたので、機能を拡張するためのいくつかのヒントを以下に示します。
ChatGPTを使用してボイスアシスタントを作成するには、全体の機能を実現するために、いくつかのコンポーネントを統合する必要があります。このガイドは基本的な理解を提供しますが、ボイスアシスタントを拡大し個人化するためには、莫大な可能性があります。個人的に使用するために開発を進めたい場合でも、より大きなプロジェクトの一部としてでも、このプロセスを通じて得られるスキルと知識は非常に貴重です。AI、NLP、および音声認識技術の可能性を探求し続け、設計を改良し、革新を進めてください。
記事の内容に誤りがある場合, あなたは