El siguiente artículo muestra cómo mediante el uso de dos módulos llamados, pyttsx3 y PyDictionary , podemos hacer que nuestro sistema diga el significado de la palabra dada como entrada. Es un módulo que expresa el significado cuando queremos tener el significado de una palabra en particular.
Módulos necesarios
- PyDictionary: es un módulo de diccionario para Python 2-3 para obtener significados, traducciones, sinónimos y antónimos de palabras. Utiliza WordNet para hacer lo que sugiere su funcionalidad y tiene dependencias en módulos llamados Requests, BeautifulSoup4 y goslate.
- pyttsx3: Es una biblioteca de texto a voz. Este módulo es el que le da voz a nuestro sistema para que puedan comunicarse con nosotros. Pyttsx3 usa sapi5 en windows y espeak en windows.
Ambos módulos se pueden instalar usando pip de la siguiente manera:
pip install PyDictionary pip install pyttsx3
Laboral
Como se mencionó anteriormente, mediante la combinación de dos módulos generaremos la funcionalidad requerida y para ello se siguieron los siguientes pasos:
- Se define un método para que el sistema busque el significado de la palabra proporcionada como entrada
- Se define otro método para hacer que el sistema diga en voz alta la salida generada correspondiente a la entrada proporcionada.
- El resultado devuelto en esto puede ser un diccionario, por lo que tenemos que extraer cada significado de la palabra proporcionada, ya que estará en un formato de clave-valor.
A continuación se muestra la implementación.
Python3
import pyttsx3 from PyDictionary import PyDictionary class Speaking: def speak(self, audio): # Having the initial constructor of pyttsx3 # and having the sapi5 in it as a parameter engine = pyttsx3.init('sapi5') # Calling the getter and setter of pyttsx3 voices = engine.getProperty('voices') # Method for the speaking of the assistant engine.setProperty('voice', voices[0].id) engine.say(audio) engine.runAndWait() class GFG: def Dictionary(self): speak = Speaking() dic = PyDictionary() speak.speak("Which word do u want to find the meaning sir") # Taking the string input query = str(input()) word = dic.meaning(query) print(len(word)) for state in word: print(word[state]) speak.speak("the meaning is" + str(word[state])) if __name__ == '__main__': GFG() GFG.Dictionary(self=None)
Producción:
Publicación traducida automáticamente
Artículo escrito por abhisheksrivastaviot18 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA