96
ררררר ררררר ררר ררר ררר

זיהוי דיבור

Embed Size (px)

DESCRIPTION

זיהוי דיבור. רון משה הכט. מנגנון השמיעה. מבנה ההרצאה. משימות זיהוי דיבור שונות זיהוי מילים – בעיית למידה. משימות זיהוי דיבור. זיהוי מילים זיהוי דובר זיהוי שפה זיהוי מין מידע נוסף – מצב רוח. זיהוי שפה תלוי מבטא. זיהוי שפה עמיד למבטא. זיהוי דובר תלוי טקסט. זיהוי דובר לא תלוי טקסט. - PowerPoint PPT Presentation

Citation preview

Page 1: זיהוי דיבור

זיהוי דיבור

רון משה הכט

Page 2: זיהוי דיבור

מנגנון השמיעה

Page 3: זיהוי דיבור

מבנה ההרצאה

משימות זיהוי דיבור שונותזיהוי מילים – בעיית למידה

Page 4: זיהוי דיבור

משימות זיהוי דיבור

זיהוי מיליםזיהוי דוברזיהוי שפהזיהוי מיןמידע נוסף – מצב רוח

60שנות ה - זיהוי פונמות

70שנות ה - זיהוי מילים

80שנות ה - HMM

90שנות ה - LVCSR

זיהוי דוברתלוי טקסט

זיהוי דוברלא תלוי

טקסט

זיהוי שפהתלוי מבטא

זיהוי שפהעמיד למבטא

Page 5: זיהוי דיבור

זיהוי – בעיית למידה

שלב הלימוד – מודל ביסיאני :

איסוף דוגמאות מתויגות1.

חילוץ פרמטרים2.

הכללה – יצירת מודלים3.

גודל הרגל

מידת רעש

חולהבריא

Page 6: זיהוי דיבור

זיהוי – בעיית למידה

שלב המבחן – מודל ביסיאני :

קבלת דוגמא לא 1.מתויגת

חילוץ פרמטרים2.

השוואה למודלים3.

גודל הרגל

מידת רעש

ס"מ10גודל רגל dB 5מידת רעש

P( ill | Moshe) = 0.2P( healthy | Moshe) = 0.8

Moshe

Page 7: זיהוי דיבור

זיהוי דיבור

מערכת זיהוי בנויה מהשלבים הבאים:שלב הלימוד:

איסוף דוגמאות מתויגות1.

חילוץ פרמטרים2.

הכללה – יצירת מודלים3.שלב המבחן

קבלת דוגמא לא מתויגת1.

חילוץ פרמטרים2.

השוואה למודלים3.

x,y,z x,y,z x,y,z

מודל של המילה חתול

x,y,z P( cat | x,y,z) = 0.2P( dog | x,y,z) = 0.8

Page 8: זיהוי דיבור

הערה קטנה

1

1,,

,,

,,

,,

,,

,,,,

,,

,,

,,

,,

,,,,

ccatP

dogP

ccatzyxP

dogzyxP

catPcatzyxP

dogPdogzyxP

zyxP

catPcatzyxPzyxP

dogPdogzyxP

zyxcatP

zyxdogP

zyxP

dogPdogzyxPzyxdogP

Page 9: זיהוי דיבור

שלב חילוץ המאפיינים

x,y,z

Page 10: זיהוי דיבור

רקע פיזיקאלי ופיזיולוגי

.ניתוח הבעיה? מה זה גל? מה זה קול? איך נוצר קול? איך נוצר דיבור

ניסיון ללמוד ולחקות את מנגנון השמיעההאנושי.

Page 11: זיהוי דיבור

גלים

?איזה גלים אנחנו מכיריםגלי יםהתפשטות גלים על חבל

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

Page 12: זיהוי דיבור

גל מחזורי

קיימות הפרעות אשר קורות כל פרק זמןקבוע

דוגמא הפרעות אשר מתקדמות על חבל

מרחק

amplitudeאורך גל

Page 13: זיהוי דיבור

גל מחזורינביט על נקודה מסויימת על החבל

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

מרחק

amplitude

x0

time

amplitude

Page 14: זיהוי דיבור

גל מחזורי – במישור הזמןגדלים אופיניים לגל מחזורי

tפרק הזמן בין מחזורים – f(תדירות) כמות המחזורים בשניה –

time

amplitudet 1sec1tf

Page 15: זיהוי דיבור

ספקטרוגרמה

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

time

amplitude

T8T7T6T5T4T3T2T1

F4

F3

F2

F1

Page 16: זיהוי דיבור

תדירויות2גל מחזורי –

2תדירויות בו זמנית t

time

amplitude

t’ )2sin()sin()( 21 xbxbxs

Page 17: זיהוי דיבור

ספקטרוגרמה התדירויות בו זמנית2במקרה של

time

amplitude

T8T7T6T5T4T3T2T1

F4

F3

F2

F1

Page 18: זיהוי דיבור

מקרה יותר מורכב

?מה הם התדירויות בכל המקטע הנ"ל

1

0

)sin(n

ii ixbxs

time

amplitude

Page 19: זיהוי דיבור

פירוק פוריה

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

סינוסים וקוסינוסים.

1

0

1

0

2cos

2sin

n

ii

n

ii x

n

iax

n

ibxs

Page 20: זיהוי דיבור

פירוק פוריה - דוגמא

פאזה

time

amplitude

time

amplitude

time

amplitude

time

amplitude

.

.

.+

i

i

b

a

Page 21: זיהוי דיבור

פירוק פוריה - דוגמא

Page 22: זיהוי דיבור

גל חוזר(לדוגמא קיר) כאשר לגל שלנו קיים אילוץ

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

.תהליך כזה גורר איבוד אנרגיה רב בדרך כלל

מרחק

amplitude

Page 23: זיהוי דיבור

גל עומד (לדוגמא קיר) כאשר לגל שלנו קיים אילוץ

בתדירויות מיוחדות איבוד האנרגיה הוא הרבהיותר קטן

בתדירויות אילו המרחק של החבל מתחלקלמחזורים שלמים

מרחק

amplitude

Page 24: זיהוי דיבור

יצירת מודים בחבל בחבל באורךL יכולים להיווצר גלים באורכי הגל

הבאים:

2L

L

2/3 L ובאופן כללי המודים הם:

Li = 2L/i i=1,2,3,...

Page 25: זיהוי דיבור

תדירות עצמית (תהודה) - רזוננסתכונה בתגובה של גופים שונים לגלים מחזוריים

)גודל אופייני( כולל המודים היותר גבוהים.

חליל )גליל(חבל )מיתר(

נדנדה )מטוטלת(כוס זכוכית

תדרי תהודה: - כלי מיתר תדר בסיסי והרמוניות

Page 26: זיהוי דיבור

אקוסטיקה תנודות פיזיות של מולקולות האוויר.קול:

ע"י שינויי לחצים. :היווצרות קול

לחץ כפונקציה של זמן. :ביטוי פיזיקליv= *f מהירות הקול, אורך גל, מושגים בסיסיים:

Page 27: זיהוי דיבור

תדירות תהודה של גליל

בגליל תדירות התהודה מושפעת מאורךהגליל

בתוך הגליל יותר קל (אנרגטית) ליצור שינויגלים בתדירויות בלחץ (אין פיזור של הגל)

שונות נכנסים

הגלים מאבדים את האנרגיה

שלהם - דספרסיה

time

amplitude

Page 28: זיהוי דיבור

יצירת קול

– שלבים עיקריים:3הקול נוצר ב אויר יוצא מהריאות1שלב מספר :

Page 29: זיהוי דיבור

יצירת קול – שלבים עיקריים:3הקול נוצר ב

האויר עובר דרך מיתרי הקול2שלב מספר :

Page 30: זיהוי דיבור

יצירת קול – שלבים עיקריים:3הקול נוצר ב

האוויר עובר דרך חללי הדיבור – 3שלב מספר : vocal tract

בוקר טוב

Page 31: זיהוי דיבור

מודל פיסיקלי לחללי הדיבור ניתן לדמות את חללי

הדיבור לאוסף גלילים כלומר נקבל מספר

תדרי תהודה (פורמנטים)

שינוי המקום ההיגוימשנה את מספר

הגלילים וצורתם כך אנו שולטים במה שאנו

אומרים.

Page 32: זיהוי דיבור

התנועות

ניתן לראות חלוקה לאזורים?האם זה מפתיע

Page 33: זיהוי דיבור

התנועות

אופן היגוי התנועותגובה הלשוןמיקום הלשוןעיגול השפתיים

שורוקקיבוץ

מעוגלת

חולםקמץ קטןמעוגלת

שווא

חיריקפשוקה

צירהפשוקה

סגולפשוקה

פתח קמץפשוקה

oddמוזר מעוגלת

Page 34: זיהוי דיבור

העיצורים

בניגוד לתנועות קיימת עצירה של האוויר(לפעמים חלקית).

:קיימות שלוש דרכים לסווג עיצוריםדרך א – קוליות – ז,ס

Page 35: זיהוי דיבור

העיצורים

דרך ב - מקוםהעצירה – התקרבות

איברים , נייד 2של ונייח.

בסיס החיתוךהחותך

סדקי – א,ע,ה

לועי – ח,ע (גרוניות)

וילוני – ג,ח,כ (דגושה),כ,ק,ר

חכי י

חכי-מכתשי – ג',ד',ז',ש

מכתשי – ד,ז,ט,ל,נ,ס,צ,צ',ר,ת

שפתי שיני – ב,ו,פ

דו – שפתי – ב (דגושה),מ,פ (דגושה)

Page 36: זיהוי דיבור

העיצורים

דרך ג - אופן החיתוך – סותם או פוצץplosive – האוויר נעצר לגמרי –

ג, ד – חוכךfricativeהאויר עובר עם חיכוך – פ, ב – – אפיnasal סתימה מלאה במקום חיתוך ואויר –

יוצא דרך האף – מ,נ – צידיlateralהאוויר זורם מצדי הלשון - ל – – מחוכךaffricative מתחיל חוכך ומסתיים פוצץ –

- צ

Page 37: זיהוי דיבור

איך נזהה דיבור – יצור המאפיינים

נחלק את הסיגנלהדיבור למקטעים

קצרים לכל מקטע נחשב את

גדליו האופינים נבדוק לאיזה

קונפיגורציה הוא הכי דומה

Page 38: זיהוי דיבור

סיגנל הדיבור

אות ערעור מחזורי אשר עובר דרך פילטרים

iwiwchannel

iwtractvocal

iw eSeHeHeP _

Pitchאות ערעור מחזורי

מדויק. (הרבה הרמוניות)

Vocal tractפילטר אשר משתנה

בתכיפות

Channelפילטר אשר כמעט

ולא משתנה

Page 39: זיהוי דיבור

ייצוג אות הדיבור

– דרך נפוצה לייצג דיבור היא להביט על הlog power spectrumשל ה – של

– שלבים עיקריים3מדובר ב חישוב הספקטרוםהזנחת הפאזהביצוע - log

iweSlog

Page 40: זיהוי דיבור

איך נזהה דיבור – יצור המאפיינים

נחלק את הסיגנלהדיבור למקטעים

קצרים לכל מקטע נחשב את

גדליו האופינים נבדוק לאיזה

קונפיגורציה הוא הכי דומה

Page 41: זיהוי דיבור

matlabקוד

Melbankm.m

loadsinglefilemel.m

:הרצהLoadsinglefilemel(‘o1.wav’,19)

ביט לדגימה8 הרץ ו – 8000קבצים ב –

Imagesc(Loadsinglefilemel(‘o1.wav’,19))

Page 42: זיהוי דיבור

איך נזהה דיבור – קוונטיזציה

1 2

34

Page 43: זיהוי דיבור

איך נזהה דיבור – יצור המאפיינים

My ,...,14 322

nx

Page 44: זיהוי דיבור

– אימון מרכזיםmatlab קוד

:הרצהTrain_cent(Loadsinglefilemel(‘o1.wav’,19)’,32,4)

ביט לדגימה8 הרץ ו – 8000קבצים ב –

train_cent.m

Page 45: זיהוי דיבור

– חילוץ מרכזיםmatlab קוד

calc_cent.m :הרצה

Load centscalc_cent(W,loadsinglefilemel('o1.wav',19)')

Cents.mat ביט לדגימה8 הרץ ו – 8000קבצים ב –

12 19 13 15........

Page 46: זיהוי דיבור

VOXעוד נקודה קטנה -

צריך לזהות איפה מתחיל ונגמר הדיבורווקס אנרגיה

Page 47: זיהוי דיבור

matlab – VOX קוד

calc_energy.m

:הרצה y=wavread('o1.wav')[begloc, endloc,threshold] = simple_energy_vox(calc_energy(y, 128)) ביט לדגימה8 הרץ ו – 8000קבצים ב –

12 19 13 15........

simple_energy_vox.m

Page 48: זיהוי דיבור

סיכום שלב הוצאת המאפיינים

relevant_centroids = get_relevant_cent('o1.wav',5)

get_relevant_cent.m2422222220202220

2020202220202226222222222222222222222626222624262624242424242429292929292929292924292929292929292929292929292929242924242424242424242424292924292929292929292929

Page 49: זיהוי דיבור

שלב חישוב ההסתברות

x,y,z P(x,y,z | cat) = 0.1P(x,y,z | dog) = 0.2

Page 50: זיהוי דיבור

נתחיל במודל פשוט

לכל פונמה יש התפלגות אחרת שלהמרכזים

o i

Page 51: זיהוי דיבור

האם המודל מתאים למציאות?

לכל פונמה יש התפלגות אחרת שלהמרכזים

o i

Page 52: זיהוי דיבור

מודל

כלי לטיפול בסדרות זמניות

מתבסס על הסתברות

סיבוכיות לינארית

Mi

T

vvo

ooO

,...,

,...,

1

1

71451,..., PooPOP T

TO

Page 53: זיהוי דיבור

– כל פונמה / מצב יכול לפלוט אחד מM הסימבולים (מרכזים)

הסתברות פליטה

jtktj sqvopkb

Page 54: זיהוי דיבור

בכמה צורות אפשר להגיד אותו דבר

לדבר מהר / לדבר לאטלהאריך כל חלק בנפרדלא לסיים את המילה

D O G

DOGDDOOOOGDOGG

מודל מרקוביMarkov Model

Page 55: זיהוי דיבור

בכמה צורות אפשר להגיד אותו דבר

לכל פונמה יש התפלגות אחרת שלהמרכזים

D O G

Page 56: זיהוי דיבור

נפתח קצת אינטואיציה

2 3 2 3 3 4 1 2 4 12 2 3 3 4 1 2 43 2 3 2 2 2 2 4 1 42 3 4 1 2 4 1 4

דוגמאות של המילה כן

2 3 2 3 3 4 1 2 4 12 2 3 3 4 1 2 43 2 3 2 2 2 2 4 1 42 3 4 1 2 4 1 4

1 2 3 4 1 2 3 4

Page 57: זיהוי דיבור

נפתח קצת אינטואיציה

2 3 2 3 3 4 1 2 4 1

1 2 3 4 1 2 3 4

blackPblackPblackPblackPblackPredPredPredPredPredP 1421433232

Page 58: זיהוי דיבור

Left 2 right HMMמילה בנויה מקיבוץ של פונמותכל פונמה היא סטציונריתלכל פונמה קיימים אורכים שונים

P 5,2,12,11,8,3,4,1D O G

Page 59: זיהוי דיבור

HMM

כלי לטיפול בסדרות זמניות

מתבסס על הסתברות

סיבוכיות לינארית

Mi

T

vvo

ooO

,...,

,...,

1

1

71451,..., PooPOP T

TO

Page 60: זיהוי דיבור

קיימיםNמצבים

בכל רגע נתוןtהמערכת היא במצב נתון

מצבים

Nss ,...,1

NT ssqq ,...,,..., 11

Page 61: זיהוי דיבור

הסתברות המעבר תלויה רק במצב הנוכחישלי

הסתברויות מעבר

i

itjt

sqpi

sqsqpjia

1

1,

Page 62: זיהוי דיבור

– כל מצב יכול לפלוט אחד מM הסימבולים

הסתברות פליטה

itktj sqvopkb

Page 63: זיהוי דיבור

Mמספר הסימבולים האפשריים – Nמספר המצבים האפשריים – Aמטריצת הסתברויות המעבר – Bמטריצת הסתברויות הפליטה – Πוקטור הסתברויות הכניסה –

HMMמודל ה -

,,BA

Page 64: זיהוי דיבור

שאלה פשוטה

מה הניראות של סט פליטות מסוים וסטמעברים מסוים.

?, QOP

124833241

4321

1

1

2113

,...,

,...,

oooo

qqqq

ooO

qqQ

T

T

Page 65: זיהוי דיבור

שאלה פשוטה

:דרך נוספת ופשוטה לכתוב את הדברים היא

122813143

412434

38323

23212

1411

4321124833241

1,21,13,13

,2,12

,1,11

,1,31

,33

2113,

,

bababab

qoPqqP

qoPqqP

qoPqqP

qoPqP

qqqqooooP

QOP

T

ttt

T

ttt obqqaqQOPQPQOP

1

1

111 ,,,

Page 66: זיהוי דיבור

שלוש שאלות נוספות

שאלת הנראות

מציאת המסלול האופטימאלישאלת האימון

?OP

OPmaxarg

QO,

Page 67: זיהוי דיבור

שאלת הניראות

נסכום על כל המסלולים האפשריים

?OP

QOPOPQ

,

Time

stat

e

Page 68: זיהוי דיבור

שאלת הניראות

קצת בעייתי

T

ttt

T

ttt

Q

QQ

obqqaq

QPQOPQOPOP

1

1

111 ,

,,

TTNO

Page 69: זיהוי דיבור

סיבוכיות לינארית

מוטיבציה – שימוש פעם אחת בלבד בחלקיםזהים בין מסלולים

הגדרהTime

stat

e

ittt sqooPi ,,...,1

Page 70: זיהוי דיבור

Forward Procedure

תהליך איטרטיביאיתחול

איטרציה

סיום

ittt sqooPi ,,...,1

1111 , obisqoPi ii

11

1 ,

tj

N

itt objiaij

N

iT iOp

1

2TNO 21 11

31 22 12

32 23 13

33 24 14

34

Page 71: זיהוי דיבור

Backward Procedure itTtt sqooPi ,,...,1

1iT

tj

N

jtt objiaji ,

11

N

ii obiiOp

111

2TNO 21 11

31 22 12

32 23 13

33 24 14

34

תהליך איטרטיביאיתחול

איטרציה

סיום

Page 72: זיהוי דיבור

מציאת מסלול אופטימאלי

הגדרת המסלול האופטימאלי לא מוגדרתטוב

דרך אחת להגדיר פתרון היא למצוא את סטהמצבים הכי סביר

itT

itTtitttt

sqooP

sqooPsqooPii

,,...,

,,...,,,...,

1

11

QO,

iq

oosqPi

ti

t

Ttitt

maxarg

,,...,1

Page 73: זיהוי דיבור

מציאת מסלול אופטימאלי

סט מצבים זה יכול להיות לא חוקי

iq

jj

ii

sqooP

sqooP

ooP

sqooPoosqPi

ti

t

N

jtt

ttN

jjtt

itt

t

ittTtitt

maxarg

,,...,

,,...,

,...,

,,...,,,...,

111

1

1

11

Page 74: זיהוי דיבור

המסלול האופטימאלי

מציאת מסלול ולא סט מצבים

אלגוריתם ויטרבי – יעיל מבחינה חישובית

TTQ

TTQ

ooqqP

ooqqP

,...,,,...,maxarg

,,...,,...,maxarg

11

11

Page 75: זיהוי דיבור

אלגוריתם ויטרבי

דוגמא

itttQ

t sqqqooPi ,,...,,,...,max 111

2TNO

Page 76: זיהוי דיבור

אלגוריתם ויטרבי ittt

Qt sqqqooPi ,,...,,,...,max 111

0

,

1

1111

i

obisqoPi ii

jiaij

objiaij

ti

t

tjti

t

,maxarg

,max

1

11

pathbesttt

pathbestt

Ti

pathbestT

Ti

pathbest

qq

iq

ip

1

maxarg

max

תהליך איטרטיביאיתחול

איטרציה

סיום

Page 77: זיהוי דיבור

אלגוריתם ויטרבי ittt

Qt sqqqooPi ,,...,,,...,max 111

0

,

1

1111

i

obisqoPi ii

jiaij

objiaij

ti

t

tjti

t

,maxarg

,max

1

11

pathbesttt

pathbestt

Ti

pathbestT

Ti

pathbest

qq

iq

ip

1

maxarg

max

תהליך איטרטיביאיתחול

איטרציה

סיום

Page 78: זיהוי דיבור

שאלת האימון

בהינתן סט של דוגמאות אימון מהוא המודלאשר מתאר אותן בצורה הטובה ביותר

ML

נניח דוגמאות אימון בלתי תלויות

EOO ,...,1

EOOp

OpOp

,...,logmaxarg

logmaxargmaxarg

1

E

i

iE OpOOp1

1 logmaxarg,...,logmaxarg

Page 79: זיהוי דיבור

שאלת האימון

חישוב זה הוא קצת קשה

EOO ,...,1

E

i Q

T

ttt

T

ttt

E

i Q

iE

i

i

T

ttt

T

ttt

obqqaq

OQpOp

obqqaqQOPQPQOP

1 1

1

111

11

1

1

111

,logmaxarg

,logmaxarglogmaxarg

,,,

Page 80: זיהוי דיבור

שאלת האימון

פתרון אחד הוא לבחור במסלול הכי סביר לצורךאימון

EOO ,...,1

E

i

i

ibj

jiaj

Oqpqts

T

t

itq

T

ttt

E

i Q

T

ttq

T

ttt

M

i

M

ij

N

i

q

i

t

t

obqqaq

obqqaqOp

1

1

1

1,

,maxarg..

1

1

111

1 1

1

111

1

1

1

,logmaxarg

,logmaxargmaxarg

Page 81: זיהוי דיבור

שאלת האימון'כופלי לגראנג

נתייחס להסתברות הכניסה כהסתברות מעבר ממצב 0

EOO ,...,1

N

j

M

ijbj

N

j

N

iaj

T

t

E

iOqpq

ts

itqtt

N

i

N

j

M

ijbj

N

j

N

iaj

E

i

Oqpqts

T

t

itq

T

ttt

ibjiaobqqa

iibjia

obqqaqLOp

q

i

t

q

i

t

1 10 11 1,maxarg

..1

11 11 1

1

,maxarg..

1

1

111

11,,logmaxarg

111,

,logmaxargmaxarg

Page 82: זיהוי דיבור

שאלת האימון

j ל – iמספר הפעמים אשר יש מעבר מ –

פלט סימבול iמספר הפעמים אשר מצב k

EOO ,...,1

ik

ij

m

n

M

iji

jkj

N

kik

ij

bjj

jkj

ajij

M

ij

bj

N

iaj

N

j

M

ijbj

N

j

N

iaj

T

t

E

iOqpq

ts

itqtt

m

mkb

n

njia

kbm

ib

Ljia

njia

L

ibL

jiaL

ibjiaobqqaL

q

i

t

1

11

1

1 10 11 1,maxarg

..1

,

01

0

0,

10

,

10

1,0

11,,logmaxarg

Page 83: זיהוי דיבור

אימוןמבחן

חתול

כלב

Matlab

אימון ויטרבי - שמע

Page 84: זיהוי דיבור

Matlab

function a=runme_hmm_viterbi(b)num_coeff = 19;numcent = 32;numiter_vq = 3;num_states = 6;numiter_hmm = 3;train_cent_file_names = strvcat('dg1.wav','dg2.wav','dg3.wav');dog_file_names = strvcat('dog2.wav','dog3.wav','dog4.wav','dog5.wav');dog_sec_file_names = strvcat('dog_sec1.wav','dog_sec2.wav','dog_sec3.wav','dog_sec4.wav','dog_sec5.wav');cat_sec_file_names = strvcat('cat_sec1.wav','cat_sec2.wav','cat_sec3.wav','cat_sec4.wav','cat_sec5.wav');cat_file_names = strvcat('cat1.wav','cat2.wav','cat3.wav','cat4.wav','cat5.wav');%training the vq%-------------------------------feats = collect_data(train_cent_file_names, num_coeff);cents = train_cent(feats',numcent,numiter_vq);%training the hmm model (viterbi train)%---------------------------------------------------------------------[dog_a dog_b]=train_hmm_viterbi_model(dog_file_names,num_states,cents,numiter_hmm)[cat_a cat_b]=train_hmm_viterbi_model(cat_file_names,num_states,cents,numiter_hmm)show_hmm_model(dog_a, dog_b, 55);show_hmm_model(cat_a, cat_b, 66);dog_log_score = test_viterbi(dog_a, dog_b, strvcat(dog_file_names, cat_file_names), cents)cat_log_score = test_viterbi(cat_a, cat_b, strvcat(dog_file_names, cat_file_names), cents)figure(6)bar(cat_log_score-dog_log_score)dog_sec_log_score = test_viterbi(dog_a, dog_b, strvcat(dog_sec_file_names, cat_sec_file_names), cents)cat_sec_log_score = test_viterbi(cat_a, cat_b, strvcat(dog_sec_file_names, cat_sec_file_names), cents)figure(7)bar(cat_sec_log_score-dog_sec_log_score)

Page 85: זיהוי דיבור

Matlab

calc_cent.m

calc_energy.m

collect_data.m

get_cent_prob.m

get_relevant_cent.m

get_viterbi_path.m

loadsinglefilemel.m

Melbankm.m

record_examples.m

runme_hmm_viterbi_final.m

show_hmm_model.m

simple_energy_vox.m

test_simple_model.m

test_viterbi.m

train_cent.m

train_hmm_viterbi_model.m

train_single_iter.m

תוצאת אימון

מספר דוגמא

תאו

יר נ

שיפר

ה

מספר דוגמא

תוצאת מבחן

תאו

יר נ

שיפר

ה

Page 86: זיהוי דיבור

של המילה חתולHMMמודל

Page 87: זיהוי דיבור

שאלת האימון

בהינתן סט של דוגמאות אימון מהוא המודלאשר מתאר אותן בצורה הטובה ביותר

ML

EOO ,...,1

Opmaxarg

OpOp

QOQpOOQpOQpOOQpQQQ

,,,,,,

Page 88: זיהוי דיבור

שאלת האימוןהוכחה:

הגדרה:

EOO ,...,1

OLOpOQpOpQ

log,log

,,

,,log,,log,

,,log,log,

,,log,loglog

,,

,

,

,

,,

,,,

HQ

OQOpOQpOQpOQp

OQOpOQpOQpOL

OQOpOQpOp

OQOp

OQp

OQp

OQp

pOQp

OQpOpOp

QQ

Q

Page 89: זיהוי דיבור

שאלת האימון

למה: הוא גדול מאפס במובן החלש

EOO ,...,1

,,,,

loglog

HHQQ

OLOLOpOp

,, HH

0,,

,,

,,1,

,,

,,log,

,,log,,,log,

,,

QQ

QQ

QQ

OQpOQp

OQOp

OQOpOQp

OQOp

OQOpOQp

OQOpOQpOQOpOQp

HH

Page 90: זיהוי דיבור

שאלת האימון

המטרה שלנו היא למקסם את

היות וידוע ש -

EOO ,...,1

,, QQ

,,,maxarg

0,,

0,,

QQQ

QQ

QQ

Page 91: זיהוי דיבור

EOOשאלת האימון ,...,1

Q

T

ttt

Q

T

ttt

T

ttt

T

ttt

T

ttt

T

ttt

T

ttt

T

ttt

ba

QQ

Q

obOQpqqaOQpQ

qqaobOQp

obqqaqobqqaqOQp

bQaQ

QOpOQpQpOQpQ

QOpQpOQp

OQpOQpQ

111

11

1

1111

1

1

111

log,,log,,

,loglog,log

,,,

,,

,log,log,,

,,

,log,,

Page 92: זיהוי דיבור

EOOשאלת האימון ,...,1

N

j

M

ijbj

N

j

N

iaj

Q

T

ttt

Q

T

ttt

M

ij

N

i

Q

T

ttt

Q

T

ttt

Q

T

ttt

Q

T

ttt

ibjia

obOQpqqaOQpL

ibj

jiaj

ts

obOQpqqaOQp

obOQpqqaOQpQ

1 10 1

111

1

1

111

111

11,

log,,log,

1

1,

..

log,,log,

log,,log,,

Page 93: זיהוי דיבור

EOOשאלת האימון ,...,1

bjj

tT

tt

bjjQ

T

kojq

tj

aj

T

ttt

ajQ

T

jqiq

t

M

ij

bj

N

iaj

kb

koOjqp

kbOQp

ib

L

jiaOjqiqp

jiaOQp

jia

L

ibL

jiaL

t

t

t

t

1

1

11

1

1

1

,

01

,0

,

1,,

0,

1,0

,

10

1,0

1

ib j

Page 94: זיהוי דיבור

EOOשאלת האימון ,...,1

T

tt

t

T

tt

T

tt

t

T

tt

T

tt

t

T

tt

j

j

koj

jqOp

kojqOp

Ojqp

koOjqpkb

1

1

1

1

1

1

,

,

,

,

ib j

Page 95: זיהוי דיבור

EOOשאלת האימון ,...,1

N

k

T

tttkt

T

tttjt

N

k

T

ttt

T

ttt

N

k

T

ttt

T

ttt

kobkiai

jobjiai

kqiqOp

jqiqOp

Okqiqp

Ojqiqpjia

1 11

11

1 11

11

1 11

11

,

,

,,

,,

,,

,,,

ib j

Page 96: זיהוי דיבור

מקורות

Fundamentals of Speech Recognition (Rabiner, Juang)

Spoken Language Processing: A Guide to Theory, Algorithm and System Development (Acero, Huang, Hon)