פיתון זיהוי דיבור: כיצד לתרגם דיבור לטקסט?



בלוג זה מכסה את המושג זיהוי דיבור בפיתון באמצעות תוכנית לדוגמא המתרגמת דיבור לטקסט באמצעות זיהוי דיבור.

הדיבור הוא אמצעי התקשורת הנפוץ ביותר ברחבי העולם. רוב האוכלוסייה בעולם מסתמכת על דיבור כדי לתקשר זה עם זה. נניח שאנחנו בונים מודל ובמקום גישה כתובה אנו רוצים שהמערכת שלנו תגיב לדיבור, זה נהיה די קשה ודורש לעבד נתונים רבים. מערכת לזיהוי דיבור מתגברת על מחסום זה על ידי תרגום דיבור לטקסט. בבלוג זה נעבור על זיהוי הדיבור מודול בפייתון . הנה הרשימה של אותם:

איך עובד זיהוי דיבור?

מערכת זיהוי דיבור בעצם מתרגמת את ההתבטאויות המדוברות לטקסט. ישנן דוגמאות שונות לחיים האמיתיים של מערכת לזיהוי דיבור. למשל- סירי, שלוקח את הנאום כקלט ומתרגם אותו לטקסט.





היתרון בשימוש במערכת זיהוי דיבור היא בכך שהיא מתגברת על מחסום האוריינות. מודל לזיהוי דיבור יכול לשרת גם קהל אוריינות וגם קרוא וכתוב, מכיוון שהוא מתמקד באמירות מדוברות.

אנו יכולים לערוך מלאי של כל השפות הנמצאות בסכנת הכחדה ברחבי העולם באמצעות מערכת זיהוי דיבור. למרות שזה נראה די מסקרן ולא מורכב בכלל, מערכת לזיהוי דיבור עומדת בפני הרבה אתגרים בהתהוות.



אתגרים העומדים בפני זיהוי דיבור מערכת

קשה להכין מערכת לזיהוי דיבור מכיוון שיש לנו כל כך הרבה מקורות שונות בכל מה שקשור לדיבור.

סגנון הדיבור

לכל אדם יש סגנון דיבור מגוון, כולל גם מבטאים. כידוע לכולנו, יש לנו מבטאים שונים גם לדבר אנגלית. יש אנגלית אמריקאית, אנגלית בריטית וכל כך הרבה מבטאים אחרים כשמדובר בדיבור בשפה הנפוצה ביותר בעולם. ההגייה מקשה גם על מערכת לזיהוי דיבור לתרגם את הדיבור לחלוטין.



סביבה

סביבה מוסיפה הרבה רעשי רקע גם למערכת. בחדר מבודד בהשוואה לאודיטוריום יהיה שוני רב ברעשי הרקע. אפילו הד יכול להוסיף הרבה רעש גם במערכת.

מאפייני רמקולים

ייתכן שקולו של אדם זקן אינו זהה לזה של תינוק. מאפייני הדיבור של האדם תלויים בגורמים רבים כולל החומרה והבהירות גם כן.

אילוצי שפה

לחלק מההתבטאויות המדוברות אין משמעות קיימא בכל הנוגע לתרגום.

לאחר התגברות על אתגרים אלה, ניתן להשיג באופן שווה לכל מערכת לזיהוי דיבור לתרגם דיבור לטקסט. עכשיו, כשאנחנו יודעים איך עובד זיהוי דיבור, בואו נסתכל על שונה הזמינים לזיהוי דיבור בפייתון.

טיעוני שורת פקודה בקוד לדוגמה של java

חבילות זמינות לזיהוי דיבור בפייתון

נעבור על הפרטים של חבילת SpeechRecognition בבלוג זה, מאפשר גם להעיף מבט בנתיב הזיכרון כדי להבין כיצד מערכות זיהוי דיבור התפתחו לאורך השנים.

האב-טיפוס הראשון של זיהוי הדיבור היה למעשה צעצוע בשם רדיו רקס שהגיע בסביבות שנות העשרים. היה בו כלב שישב בבית כלבים אשר יצוץ ברגע שמישהו אמר את המילה רקס.

הבעיה היחידה במודל הייתה שהקפיץ היה מחובר לאלקטרומגנט שהיה רגיש לאנרגיה שנע סביב 500 הרץ. בהיותו גלאי תדרים בלבד, ניתן לכנות אותו מרחוק כמודל לזיהוי דיבור.

בשנת 1962 עלתה יבמ עם קופסת נעליים מודל אשר הצליח לזהות מילים מבודדות וגם לבצע מספר פעולות חשבון.

אז בא HARPY מ- CMU, שהצליח לזהות דיבור מחובר מאוצר מילים של 1000 מילים. בסביבות שנות השמונים אנשים החלו להשתמש במודלים סטטיסטיים ואחת הפרדיגמות של למידת מכונה הנפוצה ביותר הייתה מודל המרקוב הנסתר.

לאחר הצגת רשתות עצביות עמוקות, רוב המודלים לזיהוי דיבור עובדים ברשתות העצביות. אי אפשר לדמיין את האפשרויות עם הרשתות העצביות, אוצר המילים יכול לעלות עד 10,000 מילים ויותר.

