Todos los días, visitamos tantas aplicaciones, ya sean plataformas de mensajería como Messenger, Telegram o pedidos de productos en Amazon, Flipkart, o saber sobre el clima y la lista puede continuar. Y vemos que estos sitios web tienen su propio programa de software para iniciar conversaciones con seres humanos usando reglas o inteligencia artificial. Los usuarios interactúan con el programa de software a través de una interfaz conversacional a través de texto escrito o hablado. Esto puede ser referido como un asistente.
Ejemplo:
Entrada: qué es la codificación
Salida: What/If (estilizado como WHAT/ IF) es una miniserie de televisión web de suspenso estadounidense, creada por Mike Kelley, que se estrenó el 24 de mayo de 2019 en Netflix. La serie está protagonizada por Renée Zellweger, Jane Levy, Blake Jenner, Daniella Pineda, Keith Powers, Samantha Ware, Dave Annable, Saamer Usmani, John Clarence Stewart y Louis Herthum.
== Premisa ==
What/If es un thriller neo-noir que explora “los efectos dominó de lo que sucede cuando las personas aceptables comienzan a hacer cosas inaceptables.
Usuario:
Lo que necesitas saber ?
Se puede crear un asistente utilizando el procesamiento del lenguaje natural (NLP), uno de los campos más prometedores de la inteligencia artificial que utiliza lenguajes naturales para permitir las interacciones humanas con las máquinas.
Hay dos enfoques principales para la PNL:
- métodos basados en reglas: Que sigan algunas reglas preespecificadas y respondan según esas reglas.
- métodos de estadística: es decir, métodos relacionados con el aprendizaje automático que aprenden por sí mismos según las entradas del usuario.
Y este artículo aprenderá cómo crear su propio asistente utilizando métodos estadísticos.
Para crear un asistente utilizaremos el lenguaje de programación Python, ya que cuenta con todos los módulos necesarios para construirlo. En segundo lugar, Python es fácil de entender, incluso si no tienes mucha experiencia con la programación.
Empecemos
Antes de entrar en el código real, debemos entender que este chatbot o asistente se basará en la voz, por lo que debemos importar los siguientes módulos.
- pyttsx3: Un paquete de python que admite motores comunes de texto a voz en Mac OS, Windows y Linux.
- reconocimiento de voz: Biblioteca para realizar el reconocimiento de voz, con soporte para varios motores y API, como CMU Sphinx, Microsoft Bing Voice Recognition, Google Cloud Speech API, etc.
- Wolfram Alpha: Biblioteca de soporte de Python para la inteligencia computacional WolframAlpha.
- wikipedia: La biblioteca de Python que facilita el acceso y el análisis de datos de Wikipedia.
Para instalar los módulos anteriores en su sistema, use lo siguiente:
pip install pyttsx3 pip install SpeechRecognition pip install wolframalpha pip install wikipedia
Creación de una cuenta de WolframAlpha
Dado que este chatbot utiliza la API de WolframAlpha para encontrar respuestas, el usuario debe crear una cuenta gratuita registrándose en . Siga los pasos necesarios para configurar una cuenta de estudiante que es gratuita y solo para uso personal. Genere su ID de aplicación y cópielo para futuras referencias.
Conceptos seguidos
- Reconocimiento de voz: El reconocimiento de voz es la capacidad de una máquina o programa para identificar palabras y frases en el lenguaje hablado y convertirlas a un formato legible por máquina.
- TTS – texto a voz: una forma de síntesis de voz que convierte texto en salida de voz hablada.
- Integración del conocimiento computacional: Integrando su bot con inteligencia de conocimiento computacional usando Wolfram|Alpha.
A continuación se muestra la implementación.
# Python package supporting common text-to-speech engines import pyttsx3 # For understanding speech import speech_recognition as sr # For fetching the answers # to computational queries import wolframalpha # for fetching wikipedia articles import wikipedia # Function to search the query # that is either entered or spoken # by user def search(query): # try is used for searching with wolframAlpha try: # Generate your App ID from WolframAlpha app_id = "Your WolframAlpha App ID here" client = wolframalpha.Client(app_id) res = client.query(query) answer = next(res.results).text print(answer) SpeakText("Your answer is " + answer) # If the query cannot be searched using # WolframAlpha then it is searched in # wikipedia except: query = query.split(' ') query = " ".join(query[0:]) SpeakText("I am searching for " + query) print(wikipedia.summary(query, sentences = 3)) SpeakText(wikipedia.summary(query, sentences = 3)) # Function to convert text to # speech def SpeakText(command): # Initialize the engine engine = pyttsx3.init() engine.say(command) engine.runAndWait() # Driver's code # input query from the user by # typing or by voice query = input() query = query.lower() # if query is blank then user # is prompted to speak something. if query == '': r = sr.Recognizer() # uses the default microphone # as the source to record voice with sr.Microphone() as source: print("Say Something ") # reduces the background disturbances # and noise for 2 seconds r.adjust_for_ambient_noise(source, 2) # listening to source audio = r.listen(source) try: speech = r.recognize_google(audio) search(speech) # Handling Exceptions if speech # is not understood. except sr.UnknownValueError: print("Google Speech Recognition could not \ understand audio") # Couldn't handle requests, occurs # mainly because of network errors except sr.RequestError as e: print("Could not request results from Google \ Speech Recognition service;{0}".format(e)) else: search(query)
Producción:
Nota: También se genera la salida de voz del texto de salida.
Publicación traducida automáticamente
Artículo escrito por KanishkaLahori y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA