Sprachsuche Wikipedia mit Python
Jeden Tag besuchen wir so viele Anwendungen, sei es Messaging-Plattformen wie Messenger, Telegramm oder die Bestellung von Produkten bei Amazon, Flipkart oder das Wissen über das Wetter und die Liste kann weitergehen. Und wir sehen, dass diese Websites über ein eigenes Softwareprogramm verfügen, mit dem Gespräche mit Menschen mithilfe von Regeln oder künstlicher Intelligenz initiiert werden können. Benutzer interagieren mit dem Softwareprogramm über eine Konversationsschnittstelle über geschriebenen oder gesprochenen Text. Dies kann als Assistent bezeichnet werden.
Beispiel:
Eingabe: Was ist Codierung?
Ausgabe: What / If (stilisiert als WHAT / IF) ist eine amerikanische Thriller-Web-TV-Miniserie, die von Mike Kelley erstellt wurde und am 24. Mai 2019 auf Netflix Premiere hatte. Die Serienstars sind Renée Zellweger, Jane Levy, Blake Jenner, Daniella Pineda, Keith Powers, Samantha Ware, Dave Annable, Saamer Usmani, John Clarence Stewart und Louis Herthum.
== Prämisse ==
Was / Wenn ist ein Neo-Noir-Thriller, der „die Welligkeitseffekte dessen untersucht, was passiert, wenn akzeptable Menschen anfangen, inakzeptable Dinge zu tun.
Nutzer:
Was du wissen musst ?
Mit Natural Language Processing (NLP) kann ein Assistent zu einem der vielversprechendsten Bereiche der künstlichen Intelligenz gemacht werden, die natürliche Sprachen verwendet, um menschliche Interaktionen mit Maschinen zu ermöglichen.
Es gibt zwei Hauptansätze für NLP:
- regelbasierte Methoden: Diese folgen einigen vorgegebenen Regeln und antworten gemäß diesen Regeln.
- statistische Methoden: dh Methoden im Zusammenhang mit maschinellem Lernen, die anhand von Benutzereingaben selbstständig lernen.
In diesem Artikel erfahren Sie, wie Sie mithilfe statistischer Methoden Ihren eigenen Assistenten erstellen.
Um einen Assistenten zu erstellen, verwenden wir die Programmiersprache Python, da sie alle zum Erstellen erforderlichen Module enthält. Zweitens ist Python leicht zu verstehen, auch wenn Sie nicht viel Erfahrung mit Programmierung haben.
Lass uns anfangen
Bevor wir uns mit dem eigentlichen Code befassen, müssen wir verstehen, dass dieser Chatbot oder Assistent sprachbasiert ist. Daher müssen wir die folgenden Module importieren.
- pyttsx3: Ein Python-Paket, das Common Text to Speech Engines unter Mac OS, Windows und Linux unterstützt.
- Spracherkennung: Bibliothek zur Durchführung der Spracherkennung mit Unterstützung mehrerer Engines und APIs wie CMU Sphinx, Microsoft Bing-Spracherkennung, Google Cloud Speech API usw.
- Wolfram Alpha: Pythons Unterstützungsbibliothek für WolframAlpha Computational Intelligence.
- Wikipedia: Pythons Bibliothek, mit der Sie einfach auf Daten aus Wikipedia zugreifen und diese analysieren können.
Verwenden Sie Folgendes, um die oben genannten Module auf Ihrem System zu installieren:
pip install pyttsx3 pip install SpeechRecognition pip installieren wolframalpha pip install wikipedia
Erstellen eines WolframAlpha-Kontos
Da dieser Chatbot die WolframAlpha-API verwendet, um Antworten zu finden, muss der Benutzer ein kostenloses Konto erstellen, indem er sich bei anmeldet . Befolgen Sie die erforderlichen Schritte, um ein Studentenkonto einzurichten, das kostenlos und nur für den persönlichen Gebrauch bestimmt ist. Generieren Sie Ihre App-ID und kopieren Sie sie zur weiteren Bezugnahme.
Konzepte befolgt
- Spracherkennung: Spracherkennung ist die Fähigkeit einer Maschine oder eines Programms, Wörter und Phrasen in gesprochener Sprache zu identifizieren und in ein maschinenlesbares Format umzuwandeln.
- TTS - Text zu Rede: Eine Form der Sprachsynthese, die Text in gesprochene Sprachausgabe umwandelt.
- Computergestützte Wissensintegration: Integrieren Sie Ihren Bot mithilfe von Wolfram | Alpha in die rechnergestützte Wissensintelligenz.
Unten ist die Implementierung.
import
pyttsx3
import
speech_recognition as sr
import
wolframalpha
import
wikipedia
def
search(query):
try
:
app_id
=
"Your WolframAlpha App ID here"
client
=
wolframalpha.Client(app_id)
res
=
client.query(query)
answer
=
next
(res.results).text
(answer)
SpeakText(
"Your answer is "
+
answer)
except
:
query
=
query.split(
' '
)
query
=
" "
.join(query[
0
:])
SpeakText(
"I am searching for "
+
query)
(wikipedia.summary(query, sentences
=
3
))
SpeakText(wikipedia.summary(query,
sentences
=
3
))
def
SpeakText(command):
engine
=
pyttsx3.init()
engine.say(command)
engine.runAndWait()
query
=
input
()
query
=
query.lower()
if
query
=
=
'':
r
=
sr.Recognizer()
with sr.Microphone() as source:
(
"Say Something "
)
r.adjust_for_ambient_noise(source,
2
)
audio
=
r.listen(source)
try
:
speech
=
r.recognize_google(audio)
search(speech)
except
sr.UnknownValueError:
("Google Speech Recognition could
not
\
understand audio")
except
sr.RequestError as e:
("Could
not
request results
from
Google \
Speech Recognition service;{
0
}".
format
(e))
else
:
search(query)
Ausgabe:
Hinweis: Die Sprachausgabe des Ausgabetextes wird ebenfalls generiert.