כיצד להתקין זיהוי דיבור בפייתון?

כדי להתקין את חבילת SpeechRecognition היא פיתון, הפעל את הפקודה הבאה במסוף והיא תותקן במערכת שלך.

זיהוי התקנה-דיבור פיתון-אדוריקה

גישה נוספת לכך יכולה להיות הוספת החבילה מתורגמן הפרויקט אם אתה משתמש

בחבילה יש שיעור מזהה שהוא בעצם המקום בו הקסם קורה. זה בעצם מעמד שמשמש לזיהוי הנאום. להלן שבע שיטות אשר יכולות לקרוא מקורות שמע שונים באמצעות ממשקי API שונים.

ההבדל בין ג'אווה לזריקות
  • להכיר ()
  • זיהוי_גוגל ()
  • זיהוי_ google_cloud ()
  • זיהוי_כלב ()
  • זיהוי_יב ()
  • זיהוי_וויט ()
  • זיהוי_ספינקס ()

כעת, ניתן להשתמש ב- recogn_sphinx להפעלת מערכת זיהוי הדיבור גם במצב לא מקוון. זה דורש התקנה של Pocketsphinx.

ייבא זיהוי דיבור כ- sr #instance של מזהה class r = sr.recognizer ()

לקיחת קלט ממיקרופונים

כדי להשתמש במיקרופונים, נצטרך להתקין גם מודול pyaudio. אנו משתמשים בכיתת המיקרופון כדי להשיג את דיבור הקלט מהמיקרופון במקום מכל שיטת קלט אחרת כמו קובץ שמע.

ברוב הפרויקטים אנו יכולים להשתמש במיקרופונים המוגדרים כברירת מחדל. אך אם אינך מעוניין להשתמש במיקרופון המוגדר כברירת מחדל,תוכל לקבל את רשימת שמות המיקרופונים בשיטת list_microphone_names.

כדי לתפוס את הקלט מהמיקרופון אנו משתמשים בשיטת ההאזנה.

ייבא זיהוי דיבור כ- sr r = sr.Recognizer () עם sr.Microphone () כמקור: audio = sr.listen (source)

כיצד להתקין את Pyaudio ב- Python?

להתקנת Pyaudio בפייתון, הפעל את הפקודה הבאה במסוף או אם אתה משתמש ב- pycharm הוסף את החבילה מתורגמן הפרויקט בהגדרות.

שימוש במקרה

נכין תוכנית באמצעות מודול זיהוי הדיבור בפייתון כדי לזהות דיבור ולבצע את הפעולות הבאות:

  1. להמיר את הנאום לטקסט
  2. פתח כתובת אתר באמצעות מודול דפדפן האינטרנט
  3. העבר שאילתה באמצעות זיהוי דיבור כדי לבצע חיפוש בכתובת האתר

להלן התוכנית להצהרת הבעיה הנ'ל:

ייבא דיבור_זיהוי בתור sr ייבוא ​​דפדפן אינטרנט כ wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () עם sr.Microphone () כמקור: הדפס ('[חפש edureka: חפש ב- youtube]') הדפס ('דבר עכשיו') אודיו = r3.listen (מקור) אם 'edureka' ב- r2.recognize_google (audio): r2 = sr.Recognizer () url = 'https://www.edureka.co/' עם sr .מיקרופון () כמקור: הדפס ('חפש את השאילתה שלך') audio = r2.listen (source) נסה: get = r2.recognize_google (audio) הדפס (get) wb.get (). Open_new (url + get) למעט sr.UnknownValueError: הדפס ('שגיאה') למעט sr.RequestError כ- e: הדפס ('נכשל'. פורמט (e)) אם 'וידאו' ב- r1.recognize_google (שמע): r1 = sr.Recognizer () url = ' https://www.youtube.com/results?search_query= 'עם sr.Microphone () כמקור: הדפס (' חפש סרטון ') audio = r2.listen (source) נסה: get = r1.recognize_google (audio ) הדפס (קבל) wb.get (). open_new (url + get) למעט sr.UnknownValueError: הדפס ('לא יכול היה להבין') למעט sr.RequestError כמו e: print (נכשל בהשגת תוצאות '. פורמט (e) )

תקבל את הפלט כמו שהוא מוצג בתמונה. אם אתה אומר edureka, זה יבקש ממך לומר את השאילתה שתרצה לחפש בכתובת urureka שכתבנו במשתנה url. אם אתה אומר פיתון תקבל את דף האינטרנט הבא בדפדפן.

בבלוג זה דנו כיצד נוכל להשתמש בזיהוי דיבור בפייתון לתרגום דיבור לטקסט באמצעות חבילת זיהוי הדיבור. הפך להיות צורך השעה במושגים כמו זיהוי דיבור או דכדוך אובייקטים, עם המספקות אפשרויות בלתי נתפסות למערכות זיהוי דיבור בהן אנו יכולים לאמן ולבדוק נתוני דיבור עצומים לבניית מערכת. לרשתות עצביות עמוקות כדי לשלוט בכישוריכם ולהניע את הלמידה

יש לך שאילתות? הזכיר אותם בתגובות, אנו נחזור אליך.