KR20120113717A - 검색 장치, 검색 방법, 및 프로그램 - Google Patents

검색 장치, 검색 방법, 및 프로그램 Download PDF

Info

Publication number
KR20120113717A
KR20120113717A KR1020127013649A KR20127013649A KR20120113717A KR 20120113717 A KR20120113717 A KR 20120113717A KR 1020127013649 A KR1020127013649 A KR 1020127013649A KR 20127013649 A KR20127013649 A KR 20127013649A KR 20120113717 A KR20120113717 A KR 20120113717A
Authority
KR
South Korea
Prior art keywords
search
search result
word string
result
voice
Prior art date
Application number
KR1020127013649A
Other languages
English (en)
Inventor
히또시 혼다
요시노리 마에다
사또시 아사까와
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20120113717A publication Critical patent/KR20120113717A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Abstract

본 발명은 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있는 검색 장치, 검색 방법, 및 프로그램에 관한 것이다. 음성 인식부(11)는, 입력 음성을 음성 인식한다. 매칭부(16)는, 입력 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열인 복수의 검색 결과 대상 단어열 각각에 대해서, 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취한다. 출력부(17)는, 검색 결과 대상 발음 심볼 열과 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 복수의 검색 결과 대상 단어열에서, 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력한다. 본 발명은 예를 들어, 음성 검색을 행하는 경우에 적용할 수 있다.

Description

검색 장치, 검색 방법, 및 프로그램{SEARCH DEVICE, SEARCH METHOD, AND PROGRAM}
본 발명은 검색 장치, 검색 방법, 및 프로그램에 관한 것으로, 특히, 예를 들어 입력 음성에 대응하는 단어열의 검색을, 로버스트(robust)로 행할 수 있도록 하는 검색 장치, 검색 방법, 및 프로그램에 관한 것이다.
유저로부터 입력되는 음성인 입력 음성을 사용하여, 그 음성에 대응하는 텍스트 등의 단어열을 검색하는 음성 검색의 방법으로서는, 예를 들어 음성 인식 장치만을 사용하는 방법이 있다(예를 들어, 특허문헌 1을 참조).
음성 인식 장치만을 사용하는 음성 검색에서는, 음성 인식 장치에 있어서, 미리 사전에 등록된 단어(어휘)의 배열을, 음성 인식 결과의 대상으로 하여, 입력 음성의 음성 인식이 행해지고, 그 음성 인식 결과가, 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열로서 출력된다.
따라서, 음성 인식 장치만을 사용하는 음성 검색에서는, 입력 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열(이하, 검색 결과 대상 단어열이라고도 함)은 음성 인식 결과의 대상인, 사전에 등록된 단어의 배열인 단어열(본 명세서에서는, 1개의 단어를 포함함)뿐이기 때문에, 유저의 발음은, 음성 인식에 사용되는 사전에 등록된 단어열로 제한된다.
따라서, 최근에는, 보이스 서치(Voice Search)라고 불리는 음성 검색 방법이 제안되고 있다.
보이스 서치에서는, N-gram 등의 언어 모델을 사용하여, 연속 음성 인식이 행해지고, 그 음성 인식 결과와, 음성 인식에 사용되는 사전과는 별도로 준비된 DB(Database)에 등록된 텍스트와의 매칭(DB에 등록된 텍스트에서의, 음성 인식 결과에 대응하는 텍스트의 텍스트 검색)이 행해진다.
그리고, 그 매칭 결과에 기초하여, 음성 인식 결과에 매치하는 최상위의, 또는 상위 N위 이내의 텍스트가, 검색 결과 단어열로서 출력된다.
보이스 서치에서는, 음성 인식에 사용되는 사전과는 별도로 준비된 DB에 등록된 텍스트가, 검색 결과 대상 단어열이 되기 때문에, 그 DB에 다수의 텍스트를 등록해 둠으로써, 그 다수의 텍스트를, 검색 결과 대상 단어열로서, 음성 검색을 행할 수 있다.
즉, 보이스 서치에 의하면, 유저가, 음성 인식에 사용되는 사전에 등록된 단어 이외의 단어를 포함하는 발음을 행해도, DB에 등록된 검색 결과 대상 단어열로서의 텍스트의 범위 내에서, 어느 정도 정밀한 음성 검색을 행할 수 있다.
일본 특허 공개 제2001-242884호 공보
그런데, 종래의 보이스 서치에서는, 음성 인식 결과와, 검색 결과 대상 단어열로서의 텍스트와의 매칭은, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기를 표현하는 심볼인 표기 심볼을 사용하여 단어 단위나 표기 심볼 단위로 행해진다.
따라서, 음성 인식 결과의 표기 심볼에 오류가 있으면, 매칭에 있어서, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이, 음성 인식 결과에 매치하고, 그 결과, 그러한 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력되는 경우가 있다.
즉, 유저가, 입력 음성으로서, 예를 들어 일본어로, 「としのせかい」(토시노세카이)를 발음하고, 그 음성 인식 결과의 표기 심볼 열이, 예를 들어 「都市の世界」(도시의 세계)이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「都市の世界」를, 「都市/の/世界/」(슬래시(/)는 구획을 표현함)와 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「都市の世界」를, 「都/市/の/世/界/」와 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
한편, 입력 음성 「としのせかい」(토시노세카이)의 음성 인식 결과의 표기 심볼 열이, 예를 들어 「年の瀨かい」(연말인가)이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「年の瀨かい」를, 「年/の/瀨/かい/」와 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「年の瀨かい」를, 「年/の/瀨/か/い」와 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
따라서, 입력 음성 「としのせかい」(토시노세카이)의 음성 인식 결과의 표기 심볼 열이, 「都市の世界」(도시의 세계)일 경우와, 「年の瀨かい」(연말인가)일 경우에서는, 음성 인식 결과에 매치하는 검색 결과 대상 단어열은 크게 상이하고, 그 결과, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되는 한편, 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않을 경우가 있다.
이상과 같이, 표기 심볼을 사용한 매칭은, 음성 인식 결과와의 친화성이 높지 않고, 입력 음성에 대응하는 단어열이 검색 결과 단어열로서 출력되지 않을 경우가 있다.
또한, 유저가 입력 음성으로서, 예를 들어 영어로, "tolkien"(로드·오브·더 링의 저자(the author of "the Lord of the Rings"))으로 발음하고, 그 음성 인식 결과의 표기 심볼 열이, 예를 들어 1단어인 "tolkien"이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열인 1단어 "tolkien"을 그대로 사용하여 매칭이 행해지고, 표기 심볼(alphabetic character) 단위의 매칭에서는, 음성 인식 결과의 표시 심볼 열 "tolkien"을, t/o/l/k/i/e/n과 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
한편, 입력 음성 "tolkien"의 음성 인식 결과의 표기 심볼 열이, 예를 들어 "toll keene"이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 "toll keene"을, toll/keene과 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위(alphabetic character) 단위의 매칭에서는, t/o/l/l/k/e/e/n/e과 같이, 1개씩의 표기 심볼인 알파벳 단위로 구획하여 매칭이 행해진다.
따라서, 입력 음성 "tolkien"의 음성 인식 결과의 표기 심볼 열이, "tolkien"일 경우와, "toll keene"일 경우에서는, 음성 인식 결과에 매치하는 검색 결과 대상 단어열은 크게 상이하고, 그 결과, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되는 한편, 입력 음성에 대응하는 단어열이 검색 결과 단어열로서 출력되지 않을 경우가 있다.
본 발명은 이러한 상황을 감안하여 이루어진 것이며, 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행하고, 입력 음성에 대응하는 단어열을, 검색 결과 단어열로서 얻을 수 있도록 하는 것이다.
본 발명의 일 양태의 검색 장치, 또는 프로그램은, 입력 음성을 음성 인식하는 음성 인식부와, 상기 입력 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열인 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취하는 매칭부와, 상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열에서의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력하는 출력부를 구비하는 검색 장치, 또는 검색 장치로서, 컴퓨터를 기능시키기 위한 프로그램이다.
본 발명의 일 양태의 검색 방법은, 입력 음성에 대응하는 단어열을 검색하는 검색 장치가, 상기 입력 음성을 음성 인식하고, 상기 입력 음성에 대응하는 단어열을 검색하는 대상의 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취하고, 상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열에서의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력하는 스텝을 포함하는 검색 방법이다.
이상과 같은 일 양태에 있어서는, 입력 음성이 음성 인식되고, 상기 입력 음성에 대응하는 단어열을 검색하는 대상의 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼(phonetic symbol)의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭이 취해진다. 그리고, 상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열에서의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열이 출력된다.
또한, 검색 장치는, 독립한 장치이어도 되고, 1개의 장치를 구성하고 있는 내부 블록이어도 된다.
또한, 프로그램은, 전송 매체를 개재하여 전송함으로써, 또는 기록 매체에 기록하고, 제공할 수 있다.
본 발명의 일 양태에 의하면, 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있다.
도 1은 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제1 구성예를 도시하는 블록도이다.
도 2는 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제2 구성예를 도시하는 블록도이다.
도 3은 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제3 구성예를 도시하는 블록도이다.
도 4는 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제4 구성예를 도시하는 블록도이다.
도 5는 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에 있어서, 녹화 프로그램을 재생하는 처리를 설명하는 도면이다.
도 6은 유저가, N개의 재생 후보 프로그램 중에서 원하는 프로그램을 선택하는 방법을 설명하는 도면이다.
도 7은 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더의 다른 처리를 설명하는 도면이다.
도 8은 음성 검색 기능을 구비한 정보 처리 시스템으로서의 각종 기기가 행하는 처리를 설명하는 도면이다.
도 9는 음성 검색 장치를 적용한 정보 처리 시스템으로서의 레코더의 구성예를 도시하는 블록도이다.
도 10은 음성 검색 장치를 적용한 정보 처리 시스템으로서의 레코더의 다른 구성예를 도시하는 블록도이다.
도 11은 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우의 처리를 도시하는 도면이다.
도 12는 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우의 처리를 도시하는 도면이다.
도 13은 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우와, 표기 심볼의 1 이상의 단위로 행하는 경우를 설명하는 도면이다.
도 14는 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우와, 표기 심볼의 1 이상의 단위로 행하는 경우를 설명하는 도면이다.
도 15는 표기 심볼을 사용한 매칭에서, 표기가 다른 음성 인식 결과에 대하여 다른 매칭 결과가 얻어지는 것이, 음성 검색의 성능에 유리하지 않음을 설명하는 도면이다.
도 16은 표기 심볼을 사용한 매칭에서, 표기가 다른 음성 인식 결과에 대하여 다른 매칭 결과가 얻어지는 것이, 음성 검색의 성능에 유리하지 않음을 설명하는 도면이다.
도 17은 매칭의 단위로서, 음절 2 연쇄를 채용하는 경우의, 발음 심볼 변환부(52)의 처리를 설명하는 도면이다.
도 18은 매칭의 단위로서, 음절 2 연쇄를 채용하는 경우의, 발음 심볼 변환부(55)의 처리를 설명하는 도면이다.
도 19는 매칭의 단위로서, 음소 2 연쇄를 채용하는 경우의, 발음 심볼 변환부(52 및 55)의 처리를 설명하는 도면이다.
도 20은 매칭부(56)가, 음절 2 연쇄 단위로 행하는 매칭을 설명하는 도면이다.
도 21은 매칭부(56)가, 음소 2 연쇄 단위로 행하는 매칭을 설명하는 도면이다.
도 22는 단어 단위와의 매칭, 음절 단위와의 매칭, 및 음절 2 연쇄 단위와의 매칭의 결과를 도시하는 도면이다.
도 23은 단어 단위와의 매칭, 음소 단위와의 매칭, 및 음소 2 연쇄 단위와의 매칭의 결과를 도시하는 도면이다.
도 24는 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와, 대용 크기 S(i)과의 관계를 도시하는 도면이다.
도 25는 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 예를 나타내는 도면이다.
도 26은 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 예를 나타내는 도면이다.
도 27은 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 예를 나타내는 도면이다.
도 28은 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 예를 나타내는 도면이다.
도 29는 음성 인식부(51)의 구성예를 도시하는 블록도이다.
도 30은 검색 결과 대상 기억부(53)에 기억되는 검색 결과 대상 단어열로서의 프로그램의 메타데이터의 예를 나타내는 도면이다.
도 31은 언어 모델 생성부(85)에서의 언어 모델의 생성 처리를 설명하는 도면이다.
도 32는 언어 모델 생성부(85)에서의 필드마다의 언어 모델의 생성 처리를 설명하는 도면이다.
도 33은 각 필드의 언어 모델을 사용하여 음성 인식을 행하고, 필드마다의 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행하는 경우의, 음성 검색 장치(50)의 처리를 설명하는 도면이다.
도 34는 출력부(57)의 종합 순위를 구하는 부분의 구성예를 도시하는 블록도이다.
도 35는 종합 스코어 계산부(91)의 구성예를 도시하는 블록도이다.
도 36은 각 필드의 언어 모델을 사용하여 음성 인식을 행하고, 모든 필드에 걸치는 종합적인 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행하는 경우의, 음성 검색 장치(50)의 처리를 설명하는 도면이다.
도 37은 각 필드의 언어 모델을 사용하여 음성 인식을 행하고, 모든 필드에 걸치는 종합적인 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행하는 경우의, 음성 검색 장치(50)의 처리를 설명하는 도면이다.
도 38은 인식부(81)가, 종합적인 음성 인식 결과를 구할 경우의, 출력부(57)의 종합 순위를 구하는 부분의 구성예를 도시하는 블록도이다.
도 39는 출력부(57)가 출력하는 검색 결과 단어열의 표시 화면의 예를 나타내는 도면이다.
도 40은 특정의 구문을 포함하는 입력 음성에 의한 음성 검색의 예를 나타내는 도면이다.
도 41은 특정의 구문을 포함하는 입력 음성에 의한 음성 검색의 예를 나타내는 도면이다.
도 42는 특정의 구문을 포함하는 입력 음성에 의한 음성 검색의 예를 나타내는 도면이다.
도 43은 특정의 구문을 포함하는 입력 음성에 의한 음성 검색의 예를 나타내는 도면이다.
도 44는 검색 결과 대상 벡터와, 벡터 대용 정보를 도시하는 도면이다.
도 45는 검색 결과 대상 벡터 대신에, 벡터 대용 정보를 사용하는 경우의, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도의 계산을 설명하는 도면이다.
도 46은 검색 결과 대상 단어열의 벡터 대용 정보에서, 역순 인덱스를 작성하는 방법을 설명하는 도면이다.
도 47은 역순 인덱스를 이용하여, 내적 VUTR·VTITLE(i)을 계산하는 방법을 설명하는 도면이다.
도 48은 음성 검색 장치(50)의 처리를 설명하는 흐름도이다.
도 49는 본 발명을 적용한 컴퓨터의 일 실시 형태의 구성예를 도시하는 블록도이다.
이하, 본 발명의 실시 형태에 대하여 설명하며, 그 전에 보이스 서치에 의한 음성 검색의 개요에 대해서, 간단하게 설명한다.
[보이스 서치의 개요]
보이스 서치에서는, 음성 인식 결과와, 검색 결과 대상 단어열로서의 텍스트와의 매칭은, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기를 표현하는 심볼인 표기 심볼을 사용하여 단어 단위나 표기 심볼 단위로 행해진다.
따라서, 음성 인식 결과의 표기 심볼에 오류가 있으면, 매칭에 있어서, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이, 음성 인식 결과에 매치하고, 그 결과, 그러한 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력된다.
즉, 유저가, 입력 음성으로서, 예를 들어 일본어로, 「としのせかい(토시노세카이)」를 발음하고, 그 음성 인식 결과의 표기 심볼 열이, 예를 들어 「都市の世界」(도시의 세계)이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「都市の世界」를, 「都市/の/世界/」(슬래시(/)는 구획을 표현함)와 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「都市の世界」를, 「都/市/の/世/界/」와 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
한편, 입력 음성 「としのせかい(토시노세카이)」의 음성 인식 결과의 표기 심볼 열이, 예를 들어 「年の瀨かい」(연말인가)이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「年の瀨かい」를, 「/年/の/瀨/かい/」와 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 「年の瀨かい」를, 「年/の/瀨/か/い」와 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
따라서, 입력 음성 「としのせかい(토시노세카이)」의 음성 인식 결과의 표기 심볼 열이, 「都市の世界」(도시의 세계)일 경우와, 「年の瀨かい」(연말인가)일 경우에서는, 음성 인식 결과에 매치하는 검색 결과 대상 단어열은 크게 상이하고, 그 결과, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되는 한편, 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않을 경우가 있다.
또한, 유저가 입력 음성으로서, 예를 들어 영어로, "tolkien" 으로 발음하고, 그 음성 인식 결과의 표기 심볼 열이, 예를 들어 1단어의 "tolkien"이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열인 1단어 "tolkien"을 그대로 사용하여 매칭이 행해지고, 표기 심볼 단위의 매칭에서는, 음성 인식 결과의 표시 심볼 열 "tolkien"을, t/o/l/k/i/e/n과 같이, 1개씩의 표기 심볼로 구획하여 매칭이 행해진다.
한편, 입력 음성 "tolkien"의 음성 인식 결과의 표기 심볼 열이, 예를 들어 "toll keene"이었을 경우, 단어 단위의 매칭에서는, 음성 인식 결과의 표기 심볼 열 "toll keene"을, toll/keene과 같이, 1개씩의 단어로 구획하여 매칭이 행해지고, 표기 심볼 단위 단위의 매칭에서는, t/o/l/l/k/e/e/n/e과 같이, 1개씩의 표기 심볼인 알파벳 단위로 구획하여 매칭이 행해진다.
따라서, 입력 음성 "tolkien"의 음성 인식 결과의 표기 심볼 열이, "tolkien"일 경우와, "toll keene"일 경우에서는, 음성 인식 결과에 매치하는 검색 결과 대상 단어열은 크게 상이하고, 그 결과, 입력 음성에 대응하는 단어열과는 완전히 다른 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되는 한편, 입력 음성에 대응하는 단어열이 검색 결과 단어열로서 출력되지 않을 경우가 있다.
이상과 같이, 표기 심볼을 사용한 매칭은, 음성 인식 결과와의 친화성이 높지 않고, 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않을 경우가 있다.
따라서, 본 실시 형태에서는, 음성 인식 결과와, 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 발음을 표현하는 심볼인 발음 심볼을 사용하여 행함으로써, 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있도록 하고, 이에 의해 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않는 것을 방지한다.
또한, 보이스 서치에서는, 음성 인식 결과와, 검색 결과 대상 단어열과의 매칭에 있어서, 음성 인식 결과와, 검색 결과 대상 단어열이 유사한 정도를 표현하는 유사도가 구해진다.
유사도로서는, 예를 들어 벡터공간법의 코사인 거리(cosine distance) 등이 사용된다.
여기서, 벡터공간에 있어서, 음성 인식 결과를 표현하는 벡터를 X로 표현하는 동시에, 검색 결과 대상 단어열을 표현하는 벡터를 Y로 표현하면, 음성 인식 결과와, 검색 결과 대상 단어열과의 유사도로서의 코사인 거리는, 벡터 X와 Y와의 내적을, 벡터 X의 크기(norm)|X|와, 벡터 Y의 크기|Y|와의 승산값으로 제산함으로써 구할 수 있다.
이상과 같이, 코사인 거리는, 내적을 음성 인식 결과를 표현하는 벡터 X의 크기|X|와 검색 결과 대상 단어열을 표현하는 벡터 Y의 크기|Y|와의 승산값으로 제산하여 구해지기 때문에, 코사인 거리에는, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이가 영향을 미친다.
이로 인해, 유사도로서 코사인 거리를 채용하면, 예를 들어 음성 인식 결과에 포함되는 것과 동일한 단어열을 포함하는데, 길이가 음성 인식 결과보다 긴 검색 결과 대상 단어열과, 음성 인식 결과보다 짧은 검색 결과 대상 단어열에서는, 음성 인식 결과보다 짧은 검색 결과 대상 단어열과의 유사도가 높아지고(유사하여), 음성 인식 결과보다 긴 검색 결과 대상 단어열과의 유사도가 낮아지는(유사하지 않은) 경향이 강하다.
따라서, 매칭의 결과 얻어지는 유사도가 높은 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력할 경우에, 음성 인식 결과에 포함되는 것과 동일한 단어열을 포함하는데, 길이가 음성 인식 결과보다 긴 검색 결과 대상 단어열의 유사도가 낮아져서, 그러한 긴 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력되지 않는 경우가 많아지고, 입력 음성에 대응하는 단어열의 검색의 정밀도가 열화된다.
따라서, 본 실시 형태에서는, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향을 경감하고, 코사인 거리를 보정한 보정 거리를, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서 채용함으로써, 입력 음성에 대응하는 단어열의 검색을 로버스트로 행할 수 있도록 하고, 이에 의해 입력 음성에 대응하는 단어열의 검색 정밀도의 열화를 방지한다.
또한, 코사인 거리를, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향을 경감하도록 보정한 보정 거리를 구하는 방법으로서는, 예를 들어 코사인 거리를 구할 때에 사용되는, 검색 결과 대상 단어열의 길이에 비례하는 크기|Y|대신에, 비례하지 않는 값을 사용하는 방법과, 크기|Y|를 사용하지 않는 방법이 있다.
이어서, 보이스 서치에 있어서, 검색 결과 대상 단어열이 되는 텍스트는, 몇십만개 등의 방대한 개수가 될 경우가 있고, 유저의 발음에 대하여 그 발음(입력 음성)에 대응하는 단어열의 검색 결과인 검색 결과 단어열을, 신속히 출력하기 위해서는, 매칭을 고속으로 행할 필요가 있다.
따라서, 본 실시 형태에서는, 역순 인덱스의 이용 등에 의해, 매칭을 고속으로 행한다.
또한, 보이스 서치의 음성 인식에서는, HMM(Hidden Markov Model) 등의 음향 모델을 사용하여, 음성 인식 결과의 후보(가설)인 인식 가설의, 음성 인식 결과로서의 음향적 뛰어남을 표현하는 음향 스코어가 구해짐과 함께, N-gram 등의 언어 모델을 사용하여, 인식 가설이 언어적 뛰어남을 표현하는 언어 스코어가 구해지고, 그 음향 스코어 및 언어 스코어의 양쪽을 고려하여 음성 인식 결과(로 되는 인식 가설)가 구해진다.
보이스 서치의 음성 인식에 있어서 사용되는 언어 모델은, 예를 들어 신문에 기재되어 있는 단어열을 사용하여 생성된다.
따라서, 유저가, 신문에 기재되어 있는 문장에 출현하는 빈도가 낮은 단어열(출현하지 않는 단어열을 포함함)을 포함하는 검색 결과 대상 단어열(저빈도 단어열)을 검색 결과 단어열로서 얻고자 하여, 그 저빈도 단어열의 발음을 행하더라도, 음성 인식에 있어서, 저빈도 단어열에 대하여 얻어지는 언어 스코어가 낮아져서, 올바른 음성 인식 결과를 얻을 수 없는 경우가 있다.
그리고, 올바른 음성 인식 결과가 얻어지지 않는 경우에는, 보이스 서치에 있어서, 음성 인식 후에 행해지는 매칭에서도, 음성 인식 결과에, 입력 음성에 대응하는 검색 결과 단어열(입력 음성에 적절한 검색 결과 대상 단어열)이 매치하지 않고, 그 입력 음성에 대응하는 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력되지 않을 경우가 있다.
구체적으로는, 예를 들어 보이스 서치를 적용한 레코더에 있어서, 유저의 발음에 대하여 EPG(Electronic Program Guide)에서, 보이스 서치에 의해, 유저가 발음한 타이틀의 프로그램을 검색하고, 그 프로그램의 녹화 예약을 행하는 경우에는, 보이스 서치에서는, 우선, 유저가 발음한 프로그램의 타이틀의 음성 인식이 행해진다.
프로그램의 타이틀에는, 조어나, 메인 캐스터의 이름(예명 등), 특유한 표현이 사용되는 경우가 많고, 따라서 신문에 기재되어 있는 기사에서 일반적으로 사용되는 단어열이 아닌 단어열이 포함되는 경우가 적지 않다.
이러한 프로그램의 타이틀의 발음의 음성 인식을, 신문에 기재되어 있는 단어열을 사용하여 생성된 언어 모델(이하, 범용의 언어 모델이라고도 함)을 사용하여 행하면, 프로그램의 타이틀에 일치하는 인식 가설의 언어 스코어로서, 높은 값이 얻어지지 않는다.
그 결과, 프로그램의 타이틀에 일치하는 인식 가설이, 음성 인식 결과로서 얻어지지 않고, 음성 인식의 정밀도가 열화된다.
따라서, 본 실시 형태에서는, 입력 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열인 복수의 검색 결과 대상 단어열, 즉 보이스 서치에 있어서, 음성 인식 결과와의 매칭을 취하는 단어열인 검색 결과 대상 단어열을 사용하여, 말하자면 전용 언어 모델을 생성하고 그 전용 언어 모델을 사용하여, 음성 인식을 행함으로써, 음성 인식의 정밀도를 향상시킨다.
즉, 예를 들어 상술한 바와 같이, EPG에서, 프로그램의 타이틀을 검색할 경우에는, EPG를 구성하는 구성 요소(프로그램의 타이틀이나, 출연자명 등)가 되는 단어열이, 음성 인식 결과와의 매칭을 취하는 검색 결과 대상 단어열이 되므로, 전용 언어 모델은, EPG를 구성하는 구성 요소로서의 검색 결과 대상 단어열을 사용하여 생성된다.
여기서, EPG를 구성하는 구성 요소(프로그램의 타이틀이나, 출연자명 등)이 되는 단어열이, 검색 결과 대상 단어열일 경우에는, 검색 결과 대상 단어열은, 프로그램의 타이틀이나, 출연자명 등의 필드로 분류되어 있다고 할 수 있다.
지금, 복수의 필드로 분류되는 단어열이 준비되어 있을 경우에, 각 필드의 단어열을 사용하여, 필드마다의 언어 모델을 생성하고, 그 필드마다의 언어 모델을, 1개의 언어 모델에 삽입(interpolate)하고, 그 1개의 언어 모델을 사용하여, 음성 인식을 행하면, 다른 필드의 단어열(의 일부씩)을 배열한 인식 가설의 언어 스코어가 높아지는 경우가 있다.
즉, 예를 들어 상술한 바와 같이, 프로그램의 타이틀이나, 출연자명 등의 필드로 분류되어 있는 검색 결과 대상 단어열을 사용하여 생성된 필드마다의 언어 모델을 삽입하여 얻어지는 1개의 언어 모델을 사용하여 음성 인식을 행하면, 어느 프로그램 A의 타이틀의 일부와, 다른 프로그램 B의 출연자의 출연자명의 일부를 배열한 단어열이 인식 가설이 되고, 또한 그 인식 가설의 언어 스코어가 높아지는 경우가 있다.
그러나, 프로그램 A의 타이틀의 일부와, 프로그램 B의 출연자명의 일부를 배열한 단어열은, 검색 결과 대상 단어열인, EPG의 구성 요소에는 존재하지 않으므로, 그러한 단어열이, 음성 인식 결과로 될 수 있는, 언어 스코어가 높은 인식 가설이 되는 것은 바람직하지 않다.
따라서, 본 실시 형태에서는, 검색 결과 대상 단어열이, 복수의 필드로 분류 되어 있는 경우(분류할 수 있을 경우)에는, 각 필드의 검색 결과 대상 단어열을 사용하여, 필드마다의 언어 모델(field dependent language model)을 생성하고, 각 필드의 언어 모델을 사용하여 음성 인식을 행한다.
또한, 예를 들어 상술한 바와 같이, 프로그램의 타이틀이나, 출연자명 등의 필드로 분류되어 있는 EPG의 구성 요소를, 검색 결과 대상 단어열로서, 보이스 서치를 행하는 경우에는, 유저가, 예를 들어 프로그램의 타이틀을 발음했을 때이어도, 프로그램의 타이틀의 필드의 검색 결과 대상 단어열뿐만 아니라, 모든 필드의 검색 결과 대상 단어열과, 유저의 발음의 음성 인식 결과와의 매칭이 행해지고, 그 음성 인식 결과에 매치하는 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력된다.
따라서, 보이스 서치에서는, 유저가 타이틀을 발음한 프로그램과 관계없는 프로그램, 즉 예를 들어, 유저가 발음한 프로그램의 타이틀에 유사하지 않은 타이틀의 프로그램이기는 하지만, 유저가 발음한 프로그램의 타이틀에 포함되는 단어열에 유사한(일치하는 경우도 포함함) 단어열을, 검색 결과 대상 단어열로서의 상세 정보 등에 포함하는 프로그램이, 보이스 서치의 결과로서 얻어질 경우가 있다.
이상과 같이, 유저가 타이틀을 발음한 프로그램과 관계없는 프로그램이, 보이스 서치의 결과로서 얻어지는 것은, 유저에게 번거로움을 느끼게 할 경우가 있다.
따라서, 본 실시 형태에서는, 검색 결과 대상 단어열이, 복수의 필드로 분류 되는 경우에는, 음성 인식 결과와의 매칭을, 유저가 희망하는 필드 등의 소정의 필드의 검색 결과 대상 단어열만을 대상으로 하여 행하는 것을 가능하게 한다.
이 경우, 유저는, 어떤 단어열을, 타이틀만 포함하는 프로그램을 검색하는 것이나, 출연자명만 포함하는 프로그램을 검색하는, 유연한 검색을 행하는 것이 가능하게 된다.
또한, 예를 들어 보이스 서치를 적용한 레코더 등의 기기에서는, 레코더를 제어하는 커맨드로서 정의되어 있는 단어열에 일치하는 단어열이 발음되었을 경우에, 프로그램의 보이스 서치를 행할 수 없는 경우가 있다.
구체적으로는, 보이스 서치를 적용한 레코더가, 예를 들어 유저의 발음에 대하여 보이스 서치에 의해, 유저의 발음을 타이틀 등에 포함하는 프로그램을 검색하는 프로그램 검색 기능을 갖고 있는 것으로 한다.
또한, 레코더가, 프로그램 검색의 기능에 의해 검색된 1 이상의 프로그램 중 1개의 프로그램을, 재생을 행할 프로그램으로서 선택하는 것을, 유저에 의한 발음 「선택」에 따라서 행하는 음성 제어의 기능을 갖고 있는 것으로 한다.
유저에 의한 발음 「선택」에 따라, 프로그램을 선택하는 음성 제어의 기능은, 보이스 서치의 음성 인식에 있어서, 「선택」을, 음성 인식 결과의 대상으로 하고, 또한 레코더에 있어서, 음성 인식 결과로서 얻어지는 「선택」을, 레코더를 제어하는 커맨드로서 해석함으로써 실현할 수 있다.
이상과 같은, 보이스 서치에 의한 프로그램 선택의 기능과, 음성 제어의 기능을 갖는 레코더에 의하면, 유저는 「선택」을 발음함으로써, 프로그램 선택의 기능에 의해 얻어진 프로그램 중에서 레코더에, 재생을 행할 1개의 프로그램을 선택시킬 수 있다.
그러나, 이 경우, 유저는, 보이스 서치에 의한 프로그램 선택의 기능에 의해, 프로그램의 검색을 행할 때에, 레코더를 제어하는 커맨드 「선택」에 일치하는 「선택」을 발음할 수 없다.
즉, 이 경우, 유저가, 프로그램의 타이틀 등에, 「선택」을 포함하는 프로그램을, 프로그램 검색의 기능에 의해 검색하려고 해서, 「선택」을 발음하면, 보이스 서치의 음성 인식에 있어서, 레코더를 제어하는 커맨드로서의 「선택」이, 음성 인식 결과적로서 얻어진다.
그 결과, 레코더에서는, 유저의 발음 「선택」이 커맨드로서 해석되어, 프로그램의 타이틀 등에 「선택」을 포함하는 프로그램의 검색이 행해지지 않는다.
따라서, 본 실시 형태에서는, 발음에, 특정한 구문을 포함하는 등의, 유저에게 가벼운 부담을 허용하게 함으로써, 기기를 제어하는 커맨드로서 정의되어 있는 단어열에 일치하는 단어열이 발음된 경우에도, 프로그램의 보이스 서치를 행하는 등의, 입력 음성에 대응하는 단어열의 검색을, 유연하게 행하는 것을 가능하게 한다.
[본 발명을 적용한 음성 검색 장치의 일 실시 형태]
도 1은, 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제1 구성예를 도시하는 블록도이다.
도 1에서는, 음성 검색 장치는, 음성 인식부(11), 발음 심볼 변환부(12), 검색 결과 대상 기억부(13), 형태소 해석부(14), 발음 심볼 변환부(15), 매칭부(16), 및 출력부(17)를 갖는다.
음성 인식부(11)에는, 유저의 발음인 입력 음성(의 데이터)이 도시하지 않은 마이크 등으로부터 공급된다.
음성 인식부(11)는, 거기에 공급되는 입력 음성을 음성 인식하고, 음성 인식 결과(의, 예를 들어 표기 심볼)를 발음 심볼 변환부(12)에 공급한다.
발음 심볼 변환부(12)는, 음성 인식부(11)에서 공급되는 입력 음성의 음성 인식 결과(의, 예를 들어 표기 심볼)를 그 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열로 변환하여 매칭부(16)에 공급한다.
검색 결과 대상 기억부(13)는, 복수의 검색 결과 대상 단어열, 즉 매칭부(16)에 있어서, 음성 인식 결과와의 매칭이 행해지고, 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열이 될 수 있는 단어열(의, 예를 들어 표기 심볼로서의 텍스트)을 기억한다.
형태소 해석부(14)는, 검색 결과 대상 기억부(13)에 기억된 검색 결과 대상 단어열의 형태소 해석을 행함으로써, 검색 결과 대상 단어열을, 예를 들어 단어(형태소) 단위로 분할하여 발음 심볼 변환부(15)에 공급한다.
발음 심볼 변환부(15)는, 형태소 해석부(14)에서 공급되는 검색 결과 대상 단어열(의, 예를 들어 표기 심볼)을 그 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열로 변환하여 매칭부(16)에 공급한다.
매칭부(16)는, 발음 심볼 변환부(12)에서의 인식 결과 발음 심볼 열과, 발음 심볼 변환부(15)에서의 검색 결과 대상 발음 심볼 열과의 매칭을 취하고, 그 매칭 결과를 출력부(17)에 공급한다.
즉, 매칭부(16)는, 검색 결과 대상 기억부(13)에 기억된 모든 검색 결과 대상 단어열 각각에 대해서, 입력 음성의 음성 인식 결과와의 매칭을, 음성 인식 결과의 발음 심볼과, 검색 결과 대상 단어열의 발음 심볼을 사용하여 행한다.
매칭부(16)는, 검색 결과 대상 기억부(13)에 기억된 모든 검색 결과 대상 단어열 각각에 대해서, 입력 음성의 음성 인식 결과와의 매칭을 취하고, 그 매칭 결과를 출력부(17)에 공급한다.
출력부(17)는, 매칭부(16)에서의 매칭 결과에 기초하여, 검색 결과 대상 기억부(13)에 기억된 검색 결과 대상 단어열 중에서의, 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력한다.
이상과 같이 구성되는 음성 검색 장치에서는, 유저의 발음에 따라, 음성 검색의 처리가 행해진다.
즉, 유저가 발음을 행하고, 그 발음으로서의 입력 음성이, 음성 인식부(11)에 공급되면, 음성 인식부(11)는, 그 입력 음성을 음성 인식하고, 그 입력 음성의 음성 인식 결과를 발음 심볼 변환부(12)에 공급한다.
발음 심볼 변환부(12)는, 음성 인식부(11)에서의 입력 음성의 음성 인식 결과를, 인식 결과 발음 심볼 열로 변환하여 매칭부(16)에 공급한다.
한편, 형태소 해석부(14)는, 검색 결과 대상 기억부(13)에 기억된 모든 검색 결과 대상 단어열의 형태소 해석을 행하고, 발음 심볼 변환부(15)에 공급한다.
발음 심볼 변환부(15)는, 형태소 해석부(14)에서의 검색 결과 대상 단어열을, 검색 결과 대상 발음 심볼 열로 변환하여 매칭부(16)에 공급한다.
매칭부(16)는, 검색 결과 대상 기억부(13)에 기억된 모든 검색 결과 대상 단어열 각각에 대해서, 발음 심볼 변환부(12)에서의 인식 결과 발음 심볼 열과, 발음 심볼 변환부(15)에서의 검색 결과 대상 발음 심볼 열을 사용하여, 입력 음성의 음성 인식 결과와의 매칭을 취하고, 그 매칭 결과를, 출력부(17)에 공급한다.
출력부(17)에서는, 매칭부(16)에서의 매칭 결과에 기초하여, 검색 결과 대상 기억부(13)에 기억된 검색 결과 대상 단어열 중에서 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열(로 하는 검색 결과 대상 단어열)이 선택되어서 출력된다.
따라서, 유저는 발음을 행하는 것만으로, 검색 결과 대상 기억부(13)에 기억된 검색 결과 대상 단어열 중에서, 유저의 발음에 매치하는 검색 결과 단어열로서의 검색 결과 대상 단어열을 얻을 수 있다.
도 2는, 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제2 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 1의 경우에 대응하는 부분에 대해서는, 동일한 부호를 부여하고, 이하에서는 그 설명은 적절히 생략한다.
도 2의 음성 검색 장치는, 음성 인식부(11), 검색 결과 대상 기억부(13), 형태소 해석부(14), 매칭부(16), 및 출력부(17)를 갖는 점에서, 도 1의 경우와 공통되고, 발음 심볼 변환부(12 및 15) 대신에, 발음 심볼 변환부(21)가 설치되어 있는 점에서, 도 1의 경우와 상이하다.
도 2에 있어서, 발음 심볼 변환부(21)는, 음성 인식부(11)에서 공급되는 입력 음성의 음성 인식 결과를, 인식 결과 발음 심볼 열로 변환하고, 매칭부(16)에 공급함과 아울러, 형태소 해석부(14)에서 공급되는 검색 결과 대상 단어열을, 검색 결과 대상 발음 심볼 열로 변환하여 매칭부(16)에 공급한다.
즉, 도 1에서는, 입력 음성의 음성 인식 결과의, 인식 결과 발음 심볼 열로의 변환과, 검색 결과 대상 단어열의, 검색 결과 대상 발음 심볼 열로의 변환이, 별개의 발음 심볼 변환부(12 및 15)에 의해, 각각 행해지게 되어 있지만, 도 2에서는, 입력 음성의 음성 인식 결과의, 인식 결과 발음 심볼 열로의 변환과, 검색 결과 대상 단어열의, 검색 결과 대상 발음 심볼 열로의 변환이, 1개의 발음 심볼 변환부(21)로, 말하자면 겸용하여 행해지게 된다.
따라서, 도 2의 음성 검색 장치에서는, 입력 음성의 음성 인식 결과의, 인식 결과 발음 심볼 열로의 변환과, 검색 결과 대상 단어열의, 검색 결과 대상 발음 심볼 열로의 변환이, 별개의 발음 심볼 변환부(12 및 15)에 의해, 각각 행해지는 것이 아니고, 발음 심볼 변환부(21)에서 행해지는 것을 제외하고, 도 1의 경우와 마찬가지의 음성 검색의 처리가 행해진다.
도 3은, 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제3 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 1의 경우에 대응하는 부분에 대해서는, 동일한 부호를 부여하고, 이하에서는 그 설명은 적절히 생략한다.
도 3의 음성 검색 장치는, 음성 인식부(11), 발음 심볼 변환부(12), 매칭부(16), 및 출력부(17)를 갖는 점에서, 도 1의 경우와 공통되고, 검색 결과 대상 기억부(13), 형태소 해석부(14), 및 발음 심볼 변환부(15) 대신에, 검색 결과 대상 기억부(31)가 설치되어 있는 점에서, 도 1의 경우와 상이하다.
도 3에 있어서, 검색 결과 대상 기억부(31)는, 검색 결과 대상 기억부(13)에 기억되는 것과 동일한 검색 결과 대상 단어열(의, 예를 들어 표기 심볼) 외에, 그 검색 결과 대상 단어열을 발음 심볼로 변환한 검색 결과 대상 발음 심볼 열을 기억한다.
따라서, 도 3의 음성 검색 장치에서는, 매칭부(16)에서의 매칭에 사용되는 검색 결과 대상 발음 심볼 열이, 검색 결과 대상 기억부(31)에 기억되어 있으므로, 검색 결과 대상 단어열의 형태소 해석과, 검색 결과 대상 발음 심볼 열로의 변환이 행해지지 않는 것을 제외하고, 도 1의 경우와 마찬가지의 음성 검색의 처리가 행해진다.
도 4는, 본 발명을 적용한 음성 검색 장치의 일 실시 형태의 제4 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 1 또는 도 3의 경우에 대응하는 부분에 대해서는, 동일한 부호를 부여하고, 이하에서는 그 설명은 적절히 생략한다.
도 4의 음성 검색 장치는, 매칭부(16), 출력부(17), 및 검색 결과 대상 기억부(31)를 갖는 점에서, 도 3의 경우와 공통되고, 음성 인식부(11), 및 발음 심볼 변환부(12) 대신에, 음성 인식부(41)가 설치되어 있는 점에서, 도 3의 경우와 상이하다.
도 4에 있어서, 음성 인식부(41)는, 입력 음성을 음성 인식하고, 그 입력 음성의 음성 인식 결과인 인식 결과 발음 심볼 열을 매칭부(16)에 공급한다.
즉, 음성 인식부(41)는, 예를 들어 도 3의 음성 인식부(11)와 발음 심볼 변환부(12)를 내장하고 있다.
따라서, 도 4의 음성 검색 장치에서는, 음성 인식부(41)가, 음성 인식 결과의, 예를 들어 표기 심볼이 아니고, 인식 결과 발음 심볼 열을 출력하는 것을 제외하고, 도 3의 경우와 마찬가지의 음성 검색의 처리가 행해진다.
[음성 검색 장치를 적용한 정보 처리 시스템]
도 1 또는 도 4의 음성 검색 장치는, 각종 정보 처리 시스템(시스템이란, 복수의 장치가 논리적으로 집합한 것을 말하고, 각 구성의 장치가 동일 하우징 중에 있는지의 여부는 묻지 않는다)에 적용할 수 있다.
즉, 도 1 또는 도 4의 음성 검색 장치는, 정보 처리 시스템으로서의, 예를 들어 프로그램의 녹화, 및 재생을 행할 레코더에 적용할 수 있다.
도 1 또는 도 4의 음성 검색 장치가 적용된 정보 처리 시스템(이하, 음성 검색 기능을 구비한 정보 처리 시스템이라고도 함)으로서의 레코더에서는, 예를 들어 녹화가 행해진 프로그램(녹화 프로그램) 중에서 유저가 원하는 프로그램을, 음성 검색에 의해 검색하고, 재생할 수 있다.
즉, 유저가, 재생하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서, 예를 들어 입력 음성 「世界遺産(세카이이산)」을 발음하면, 레코더에서는, 녹화 프로그램의 타이틀 등을, 검색 결과 대상 단어열로서, 음성 검색을 행함으로써, 타이틀의 발음이, 입력 음성 「世界遺産」의 발음에 유사한 프로그램이, 녹화 프로그램 중에서 검색된다.
그리고, 레코더에서는, 음성 검색 결과로서, 타이틀의 발음이, 입력 음성 「世界遺産」의 발음에 유사한, 상위 N위 이내의 프로그램(의 타이틀 등)이 재생을 행할 후보의 프로그램(재생 후보 프로그램)으로서, (레코더가 접속된 TV(텔레비전 수상기) 등에서) 표시된다.
그 후, 유저가, N개의 재생 후보 프로그램 중에서 재생을 행할 프로그램으로서, 1개의 프로그램을 선택하면, 레코더에서는 그 프로그램이 재생된다.
여기서, 유저가, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법으로서는, 예를 들어 유저가, 레코더를 원격 제어하는 리모트 코멘더를 조작하고, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법이 있다.
또한, 유저가, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법으로서는, 예를 들어 N개의 재생 후보 프로그램의 표시가, 터치 패널에서 행하여지는 경우에는, 유저가, 그 터치 패널을 조작하고, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법이 있다.
또한, 유저가, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법으로서는, 유저가, 음성에 의해, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법이 있다.
즉, N개의 재생 후보 프로그램 중, 예를 들어 2번째의 재생 후보 프로그램의 타이틀이, 「世界遺産·萬里長城」(세계유산·만리장성)이며, 그 2번째의 재생 후보 프로그램 「世界遺産·萬里長城」이, 유저가 재생하고 싶은 1개의 프로그램일 경우에는, 유저는, 예를 들어 재생 후보 프로그램의 순서인 「2번째」나, 타이틀 「世界遺産·萬里長城」 등을 발음함으로써, 그 재생 후보 프로그램을 선택할 수 있다.
또한, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 예를 들어 EPG의 프로그램 중에서 유저가 원하는 프로그램을, 음성 검색에 의해 검색하고, 녹화 예약(이나 시청 예약)을 할 수 있다.
즉, 유저가, 녹화 예약을 하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서, 예를 들어 입력 음성 「世界遺産」을 발음하면, 레코더에서는, EPG를 구성하는 구성 요소로서의 프로그램의 타이틀 등을, 검색 결과 대상 단어열로서, 음성 검색을 행함으로써, 타이틀 등의 발음이, 입력 음성 「世界遺産」의 발음에 유사한 프로그램이, EPG로부터 검색된다.
그리고, 레코더에서는, 녹화 프로그램의 재생을 행할 경우와 마찬가지로, 음성 검색 결과로서, 타이틀의 발음이, 입력 음성 「世界遺産」의 발음에 유사한, 상위 N위 이내의 프로그램(의 타이틀 등)이 녹화 예약을 행하는 후보의 프로그램(녹화 후보 프로그램)으로서 표시된다.
그 후, 유저가, N개의 녹화 후보 프로그램 중에서 녹화 예약을 행하는 프로그램으로서, 1개의 프로그램을 선택하면, 레코더에서는 그 프로그램의 녹화 예약이 행해지고, 또한 그 녹화 예약에 따라 프로그램의 녹화가 행해진다.
여기서, 유저가, N개의 녹화 후보 프로그램 중에서 1개의 프로그램을 선택하는 방법으로서는, 상술한 녹화 프로그램의 재생에 있어서, N개의 재생 후보 프로그램 중에서 1개의 프로그램을 선택하는 경우와 마찬가지의 방법을 채용할 수 있다.
또한, 도 1 또는 도 4의 음성 검색 장치를 적용 가능한 정보 처리 시스템으로서는, 상술한 레코더 외에, 네트워크로 연결된 비디오 온 디맨드 사이트(Video on demand site)를 통해서, 프로그램(비디오의 콘텐츠)을 검색하여 구입하는 시스템이나, 네트워크로 연결된 게임소프트 판매 사이트를 통해서, 게임을 검색하여 구입하는 시스템 등이 있다.
또한, 음성 검색에 있어서, 검색 결과 대상 단어열로서는, 각종 단어열을 채용할 수 있다.
즉, 예를 들어 텔레비전 방송의 프로그램을 검색할 경우에는, 프로그램의 타이틀이나, 출연자명, 프로그램의 내용을 설명하는 상세 정보의, 프로그램의 메타데이터, 프로그램의 화상에 중첩되는 자막(클로즈드 캡션) 등(의 일부, 또는 전부)을 검색 결과 대상 단어열로서 채용할 수 있다.
또한, 예를 들어 악곡(음악)을 검색할 경우에는, 악곡의 타이틀이나, 가사, 아티스트명 등(의 일부, 또는 전부)을 검색 결과 대상 단어열로서 채용할 수 있다.
도 5는, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에 있어서, 녹화 프로그램의 재생 처리를 설명하는 도면이다.
음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에 있어서, 예를 들어 녹화 프로그램 중에서 유저가 원하는 프로그램을, 음성 검색에 의해 검색하고, 재생하는 경우에는, 유저는, 재생을 하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서의, 예를 들어 일본어의 입력 음성 「都市の世界遺産」(토시노세카이이산)이나, 영어의 입력 음성 "World Heritage City"를 발음한다.
음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 녹화 프로그램의 타이틀 등을, 검색 결과 대상 단어열로 하여, 음성 검색이 행해지고, 타이틀의 발음이, 입력 음성 「都市の世界遺産」이나 " World Heritage City "의 발음에 유사한 프로그램이, 녹화 프로그램 중에서 검색된다.
그리고, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 음성 검색 결과로서, 타이틀의 발음이, 입력 음성 「都市の世界遺産」이나 " World Heritage City "의 발음에 유사한, 상위 N위 이내의 프로그램(의 타이틀 등)이 재생을 행할 후보의 프로그램인 재생 후보 프로그램으로서 표시된다.
도 5에서는, 5개의 재생 후보 프로그램이(음성 검색의 검색 결과로서) 표시되어 있다.
재생 후보 프로그램 중에, 유저가 원하는 프로그램이 존재하지 않는 경우에는, 유저는, 재생 후보 프로그램으로서, 현재 표시되어 있는 상위 N위 이내의 프로그램의 다음 상위 N개의 프로그램을, 재생 후보 프로그램으로서 표시하거나, 음성 검색을 행하기 위한 키워드로서, 다른 키워드를 사용하는 것을, 발음에 의해 요구할 수 있다.
또한, 재생 후보 프로그램 중에, 유저가 원하는 프로그램이 존재하는 경우에는, 유저는 그 원하는 프로그램을 선택할 수 있다.
유저가, 원하는 프로그램을 선택하는 방법으로서는, 상술한 바와 같이, 터치 패널을 조작하는 방법이나, 리모트 코멘더를 조작하는 방법, 음성에 의해 선택하는 방법 등이 있다.
유저가, N개의 재생 후보 프로그램 중에서 원하는 프로그램을 선택하면, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 그 프로그램이 재생된다.
도 6은, 유저가, N개의 재생 후보 프로그램 중에서 원하는 프로그램을 선택하는 방법을 설명하는 도면이다.
예를 들어, N개의 재생 후보 프로그램이, 터치 패널에서 표시되는 경우에는, 유저는, 그 터치 패널에 표시된 N개의 재생 후보 프로그램 중, 원하는 프로그램(의, 예를 들어 타이틀)의 표시 부분을 터치함으로써, 원하는 프로그램을 선택할 수 있다.
또한, 예를 들어 N개의 재생 후보 프로그램이, 각 재생 후보 프로그램을 선택적으로 포커스할 수 있는, 리모트 코멘더에 의해 이동 가능한 커서와 함께 표시되는 경우에는, 유저는, 리모트 코멘더를 조작함으로써, 원하는 프로그램이 포커스되도록, 커서를 이동하고, 또한 포커스되어 있는 원하는 프로그램의 선택을 확정하도록 리모트 코멘더를 조작함으로써, 원하는 프로그램을 선택할 수 있다.
또한, 예를 들어 N개의 재생 후보 프로그램이, 재생 후보 프로그램의 순서를 표현하는 숫자를 부가하여 표시됨과 아울러, 리모트 코멘더에, 숫자를 지정할 수 있는 숫자 버튼이 설치되어 있는 경우에는, 유저는, 리모트 코멘더의 숫자 버튼 중, 원하는 프로그램에 부가되어 있는 숫자를 지정하는 숫자 버튼을 조작함으로써, 원하는 프로그램을 선택할 수 있다.
또한, 유저는, N개의 재생 후보 프로그램 중, 원하는 프로그램의 타이틀을 발음함으로써, 원하는 프로그램을 선택할 수 있다.
또한, 예를 들어 N개의 재생 후보 프로그램이, 재생 후보 프로그램의 순서를 표현하는 숫자를 부가하여 표시되는 경우에는, 유저는, 원하는 프로그램에 부가되어 있는 숫자를 발음함으로써, 원하는 프로그램을 선택할 수 있다.
도 7은, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더의 다른 처리를 설명하는 도면이다.
도 5에서는, 녹화 프로그램으로부터의 음성 검색의 검색 결과로서, 5개 등의 복수의 재생 후보 프로그램이 표시되지만, 도 7에서는, 1개만의 재생 후보 프로그램이 표시된다.
즉, 유저가, 재생을 하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서의, 예를 들어 입력 음성 「都市の世界遺産(토시노세카이이산)」을 발음하면, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 녹화 프로그램의 타이틀 등을, 검색 결과 대상 단어열로 하여 음성 검색이 행해지고, 타이틀의 발음이, 입력 음성 「都市の世界遺産」의 발음에 유사한 프로그램이, 녹화 프로그램 중에서 검색된다.
그리고, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 음성 검색의 검색 결과로서, 타이틀의 발음이, 입력 음성 「都市の世界遺産」의 발음에 유사한, 최상위의 1개의 프로그램(의 타이틀 등)이 재생 후보 프로그램으로서 표시된다.
이 경우, 유저는, 음성 검색 결과 얻어진 1개의 재생 후보 프로그램을, 재생을 행할 프로그램으로서 선택(수리)할지, 또는 다른 프로그램을, 재생 후보 프로그램으로서 고쳐 표시할지를 선택할 수 있다.
예를 들어, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더를 원격 제어하는 리모트 코멘더에, 수리를 지정하는 수리 버튼과, 다른 프로그램을 재생 후보 프로그램으로서 고쳐 표시하는 것을 지정하는 다른 프로그램 버튼이 설치되어 있는 경우에는, 유저는, 수리 버튼, 또는 다른 프로그램 버튼을 조작함으로써, 음성 검색 결과 얻어진 1개의 재생 후보 프로그램을, 재생을 행할 프로그램으로서 선택할지, 또는 다른 프로그램을, 재생 후보 프로그램으로서 고쳐 표시할지를 지정할 수 있다.
또한, 예를 들어 유저는, 수리를 지정하는 음성으로서, 예를 들어 「OK」, 또는 다른 프로그램을 재생 후보 프로그램으로서 고쳐 표시하는 것을 지정하는 음성으로서, 예를 들어 「아니오」를 발음함으로써, 음성 검색 결과 얻어진 1개의 재생 후보 프로그램을, 재생을 행할 프로그램으로서 선택할지, 또는 다른 프로그램을, 재생 후보 프로그램으로서 고쳐 표시할지를 지정할 수 있다.
음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 음성 검색 결과 얻어진 1개의 재생 후보 프로그램을, 재생을 행할 프로그램으로서 선택하는 것이 지정된 경우, 그 재생 후보 프로그램이 재생된다.
또한, 다른 프로그램을, 재생 후보 프로그램으로서 고쳐 표시하는 것이 지정된 경우, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에서는, 현재 표시되어 있는 1개의 재생 후보 프로그램의 다음 순위의 재생 후보 프로그램이 표시된다.
도 8은, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 각종 기기가 행하는 처리를 설명하는 도면이다.
도 8의 A는, 음성 검색 기능을 구비한 정보 처리 시스템으로서의 레코더에 있어서, 녹화 예약을 행하는 처리를 설명하는 도면이다.
유저가, 녹화 예약을 하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서의 입력 음성을 발음하면, 레코더에서는, EPG를 구성하는 구성 요소로서의 프로그램의 타이틀 등을, 검색 결과 대상 단어열로서 음성 검색을 행함으로써, 타이틀 등의 발음이 입력 음성의 발음에 유사한 프로그램이, EPG에서 검색된다.
그리고, 레코더에서는, 음성 검색 결과로서, 타이틀의 발음이 입력 음성의 발음에 유사한, 상위 N위 이내의 프로그램(의 타이틀 등)이 녹화 예약을 행하는 후보의 프로그램인 녹화 후보 프로그램으로서 표시된다.
그 후, 유저가, N개의 녹화 후보 프로그램 중에서 녹화 예약을 행할 프로그램으로서, 1개의 프로그램을 선택하면, 레코더에서는, 그 프로그램의 녹화 예약이 행해지고, 또한 그 녹화 예약에 따라 프로그램의 녹화가 행해진다.
도 8의 B는, 음성 검색 기능을 구비한 정보 처리 시스템으로서의, 프로그램(비디오의 콘텐츠)을 구입하는 프로그램 구입 시스템에 있어서, 프로그램을 구입하는 처리를 설명하는 도면이다.
유저가, 구입을 하고자 하는 프로그램의 음성 검색을 행하기 위한 키워드로서의 입력 음성을 발음하면, 프로그램 구입 시스템에서는, 예를 들어 인터넷 등의 네트워크를 개재하여, 프로그램을 판매하는 비디오 온 디맨드 사이트에 액세스하고, 그 비디오 온 디맨드 사이트가 판매하고 있는 프로그램의 타이틀 등을, 검색 결과 대상 단어열로서, 음성 검색(비디오 온 디맨드 검색)을 행함으로써, 타이틀 등의 발음이 입력 음성의 발음에 유사한 프로그램이 검색된다.
그리고, 프로그램 구입 시스템에서는, 음성 검색 결과로서, 타이틀의 발음이 입력 음성의 발음에 유사한, 상위 N위 이내의 프로그램(의 타이틀 등)이 구입의 후보 프로그램인 구입 후보 프로그램으로서 표시된다.
그 후, 유저가, N개의 구입 후보 프로그램 중에서 구입하는 프로그램으로서, 1개의 프로그램을 선택하면, 프로그램 구입 시스템에서는, 그 프로그램의 구입 처리, 즉 비디오 온 디맨드 사이트에서의 프로그램의 다운로드나, 프로그램의 대금의 지급을 위한 과금 처리 등이 행해진다.
도 8의 C는, 음성 검색 기능을 구비한 정보 처리 시스템으로서의, 악곡(음악)을 구입하는 음악 구입 시스템에 있어서, 악곡을 구입하는 처리를 설명하는 도면이다.
유저가, 구입을 하고자 하는 악곡의 음성 검색을 행하기 위한 키워드로서의 입력 음성을 발음하면, 음악 구입 시스템에서는, 예를 들어 인터넷 등의 네트워크를 개재하여, 악곡을 판매하는 악곡판매 사이트에 액세스하고, 그 악곡판매 사이트가 판매하고 있는 악곡의 타이틀(곡명) 등을, 검색 결과 대상 단어열로서, 음성 검색을 행함으로써, 타이틀 등의 발음이 입력 음성의 발음에 유사한 악곡이 검색된다.
그리고, 음악 구입 시스템에서는, 음성 검색 결과로서, 타이틀의 발음이 입력 음성의 발음에 유사한, 상위 N위 이내의 악곡(의 타이틀 등)이 구입의 후보의 악곡인 구입 후보악곡으로서 표시된다.
그 후, 유저가, N개의 구입 후보악곡 중에서 구입하는 악곡으로서, 1개의 악곡을 선택하면, 음악 구입 시스템에서는, 그 악곡의 구입 처리가 행해진다.
도 8의 D는, 음성 검색 기능을 구비한 정보 처리 시스템으로서, 악곡(음악)을 재생하는 음악 재생 시스템에 있어서, 기록 매체에 기록된 악곡을 재생하는 처리를 설명하는 도면이다.
유저가, 재생을 하고자 하는 악곡의 음성 검색을 행하기 위한 키워드로서의 입력 음성을 발음하면, 음악 재생 시스템에서는, 기록 매체에 기록된 악곡의 타이틀(곡명) 등을, 검색 결과 대상 단어열로 하여 음성 검색을 행함으로써, 타이틀 등의 발음이 입력 음성의 발음에 유사한 악곡이, 기록 매체에서 검색된다.
그리고, 음악 재생 시스템에서는, 음성 검색 결과로서, 타이틀의 발음이 입력 음성의 발음에 유사한, 상위 N위 이내의 악곡(의 타이틀 등)이 재생을 행할 후보의 악곡인 재생 후보악곡으로서 표시된다.
그 후, 유저가, N개의 재생 후보악곡 중에서 재생을 행할 악곡으로서, 1개의 악곡을 선택하면, 음악 재생 시스템에서는, 그 악곡의 재생이 행해진다.
도 8의 E는, 음성 검색 기능을 구비한 정보 처리 시스템으로서의, 게임소프트(소프트웨어)를 구입하는 게임소프트 구입 시스템에 있어서, 게임소프트를 구입하는 처리를 설명하는 도면이다.
유저가, 구입을 하고자 하는 게임소프트의 음성 검색을 행하기 위한 키워드로서의 입력 음성을 발음하면, 게임소프트 구입 시스템에서는, 예를 들어 인터넷 등의 네트워크를 개재하여, 게임소프트를 판매하는 게임소프트 판매 사이트에 액세스하고, 그 게임소프트 판매 사이트가 판매하고 있는 게임소프트의 타이틀(게임 타이틀) 등을, 검색 결과 대상 단어열로 하여 음성 검색을 행함으로써, 타이틀 등의 발음이 입력 음성의 발음에 유사한 게임소프트가 검색된다.
그리고, 게임소프트 구입 시스템에서는, 음성 검색 결과로서, 타이틀의 발음이 입력 음성의 발음에 유사한, 상위 N위 이내의 게임소프트(의 타이틀 등)가 구입할 후보 게임소프트인 구입 후보 게임소프트로서 표시된다.
그 후, 유저가, N개의 구입 후보 게임소프트 중에서 구입할 게임소프트로서, 1개의 게임소프트를 선택하면, 게임소프트 구입 시스템에서는, 그 게임소프트의 구입 처리가 행해진다.
또한, 음성 검색은, 비디오 온 디맨드 사이트(도 8의 B)나, 악곡판매 사이트(도 8의 C), 게임소프트 판매 사이트(도 8의 E) 등의 사이트에 접속되는 정보 처리 시스템측에서 행하는 것이 아니고, 사이트측에서 행하는 것이 가능하다.
또한, 도 1 또는 도 4의 음성 검색 장치는, 상술한 정보 처리 시스템 이외에도 적용 가능하다.
즉, 도 1 또는 도 4의 음성 검색 장치는, 예를 들어 유저가 가사의 일부를 발음하면, 그 가사를 포함하는 악곡을 검색하는 정보 처리 시스템이나, 유저가 대사의 일부를 발음하면, 그 대사를 포함하는 영화의 콘텐츠를 검색하는 정보 처리 시스템, 유저가 기술된 것의 일부를 발음하면, 그 기술을 포함하는 (전자)서적이나 잡지를 검색하는 정보 처리 시스템 등에 적용할 수 있다.
[음성 검색 장치를 적용한 레코더의 구성예]
도 9는, 도 1 또는 도 4의 음성 검색 장치를 적용한 정보 처리 시스템으로서의 레코더의 구성예를 도시하는 블록도이다.
도 9에 있어서, 레코더는, 음성 검색 장치(50), 레코더 기능부(60), 커맨드 판정부(71), 제어부(72), 및 출력 I/F(Interface; 73)를 갖는다.
음성 검색 장치(50)는, 도 1 또는 도 4의 음성 검색 장치 중, 예를 들어 도 1의 음성 검색 장치와 마찬가지로 구성되어 있다.
즉, 음성 검색 장치(50)는, 음성 인식부(51), 발음 심볼 변환부(52), 검색 결과 대상 기억부(53), 형태소 해석부(54), 발음 심볼 변환부(55), 매칭부(56), 및 출력부(57)를 갖는다.
음성 인식부(51) 내지 출력부(57)는, 도 1의 음성 인식부(11) 내지 출력부(17)와 각각 마찬가지로 구성된다.
또한, 음성 검색 장치(50)는, 도 1의 음성 검색 장치 외에, 도 2 또는 도 4의 음성 검색 장치 중 어느 하나와 마찬가지로 구성할 수 있다.
레코더 기능부(60)는, 튜너(61), 기록 재생부(62), 및 기록 매체(63)를 갖고, 텔레비전 방송 프로그램의 기록(녹화) 및 재생을 행한다.
즉, 튜너(61)에는, 도시하지 않은 안테나에서 수신된, 예를 들어 디지털 방송에 의한 텔레비전 방송 신호가 공급된다.
튜너(61)는, 거기에 공급되는 텔레비전 방송 신호를 수신하고, 그 텔레비전 방송 신호에서 소정 프로그램의 텔레비전 방송 신호를 추출하고, 비트 스트림을 복조하여, 기록 재생부(62)에 공급한다.
기록 재생부(62)는, 튜너(61)에서 공급되는 비트 스트림으로부터, EPG나 프로그램의 데이터 등을 추출하고, 출력 I/F(73)에 공급한다.
또한, 기록 재생부(62)는, EPG나 프로그램의 데이터를, 기록 매체(63)에 기록(녹화)한다.
또한, 기록 재생부(62)는, 기록 매체(63)에서, 프로그램의 데이터를 재생하여, 출력 I/F(73)에 공급한다.
기록 매체(63)는, 예를 들어 HD(Hard Disk) 등이며, 기록 매체(63)에는, 기록 재생부(62)에 의해, EPG나 프로그램의 데이터가 기록된다.
커맨드 판정부(71)에는, 음성 인식부(51)에서, 입력 음성의 음성 인식 결과가 공급된다.
커맨드 판정부(71)는, 음성 인식부(51)에서의 입력 음성의 음성 인식 결과에 기초하여, 그 입력 음성이, 레코더를 제어하는 커맨드인지의 여부를 판정하고, 그 판정 결과를 제어부(72)에 공급한다.
제어부(72)는, 커맨드 판정부(72)에서의, 입력 음성이 커맨드인지의 여부 판정 결과에 기초하여, 커맨드를 따른 처리를 행하고, 또한 음성 검색 장치(50), 및 레코더 기능부(60) 등, 레코더를 구성하는 블록을 제어한다. 그 외, 제어부(72)는, 도시하지 않은 리모트 코멘더의 조작 등에 따른 처리를 행한다.
출력 I/F(73)에는, 기록 재생부(62)에서, EPG나 프로그램의 데이터가 공급된다. 또한, 출력 I/F(73)에는, 출력부(57)에서, 음성 검색 장치(50)에서의 음성 검색 결과인 검색 결과 단어열이 표시된 검색 결과 표시 화면(의 데이터)이 공급된다.
출력부 I/F(73)는, 예를 들어 TV 등, 적어도 화상을 표시할 수 있는 표시 디바이스와 접속되는 인터페이스이며, 기록 재생부(62)에서의 EPG나 프로그램의 데이터, 및 출력부(57)에서의 검색 결과 표시 화면을, 출력부 I/F(73)에 접속된, 예를 들어 도시하지 않은 TV에 공급한다.
이상과 같이 구성되는 도 9의 레코더에서는, 기록 매체(63)에 기록된 EPG를 구성하는 구성 요소인 프로그램의 타이틀이나, 출연자명, 상세 정보 등이, 검색 결과 대상 기억부(53)에 공급되어 기억된다.
또한, 도 9의 레코더에서는, 기록 매체(63)에 녹화(기록)된 프로그램(녹화 프로그램)의 메타데이터인, 프로그램의 타이틀이나, 출연자명, 상세 정보 등이, 검색 결과 대상 기억부(53)에 공급되어 기억된다.
따라서, 도 9의 음성 검색 장치(50)에서는, 프로그램의 타이틀이나, 출연자명, 상세 정보 등을, 검색 결과 대상 단어열로 하여 음성 검색이 행해진다.
도 10은, 도 1 또는 도 4의 음성 검색 장치를 적용한 정보 처리 시스템으로서의 레코더의 다른 구성예를 도시하는 블록도이다.
또한, 도 10에 있어서, 도 9의 경우에 대응하는 부분에 대해서는, 동일한 부호를 부여하고, 이하에서는 그 설명은 적절히 생략한다.
도 10의 레코더는, 음성 검색 장치(50)가, 형태소 해석부(54)를 갖고 있지 않은 것을 제외하고, 도 9의 레코더와 마찬가지로 구성되어 있다.
여기서, 형태소 해석부(54)를 갖는 도 9의 음성 검색 장치(50)에서는, 예를 들어 일본어의 입력 음성을 대상으로 하고, 음성 검색을 행하고, 형태소 해석부(54)를 갖지 않는 도 10의 음성 검색 장치(50)에서는, 형태소 해석이 필요가 없는, 예를 들어 영어의 입력 음성을 대상으로 하여 음성 검색을 행한다.
또한, 형태소 해석부(54)를 갖는 도 9의 음성 검색 장치(50)에 있어서, 형태소 해석부(54)를 기능시키는 모드와, 기능시키지 않는(바이패스시킴) 모드를 설치함으로써, 도 9의 음성 검색 장치(50)에서는, 모드를 전환함으로써, 일본어와 영어 각각의 입력 음성을 대상으로 하여 음성 검색을 행할 수 있다.
[발음 심볼을 사용한 매칭]
도 9 및 도 10의 음성 검색 장치(50)의 음성 검색에서는, 음성 인식부(51)에 있어서, 입력 음성의 음성 인식이 행해지고, 매칭부(56)에 있어서, 그 음성 인식 결과와 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열과의 매칭이 행해진다.
도 11은, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우의 처리의 예를 나타내는 도면이다.
도 11에서는, 일본어의 입력 음성 「都市の世界遺産自由の女神(토시노세카이이산 지유노메가미)」에 대하여 음성 인식 결과 「都市の世界遺産自由の女神」(도시의 세계유산 자유의 여신)이 얻어지고, 그 음성 인식 결과 「都市の世界遺産自由の女神」이, 「都市/の/世界/遺産/自由/の/女神」과 같이, 단어 단위로 구획되어 있다.
그리고, 단어 단위의 음성 인식 결과 「都市/の/世界/遺産/自由/の/女神」과, 단어 단위의 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀과의 매칭이 취해져 있다.
도 12는, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우의, 다른 처리를 도시하는 도면이다.
도 12에서는, 영어의 입력 음성 "World Heritage City The Statue of Liberty"에 대하여 음성 인식 결과 "World Heritage City The Statue of Liberty"가 얻어지고, 그 음성 인식 결과 "World Heritage City The Statue of Liberty"가, "World/Heritage/City/The/Statue/of/Liberty"와 같이, 단어 단위로 구획되어 있다.
그리고, 단어 단위의 음성 인식 결과 "World/Heritage/City/The/Statue/of/Liberty"와, 단어 단위의 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀과의 매칭이 취해져 있다.
도 13 및 도 14는, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 음성 인식 결과 및 검색 결과 대상 단어열 각각의 표기 심볼을 사용하여 단어 단위로 행하는 경우와, 표기 심볼의 1 이상의 단위로 행하는 경우를 설명하는 도면이다.
도 13에서는, 영어의 입력 음성 "Lime Wire"에 대하여 음성 인식 결과 "Dime Wired"가 얻어지고 있다.
입력 음성이 "Lime Wire"이므로, 그 입력 음성의 음성 인식 결과에 가장 매치하는 검색 대상 단어열은, 입력 음성과 동일한 "Lime Wire"인 것이 바람직하다.
그러나, 지금의 경우, 입력 음성 "Lime Wire"에 대하여 얻어지고 있는 음성 인식 결과가 "Dime Wired"이기 때문에, 음성 인식 결과 "Dime Wired"와, 검색 대상 단어열 "Lime Wire"와의 매칭을, 표기 심볼을 사용하여 단어 단위로 행한 경우에는, 1개의 단어도 매치(일치)하지 않는다.
한편, 음성 인식 결과 "Dime Wired"와, 검색 대상 단어열 "Lime Wire"와의 매칭을, 표기 심볼을 사용하여 표기 심볼의, 예를 들어 4 연쇄 단위로 행하면, 4개의 문자열(캐릭터)이 매치한다.
여기서, 도 13의 표기 심볼의 4 연쇄 단위의 매칭에서는, 음성 인식 결과 "Dime Wired"의 선두와 마지막 각각에, 발음의 최초와 최후를 표현하는 문자인 $을 부가한 문자열 "$Dime Wired$"에서, 선두의 위치를 1표기 심볼씩 비켜놓으면서 추출한, 연속하는 4개의 표기 심볼로서의 문자열(캐릭터) "$Dim", "Dime", "ime_w", "me_wi", "e_wir", "wire", "ired", 및 "red$"와, 검색 대상 단어열 "Lime Wire"의 선두와 마지막 각각에, 발음의 최초와 최후를 표현하는 문자인 $을 부가한 문자열 "$Lime Wire$"에서, 선두의 위치를 1표기 심볼씩 비켜놓으면서 추출한, 연속하는 4개의 표기 심볼로서의 문자열 "$Lim", "Lime", "ime_w", "me_wi", "e_wir", "wire", 및 "ire$"이 일치하는지의 여부가 판정된다. 또한, 문자열 "ime_w" 등에 있어서, 언더 바(_)는 단어의 구획을 표현한다.
이어서, 도 14에서는, 영어의 입력 음성 "tolkien"에 대하여 음성 인식 결과 "toll keene"이 얻어진다.
입력 음성이 "tolkien"이므로, 그 입력 음성의 음성 인식 결과에 가장 매치하는 검색 대상 단어열은, 입력 음성과 동일한 "tolkien"인 것이 바람직하다.
그러나, 지금의 경우, 입력 음성 "tolkien"에 대하여 얻어지는 음성 인식 결과가 "toll keene"이기 때문에, 음성 인식 결과 "toll keene"과, 검색 대상 단어열 "tolkien"과의 매칭을, 표기 심볼을 사용하여 단어 단위로 행한 경우에는, 1개의 단어도 매치하지 않는다.
한편, 음성 인식 결과 "toll keene"과, 검색 대상 단어열 "tolkien"과의 매칭을, 표기 심볼을 사용하여, 표기 심볼, 예를 들어 2 연쇄 단위로 행하면, 4개의 문자열(캐릭터)이 매치한다.
여기서, 도 14의 표기 심볼의 2 연쇄 단위의 매칭에서는, 음성 인식 결과 "toll keen"의 선두와 마지막 각각에, 발음의 최초와 최후를 표현하는 문자인 $을 부가한 문자열 "$toll keen$"에서, 선두의 위치를 1표기 심볼씩 비켜놓으면서 추출한, 연속하는 2개의 표기 심볼로서의 문자열(캐릭터) "$t", "to", "ol", "ll", "l__k", "__ke", "ee", "en", "ne", "e$"과, 검색 대상 단어열 "tolkien"의 선두와 마지막 각각에, 발음의 최초와 최후를 표현하는 문자인 $을 부가한 문자열 "$tolkien$"에서, 선두의 위치를 1표기 심볼씩 비켜놓으면서 추출한, 연속하는 2개의 표기 심볼로서의 문자열 "$t", "to", "ol", "lk", "ki", "ie", "en", "n$"이 일치하는지의 여부가 판정된다. 또한, 문자열 "l_k" 등의 언더 바는, 도 13에서 설명한 바와 같이, 단어의 구획을 표현한다.
이상으로부터, 표기 심볼을 사용한 매칭에서는, 단어 단위보다, 표기 심볼 1 이상의 단위 쪽이, 로버스트한 매칭을 행할 수 있다.
그러나, 표기 심볼을 사용한 매칭에서는, 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않을 경우가 있다.
즉, 표기 심볼은, 발음에 일치하지 않을 경우가 있다.
구체적으로는, 일본어에 있어서, 예를 들어 히라가나 「は」의 발음(읽기))은 「は(하)」일 경우와, 「わ(와)」일 경우가 있지만, 표기 심볼에서는, 발음의 차이를 표현할 수 없다.
또한, 일본어에 있어서, 표기 심볼에서는, 복수의 읽기가 있는 한자, 즉 예를 들어, 「市」에 대해서는, 그 읽기(발음)가 「し(시)」일 것인지, 또는 「いち(이치)」일 것일지를, 표현할 수 없다.
한편, 예를 들어 일본어에 있어서, 표기 심볼로 표현된 단어열 「都市の世界遺産(토시노세카이이산)」과 「年の瀨解散(토시노세카이산)」은, 발음은 일치하는데, 표기 심볼에서는, 「の(노)」 이외는 상이하다.
이로 인해, 음성 인식 결과가, 「都市の世界遺産」(도시의 세계유산)일 경우와, 「年の瀨解散」(새해의 해산)일 경우에서는, 표기 심볼을 사용한 매칭에서는, 다른 매칭 결과가 얻어지는데, 이것은 음성 검색의 성능에 반드시 유리하지는 않다.
즉, 도 15는, 일본어에 대해서, 표기 심볼을 사용한 매칭에서, 발음은 일치하지만, 표기가 다른 음성 인식 결과에 대하여 다른 매칭 결과가 얻어지는 것이, 음성 검색의 성능에 유리하지 않음을 설명하는 도면이다.
도 15에서는, 일본어의 입력 음성 「都市の世界遺産(토시노세카이이산)」의 음성 인식이 행해지고, 그 입력 음성 「都市の世界遺産」(도시의 세계유산)와 발음은 일치하는데, 표기가 다른, 잘못한 음성 인식 결과 「年の瀨解散」(새해의 해산)이 얻어지고 있다.
또한, 도 15에서는, 음성 인식 결과 「年の瀨解散(토시노세카이산)」을, 「年/の/瀨/解/散」과 같이, 표기 심볼 단위로 구획하여 표기 심볼 단위(표기 심볼의 1 연쇄(1문자) 단위)와의 매칭이 행해지고 있다.
또한, 도 15에서는, 매칭을 취하는 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀로서, 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해)의 3개가 준비되어 있다.
음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「世界遺産都市の遺産」에서는, 표기 심볼 단위로는, 도면 중, 동그라미 표시를 붙인 1개의 표기 심볼 「の(노)」밖에 일치하지 않는다.
또한, 음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「瀨戶の齒醫者さん(세토노하이샤상)」에서는, 표기 심볼 단위로는, 도면 중, 동그라미 표시를 붙인 2개의 표기 심볼 「瀨(세)」 및 「の(노)」가 일치한다.
또한, 음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「衆院解散の年(슈인카이산노토시)」에서는, 표기 심볼 단위로는, 도면 중, 동그라미 표시를 붙인 4개의 표기 심볼 「解(카이)」, 「散(산)」, 「の(노)」 및 「年(토시)」가 일치한다.
따라서, 표기 심볼 단위와의 매칭에 있어서 구해지는, 음성 인식 결과와 검색 결과 대상 단어 열과의 유사도로서는, 음성 인식 결과 「年の瀨解散」(새해의 해산)과, 검색 결과 대상 단어열 「衆院解散の年」(중의원 해산의 해)와의 유사도가 가장 높아진다.
즉, 표기 심볼 단위와의 매칭에 있어서 구해지는 유사도로서, 예를 들어 코사인 거리를 채용하는 것으로 한다.
또한, 단어열을 표현하는 벡터로서, 예를 들어 단어열에 존재하는 표기 심볼에 대응하는 컴포넌트를 1로 함과 더불어, 단어열에 존재하지 않는 표기 심볼에 대응하는 컴포넌트를 0으로 하는 벡터를 채용하고, 2개의 단어열의 유사도로서의 코사인 거리를, 그 2개의 단어열을 표현하는 벡터를 사용하여 구하는 것으로 한다.
이 경우, 표기 심볼 단위와의 매칭에서는, 음성 인식 결과 「年の瀨解散」과, 검색 결과 대상 단어열 「世界遺産都市の遺産」과의 유사도로서, 0.15가, 음성 인식 결과 「年の瀨解散」과, 검색 결과 대상 단어열 「瀨戶の齒醫者さん」과의 유사도로서, 0.32가, 음성 인식 결과 「年の瀨解散」과, 검색 결과 대상 단어열 「衆院解散の年」과의 유사도로서, 0.73이, 각각 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 「都市の世界遺産(토시노세카이이산)」의 음성 인식이 잘못하여, 음성 인식 결과 「年の瀨解散(토시노세카이산)」이 얻어진 경우에는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사) 및 「衆院解散の年」(중의원 해산의 해) 중, 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력되게 된다.
입력 음성 「都市の世界遺産(토시노세카이이산)」에 대해서는, 상술한 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사) , 및 「衆院解散の年」(중의원 해산의 해) 중, 1번째의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 「都市の世界遺産(토시노세카이이산)」이, 발음(읽기)에서는 일치하는데, 표기가 다른 「年の瀨解散(토시노세카이산)」으로 음성 인식되면, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이 아니라, 「都市の世界遺産」(도시의 세계유산)과는 완전히 관계가 없는 프로그램 타이틀 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력된다.
또한, 입력 음성 「都市の世界遺産(토시노세카이이산)」에 대하여, 표기가 일치하는 「都市の世界遺産」(도시의 세계유산)이, 음성 인식 결과로서 얻어진 경우에는, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)과의 유사도가 최상위가 되고, 「世界遺産都市の遺産」(세계유산 도시의 유산)이, 검색 결과 단어열로서 출력된다.
이상과 같이, 음성 인식 결과가, 「都市の世界遺産(토시노세카이이산)」일 경우와, 「年の瀨解散(토시노세카이산)」일 경우에서는, 표기 심볼을 사용한 매칭에서는, 매칭 결과(음성 인식 결과와, 각 검색 결과 대상 단어열과의 유사도)가 상이하고, 그 결과, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이, 검색 결과 단어열로서 출력될 경우와, 그러한 적절한 타이틀이 출력되지 않고, 입력 음성 「都市の世界遺産」(도시의 세계유산)과는 완전히 관계가 없는 프로그램의 타이틀 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력될 경우가 있다.
도 16은, 영어에 대해서, 표기 심볼을 사용한 매칭에서, 발음은 일치하는데, 표기가 다른 음성 인식 결과에 대하여 다른 매칭 결과가 얻어지는 것이, 음성 검색의 성능에 유리하지 않음을 설명하는 도면이다.
영어에 있어서는, 표기 심볼(alphabetic character)이 상이한데, 발음이 일치하는 경우가 있다.
예를 들어, 표기 심볼에서 표현된 단어열 "tolkien"과 "toll keene"은, 발음은 일치하는데, 표기 심볼은 상이하다.
이로 인해, 음성 인식 결과가, "tolkien"일 경우와, "toll keene"일 경우에서는, 표기 심볼을 사용한 매칭에서는, 다른 매칭 결과가 얻어지는데, 이것은 음성 검색의 성능에, 반드시 유리하지 않다.
즉, 도 16에서는, 영어의 입력 음성 "tolkien"의 음성 인식이 행해지고, 그 입력 음성 "tolkien"과 발음은 일치하는데, 표기가 다른, 잘못한 음성 인식 결과 "toll keene"이 얻어지고 있다.
또한, 도 16에서는, 매칭을 취하는 검색 결과 대상 단어열로서, 예를 들어 프로그램 타이틀로서, "tolkien", "tom keene", 및 "toe clean" 3개가 준비되어 있다.
그리고, 도 16에서는, 표시 심볼을 사용한 매칭으로서, 표기 심볼의 단어 단위, 1연쇄 단위(1문자 단위; 표기 심볼 단위), 및 2 연쇄 단위 각각에서의 매칭이 행해진다.
지금, 표기 심볼을 사용한 매칭에 있어서 구해지는 유사도로서, 예를 들어 도 15의 경우와 마찬가지로, 코사인 거리를 채용하는 것으로 하면, 검색 결과 대상 단어열로서의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 각각의 유사도는, 이하와 같이 된다.
즉, 단어 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"에 있어서, 1개의 단어도 일치하지 않는다.
또한, 단어 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"에 있어서, 도면 중, 동그라미 표시를 붙인 1개의 단어가 일치한다.
또한, 단어 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"에 있어서, 1개의 단어도 일치하지 않는다.
따라서, 표기 심볼을 사용한 단어 단위와의 매칭에 있어서 구해지는, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도가 가장 높아진다.
즉, 표기 심볼을 사용한 단어 단위(Word)에서의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"과의 유사도로서, 0.0이, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도로서, 0.5가, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"과의 유사도로서, 0.0이, 각각 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, "tom keene"이, 검색 결과 단어열로서 출력되게 된다.
입력 음성 "tolkien"에 대해서는, 상술한 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 1번째의 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 "tolkien"이, 발음(읽기)에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식되면, 표기 심볼을 사용한 단어 단위와의 매칭에서는, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이 아니고, "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력된다.
또한, 표기 심볼 단위(Alphabetic Character)에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"에 있어서, 도면 중, 동그라미 표시를 붙인 6개의 표시 심볼이 일치한다.
또한, 표기 심볼 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"에 있어서, 도면 중, 동그라미 표시를 붙인 7개의 표기 심볼이 일치한다.
또한, 표기 심볼 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"에 있어서, 도면 중, 동그라미 표시를 붙인 6개의 표시 심볼이 일치한다.
따라서, 표기 심볼 단위와의 매칭에 있어서 구해지는, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도가 가장 높아진다.
즉, 표기 심볼 단위와의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"과의 유사도로서, 0.76이, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도로서, 0.83이, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"과의 유사도로서, 0.71이, 각각 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, "tom keene"이, 검색 결과 단어열로서 출력되게 된다.
입력 음성 "tolkien"에 대해서는, 상술한 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 1번째의 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 "tolkien"이, 발음(읽기)에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식되면, 표기 심볼 단위와의 매칭에서는, 상술한 단어 단위와의 매칭과 마찬가지로, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이 아니고, "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력된다.
또한, 표기 심볼의 2 연쇄 단위(Alphabetic Bigram)에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"에 있어서, 도면 중, 동그라미 표시를 붙인 4개의 표시 심볼의 2 연쇄가 일치한다.
또한, 표기 심볼의 2 연쇄 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"에 있어서, 도면 중, 동그라미 표시를 붙인 5개의 표기 심볼의 2 연쇄가 일치한다.
또한, 표기 심볼의 2 연쇄 단위로는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"에 있어서, 도면 중, 동그라미 표시를 붙인 1개의 표시 심볼의 2 연쇄가 일치한다.
따라서, 표기 심볼의 2 연쇄 단위와의 매칭에 있어서 구해지는, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도가 가장 높아진다.
즉, 표기 심볼의 2 연쇄 단위와의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien"과의 유사도로서, 0.58이, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tom keene"과의 유사도로서, 0.67이, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "toe clean"과의 유사도로서, 0.13이, 각각 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, "tom keene"이, 검색 결과 단어열로서 출력되게 된다.
입력 음성 "tolkien"에 대해서는, 상술한 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 1번째의 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 "tolkien"이, 발음(읽기)에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식되면, 표기 심볼의 2 연쇄 단위와의 매칭에서는, 상술한 단어 단위나 표기 심볼 단위와의 매칭과 마찬가지로, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이 아니고, "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력된다.
또한, 입력 음성 "tolkien"에 대하여 표기가 일치하는 "tolkien"이, 음성 인식 결과로서 얻어진 경우에는, 단어 단위, 표기 심볼 단위, 및 표기 심볼의 2 연쇄 단위의 어느 매칭에서도, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"과의 유사도가 최상위가 되고, "tolkien"이, 검색 결과 단어열로서 출력된다.
이상과 같이, 음성 인식 결과가, "tolkien"일 경우와, "toll keene"일 경우에서는, 표기 심볼을 사용한 매칭에서는, 매칭 결과(음성 인식 결과와, 각 검색 결과 대상 단어열과의 유사도)가 상이하고, 그 결과, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력될 경우와, 그러한 적절한 타이틀이 출력되지 않고, 입력 음성 "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력될 경우가 있다.
따라서, 음성 검색 장치(50; 도 9 및 도 10)의 매칭부(56)에서는, 입력 음성에 대하여 적절한 프로그램의 타이틀이, 검색 결과 단어열로서 출력되지 않는 것을 방지하기 위해서, 발음 심볼을 사용한 매칭이 행해진다.
여기서, 발음 심볼은, 예를 들어 음절, 또는 음소의 발음을 표현하는 심볼이며, 일본어에 대해서는, 예를 들어 읽기를 표현하는 히라가나를 채용할 수 있다.
발음 심볼을 사용한 매칭에서는, 매칭의 단위로서, 음절(의 1개)이나, 음절의 2 이상의 연쇄, 음소(의 1개), 음소의 2 이상의 연쇄 등을 채용할 수 있다.
또한, 발음 심볼을 사용한 매칭에 있어서, 어떤 매칭의 단위를 채용할지에 의해, 매칭 결과, 나아가서는, 음성 검색의 성능은 상이하다.
도 17은, 음성 인식부(51)에 있어서, 일본어의 입력 음성의 음성 인식이 행해지고, 또한, 매칭부(56; 도 9)에서의 매칭의 단위로서, 음절 2 연쇄(연속하는 2개의 음절)을 채용하는 경우의, 도 9의 발음 심볼 변환부(52)의 처리를 설명하는 도면이다.
발음 심볼 변환부(52)에는, 음성 인식부(51)에서, 일본어의 입력 음성의 음성 인식 결과(의, 예를 들어 표기 심볼)가 공급된다.
발음 심볼 변환부(52)는, 음성 인식부(51)에서 공급되는 음성 인식 결과를, 음절 배열로 변환한다.
또한, 발음 심볼 변환부(52)는, 음성 인식 결과의 음절 배열의 선두에서부터부터, 주목하는 주목 음절을, 후방으로, 1음절씩 비켜놓아 가면서, 주목 음절과, 그 주목 음절 직후의 음절과의 2개의 음절인 음절 2 연쇄를 추출하고, 그 음절 2 연쇄의 배열을, 인식 결과 발음 심볼 열로서, 매칭부(56; 도 9)에 공급한다.
도 18은, 매칭부(56; 도 9)에서의 매칭의 단위로서, 음절 2 연쇄를 채용하는 경우의, 도 9의 발음 심볼 변환부(55)의 처리를 설명하는 도면이다.
발음 심볼 변환부(55)에는, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열로서의 프로그램의 타이틀 등이, 형태소 해석부(54)로 형태소 해석되어서 공급된다.
발음 심볼 변환부(55)는, 형태소 해석부(54)에서 공급되는 검색 결과 대상 단어열을 음절 배열로 변환한다.
또한, 발음 심볼 변환부(55)는, 검색 결과 대상 단어열의 음절 배열의 선두에서부터부터, 주목하는 주목 음절을, 후방으로, 1음절씩 비켜놓아 가면서, 주목 음절과, 그 주목 음절의 직후의 음절과의 2개의 음절인 음절 2 연쇄를 추출하고, 그 음절 2 연쇄의 배열을, 검색 결과 대상 발음 심볼 열로서, 매칭부(56; 도 9)에 공급한다.
도 19는, 음성 인식부(51)에 있어서, 영어의 입력 음성의 음성 인식이 행해지고, 또한 매칭부(56; 도 10)에서의 매칭의 단위로서, 음소 2 연쇄(연속하는 2개의 음소)를 채용하는 경우의, 도 10의 발음 심볼 변환부(52 및 55)의 처리를 설명하는 도면이다.
발음 심볼 변환부(52)에는, 음성 인식부(51)에서, 영어의 입력 음성의 음성 인식 결과(의, 예를 들어 표기 심볼)가 공급된다.
또한, 발음 심볼 변환부(55)에는, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열로서의 프로그램의 타이틀 등이 공급된다.
발음 심볼 변환부(52)는, 음성 인식부(51)에서 공급되는 음성 인식 결과(의 각 단어)를 음소(음소를 표현하는 발음 심볼) 배열로 변환한다. 그리고, 발음 심볼 변환부(52)는, 음성 인식 결과의 음소 배열의 선두에서부터부터, 주목하는 주목 음소를, 후방으로, 1음소씩 비켜놓아 가면서, 주목 음소와, 그 주목 음소의 직후의 음소와의 2개의 음소인 음소 2 연쇄를 추출하고, 그 음소 2 연쇄의 배열을, 인식 결과 발음 심볼 열로서, 매칭부(56; 도 10)에 공급한다.
마찬가지로, 발음 심볼 변환부(55)는, 검색 결과 대상 기억부(53)에서 공급되는 검색 결과 대상 단어열을, 음소 배열로 변환한다. 그리고, 발음 심볼 변환부(55)는, 검색 결과 대상 단어열의 음소 배열의 선두에서부터, 주목하는 주목 음소를, 후방으로, 1음소씩 비켜놓아 가면서, 주목 음소와, 그 주목 음소의 직후의 음소와의 2개의 음소인 음소 2 연쇄를 추출하고, 그 음소 2 연쇄의 배열을, 인식 결과 발음 심볼 열로서, 매칭부(56; 도 10)에 공급한다.
여기서, 도 19에 있어서, 슬래시(/)로 구획된 문자는, 발음 심볼로서의 음소를 표현하고, 국제음성학회가 정하는 음성 기호인 IPA(International Phonetic Alphabet)이다. 후술하는 도 21 및 도 23에서도 마찬가지이다.
도 20은, 도 9의 매칭부(56)가, 음절 2 연쇄 단위로 매칭을 행하는 경우의, 그 매칭을 설명하는 도면이다.
예를 들어, 음성 인식부(51)에 있어서, 일본어의 입력 음성의 음성 인식이 행하여지는 경우, 매칭부(56)에서는, 예를 들어 음절 2 연쇄 단위와의 매칭이 행해진다.
그리고, 매칭부(56)가, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의, 음절 2 연쇄 단위와의 매칭으로서, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 유사도로서, 예를 들어 코사인 거리를 구할 경우, 매칭부(56)는, 인식 결과 발음 심볼 열을 구성하는 음절 2 연쇄에 기초하여, 인식 결과 발음 심볼 열을 표현하는 벡터인 인식 결과 벡터를 구한다.
즉, 매칭부(56)는, 예를 들어 인식 결과 발음 심볼 열에 존재하는 음절 2 연쇄에 대응하는 컴포넌트를 1로 함과 아울러, 인식 결과 발음 심볼 열에 존재하지 않는 음절 2 연쇄에 대응하는 컴포넌트를 0으로 하는 벡터를, 인식 결과 발음 심볼 열을 표현하는 인식 결과 벡터로서 구한다.
또한, 매칭부(56)는, 검색 결과 대상 기억부(53)에 기억된 각 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀 등에 대해서도 마찬가지로, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열을 구성하는 음절 2 연쇄에 기초하여, 검색 결과 대상 발음 심볼 열을 표현하는 벡터인 검색 결과 대상 벡터를 구한다.
그리고, 매칭부(56)는, 인식 결과 벡터와, 검색 결과 대상 벡터와의 내적을, 인식 결과 벡터의 크기와 검색 결과 대상 벡터의 크기와의 승산값으로 제산한 값인 코사인 거리를, 음성 인식 결과와 검색 결과 대상 벡터에 대응하는 검색 결과 대상 단어열과의 유사도로서 구하는, 음절 2 연쇄 단위와의 매칭을 행한다.
도 21은, 도 10의 매칭부(56)가, 음소 2 연쇄 단위로 매칭을 행하는 경우의, 그 매칭을 설명하는 도면이다.
예를 들어, 음성 인식부(51)에 있어서, 영어의 입력 음성의 음성 인식이 행하여지는 경우, 매칭부(56)에서는, 예를 들어 음소 2 연쇄 단위와의 매칭이 행해진다.
그리고, 매칭부(56)가, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의, 음소 2 연쇄 단위와의 매칭으로서, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 유사도로서, 예를 들어 코사인 거리를 구할 경우, 매칭부(56)는, 인식 결과 발음 심볼 열을 구성하는 음소 2 연쇄에 기초하여, 인식 결과 발음 심볼 열을 표현하는 벡터인 인식 결과 벡터를 구한다.
즉, 매칭부(56)는, 예를 들어 인식 결과 발음 심볼 열에 존재하는 음소 2 연쇄에 대응하는 컴포넌트를 1로 함과 아울러, 인식 결과 발음 심볼 열에 존재하지 않는 음소 2 연쇄에 대응하는 컴포넌트를 0으로 하는 벡터를, 인식 결과 발음 심볼 열을 표현하는 인식 결과 벡터로서 구한다.
또한, 매칭부(56)는, 검색 결과 대상 기억부(53)에 기억된 각 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀 등에 대해서도 마찬가지로, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열을 구성하는 음소 2 연쇄에 기초하여, 검색 결과 대상 발음 심볼 열을 표현하는 벡터인 검색 결과 대상 벡터를 구한다.
그리고, 매칭부(56)는, 인식 결과 벡터와, 검색 결과 대상 벡터와의 내적을, 인식 결과 벡터의 크기와 검색 결과 대상 벡터의 크기와의 승산값으로 제산한 값인 코사인 거리를, 음성 인식 결과와, 검색 결과 대상 벡터에 대응하는 검색 결과 대상 단어열과의 유사도로서 구하는, 음소 2 연쇄 단위와의 매칭을 행한다.
도 22는, 일본어에 관한, 단어 단위와의 매칭, (1개의) 음절 단위와의 매칭, 및 음절 2 연쇄 단위와의 매칭 결과를 도시하는 도면이다.
또한, 도 22에서는, 도 15와 마찬가지로, 일본어의 입력 음성 「都市の世界遺産(토시노세카이이산)」에 대하여 잘못한 음성 인식 결과 「年の瀨解散」(새해의 해산)이 얻어지고, 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀로서, 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해)의 3개가 준비되어 있다.
또한, 도 22에서는, 표기 심볼을 사용하는 단어 단위와의 매칭, 발음 심볼을 사용하는 음절 단위와의 매칭, 및 발음 심볼을 사용하는 음절 2 연쇄 단위와의 매칭이 행해진다.
또한, 도 22에서는, 음성 인식 결과 「年の瀨解散(토시노세카이산)」의 단어 또는 발음 심볼(음절)과 일치하는, 검색 결과 대상 단어열의 단어 또는 발음 심볼에는, 동그라미 표시가 붙이고 있다.
단어 단위와의 매칭에서는, 음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「世界遺産都市の遺産(세카이이산 토시노이산)」, 「瀨戶の齒醫者さん(세토노하이샤상)」, 및 「衆院解散の年(슈인카이산노토시)」 각각과의 유사도(코사인 거리)로서, 각각, 0.22, 0.25, 및 0.75가 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 「都市の世界遺産(토시노세카이이산)」의 음성 인식이 잘못하여, 음성 인식 결과 「年の瀨解散(토시노세카이산)」이 얻어진 경우에는, 표기 심볼을 사용하는 단어 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해) 중, 음성 인식 결과 「年の瀨解散」(새해 해산)과는 유사도가 0.75로 최상위의 검색 결과 대상 단어열 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력되게 된다.
입력 음성 「都市の世界遺産(토시노세카이이산)」에 대해서는, 상술한 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해) 중, 1번째의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 「都市の世界遺産(토시노세카이이산)」이, 발음(읽기)에서는 일치하는데, 표기가 다른 「年の瀨解散(토시노세카이산)」으로 음성 인식되면, 표기 심볼을 사용하는 단어 단위와의 매칭에서는, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이 아니고, 「都市の世界遺産」(도시의 세계유산)과는 완전히 관계가 없는 프로그램의 타이틀 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력된다.
또한, 표기 심볼을 사용하는 매칭을, 단어 단위가 아니고, 표기 심볼 단위로 행한 경우도, 도 15에서 설명한 바와 같이, 입력 음성 「都市の世界遺産(토시노세카이이산)」의 잘못한 음성 인식 결과 「年の瀨解散(토시노세카이산)」에 대하여 입력 음성 「都市の世界遺産」(도시의 세계유산)과는 완전히 관계가 없는 프로그램의 타이틀 「衆院解散の年」(중의원 해산의 해)가, 검색 결과 단어열로서 출력된다.
발음 심볼을 사용하는 음절 단위의 매칭에서는, 음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「世界遺産都市の遺産(세카이이산 토시노이산)」, 「瀨戶の齒醫者さん(세토노하이샤상)」, 및 「衆院解散の年(슈인카이산노토시)」 각각과의 유사도로서, 각각, 0.82, 1.0, 및 0.75가 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 「都市の世界遺産(토시노세카이이산)」의 음성 인식이 잘못하여, 음성 인식 결과 「年の瀨解散(토시노세카이산)」이 얻어진 경우에는, 발음 심볼을 사용하는 음절 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해) 중, 음성 인식 결과 「年の瀨解散」(새해 해산)과 유사도가 1.0으로 최상위의 검색 결과 대상 단어열 「瀨戶の齒醫者さん」(세토의 치과의사)가, 검색 결과 단어열로서 출력된다.
즉, 입력 음성 「都市の世界遺産(토시노세카이이산)」이, 발음에서는 일치하는데, 표기가 다른 「年の瀨解散(토시노세카이산)」으로 음성 인식되면, 발음 심볼을 사용하는 음절 단위와의 매칭에서는, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이 아니고, 「都市の世界遺産」(도시의 세계유산)과는 완전히 관계가 없는 프로그램의 타이틀 「瀨戶の齒醫者さん」(세토의 치과의사)가, 검색 결과 단어열로서 출력된다.
또한, 표기 심볼을 사용하는 단어 단위와의 매칭에서는, 입력 음성 「都市の世界遺産(토시노세카이이산)」에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産(세카이이산 토시노이산)」의 유사도가 3개의 검색 결과 대상 단어열의 중에서, 제3위(최하위)의 값인 0.22가 되고 있지만, 발음 심볼을 사용하는 음절 단위와의 매칭에서는, 입력 음성 「都市の世界遺産(토시노세카이이산)」에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産(세카이이산 토시노이산)」의 유사도가 3개의 검색 결과 대상 단어열의 중에서, 제2위의 값인 0.82가 되고 있다.
따라서, 발음 심볼을 사용하는 음절 단위와의 매칭은, 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)의 유사도가 표시 심볼을 사용하는 단어 단위와의 매칭의 경우보다 상위인 점에서, 표시 심볼을 사용하는 단어 단위와의 매칭보다 유효인 것을 알 수 있다.
발음 심볼을 사용하는 음절 2 연쇄 단위의 매칭에서는, 음성 인식 결과 「年の瀨解散(토시노세카이산)」과, 검색 결과 대상 단어열 「世界遺産都市の遺産(세카이이산 토시노이산)」, 「瀨戶の齒醫者さん(세토노하이샤상)」, 및 「衆院解散の年(슈인카이산노토시)」 각각과의 유사도로서, 각각, 0.68, 0.43, 및 0.48이 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 「都市の世界遺産(토시노세카이이산)」의 음성 인식이 잘못하여, 음성 인식 결과 「年の瀨解散(토시노세카이산)」이 얻어진 경우에도, 발음 심볼을 사용하는 음절 2 연쇄 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산), 「瀨戶の齒醫者さん」(세토의 치과의사), 및 「衆院解散の年」(중의원 해산의 해) 중, 음성 인식 결과 「年の瀨解散」(새해 해산)과의 유사도가 0.68로 최상위의 검색 결과 대상 단어열, 즉 입력 음성 「都市の世界遺産」(도시의 세계유산)에 대하여 적절한 프로그램의 타이틀 「世界遺産都市の遺産」(세계유산 도시의 유산)이, 검색 결과 단어열로서 출력된다.
도 23은, 영어에 관한, 단어 단위와의 매칭, (1개의) 음소 단위와의 매칭, 및 음소 2 연쇄 단위와의 매칭의 결과를 도시하는 도면이다.
또한, 도 23에서는, 도 16과 마찬가지로, 영어의 입력 음성 "tolkien"에 대하여 잘못한 음성 인식 결과 "toll keene"이 얻어지고, 검색 결과 대상 단어열로서, 예를 들어 프로그램의 타이틀로서, "tolkien", "tom keene", 및 "toe clean"의 3개가 준비되어 있다.
또한, 도 23에서는, 표기 심볼을 사용하는 단어 단위와의 매칭, 발음 심볼을 사용하는 음소 단위와의 매칭, 및 발음 심볼을 사용하는 음소 2 연쇄 단위와의 매칭이 행해지고 있다.
또한, 도 23에서는, 음성 인식 결과 "toll keene"의 단어 또는 발음 심볼(음소)과 일치하는, 검색 결과 대상 단어열의 단어 또는 발음 심볼에는, 동그라미 표시를 붙이고 있다.
단어 단위와의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien", "tom keene", 및 "toe clean" 각각과의 유사도(코사인 거리)로서, 각각, 0.0, 0.5, 및 0.0이 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에는, 표기 심볼을 사용하는 단어 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 음성 인식 결과 "toll keene"과의 유사도가 0.5로 최상위의 검색 결과 대상 단어열 "tom keene"이, 검색 결과 단어열로서 출력되게 된다.
입력 음성 "tolkien"에 대해서는, 상술한 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 1번째의 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력되는 것이 적절하다.
그러나, 입력 음성 "tolkien"이, 발음(읽기)에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식되면, 표기 심볼을 사용하는 단어 단위와의 매칭에서는, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이 아니고, "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력된다.
또한, 표기 심볼을 사용하는 매칭을, 단어 단위가 아니고, 표기 심볼 단위로 행한 경우도, 도 16에서 설명한 바와 같이, 입력 음성 "tolkien"의 잘못한 음성 인식 결과 "toll keene"에 대하여 입력 음성 "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력된다.
발음 심볼을 사용하는 음소 단위의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien", "tom keene", 및 "toe clean" 각각과의 유사도로서, 각각, 1.0, 0.46, 및 1.0이 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에는, 발음 심볼을 사용하는 음소 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 음성 인식 결과 "toll keene"과의 유사도가 1.0으로 최상위의 검색 결과 대상 단어열 "tolkien", 및 "toe clean"이, 검색 결과 단어열로서 출력된다.
즉, 입력 음성 "tolkien"이, 발음에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식되면, 발음 심볼을 사용하는 음소 단위와의 매칭에서는, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"과는 완전히 관계가 없는 프로그램의 타이틀 "tom keene"이, 검색 결과 단어열로서 출력되지만, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"도, 검색 결과 단어열로서 출력된다.
이상과 같이, 발음 심볼을 사용하는 음소 단위와의 매칭에서는, 입력 음성 "tolkien"이, 발음에서는 일치하는데, 표기가 다른 "toll keene"으로 음성 인식된 경우에도, 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"도, 검색 결과 단어열로서 출력된다.
발음 심볼을 사용하는 음소 2 연쇄 단위의 매칭에서는, 음성 인식 결과 "toll keene"과, 검색 결과 대상 단어열 "tolkien", "tom keene", 및 "toe clean" 각각과의 유사도로서, 각각, 1.0, 0.37, 및 0.5가 구해진다.
따라서, 예를 들어 매칭의 결과 얻어지는 유사도가 최상위의 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것으로 하면, 입력 음성 "tolkien"의 음성 인식이 잘못하여, 음성 인식 결과 "toll keene"이 얻어진 경우에도, 발음 심볼을 사용하는 음소 2 연쇄 단위와의 매칭에서는, 검색 결과 대상 단어열로서의 3개의 프로그램의 타이틀 "tolkien", "tom keene", 및 "toe clean" 중, 음성 인식 결과 "toll keene"과의 유사도가 1.0으로 최상위의 검색 결과 대상 단어열, 즉 입력 음성 "tolkien"에 대하여 적절한 프로그램의 타이틀 "tolkien"이, 검색 결과 단어열로서 출력된다.
이상과 같이, 발음 심볼을 사용하는 매칭에 의하면, 표기 심볼을 사용하는 매칭을 행하는 경우에 비교하여 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있다.
즉, 발음 심볼을 사용하는 매칭에 의하면, 음성 인식이 잘못한 경우에도, 입력 음성에 대응하는 단어열이, 검색 결과 단어열로서 출력되지 않는 것을 방지(저감)할 수 있다.
[코사인 거리를 보정한 보정 거리]
매칭부(56; 도 9 및 도 10)에 있어서, 음성 인식 결과(의 인식 결과 발음 심볼 열)와, 검색 결과 대상 단어열(의 검색 결과 대상 발음 심볼 열)과의 유사도로서, 코사인 거리를 채용하는 경우, 예를 들어 상술한 바와 같이, 인식 결과 발음 심볼 열에 존재하는 음절(2 연쇄)에 대응하는 컴포넌트를 1로 함과 아울러, 인식 결과 발음 심볼 열에 존재하지 않는 음절에 대응하는 컴포넌트를 0으로 하는 벡터가, 인식 결과 발음 심볼 열을 표현하는 인식 결과 벡터로서 구해진다.
또한, 매칭부(56)에서는, 마찬가지로 하여, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열을 표현하는 검색 결과 대상 벡터가 구해진다.
여기서, 본 실시 형태에서는, 인식 결과 벡터의 컴포넌트의 값을, 그 컴포넌트에 대응하는 음절이 인식 결과 발음 심볼 열에 존재하는지의 여부로, 1 또는 0으로 하는데, 인식 결과 벡터의 컴포넌트의 값으로서는, 그 컴포넌트에 대응하는 음절이 인식 결과 발음 심볼 열에 출현하는 빈도인 tf(Term Frequency)를 채용하는 것이 가능하다.
또한, 인식 결과 벡터의 컴포넌트의 값으로서는, 그 외, 예를 들어 어느 검색 결과 대상 단어열에는 치우쳐서 출현하는 음절에 대해서는 커지고, 많은 검색 결과 대상 단어열에 모조리 출현하는 음절에 대해서는 작아지는 idf(Invert Document Frequency)나, tf와 idf 양쪽을 가미한 TF-IDF를 채용할 수 있다.
검색 결과 대상 벡터에 대해서도, 마찬가지이다.
지금, 인식 결과 벡터를, VUTR라고 표현하는 동시에, 검색 결과 대상 기억부(53; 도 9 및 도 10)에 기억된 i번째의 검색 결과 대상 단어열의 검색 결과 대상 벡터를, VTITLE(i)라고 표현하면, 음성 인식 결과와, i번째의 검색 결과 대상 단어열과의 유사도로서의 코사인 거리(D)는, 수학식 1에 따라서 계산된다.
[수학식 1]
D=VUTR·VTITLE(i)/(|VUTR||VTITLE(i)|)
수학식 1에 있어서, ·은 내적을 표현하고, |x|은 벡터 x의 크기(norm)를 표현한다. 따라서, 코사인 거리(D)는, 인식 결과 벡터 VUTR과, 검색 결과 대상 벡터 VTITLE(i)와의 내적 VUTR·VTITLE(i)를 인식 결과 벡터 VUTR의 크기 |VUTR|과 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와의 승산값|VUTR||VTITLE(i)|로 제산함으로써 구할 수 있다.
코사인 거리(D)는, 0.0 내지 1.0의 범위의 값을 취하고, 값이 클수록, 인식 결과 벡터 VUTR가 표현하는 인식 결과 발음 심볼 열과, 검색 결과 대상 벡터 VTITLE(i)가 표현하는 검색 결과 대상 발음 심볼 열이 유사한 것을 표현한다.
상술한 바와 같이, 코사인 거리(D)는, 인식 결과 벡터 VUTR과, 검색 결과 대상 벡터 VTITLE(i)와의 내적 VUTR·VTITLE(i)을 인식 결과 벡터 VUTR의 크기 |VUTR|와 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와의 승산값으로 제산함으로써 구해지기 때문에, 코사인 거리(D)에는, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이가 영향을 미친다.
여기서, 음성 인식 결과 및 검색 결과 대상 단어열의 길이란, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭, 즉 유사도로서의 코사인 거리(D)의 계산을 표기 심볼을 사용하여 표기 심볼 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 표기 심볼의 개수를, 유사도의 계산을 표기 심볼을 사용하여 단어 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 단어의 개수를, 유사도의 계산을 발음 심볼을 사용하여 음운 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 음운의 개수를, 유사도의 계산을 발음 심볼을 사용하여 음운 2 연쇄 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 음운 2 연쇄의 개수를, 유사도의 계산을 발음 심볼을 사용하여 음소 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 음소의 개수를, 유사도의 계산을 발음 심볼을 사용하여 음소 2 연쇄 단위로 행하는 경우에는, 음성 인식 결과 및 검색 결과 대상 단어열의 음소 2 연쇄의 개수를, 각각 의미한다.
지금, 설명을 간단하게 하기 위해서, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭으로서의 코사인 거리(D)의 계산을 표기 심볼을 사용하여 단어 단위로 행하기로 하면, 유사도로서의 수학식 1의 코사인 거리(D)의 연산은, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|에 의한 제산을 포함하기 때문에, 예를 들어 음성 인식 결과와 동일한 단어열을 포함하는데, 길이(여기서는, 단어의 개수)가 긴 검색 결과 대상 단어열과, 짧은 검색 결과 대상 단어열에서는, 짧은 검색 결과 대상 단어열과의 유사도는 높아지고(코사인 거리(D)가 커지고), 긴 검색 결과 대상 단어열과의 유사도는 낮아지는(코사인 거리(D)가 작아지는) 경향이 강하다.
따라서, 길이가 긴 검색 결과 대상 단어열의 일부가 음성 인식 결과로서 얻어져도, 그 음성 인식 결과와 길이가 긴 검색 결과 대상 단어열과의 유사도가 상위(上位)에 오지 않고, 그러한 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되지 않기 때문에, 입력 음성에 대응하는 단어열의 검색의 정밀도가 열화하는 경우가 있다.
즉, 예를 들어 긴 타이틀의 일부가 발음되었을 경우에, 그 긴 타이틀의 유사도가 상위에 오지 않고, 그 긴 타이틀이 검색 결과 단어열로서 출력되지 않을 경우가 있다.
또한, 마찬가지의 이유에 의해, 소정의 검색 결과 대상 단어열과 동일한 단어열을 포함하는데, 길이가 긴 음성 인식 결과와 짧은 음성 인식 결과에서는, 긴 음성 인식 결과와 소정의 검색 결과 대상 단어열과의 유사도는 낮아져, 짧은 음성 인식 결과와 소정의 검색 결과 대상 단어열과의 유사도는 높아지는 경향이 강하다.
따라서, 소정의 검색 결과 대상 단어열과 동일한 단어열을 포함하는데 길이가 긴 음성 인식 결과에 대해서는, 그 소정의 검색 결과 대상 단어열의 유사도는, 상위에 오지 않고, 그 소정의 검색 결과 대상 단어열이 검색 결과 단어열로서 출력되지 않기 때문에, 입력 음성에 대응하는 단어열의 검색의 정밀도가 열화하는 경우가 있다.
즉, 예를 들어 짧은 타이틀을 포함하는 긴 발음이 되었을 경우에, 그 짧은 타이틀의 유사도가 상위에 오지 않고, 그 짧은 타이틀이 검색 결과 단어열로서 출력되지 않을 경우가 있다.
따라서, 매칭부(56; 도 9 및 도 10)에서는, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향을 경감하고, 코사인 거리(D)를 보정한 보정 거리를, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서 채용할 수 있다.
음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 보정 거리를 채용하는 경우에는, 상술한 음성 인식 결과와 긴 검색 결과 대상 단어열과의 유사도, 및 긴 음성 인식 결과와 검색 결과 대상 단어열과의 유사도가 낮아지는 것이 방지되고, 그 결과, 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있고, 입력 음성에 대응하는 단어열의 검색의 정밀도의 열화를 방지할 수 있다.
보정 거리로서는, 제1 보정 거리와, 제2 보정 거리가 있다.
제1 보정 거리는, 코사인 거리(D)를 구하는 수학식 1의 연산에 있어서, 검색 결과 대상 단어열의 길이에 비례하는, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|대신에, 검색 결과 대상 단어열의 길이에 비례하지 않는 값 |VUTR|×√(|VTITLE(i)|/|VUTR|), 즉 인식 결과 벡터 VUTR의 크기 |VUTR|과 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|과의 승산값의 평방근 √(|VTITLE(i)||VUTR|)을 사용하여 구해진다.
여기서, 코사인 거리(D)를 구하는 수학식 1의 연산에 있어서, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|에 대신하여 사용하는 값을, 이하, 대용 크기 S(i)라고도 말한다.
제1 보정 거리(D1)는, 수학식 2를 따라서 구해진다.
[수학식 2]
D1=VUTR·VTITLE(i)/(|VUTR|S(i))
=VUTR·VTITLE(i)/(|VUTR||VUTR|×√(|VTITLE(i)|/|VUTR|))
=VUTR·VTITLE(i)/(|VUTR|√(|VTITLE(i)||VUTR|))
도 24는, 대용 크기 S(i)로서, 인식 결과 벡터 VUTR의 크기 |VUTR|와 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와의 승산값의 평방근 √(|VTITLE(i)||VUTR|)을 사용하는 경우의, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와, 대용 크기 S(i)와의 관계를 도시하는 도면이다.
또한, 도 24에서는, 인식 결과 벡터 VUTR의 크기 |VUTR|를, 5로 하고 있다.
또한, 도 24에서는, 대용 크기 S(i)로서, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|을 사용하는 경우, 즉 수학식 1의 코사인 거리(D)의 연산에 있어서, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|를 그대로 사용하는 경우의, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와, 대용 크기 S(i)와의 관계도 나타내고 있다.
인식 결과 벡터 VUTR의 크기 |VUTR|와 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|와의 승산값의 평방근 √(|VTITLE(i)||VUTR|)은 |VTITLE(i)|가 작은 경우, 즉 검색 결과 대상 단어열의 길이가 짧은 경우에는, |VTITLE(i)|보다 커지고, |VTITLE(i)|가 큰 경우, 즉 검색 결과 대상 단어열의 길이가 긴 경우에는, |VTITLE(i)|보다 작아진다.
그 결과, 수학식 2를 따라서 구해지는 제1 보정 거리(D1)는, 수학식 1을 따라서 구해지는 코사인 거리(D)에 비교하여 음성 인식 결과의 길이에 대한 검색 결과 대상 단어열의 길이로서의, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|의 차이의 영향이 적은 값, 즉 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감된 값이 된다.
제2 보정 거리는, 코사인 거리(D)를 구하는 수학식 1의 연산에 있어서, 검색 결과 대상 단어열의 길이에 비례하는, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|대신에, 인식 결과 벡터 VUTR의 크기 |VUTR|를, 대용 크기 S(i)로서 사용하여 구해진다.
따라서, 제2 보정 거리(D2)는, 수학식 3을 따라서 구해진다.
[수학식 3]
D2=VUTR·VTITLE(i)/(|VUTR|S(i))
=VUTR·VTITLE(i)/|VUTR|2
제2 보정 거리(D2)는, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|를 사용하지 않고 구해지므로, 음성 인식 결과의 길이에 대한 검색 결과 대상 단어열의 길이로서의, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|의 차이의 영향이 없는 값, 즉 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감(제거)된 값이 된다.
도 25는, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 제1 예를 나타내는 도면이다.
또한, 도 25의 시뮬레이션에서는, 일본어가 짧은 발음 「世界遺産(세카이이산)」에 대하여 올바른 음성 인식 결과 「世界遺産」(세계유산)이 얻어진 것으로 하고, 검색 결과 대상 단어열로서의 프로그램의 타이틀로서, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)와, 짧은 타이틀 「世界情勢」(세계정세)를 채용하였다.
또한, 매칭은, 표기 심볼을 사용하여 단어 단위로 행하였다.
또한, 도 25에서는, 음성 인식 결과 「世界遺産」(세계유산)의 단어 「世界/遺産」과 일치하는, 검색 결과 대상 단어열로서의 프로그램의 타이틀의 단어에는, 언더라인을 붙이고 있다.
타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)에서는, 음성 인식 결과 「世界遺産」(세계유산)에 대하여 「世界」(세계)와 「遺産」(유산)이라는 2개의 단어가 일치한다.
한편, 타이틀 「世界情勢」(세계정세)에서는, 음성 인식 결과 「世界遺産」(세계유산)에 대하여 「世界」(세계)의 1개의 단어만이 일치한다.
따라서, 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)와, 타이틀 「世界情勢」(세계정세)에서는, 음성 인식 결과 「世界遺産」(세계유산)과 일치하는 단어의 수가 많은 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도 쪽이, 타이틀 「世界情勢」(세계정세)의 유사도보다 상위가 되는 것이 적절하다.
그러나, 유사도로서, 코사인 거리(D)를 채용한 경우, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 일부 「世界遺産」(세계유산)에 일치하는 음성 인식 결과 「世界遺産」(세계유산)에 대해서는, 짧은 타이틀 「世界情勢」(세계정세)의 유사도가 0.5가 되고, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도가 0.4472가 되어, 짧은 타이틀 「世界情勢」(세계정세)의 유사도 쪽이, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도보다 상위로 된다.
즉, 유사도로서, 코사인 거리(D)를 채용한 경우에는, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 일부 「世界遺産」(세계유산)에 일치하는 짧은 음성 인식 결과 「世界遺産」(세계유산)과, 그 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)와의 길이의 차이의 영향에 의해, 음성 인식 결과 「世界遺産」(세계유산)에 대하여 적절한 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도가 상위로 되지 않는다.
한편, 유사도로서, 보정 거리를 채용한 경우, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도 쪽이, 짧은 타이틀 「世界情勢」(세계정세)의 유사도보다 상위로 된다.
즉, 유사도로서, 제1 보정 거리(D1)를 채용한 경우, 음성 인식 결과 「世界遺産」(세계유산)에 대해서는, 짧은 타이틀 「世界情勢」(세계정세)의 유사도가 0.5가 되고, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도가 0.6687이 되어, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도 쪽이, 짧은 타이틀 「世界情勢」(세계정세)의 유사도보다 상위로 된다.
또한, 유사도로서, 제2 보정 거리(D2)를 채용한 경우, 음성 인식 결과 「世界遺産」(세계유산)에 대해서는, 짧은 타이틀 「世界情勢」(세계정세)의 유사도가 0.5가 되고, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도가 1.0이 되고, 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도 쪽이, 짧은 타이틀 「世界情勢」(세계정세)의 유사도보다 상위로 된다.
이상과 같이, 유사도로서, 보정 거리를 채용한 경우에는, 긴 검색 결과 대상 단어열의 일부에 일치하는 음성 인식 결과와, 그 긴 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감되어, 음성 인식 결과 「世界遺産」(세계유산)에 대하여 적절한 긴 타이틀 「THE 世界遺産都市の遺産 スペシャルイタリアロ-マベネチア」(세계유산 도시의 유산 스페셜 이탈리아 로마 베네치아)의 유사도가 상위로 된다.
도 26은, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 제2 예를 나타내는 도면이다.
또한, 도 26의 시뮬레이션에서는, 일본어가 긴 발음 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대하여 올바른 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)가 얻어진 것으로 하고, 검색 결과 대상 단어열로서의 프로그램의 타이틀로서, 짧은 타이틀 「世界遺産」(세계유산)과, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)를 채용하였다.
또한, 매칭은, 표기 심볼을 사용하여, 단어 단위로 행하였다.
또한, 도 26에서는, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)의 단어 「世界/遺産/都市/の/遺産/イタリア/ロ-マ/ベネチア/ナポリ/フィレンツェ」(세계/유산/도시/의/유산/이탈리아/로마/베네치아/나폴리/피렌체)와 일치하는, 검색 결과 대상 단어열로서의 프로그램의 타이틀의 단어에는, 언더라인을 붙이고 있다.
타이틀 「世界遺産」(세계유산)에서는, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대하여 「世界」(세계)와 「遺産」(유산)이라는 2개의 단어가 일치한다.
한편, 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)에서는, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대하여 「世界」(세계), 「遺産」(유산), 「イタリア」(이탈리아), 및 「フィレンツェ」(피렌체)의 4개의 단어가 일치한다.
따라서, 타이틀 「世界遺産」(세계유산)과, 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)에서는, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)과 일치하는 단어의 수가 많은 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도 쪽이, 타이틀 「世界遺産」(세계유산)의 유사도보다 상위가 되는 것이 적절하다.
그러나, 유사도로서, 코사인 거리(D)를 채용한 경우, 긴 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대해서는, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도가 0.4472가 되고, 짧은 타이틀 「世界遺産」(세계유산)의 유사도가 0.4772가 되어, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도 쪽이, 짧은 타이틀 「世界遺産」(세계유산)의 유사도보다 상위로 되지 않는다.
즉, 유사도로서, 코사인 거리(D)를 채용한 경우에는, 긴 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)와, 짧은 검색 결과 대상 단어열 「世界遺産」(세계유산)과는 길이의 차이의 영향에 의해, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대하여 적절한 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도가 상위로 되지 않는다.
한편, 유사도로서, 보정 거리를 채용한 경우, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도 쪽이, 짧은 타이틀 「世界遺産」(세계유산)의 유사도보다 상위로 된다.
즉, 유사도로서, 제1 보정 거리(D1)를 채용한 경우, 긴 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대해서는, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도가 0.4229가 되고, 짧은 타이틀 「世界遺産」(세계유산)의 유사도가 0.2991이 되어, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도 쪽이, 짧은 타이틀 「世界遺産」(세계유산)의 유사도보다 상위로 된다.
또한, 유사도로서, 제2 보정 거리(D2)를 채용한 경우, 긴 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대해서는, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도가 0.4가 되고, 짧은 타이틀 「世界遺産」(세계유산)의 유사도가 0.2가 되어, 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도 쪽이, 짧은 타이틀 「世界遺産」(세계유산)의 유사도보다 상위로 된다.
이상과 같이, 유사도로서, 보정 거리를 채용한 경우에는, 긴 음성 인식 결과와, 짧은 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감되어, 음성 인식 결과 「世界遺産都市の遺産 イタリアロ-マベネチアナポリフィレンツェ」(세계유산 도시의 유산 이탈리아 로마 베네치아 나폴리 피렌체)에 대하여 적절한 긴 타이틀 「探險ロマン世界遺産 イタリアフィレンツェ 歷史地區」(탐험 로망 세계유산 이탈리아 피렌체 역사지구)의 유사도가 상위로 된다.
도 27은, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 제3 예를 나타내는 도면이다.
또한, 도 27의 시뮬레이션에서는, 영어가 짧은 발음 "World Heritage"에 대하여 올바른 음성 인식 결과 "World Heritage"가 얻어진 것으로 하고, 검색 결과 대상 단어열로서의 프로그램의 타이틀로서, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"와, 짧은 타이틀 "World Affairs"를 채용하였다.
또한, 매칭은, 표기 심볼을 사용하여 단어 단위로 행하였다.
또한, 도 27에서는, 음성 인식 결과 "World Heritage"의 단어 "World/Heritage"와 일치하는, 검색 결과 대상 단어열로서의 프로그램의 타이틀의 단어에는, 언더라인을 붙이고 있다.
타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"에서는, 음성 인식 결과 "World Heritage"에 대하여 "World"와 "Heritage" 2개의 단어가 일치한다.
한편, 타이틀 "World Affairs"에서는, 음성 인식 결과 "World Heritage"에 대하여 "World" 1개의 단어만이 일치한다.
따라서, 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"와, 타이틀 "World Affairs"에서는, 음성 인식 결과 "World Heritage"와 일치하는 단어의 수가 많은 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도 쪽이, 타이틀 "World Affairs"의 유사도보다 상위가 되는 것이 적절하다.
그러나, 유사도로서, 코사인 거리(D)를 채용한 경우, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 일부 "World Heritage"에 일치하는 음성 인식 결과 "World Heritage"에 대해서는, 짧은 타이틀 "World Affairs"의 유사도가 0.5가 되고, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도가 0.4472가 되고, 짧은 타이틀 "World Affairs"의 유사도 쪽이, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도보다 상위로 된다.
즉, 유사도로서, 코사인 거리(D)를 채용한 경우에는, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 일부 "World Heritage"에 일치하는 짧은 음성 인식 결과 "World Heritage"와, 그 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"와의 길이의 차이의 영향에 의해, 음성 인식 결과 "World Heritage"에 대하여 적절한 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도가 상위로 되지 않는다.
한편, 유사도로서, 보정 거리를 채용한 경우, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도 쪽이, 짧은 타이틀 "World Affairs"의 유사도보다 상위로 된다.
즉, 유사도로서, 제1 보정 거리(D1)를 채용한 경우, 음성 인식 결과 "World Heritage"에 대해서는, 짧은 타이틀 "World Affairs"의 유사도가 0.5가 되고, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도가 0.6687이 되고, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도 쪽이, 짧은 타이틀 "World Affairs"의 유사도보다 상위로 된다.
또한, 유사도로서, 제2 보정 거리(D2)를 채용한 경우, 음성 인식 결과 "World Heritage"에 대해서는, 짧은 타이틀 "World Affairs"의 유사도가 0.5가 되고, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도가 1.0이 되고, 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도 쪽이, 짧은 타이틀 "World Affairs"의 유사도보다 상위로 된다.
이상과 같이, 유사도로서, 보정 거리를 채용한 경우에는, 긴 검색 결과 대상 단어열의 일부에 일치하는 음성 인식 결과와, 그 긴 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감되어, 음성 인식 결과 "World Heritage"에 대하여 적절한 긴 타이틀 "The World Heritage Special Program on Italian Cities Rome Venice"의 유사도가 상위로 된다.
도 28은, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리(D), 제1 보정 거리(D1), 및 제2 보정 거리(D2)를 채용한 경우의 매칭의 시뮬레이션 결과의 제4 예를 나타내는 도면이다.
또한, 도 28의 시뮬레이션에서는, 영어가 긴 발음 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대하여 올바른 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"이 얻어진 것으로 하고, 검색 결과 대상 단어열로서의 프로그램의 타이틀로서, 짧은 타이틀"World Heritage"와, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"를 채용하였다.
또한, 매칭은, 표기 심볼을 사용하여 단어 단위로 행하였다.
또한, 도 28에서는, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"의 단어 "Unesco/World/Heritage/Listed/Sites/Italy/Rome/Venice/Naples/Florence"와 일치하는, 검색 결과 대상 단어열로서의 프로그램의 타이틀의 단어에는, 언더라인을 붙이고 있다.
타이틀 "World Heritage"에서는, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대하여 "World"와 " Heritage"와의 2개의 단어가 일치한다.
한편, 타이틀 "World Heritage Sites in Italy, Florence, Historic District"에서는, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대하여 "World", "Heritage", "Italy", 및 "Florence"의 4개의 단어가 일치한다.
따라서, 타이틀 "World Heritage"와, 타이틀 "World Heritage Sites in Italy, Florence, Historic District"에서는, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"와 일치하는 단어의 수가 많은 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도 쪽이, 타이틀 "World Heritage"의 유사도보다 상위가 되는 것이 적절하다.
그러나, 유사도로서, 코사인 거리(D)를 채용한 경우, 긴 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대해서는, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도가 0.4472가 되고, 짧은 타이틀 "World Heritage"의 유사도가 0.4772가 되고, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도 쪽이, 짧은 타이틀 "World Heritage"의 유사도보다 상위로 되지 않는다.
즉, 유사도로서, 코사인 거리(D)를 채용한 경우에는, 긴 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"와, 짧은 검색 결과 대상 단어열 "World Heritage"와의 길이의 차이의 영향에 의해, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대하여 적절한 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도가 상위로 되지 않는다.
한편, 유사도로서, 보정 거리를 채용한 경우, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도 쪽이, 짧은 타이틀 "World Heritage"의 유사도보다 상위로 된다.
즉, 유사도로서, 제1 보정 거리(D1)를 채용한 경우, 긴 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대해서는, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도가 0.4229가 되고, 짧은 타이틀 "World Heritage"의 유사도가 0.2991이 되고, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도 쪽이, 짧은 타이틀 "World Heritage"의 유사도보다 상위로 된다.
또한, 유사도로서, 제2 보정 거리(D2)를 채용한 경우, 긴 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대해서는, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도가 0.4가 되고, 짧은 타이틀 "World Heritage"의 유사도가 0.2가 되고, 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도 쪽이, 짧은 타이틀 "World Heritage"의 유사도보다 상위로 된다.
이상과 같이, 유사도로서, 보정 거리를 채용한 경우에는, 긴 음성 인식 결과와, 짧은 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감되어, 음성 인식 결과 "Unesco World Heritage Listed Sites Italy Rome Venice Naples Florence"에 대하여 적절한 긴 타이틀 "World Heritage Sites in Italy, Florence, Historic District"의 유사도가 상위로 된다.
따라서, 보정 거리에 의하면, 음성 인식 결과와 검색 결과 대상 단어열과의 길이의 차이의 영향이 경감됨으로써, 입력 음성에 대응하는 단어열의 검색을, 로버스트로 행할 수 있고, 입력 음성에 대응하는 단어열의 검색의 정밀도의 열화를 방지할 수 있다.
[음성 인식부(51)의 구성예]
도 29는, 도 9 및 도 10의 음성 인식부(51)의 구성예를 도시하는 블록도이다.
도 29에 있어서, 음성 인식부(51)는, 인식부(81), 사전 기억부(82), 음향 모델 기억부(83), 언어 모델 기억부(84), 및 언어 모델 생성부(85)를 갖는다.
인식부(81)에는, 입력 음성이 공급된다.
인식부(81)는, 거기에 공급되는 입력 음성을, 사전 기억부(82), 음향 모델 기억부(83), 및 언어 모델 기억부(84)를 필요에 따라서 참조하면서, 예를 들어 HMM법 등에 기초하여 음성 인식하고, 입력 음성의 음성 인식 결과를 출력한다.
즉, 사전 기억부(82)는, 음성 인식의 결과가 대상으로 되는 각 단어(어휘)에 대해서, 그 발음에 관한 정보(음운 정보) 등이 기술된 단어 사전을 기억한다.
음향 모델 기억부(83)는, 음성 인식을 행하는 음성의 언어에 있어서의 개개의 음소나 음절 등의 음향적인 특징을 표현하는 음향 모델을 기억한다. 여기에서는, HMM법에 기초하여 음성 인식을 행하므로, 음향 모델로서는, 예를 들어 HMM이 사용된다.
언어 모델 기억부(84)는, 사전 기억부(82)의 단어 사전에 등록되어 있는 각 단어가, 어떻게 연쇄하는지(연결되는지)를 기술한 문법 규칙인 언어 모델을 기억한다. 여기서, 언어 모델로서는, 예를 들어 문맥 자유 문법(CFG)이나, 통계적인 단어 연쇄 확률(N-gram) 등의 문법 규칙을 사용할 수 있다.
인식부(81)는, 사전 기억부(82)의 단어 사전을 참조함으로써, 음향 모델 기억부(83)에 기억되어 있는 음향 모델을 접속함으로써, 단어의 음향 모델(단어 모델)을 구성한다.
또한, 인식부(81)는, 몇 개의 단어 모델을, 언어 모델 기억부(84)에 기억된 언어 모델을 참조함으로써 접속하고, 그렇게 하여 접속된 단어 모델을 사용하여, HMM법에 의해 입력 음성을 인식한다.
즉, 인식부(81)는, 거기에 공급되는 입력 음성의 특징량(예를 들어, 켑스트럼 등)이 관측되는 뛰어남도가 가장 높은 단어 모델의 계열을 검출하고, 그 단어 모델의 계열에 대응하는 단어열을, 음성 인식 결과로서 출력한다.
구체적으로는, 인식부(81)는, 접속된 단어 모델에 대응하는 단어열에 대해서, 입력 음성의 특징량의 출현 확률을 누적하고, 그 누적값을, 입력 음성의 특징량이 관측되는 뛰어남도인 인식 스코어로서, 그 인식 스코어를 가장 높게 하는 단어열을, 음성 인식 결과로서 출력한다.
인식 스코어는, 일반적으로, 음향 모델 기억부(83)에 기억된 음향 모델에 의해 부여되는 음향적인 뛰어남도(이하, 음향 스코어라고도 함)와, 언어 모델 기억부(84)에 기억된 언어 모델에 의해 부여되는 언어적인 우도(尤度)(이하, 언어 스코어라고도 함)를 종합적으로 평가함으로써 구해진다.
즉, 음향 스코어로서는, 예를 들어 HMM법에 의한 경우에는, 단어 모델을 구성하는 음향 모델에서, 입력 음성의 특징량이 관측될 확률이, 예를 들어 단어마다 계산된다. 또한, 언어 스코어로서는, 예를 들어 바이그램에 의한 경우에는, 주목하고 있는 단어와 그 단어의 직전의 단어가 연쇄(연접)할 확률이 구해진다.
그리고, 각 단어에 관한 음향 스코어와 언어 스코어를 종합적으로 평가하고, 인식 스코어가 구해지고, 그 인식 스코어에 기초하여 음성 인식 결과가 확정된다.
여기서, 어느 K개의 단어로 이루어지는 단어열에 있어서의 k번째의 단어를 Wk라 하고, 그 단어 Wk의 음향 스코어를 A(Wk), 언어 스코어를 L(Wk)라고 각각 표현할 때, 그 단어열의 인식 스코어 S는, 예를 들어 수학식 4를 따라서 계산된다.
[수학식 4]
S=Σ(A(Wk)+Ck×L(Wk))
수학식 4에 있어서, Σ은, k를 1에서 K로 바꿔서 총합을 취하는 것을 표현한다. 또한, Ck는, 단어 Wk의 언어 스코어 L(Wk)에 거는 가중치를 표현한다.
인식부(81)에서는, 예를 들어 수학식 4로 나타내는 인식 스코어가, 상위 M(M은 1 이상의 정수) 정도 이내의 단어열 W1, W2, …, WK가 구해지고, 그 단어열 W1, W2, …, WK가, 음성 인식 결과로서 출력된다.
여기서, 입력 음성 X가, 단어열 W일(조건부) 확률을, P(W|X)라고 표현하면, 확률 P(W|X)는 베이즈의 정리에 의해, 입력 음성 X가 발생할 확률 P(X), 단어열 W가 발생할 확률 P(W), 및 단어열 W를 발음했을 때에 입력 음성 X가 관측될 확률 P(X|W)을 사용하여, 식 P(W|X)=P(W)P(X|W)/P(X)로 표현된다.
식 P(W|X)=P(W)P(X|W)/P(X)에 있어서, 확률 P(W|X)가 인식 스코어에, 확률 P(W)가 언어 스코어에, 확률 P(X|W)가 음향 스코어에, 각각 상당한다.
또한, 사전 기억부(82)의 단어 사전에, T개의 단어가 등록되어 있는 것으로 하면, 그 T개의 단어를 사용하여 구성할 수 있는 T개의 단어의 배열은, TT만큼 존재한다. 따라서, 단순하게는, 인식부(81)에서는, 이 TT만큼의 단어열을 평가하고(인식 스코어를 계산하고), 그 안에서 입력 음성에 가장 적합한 것(인식 스코어가 상위 M 이내인 것)을 결정해야 한다.
그리고, 단어 사전에 등록하는 단어수 T가 증가하면, 그 단어수분의 단어의 배열의 수는, 단어수의 단어수 승만큼이 되기 때문에, 평가의 대상으로 해야 하는 단어열은, 방대한 수가 된다.
또한, 일반적으로는, 입력 음성 중에 포함되는 단어의 수는 미지이기 때문에, T개의 단어의 배열로 이루어지는 단어열뿐만 아니라, 1단어, 2단어, ···, T-1단어로 되는 단어열도, 평가의 대상으로 할 필요가 있다. 따라서, 평가해야 할 단어열의 수는, 더욱 방대한 것이 되기 때문에, 신속한 음성 인식을 행하기 위해서는, 그러한 방대한 단어열 중에서 음성 인식 결과로서 확실한 듯한 것을 효율적으로 결정할 필요가 있다.
따라서, 인식부(81)에서는, 예를 들어 어느 인식 가설로서의 단어열에 관한 음향 스코어를 구하는 과정에 있어서, 그 도중에 얻어지는 음향 스코어가 소정의 임계값 이하로 된 경우에, 그 인식 가설의 인식 스코어의 계산을 끊는 음향적인 가지치기나, 언어 스코어에 기초하여, 인식 스코어의 계산의 대상으로 하는 인식 가설을 좁히는 언어적인 가지치기가 행해진다.
그런데, 도 9 및 도 10의 레코더에 있어서, 상술한 바와 같이, 유저가 발음한 입력 음성에 따라, 녹화 프로그램 중에서 유저가 원하는 프로그램을 검색하여 재생하는 경우나, EPG에서 유저가 원하는 프로그램을 검색하여 녹화 예약을 할 경우에는, 유저는, 입력 음성으로서, 프로그램의 타이틀이나, 출연자명, 상세 정보에 포함되는 기술 등의, 프로그램의 메타데이터(EPG의 구성 요소이기도 함)를 발음하는 것이 예상된다.
그리고, 프로그램의 메타데이터, 즉 예를 들어, 프로그램의 타이틀에는, 조어나, 메인 캐스터의 이름(예명 등), 특유한 표현 등의, 신문에 기재되어 있는 기사로 일반적으로 사용되고 있는 단어열이 아닌 단어열이 포함된다.
이러한 프로그램의 타이틀의 발음의 음성 인식을, 신문에 기재되어 있는 단어열을 사용하여 생성된 언어 모델인, 범용의 언어 모델을 사용하여 행하면, 프로그램의 타이틀에 일치하는 인식 가설의 언어 스코어로서, 높은 값이 얻어지지 않는다.
그 결과, 프로그램의 타이틀에 일치하는 인식 가설이, 음성 인식 결과로서 얻어지지 않고, 음성 인식의 정밀도가 열화된다.
따라서, 도 29의 음성 인식부(51)는, 언어 모델 생성부(85)를 갖고 있다.
언어 모델 생성부(85)는, 도 9 및 도 10의 음성 검색 장치(50)의 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열을 사용하여, 언어 모델을 생성한다.
여기서, 상술한 바와 같이, 검색 결과 대상 기억부(53)에는, 기록 매체(63)에 기록된 EPG를 구성하는 구성 요소인 프로그램의 타이틀이나, 출연자명, 상세 정보 등, 및 기록 매체(63)에 녹화된 녹화 프로그램의 메타데이터인, 프로그램의 타이틀이나, 출연자명, 상세 정보 등이, 검색 결과 대상 단어열로서 기억된다.
도 30은, 검색 결과 대상 기억부(53)에 기억되는 검색 결과 대상 단어열로서의 프로그램의 메타데이터의 예를 나타내는 도면이다.
프로그램의 메타 데이터로서는, 예를 들어 프로그램의 타이틀, 출연자명, 및 상세 정보 등이 있다.
언어 모델 생성부(85)에서는, 유저가 입력 음성으로서(일부를) 발음하는 것이 예상되는, 검색 결과 대상 단어열로서의 프로그램의 타이틀이나, 출연자명, 상세 정보 등을 사용하여, 말하자면, 프로그램의 검색에 전용 언어 모델이 생성된다.
또한, 검색 결과 대상 단어열이, EPG를 구성하는 구성 요소(프로그램의 메타데이터)인, 프로그램의 타이틀이나, 출연자명, 상세 정보 등으로서의 단어열일 경우에는, 검색 결과 대상 단어열은, 프로그램의 타이틀이나, 출연자명, 상세 정보 등의 필드로 분류되어 있는 것이 가능하지만, 이러한 필드로 분류되어 있는 검색 결과 대상 단어열을 사용하는 전용 언어 모델의 생성에서는, 각 검색 결과 대상 단어열이, 어느 필드에 속할지를 구별하지 않고, 1개의 전용 언어 모델을 생성할 수도 있고, 각 필드의 검색 결과 대상 단어열을 사용하여, 필드마다 언어 모델을 생성하고, 그 필드마다 언어 모델을 삽입하고, 1개의 전용 언어 모델을 생성할 수도 있다.
언어 모델 생성부(85)에서 생성된 전용 언어 모델은, 언어 모델 기억부(84)에 공급되어 기억된다.
따라서, 인식부(81)에서는, 그러한 전용 언어 모델을 사용하여, 언어 스코어가 구해지므로, 범용의 언어 모델을 사용하는 경우에 비교하여 음성 인식의 정밀도를 향상시킬 수 있다.
또한, 도 29에서는, 언어 모델 생성부(85)를, 음성 인식부(51)의 내부에 설치하도록 했지만, 언어 모델 생성부(85)는, 음성 인식부(51)의 외부에 설치하는 것이 가능하다.
또한, 언어 모델 기억부(84)에는, 언어 모델 생성부(85)가 생성하는 언어 모델과는 별도로, 범용의 언어 모델을 기억시켜 둘 수 있다.
도 31은, 도 29의 언어 모델 생성부(85)에서의 언어 모델의 생성 처리를 설명하는 도면이다.
언어 모델 생성부(85)는, 검색 결과 대상 기억부(53; 도 9)에 기억된 각 검색 결과 대상 단어열을 형태소 해석한다. 또한, 언어 모델 생성부(85)는, 검색 결과 대상 단어열의 형태소 해석 결과를 사용하여, 예를 들어 단어A 뒤에 단어B가 이어질 확률을 표현하는 바이그램 등의 언어 모델을 학습하고, 전용 언어 모델로서, 언어 모델 기억부(84)에 공급하여 기억시킨다.
또한, 언어 모델 생성부(85)에 있어서, EPG의 구성 요소를, 검색 결과 대상 단어열로서 사용하여, 전용 언어 모델을 생성할 경우, 예를 들어 소정의 요일이나, 최신의 1주일 등의, 향후의 방송이 예정되어 있는 소정의 기간의 EPG를 사용하여, 전용 언어 모델을 생성할 수 있다.
도 9의 레코더에 있어서, 유저가 발음한 입력 음성에 따라, EPG로부터, 유저가 원하는 프로그램을 검색하여 녹화 예약을 할 경우에, 유저가, 소정의 요일에 방송되는 프로그램에 흥미를 가지고 있는 것을 알고 있을 때에는, 소정의 요일의 EPG를 사용하여, 전용 언어 모델을 생성함으로써, 소정의 요일에 방송되는 프로그램에 관한 음성 인식의 정밀도를 향상시킬 수 있고, 나아가서는, 그 소정의 요일에 방송되는 프로그램이 검색 결과 단어열로서 출력되기 쉬워진다.
또한, 도 9의 레코더에 있어서, 유저가 발음한 입력 음성에 따라, EPG로부터, 유저가 원하는 프로그램을 검색하여 녹화 예약을 할 경우에, 최신의 1주일의 EPG를 사용하여, 전용 언어 모델을 생성함으로써, 최신의 1주일 사이에 방송되는 프로그램에 관한 음성 인식의 정밀도를 향상시킬 수 있고, 나아가서는, 그 최신의 1주일 사이에 방송되는 프로그램이, 검색 결과 단어열로서 출력되기 쉬워진다.
또한, 언어 모델 생성부(85)에 있어서, EPG의 구성 요소를, 검색 결과 대상 단어열로서 사용하여, 전용 언어 모델을 생성할 경우에는, 최근의 EPG, 즉 방송 시각이 보다 가까운 프로그램의 EPG의 구성 요소인 검색 결과 단어열에 있어서의 단어의 배열 정도, 높은 언어 스코어가 부여되게, 전용 언어 모델을 생성할 수 있다.
이 경우, 방송 시각이 보다 가까운 프로그램에 관한 음성 인식의 정밀도를 향상시킬 수 있고, 나아가서는, 방송 시각이 보다 가까운 프로그램이, 검색 결과 단어열로서 출력되기 쉬워진다.
그런데, 검색 결과 대상 단어열이, 상술한 바와 같이, 복수의 필드로 분류 되어 있는 경우에, 그 검색 결과 대상 단어열에서, 1개의 전용 언어 모델을 생성하고, 그 1개의 전용 언어 모델을 사용하여, 음성 인식을 행하면, 다른 필드의 검색 결과 대상 단어열의 일부씩을 배열한 인식 가설의 언어 스코어가 높아질 경우가 있다.
즉, 예를 들어 상술한 바와 같이, 프로그램의 타이틀, 출연자명, 및 상세 정보의 필드로 분류되어 있는 검색 결과 대상 단어열을 사용하여 생성된 1개의 전용 언어 모델을 사용하여 음성 인식을 행하면, 예를 들어 어떤 프로그램A의 타이틀의 일부와, 다른 프로그램B의 출연자의 출연자명의 일부를 배열한 단어열이 인식 가설이 되었을 때에, 그 인식 가설의 언어 스코어가 높아질 경우가 있다.
그러나, 프로그램A의 타이틀의 일부와, 프로그램B의 출연자명의 일부를 배열한 단어열은, 검색 결과 대상 단어열인, EPG의 구성 요소에는 존재하지 않으므로, 그러한 단어열이, 음성 인식 결과로 될 수 있는, 언어 스코어가 높은 인식 가설이 되는 것은 바람직하지 않다.
또한, 예를 들어 상술한 바와 같이, 프로그램의 타이틀, 출연자명, 및 상세 정보의 필드로 분류되어 있는 검색 결과 대상 단어열을, 특별히 구별하지 않고 사용하여, 매칭부(56; 도 9)와 매칭을 행하는 경우에는, 유저가, 예를 들어 프로그램의 타이틀을 발음했을 때에도, 프로그램의 타이틀의 필드의 검색 결과 대상 단어열뿐만 아니라, 모든 필드의 검색 결과 대상 단어열과, 유저의 발음의 음성 인식 결과와의 매칭이 행해지고, 그 음성 인식 결과에 매치하는 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력된다.
따라서, 이 경우, 유저가 타이틀을 발음한 프로그램과 관계없는 프로그램, 즉 예를 들어, 유저가 발음한 프로그램의 타이틀에 유사하지 않은 타이틀의 프로그램이기는 하지만, 유저가 발음한 프로그램의 타이틀에 포함되는 단어열에 유사한(일치하는 경우도 포함함) 단어열을, 검색 결과 대상 단어열로서의 출연자명이나 상세 정보에 포함하는 프로그램이, 검색 결과 단어열로서 출력되는 경우가 있다.
이상과 같이, 유저가 타이틀을 발음한 프로그램과 관계없는 프로그램이, 검색 결과 단어열로서 출력되는 것은, 그 검색 결과 단어열로서의 프로그램 중에서 녹화 예약을 행하는 프로그램을 찾아서 선택하고자 하는 유저에게 번거로움을 느끼게 할 경우가 있다.
따라서, 매칭부(56; 도 9)에서는, 검색 결과 대상 단어열이, 복수의 필드로 분류되어 있는 경우에는, 음성 인식 결과와의 매칭을, 유저가 희망하는 필드 등의 소정의 필드의 검색 결과 대상 단어열만을 대상으로 하여 행하도록 할 수 있다.
그러나, 소정의 필드의 검색 결과 대상 단어열만을 대상으로 하고, 음성 인식 결과와의 매칭을 행하는 경우에도, 도 31의 전용 언어 모델을 사용한 음성 인식에서는, 예를 들어 상술한 바와 같이, 있는 프로그램A의 타이틀의 일부와, 다른 프로그램B의 출연자의 출연자명의 일부를 배열한 단어열이 인식 가설이 되고, 그 인식 가설의 언어 스코어가 높아지고, 나아가서는, 그 인식 가설이, 음성 인식 결과가 될 경우가 있다.
그리고, 그러한 음성 인식 결과와의 매칭을, 소정의 필드의 검색 결과 대상 단어열만을 대상으로 해도, 유저가 녹화 예약을 희망하는 프로그램이 검색될 가능성이 높다고는 말할 수 없다.
따라서, 도 29의 음성 인식부(51)에서는, 언어 모델 생성부(85)는, 필드마다, 그 필드의 검색 결과 대상 단어열을 사용하여, 언어 모델을 생성할 수 있고, 인식부(81)는 필드에 대해서, 그 필드의 언어 모델을 사용하여 음성 인식을 행하고, 필드마다의 음성 인식 결과를 구할 수 있다.
또한, 이 경우, 매칭부(56; 도 9)에서는, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행할 수도 있고, 필드의 구별없이 행할 수도 있다.
도 32는, 도 29의 언어 모델 생성부(85)에서의 필드마다의 언어 모델의 생성 처리를 설명하는 도면이다.
지금, 검색 결과 대상 기억부(53; 도 9)에 기억되어 있는 검색 결과 대상 단어열이, 프로그램의 타이틀, 출연자명, 및 상세 정보 각각의 필드로 분류되어 있는 것으로 하면, 언어 모델 생성부(85)는, 검색 결과 대상 기억부(53)에 기억된 프로그램의 타이틀의 필드(이하, 프로그램 타이틀 필드라고도 함)의 검색 결과 대상 단어열을 형태소 해석한다.
또한, 언어 모델 생성부(85)는, 프로그램 타이틀 필드의 검색 결과 대상 단어열의 형태소 해석 결과를 사용하여, 예를 들어 바이그램 등의 언어 모델을 학습함으로써, 프로그램 타이틀 필드용의 언어 모델을 생성하고, 언어 모델 기억부(84)에 공급하여 기억시킨다.
또한, 언어 모델 생성부(85)는, 검색 결과 대상 기억부(53)에 기억된 출연자명의 필드(이하, 출연자명 필드라고도 함)의 검색 결과 대상 단어열을 형태소 해석한다.
또한, 언어 모델 생성부(85)는, 출연자명의 검색 결과 대상 단어열의 형태소 해석 결과를 사용하여, 예를 들어 바이그램 등의 언어 모델을 학습함으로써, 출연자 필드용의 언어 모델을 생성하고, 언어 모델 기억부(84)에 공급하여 기억시킨다.
마찬가지로 하여, 언어 모델 생성부(85)는, 검색 결과 대상 기억부(53)에 기억된 상세 정보의 필드(이하, 상세 정보 필드라고도 함)의 검색 결과 대상 단어열을 사용하여, 상세 정보 필드용의 언어 모델을 생성하고, 언어 모델 기억부(84)에 공급하여 기억시킨다.
도 33은, 각 필드의 언어 모델을 사용하여 음성 인식을 행하고, 필드마다의 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행하는 경우의, 도 9(및 도 10)의 음성 검색 장치(50)의 처리를 설명하는 도면이다.
인식부(81)는, 입력 음성의 음성 인식을, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델 각각을 사용하여, 독립적으로 행한다.
인식부(81)는, 프로그램 타이틀 필드용의 언어 모델을 사용한 음성 인식에서는, 인식 스코어가 상위인 1 이상의 인식 가설을 구하고, 프로그램 타이틀 필드의 음성 인식 결과로 한다.
또한, 인식부(81)는, 출연자명 필드용의 언어 모델을 사용한 음성 인식에서도, 인식 스코어가 상위인 1 이상의 인식 가설을 구하고, 출연자명 필드의 음성 인식 결과로 한다.
마찬가지로, 인식부(81)는, 상세 정보 필드용의 언어 모델을 사용한 음성 인식에서도, 인식 스코어가 상위인 1 이상의 인식 가설을 구하고, 상세 정보 필드의 음성 인식 결과로 한다.
그리고, 매칭부(56; 도 9)는 프로그램 타이틀 필드의 음성 인식 결과와의 매칭을, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열 중 프로그램 타이틀 필드의 검색 결과 대상 단어열만을 대상으로 하여 행한다.
또한, 매칭부(56)는, 출연자명 필드의 음성 인식 결과와의 매칭을, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열 중 출연자명 필드의 검색 결과 대상 단어열만을 대상으로 하여 행한다.
마찬가지로, 매칭부(56)는, 상세 정보 필드의 음성 인식 결과와의 매칭을, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열 중 상세 정보 필드의 검색 결과 대상 단어열만을 대상으로 하여 행한다.
그리고, 출력부(57; 도 9)는 필드마다, 매칭 결과에 기초하여, 음성 인식 결과와의 유사도(예를 들어, 코사인 거리나 보정 거리 등)가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 33에서는, 입력 음성 「世界遺産(세카이이산)」에 대하여 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과로서, 모두, 「世界遺産(세카이이산)」이 요구되고 있다.
그리고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭이, 필드마다 행해지고, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 검색 결과 단어열로서, 유사도가 상위 3위 이내인 검색 결과 대상 단어열이 출력된다.
또한, 도 33에서는, 검색 결과 단어열로서의 검색 결과 대상 단어열에 있어서, 발음 심볼이, 음성 인식 결과와 매치하는 부분에는, 언더라인을 붙이고 있다.
출력부(57; 도 9)에서는, 필드마다, 음성 인식 결과와의 유사도에 의해, 검색 결과 대상 단어열을 순위 부여하고, 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력하는 것 외에, 필드에 관계없이(모든 필드에 걸쳐), 검색 결과 대상 단어열을 순위 부여하는, 말하자면 종합 순위의 순위 부여를 행하고, 종합 순위가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력할 수 있다.
도 34는, 출력부(57)의, 종합 순위를 구하는 부분의 구성예를 도시하는 블록도이다.
도 34에 있어서, 출력부(57)는, 종합 스코어 계산부(91)를 갖는다.
종합 스코어 계산부(91)에는, 음성 인식부(51)에서 구해지는, 각 필드의 음성 인식 결과의 신뢰성을 표현하는 음성 인식 신뢰도가 공급된다.
여기서, 음성 인식 신뢰도로서는, 예를 들어 인식 스코어를 채용할 수 있다.
또한, 종합 스코어 계산부(91)에는, 매칭부(56)에서 구해지는, 각 필드의 검색 결과 대상 단어열의 유사도가 공급된다.
종합 스코어 계산부(91)는, 필드마다, 음성 인식 결과의 음성 인식 신뢰도와, 검색 결과 대상 단어열의 유사도를, 종합적으로 평가하고, 검색 결과 대상 단어열이, 입력 음성에 대응하는 단어열에 매치하는 정도를 표현하는 종합 스코어를 구한다.
즉, 어느 검색 결과 대상 단어열을, 주목 단어열로 하여, 그 주목 단어열에 주목하면, 종합 스코어 계산부(91)는, 음성 인식 결과의 음성 인식 신뢰도, 및 그 음성 인식 결과와 주목 단어열과의 유사도 각각을, 필요에 따라, 예를 들어 0.0 내지 1.0의 범위의 값으로 정규화한다.
또한, 종합 스코어 계산부(91)는, 음성 인식 결과의 음성 인식 신뢰도, 및 그 음성 인식 결과와 주목 단어열과의 유사도의 가중 평균값이나, 상승 평균값 등을, 주목 단어열의 종합 스코어로서 구한다.
그리고, 종합 스코어 계산부(91)는, 종합 스코어가 높은 순서대로, 검색 결과 대상 단어열에 대하여 순위를 붙인다.
도 35는, 도 34의 종합 스코어 계산부(91)의 구성예를 도시하는 블록도이다.
도 35에 있어서, 종합 스코어 계산부(91)는, 프로그램 타이틀 종합 스코어 계산부(92), 출연자명 종합 스코어 계산부(93), 상세 정보 종합 스코어 계산부(94), 및 스코어 비교 순위 부여부(95)를 갖는다.
프로그램 타이틀 종합 스코어 계산부(92)에는, 음성 인식부(51)에서 구해지는, 프로그램 타이틀 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 매칭부(56)에서 구해지는, 프로그램 타이틀 필드의 음성 인식 결과와, 프로그램 타이틀 필드의 검색 결과 대상 단어열과의 유사도가 공급된다.
프로그램 타이틀 종합 스코어 계산부(92)는, 프로그램 타이틀 필드의 검색 결과 대상 단어열을, 순차, 주목 단어열로 하여, 프로그램 타이틀 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 그 음성 인식 결과와 주목 단어열과의 유사도를 사용하여, 주목 단어열의 종합 스코어를 구하고, 스코어 비교 순위 부여부(95)에 공급한다.
출연자명 종합 스코어 계산부(93)에는, 음성 인식부(51)에서 구해지는, 출연자명 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 매칭부(56)에서 구해지는, 출연자명 필드의 음성 인식 결과와, 출연자명 필드의 검색 결과 대상 단어열과의 유사도가 공급된다.
출연자명 종합 스코어 계산부(93)는, 출연자명 필드의 검색 결과 대상 단어열을, 순차, 주목 단어열로 하여, 출연자명 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 그 음성 인식 결과와 주목 단어열과의 유사도를 사용하여, 주목 단어열의 종합 스코어를 구하고, 스코어 비교 순위 부여부(95)에 공급한다.
상세 정보 종합 스코어 계산부(94)에는, 음성 인식부(51)에서 구해지는, 상세 정보 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 매칭부(56)에서 구해지는, 상세 정보 필드의 음성 인식 결과와, 상세 정보 필드의 검색 결과 대상 단어열과의 유사도가 공급된다.
상세 정보 종합 스코어 계산부(94)는, 상세 정보 필드의 검색 결과 대상 단어열을, 순차, 주목 단어열로 하여, 상세 정보 필드의 음성 인식 결과의 음성 인식 신뢰도, 및 그 음성 인식 결과와 주목 단어열과의 유사도를 사용하여, 주목 단어열의 종합 스코어를 구하고, 스코어 비교 순위 부여부(95)에 공급한다.
스코어 비교 순위 부여부(95)는, 프로그램 타이틀 종합 스코어 계산부(92), 출연자명 종합 스코어 계산부(93), 및 상세 정보 종합 스코어 계산부(94) 각각으로부터의 종합 스코어를 비교하고, 오름차순으로 배열하고, 종합 스코어가 높은 순서대로, 검색 결과 대상 단어열에 종합 순위를 붙인다.
그리고, 출력부(57)는, 종합 순위가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 33에서는, 인식부(81)에 있어서, 각 필드의 언어 모델을 사용하여 음성 인식을 행하고, 필드마다의 음성 인식 결과를 구했지만, 인식부(81)에서는, 모든 필드에 걸치는, 말하자면 종합적인 음성 인식 결과를 구할 수 있다.
도 36은, 각 필드의 언어 모델을 사용하여, 일본어의 입력 음성의 음성 인식을 행하고, 모든 필드에 걸치는 종합적인 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을 필드마다 행하는 경우의, 도 9의 음성 검색 장치(50)의 처리를 설명하는 도면이다.
도 36에서도, 도 33의 경우와 마찬가지로, 인식부(81)는, 일본어의 입력 음성의 음성 인식을, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델 각각을 사용하여, 독립적으로 행하고, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과를 구한다.
또한, 인식부(81)는, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과 모두 중에서 인식 스코어가 상위인 1 이상의 음성 인식 결과를 검출하고, 그 음성 인식 결과를, 매칭부(56)에서의 매칭에 사용하는, 말하자면 종합적인 음성 인식 결과로 한다.
매칭부(56; 도 9)는 종합적인 음성 인식 결과와의 매칭을, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열 중 프로그램 타이틀 필드의 검색 결과 대상 단어열, 출연자명 필드의 검색 결과 대상 단어열, 및 상세 정보 필드의 검색 결과 대상 단어열 각각을 대상으로 하여 행한다.
그리고, 출력부(57; 도 9)는 필드마다, 매칭 결과에 기초하여, 음성 인식 결과와의 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 36에서는, 일본어의 입력 음성 「世界遺産(세카이이산)」에 대하여 종합적인 음성 인식 결과로서, 「世界遺産」(세계유산)이 요구되고 있다.
그리고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭이, 필드마다 행해지고, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 검색 결과 단어열로서, 유사도가 상위 3위 이내인 검색 결과 대상 단어열이 출력된다.
또한, 도 36에서는, 도 33과 마찬가지로, 검색 결과 단어열로서의 검색 결과 대상 단어열에 있어서, 발음 심볼이, 음성 인식 결과와 매치하는 부분에는, 언더라인을 붙이고 있다.
도 37은, 각 필드의 언어 모델을 사용하여, 영어의 입력 음성의 음성 인식을 행하고, 모든 필드에 걸치는 종합적인 음성 인식 결과를 구하고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭을, 필드마다 행하는 경우의, 도 10의 음성 검색 장치(50)의 처리를 설명하는 도면이다.
입력 음성이 영어이어도, 도 36에서 설명한, 입력 음성이 일본어인 경우와 마찬가지의 처리가 행해진다.
즉, 인식부(81)는, 영어의 입력 음성의 음성 인식을, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델 각각을 사용하여, 독립적으로 행하고, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과를 구한다.
또한, 인식부(81)는, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과 모두 중에서 인식 스코어가 상위인 1 이상의 음성 인식 결과를 검출하고, 그 음성 인식 결과를, 매칭부(56)에서의 매칭에 사용하는, 말하자면 종합적인 음성 인식 결과로 한다.
매칭부(56; 도 10)는 종합적인 음성 인식 결과와의 매칭을, 검색 결과 대상 기억부(53; 도 10)에 기억된 검색 결과 대상 단어열 중 프로그램 타이틀 필드의 검색 결과 대상 단어열, 출연자명 필드의 검색 결과 대상 단어열, 및 상세 정보 필드의 검색 결과 대상 단어열 각각을 대상으로 하여 행한다.
그리고, 출력부(57; 도 10)는 필드마다, 매칭 결과에 기초하여, 음성 인식 결과와의 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 37에서는, 영어의 입력 음성 "World Heritage"에 대하여 종합적인 음성 인식 결과로서, "World Heritage"가 요구된다.
그리고, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭이, 필드마다 행해지고, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 검색 결과 단어열로서, 유사도가 상위 3위 이내인 검색 결과 대상 단어열이 출력된다.
또한, 도 37에서는, 도 36과 마찬가지로, 검색 결과 단어열로서의 검색 결과 대상 단어열에 있어서, 발음 심볼이, 음성 인식 결과와 매치하는 부분에는, 언더라인을 붙이고 있다.
이상과 같이, 인식부(81)가, 필드마다의 음성 인식 결과가 아니고, 종합적인 음성 인식 결과를 구하는 경우에도, 출력부(57; 도 10)에서는, 필드에 관계없이(모든 필드에 걸쳐), 검색 결과 대상 단어열을 순위 부여하는, 종합 순위의 순위 부여를 행하고, 종합 순위가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력할 수 있다.
도 38은, 인식부(81)가, 종합적인 음성 인식 결과를 구할 경우의, 출력부(57)의, 종합 순위를 구하는 부분의 구성예를 도시하는 블록도이다.
도 38에 있어서, 출력부(57)는, 유사도 비교 순위 부여부(96)를 갖는다.
유사도 비교 순위 부여부(96)에는, 매칭부(56)에서 구해지는, 각 필드의 검색 결과 대상 단어열의 유사도가 공급된다.
또한, 도 36에 있어서, 인식부(81)에서 구해지는 음성 인식 신뢰도로서의 인식 스코어는, 종합적인 음성 인식 결과의 인식 스코어이며, 필드마다 존재하는 값이 아니기 때문에, 유사도 비교 순위 부여부(96)에는, 공급되지 않는다.
유사도 비교 순위 부여부(96)는, 프로그램 타이틀 필드의 검색 결과 대상 단어열, 출연자명 필드의 검색 결과 대상 단어열, 및 상세 정보 필드의 검색 결과 대상 단어열 각각의 유사도 모두를 비교하고, 오름차순으로 배열하고, 유사도가 높은 순서대로, 검색 결과 대상 단어열에 종합 순위를 붙인다.
그리고, 출력부(57)는, 종합 순위가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
[검색 결과 단어열의 표시]
도 39는, 출력부(57; 도 9 및 도 10)가 출력하는 검색 결과 단어열의 표시 화면의 예를 나타내는 도면이다.
검색 결과 단어열의 표시 화면(이하, 검색 결과 표시 화면이라고도 함)에 있어서는, 검색 결과 단어열 중, 입력 음성의 음성 인식 결과에 매치(유사, 및 일치)하는 단어나 음절(syllable) 등의 부분(이하, 발음 대응 부분이라고도 함)을 강조하여 표시할 수 있다.
도 39는, 발음 대응 부분을 강조하지 않고 표시한 검색 결과 표시 화면과, 발음 대응 부분을 강조하여 표시한 검색 결과 표시 화면을 나타낸다.
도 39에서는, 발음 대응 부분이, 언더라인을 붙이는 것에 의해 강조되어 있다.
또한, 발음 대응 부분을 강조하는 방법으로서는, 그 외, 예를 들어 발음 대응 부분을 브링크(blink)로 표시하는 방법이나, 색을 바꾸어서 표시하는 방법, 폰트의 종류나 크기를 바꾸어서 표시하는 방법 등이 있다.
또한, 발음 대응 부분은, 그 모두를 강조하는 것이 아니고, 발음 대응 부분 중, 음성 인식 결과의 신뢰성(음성 인식 신뢰도)이 높은 부분 등의 일부분만을 강조하여 표시할 수 있다.
또한, 검색 결과 단어열이 긴 경우에는, 검색 결과 표시 화면에서는, 검색 결과 단어열 중, 발음 대응 부분과, 그 전후의 부분만을 표시할 수 있다.
검색 결과 표시 화면에 있어서, 검색 결과 단어열의 발음 대응 부분(또는, 그 일부)을 강조하여 표시함으로써, 유저는, 음성 인식이 정확하게 행해지고 있는지의 여부를 파악하고, 또한, 발음을 고쳐서 다시 행해야 할 것인가 아닌가를 판단할 수 있다.
[특정한 구문을 포함하는 입력 음성에 의한 음성 검색]
도 40, 및 도 41은, 특정한 구문을 포함하는 입력 음성에 의한 음성 검색의 예를 나타내는 도면이다.
도 9(및 도 10)의 레코더에 있어서, 커맨드 판정부(71)는, 음성 인식부(51)에서 공급되는 음성 인식 결과에 기초하여, 유저에서의 입력 음성이, 레코더를 제어하는 커맨드인지의 여부를 판정한다.
즉, 커맨드 판정부(71)는, 레코더를 제어하는 커맨드로서 정의된 문자열(이하, 커맨드 문자열이라고도 함)을 기억하고 있고, 음성 인식부(51)에서의 음성 인식 결과가, 커맨드 문자열에 일치하는지의 여부에 의해, 유저로부터의 입력 음성이, 레코더를 제어하는 커맨드인지의 여부를 판정한다.
커맨드 판정부(71)는, 입력 음성이 커맨드가 아니라고 판정할 경우, 즉 음성 인식부(51)에서의 음성 인식 결과가, 커맨드 문자열에 일치하지 않는 경우, 입력 음성이 커맨드가 아닌 취지의 판정 결과를, 제어부(72)에 공급한다.
이 경우, 제어부(72)는, 예를 들어 매칭을 실행하도록, 매칭부(56)를 제어한다. 따라서, 음성 검색 장치(50)에서는, 매칭부(56)에 있어서, 음성 인식 결과와 검색 결과 대상 단어열과의 매칭이 행해지고, 출력부(57)에 있어서, 그 매칭 결과에 기초하여, 검색 결과 단어열이 출력된다.
한편, 커맨드 판정부(71)는, 입력 음성이 커맨드라고 판정할 경우, 즉 음성 인식부(51)에서의 음성 인식 결과가, 커맨드 문자열에 일치하는 경우, 입력 음성이 커맨드인 취지의 판정 결과를, 음성 인식 결과에 일치하는 커맨드 문자열과 함께, 제어부(72)에 공급한다.
이 경우, 제어부(72)는, 음성 검색 장치(50)의 처리를 제한하는 제어를 행한다. 따라서, 음성 검색 장치(50)에서는, 매칭부(56)에 있어서, 매칭은 실행되지 않고, 검색 결과 단어열은 출력되지 않는다.
또한, 이 경우, 제어부(72)는, 커맨드 판정부(71)에서의 커맨드 문자열에서 해석되는 커맨드에 따라, 레코더 기능부(60)를 제어하는 등의 처리를 행한다.
따라서, 커맨드 판정부(71)에 있어서, 커맨드 문자열로서, 예를 들어 녹화 프로그램 중에서 재생을 행할 프로그램을 선택하는 커맨드로 해석되는 커맨드 문자열 「선택」이나, 프로그램을 재생하는 커맨드로 해석되는 커맨드 문자열 「재생」 등이 기억되어 있는 경우에, 음성 인식부(51)가, 예를 들어 커맨드 문자열 「재생」에 일치하는 음성 인식 결과 「재생」을 출력했을 때에는, 제어부(72)에서는, 커맨드 문자열 「재생 」으로부터 해석되는 커맨드에 따라, 예를 들어 프로그램을 재생하도록, 레코더 기능부(60)가 제어된다.
그런데, 이상과 같이, 음성 인식 결과가 커맨드 문자열에 일치하는 경우에, 음성 검색 장치(50)의 처리를 제한하면, 커맨드 문자열에 일치하는 단어열을 키워드로서, 음성 검색을 행할 수 없게 된다.
따라서, 도 9의 레코더에서는, 음성 검색을 행하는 경우에는, 그 취지를 지시하는 특정한 구문으로서의, 예를 들어 「음성 검색으로」 등을 포함하는 입력 음성을, 유저에게 발음하게 함으로써 커맨드 문자열에 일치하는 단어열을 키워드로서, 음성 검색을 행할 수 있게 되어 있다.
또한, 특정한 구문은, 입력 음성 중의, 예를 들어 최초나 마지막으로 포함할 수 있지만, 이하에서는, 입력 음성 중의 최초에 포함하는 것으로 한다.
유저는, 단어 「재생」을 키워드로 해서, 그 키워드 「재생」을 포함하는 프로그램의 검색을, 음성 검색에 의해 행하고 싶을 경우에는, 음성 검색을 지시하는 특정한 구문으로서의, 예를 들어 「음성 검색으로」와, 키워드 「재생」을 계속하여 발음한다.
이 경우, 음성 인식부(51)에는, 입력 음성 「프로그램 검색으로 재생」이 공급되어, 음성 인식부(51)에서는, 그 입력 음성 「프로그램 검색으로 재생」의 음성 인식이 행해진다.
여기서, 입력 음성 「프로그램 검색으로 재생」의 음성 인식에서는, 입력 음성 「프로그램 검색으로 재생」에 일치하는 인식 가설의 언어 스코어가 낮은 경우, 입력 음성 「프로그램 검색으로 재생」에 일치하는 음성 인식 결과가 출력되지 않을 경우가 있다.
여기에서는, 유저에게, 특정한 구문 「프로그램 검색으로」를 포함하는 입력 음성 「프로그램 검색으로 재생」을 발음하게 함으로써, 키워드 「재생」을 포함하는 프로그램의 음성 검색을 행하므로, 특정한 구문을 포함하는 입력 음성에 대하여 적어도, 특정한 구문을 포함하는 단어열이 음성 인식 결과로서 출력되지 않는 것은, 바람직하지 않다.
즉, 음성 인식부(51)에서는, 특정한 구문을 포함하는 입력 음성 「프로그램 검색으로 재생」에 대하여 그 특정한 구문을 포함하는 음성 인식 결과를 얻는 것이 필요하고, 그것을 위해서는, 예를 들어 특정한 구문을 포함하는 인식 가설의 언어 스코어가 낮아지는 것을 방지할 필요가 있다.
따라서, 음성 인식부(51; 도 29)에서는, 언어 모델 생성부(85)에 있어서, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열과 함께, 특정한 구문도 사용하여, 언어 모델이 생성된다.
이에 의해, 언어 모델로서, 예를 들어 바이그램을 채용하는 경우에는, 특정한 구문과, 검색 결과 대상 단어열을 구성하는 단어가 배열할 경우에, 높은 값의 언어 스코어가 부여되는 언어 모델(이하, 특정 구문용 언어 모델이라고도 함)이 생성된다.
또한, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열에는, 커맨드 문자열을 포함해 두는 것으로 한다.
또한, 음성 인식부(51)에서는, 언어 모델 생성부(85)에 있어서, 특정한 구문을 사용하지 않고, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열만을 사용하여, 즉 특정한 구문을 포함하지 않는 단어열을 사용하여, 특정 구문용 언어 모델의 다른 언어 모델인 구문 불포함 언어 모델이 생성된다.
특정 구문용 언어 모델에 의하면, 특정한 구문을 포함하는 인식 가설(단어열)의 언어 스코어로서, 특정한 구문을 포함하지 않는 인식 가설의 언어 스코어보다 높은 값이 부여된다.
또한, 구문 불포함 언어 모델에 의하면, 특정한 구문을 포함하지 않는 인식 가설(단어열)의 언어 스코어로서, 특정한 구문을 포함하는 단어열의 언어 스코어보다 높은 값이 부여된다.
음성 인식부(51)에서는, 특정 구문용 언어 모델, 및 구문 불포함 언어 모델을 사용하여, 음성 인식이 행해진다.
특정 구문용 언어 모델, 및 구문 불포함 언어 모델을 사용한 음성 인식에서는, 구문 불포함 언어 모델을 사용하는데, 특정 구문용 언어 모델을 사용하지 않는 음성 인식에 비교하여 특정한 구문과, 검색 결과 대상 단어열을 구성하는 단어가 배열하는 인식 가설에, 높은 값의 언어 스코어가 부여된다.
따라서, 특정한 구문을 포함하는 입력 음성에 대해서는, 특정한 구문과, 검색 결과 대상 단어열을 구성하는 단어가 배열하는 인식 가설의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 특정 구문용 언어 모델을 사용하지 않는 음성 인식의 경우에 비교하여 높아지고, 특정한 구문을 포함하는 입력 음성에 대하여 그 특정한 구문을 포함하는 인식 가설의 언어 스코어가 낮아져서, 음성 인식 결과로서 출력되지 않는 것을 방지할 수 있다.
도 40은, 도 9의 음성 인식부(51)에 있어서, 특정 구문용 언어 모델, 및 구문 불포함 언어 모델을 사용하여, 일본어의 입력 음성의 음성 인식이 행하여지는 경우의, 음성 검색의 예를 나타내고 있다.
유저가, 예를 들어 도 40에 도시한 바와 같이, 프로그램을 대상으로 한 음성 검색을 요구하는 일본어가 특정한 구문 「음성 검색으로」를 포함하는 일본어의 입력 음성 「음성 검색으로 재생」을 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 「음성 검색으로 재생」이 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 특정 구문용 언어 모델을 사용하여, 음성 인식이 행해지므로, 특정한 구문 「음성 검색으로」를 포함하는 입력 음성에 대해서는, 특정한 구문을 포함하는 인식 가설 「음성 검색으로 재생」의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 특정 구문용 언어 모델을 사용하지 않을 경우보다 충분히 높아진다.
그 결과, 특정한 구문 「음성 검색으로」를 포함하는 입력 음성에 대해서는, 특정한 구문을 포함하는 인식 가설 「음성 검색으로 재생」이 음성 인식 결과로서 출력된다.
음성 인식부(51)가 출력하는 음성 인식 결과 「음성 검색으로 재생」은, 발음 심볼 변환부(52)와, 커맨드 판정부(71)에 공급된다.
음성 인식 결과 「음성 검색으로 재생」은, 특정한 구문 「음성 검색으로」를 포함하기 때문에, 커맨드 문자열에 일치하지 않으므로, 커맨드 판정부(71)에서는, 입력 음성이 커맨드가 아니라고 판정된다.
따라서, 제어부(72)는, 음성 검색 장치(50)의 처리를 제한하는 제어를 행하지 않는다.
한편, 발음 심볼 변환부(52)에서는, 음성 인식부(51)에서의 음성 인식 결과 「음성 검색으로 재생」이, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 형태소 해석부(54), 및 발음 심볼 변환부(55)를 개재하여, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 특정한 구문(의 발음 심볼)이 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 특정한 구문을 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭을 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 40에서는, 특정한 구문을 포함하는 입력 음성 「음성 검색으로 재생」에 대하여 상위 2위 이내인 검색 결과 대상 단어열로서의 프로그램의 타이틀이, 검색 결과 단어열로서 출력된다.
여기서, 지금의 경우, 매칭부(56)에서는, 이상과 같이, 특정한 구문을 제거한 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭, 즉 특정한 구문을 제거한 음성 인식 결과와, 검색 결과 대상 단어열과의 매칭이 행해지고, 그 매칭 결과에 기초하여, 특정한 구문을 제거한 음성 인식 결과에 매치하는 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력된다.
따라서, 이 경우, 검색 결과 대상 단어열은, 입력 음성으로부터 특정한 구문을 제외한(제거한) 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열인 것이 가능하다.
한편, 유저가, 예를 들어 도 40에 도시한 바와 같이, 특정한 구문을 포함하지 않고, 또한, 커맨드 문자열에 일치하는 일본어의 입력 음성 「재생」을 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 「재생」이 음성 인식되어, 음성 인식 결과 「재생」이, 발음 심볼 변환부(52)와, 커맨드 판정부(71)에 공급된다.
음성 인식 결과 「재생」은, 커맨드 문자열 「재생」에 일치하므로, 커맨드 판정부(71)는, 입력 음성이 커맨드라고 판정하고, 입력 음성이 커맨드인 취지의 판정 결과를, 음성 인식 결과에 일치하는 커맨드 문자열 「재생」과 함께, 제어부(72)에 공급한다.
제어부(72)는, 커맨드 판정부(71)에서, 입력 음성이 커맨드인 취지의 판정 결과가 공급되면, 음성 검색 장치(50)의 처리를 제한하는 제어를 행한다. 따라서, 음성 검색 장치(50)에서는, 음성 검색은 행해지지 않고, 검색 결과 단어열은 출력되지 않는다.
또한, 제어부(72)는, 커맨드 판정부(71)에서의 커맨드 문자열 「재생 」으로부터 해석되는 커맨드에 따라, 프로그램의 재생을 행하도록, 레코더 기능부(60)를 제어한다.
도 41은, 도 10의 음성 인식부(51)에 있어서, 특정 구문용 언어 모델, 및 구문 불포함 언어 모델을 사용하여, 영어의 입력 음성의 음성 인식이 행하여지는 경우의, 음성 검색의 예를 나타내고 있다.
유저가, 예를 들어 도 41에 도시한 바와 같이, 프로그램을 대상으로 한 음성 검색을 요구하는 영어가 특정한 구문 "Program Search"를 포함하는 영어의 입력 음성 "Program Search, Play"를 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 "Program Search, Play"가 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 특정 구문용 언어 모델을 사용하여, 음성 인식이 행해지므로, 특정한 구문 "Program Search"를 포함하는 입력 음성에 대해서는, 특정한 구문을 포함하는 인식 가설 "Program Search, Play"의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 특정 구문용 언어 모델을 사용하지 않을 경우보다 충분히 높아진다.
그 결과, 특정한 구문 "Program Search"를 포함하는 입력 음성에 대해서는, 특정한 구문을 포함하는 인식 가설 "Program Search, Play"가 음성 인식 결과로서 출력된다.
음성 인식부(51)가 출력하는 음성 인식 결과 "Program Search, Play"는, 발음 심볼 변환부(52)와, 커맨드 판정부(71)에 공급된다.
음성 인식 결과 "Program Search, Play"는, 특정한 구문 "Program Search"를 포함하기 때문에, 커맨드 문자열에 일치하지 않으므로, 커맨드 판정부(71)에서는, 입력 음성이 커맨드가 아니라고 판정된다.
따라서, 제어부(72)는, 음성 검색 장치(50)의 처리를 제한하는 제어를 행하지 않는다.
한편, 발음 심볼 변환부(52)에서는, 음성 인식부(51)에서의 음성 인식 결과 "Program Search, Play"가, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 발음 심볼 변환부(55)를 개재하고, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 특정한 구문(의 발음 심볼)가 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 특정한 구문을 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭을 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
도 41에서는, 특정한 구문을 포함하는 입력 음성 "Program Search, Play"에 대하여 상위 2위 이내인 검색 결과 대상 단어열로서의 프로그램의 타이틀이, 검색 결과 단어열로서 출력된다.
한편, 유저가, 예를 들어 도 41에 도시한 바와 같이, 특정한 구문을 포함하지 않고, 또한, 커맨드 문자열에 일치하는 영어의 입력 음성 "Play"를 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 "Play"가 음성 인식되어, 음성 인식 결과 "Play"가, 발음 심볼 변환부(52)와, 커맨드 판정부(71)에 공급된다.
음성 인식 결과 "Play"는, 커맨드 문자열 "Play"에 일치하므로, 커맨드 판정부(71)는, 입력 음성이 커맨드라고 판정하고, 입력 음성이 커맨드인 취지의 판정 결과를, 음성 인식 결과에 일치하는 커맨드 문자열 "Play"와 함께, 제어부(72)에 공급한다.
제어부(72)는, 커맨드 판정부(71)에서, 입력 음성이 커맨드인 취지의 판정 결과가 공급되면, 음성 검색 장치(50)의 처리를 제한하는 제어를 행한다. 따라서, 음성 검색 장치(50)에서는, 음성 검색은 행해지지 않고, 검색 결과 단어열은 출력되지 않는다.
또한, 제어부(72)는, 커맨드 판정부(71)에서의 커맨드 문자열 "Play"로 해석되는 커맨드에 따라, 프로그램의 재생을 행하도록, 레코더 기능부(60)를 제어한다.
이상과 같이, 음성 인식부(51)에서는, 특정 구문용 언어 모델, 및 구문 불포함 언어 모델을 사용하여, 음성 인식이 행해지므로, 특정한 구문을 포함하는 입력 음성, 및 특정한 구문을 포함하지 않는 입력 음성의 양쪽을, 고정밀도로 음성 인식할 수 있다.
또한, 음성 검색을 행하는 경우에는, 유저에게, 특정한 구문을 포함하는 발음을 하게 함으로써 유저의 발음이, 음성 검색의 요구인 것인가, 또는 레코더를 제어하는 커맨드인 것인가를 구별하고, 커맨드 문자열에 일치하는 단어열이어도, 그 단어열을 키워드로 하여, 음성 검색을 행할 수 있다.
즉, 유저의 발음에, 특정한 구문이 포함되는지의 여부에 의해(또는, 유저의 발음이, 커맨드 문자열에 일치하는 것인가 아닌가에 의해), 음성 검색과, 레코더의 제어를 전환할 수 있다.
또한, 도 40, 및 도 41에서는, 검색 결과 대상 단어열에, 커맨드 문자열을 포함해 두고, 언어 모델 생성부(85)에 있어서, 특정한 구문을 사용하지 않고, 검색 결과 대상 단어열만을 사용하여, 구문 불포함 언어 모델을 생성하는 것으로 했지만, 구문 불포함 언어 모델로서는, 그 외, 예를 들어 커맨드 문자열만을 사용하여 생성한 언어 모델을 채용하는 것이 가능하다.
또한, 도 40, 및 도 41에서는, 커맨드 판정부(71)에 있어서, 음성 인식부(51)에서의 음성 인식 결과에 기초하여, 그 음성 인식 결과가, 커맨드 문자열에 일치할지의 여부에 의해, 유저의 입력 음성이, 레코더를 제어하는 커맨드인지의 여부를 판정하는 것으로 했지만, 커맨드 판정부(71)에서는, 그 외, 예를 들어 매칭부(56)의 매칭 결과에 기초하여, 입력 음성이, 레코더를 제어하는 커맨드인지의 여부를 판정할 수 있다.
즉, 이 경우, 커맨드 문자열로서, 레코더를 제어하는 커맨드 고유의 단어열, 즉 검색 결과 대상 단어열에 출현할 가능성이 지극히 낮은(이상적으로는, 검색 결과 대상 단어열에 출현할 가능성이 없는) 단어열을 채용한다.
예를 들어, 레코더에 재생을 행하게 하는 커맨드의 커맨드 문자열로서, 「재생」이나 "Play" 대신에, 「레코더 컨트롤 재생」이나 "Recorder Control Play" 등을 채용한다.
또한, 커맨드 문자열을, 검색 결과 대상 단어열에 포함해 두고, 매칭부(56)에 있어서, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열과, 음성 인식 결과의 전체의 인식 결과 발음 심볼 열과의 매칭을 행하고, 그 매칭 결과를, 커맨드 판정부(71)에 공급한다.
그리고, 커맨드 판정부(71)에서는, 매칭부(56)로부터의 매칭 결과에 기초하여, 음성 인식 결과의 전체(의 인식 결과 발음 심볼 열)와의 매칭에 의해 얻어지는 유사도가 최상위의 검색 결과 대상 단어열이, 커맨드 문자열에 일치하는 경우에는, 입력 음성이 커맨드라고 판정하고, 최상위의 검색 결과 대상 단어열이, 커맨드 문자열에 일치하지 않는 경우에는, 입력 음성이 커맨드가 아니라고 판정한다.
커맨드 판정부(71)에 있어서, 입력 음성이 커맨드라고 판정된 경우, 제어부(72)는, 그 커맨드에 따른 처리를 행함과 아울러, 출력부(57)가, 매칭부(56)의 매칭 결과에 기초하여, 검색 결과 단어열을 출력하는 것을 제한한다.
한편, 커맨드 판정부(71)에 있어서, 입력 음성이 커맨드가 아니라고 판정된 경우, 제어부(72)는, 입력 음성의 음성 인식 결과에, 특정한 구문이 포함될 때에는, 인식 결과 발음 심볼 열에서, 특정한 구문을 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭을 행하도록, 매칭부(56)를 제어함과 아울러, 매칭부(56)의 매칭 결과에 기초하여, 검색 결과 단어열을 출력하도록, 출력부(57)을 제어한다.
또한, 이상과 같이, 커맨드 문자열로서, 커맨드 고유의 단어열을 채용하는 경우에는 커맨드 판정부(71)에 있어서, 입력 음성에, 특정한 구문이 포함되는지의 여부에 관계없이, 입력 음성이, 커맨드인지의 여부를 판정할 수 있으므로, 유저는, 음성 검색을 행하는데도, 특정한 구문을 포함하는 입력 음성을 발음하지 않고, 음성 검색의 키워드만의 입력 음성을 발음할 수 있다(유저는, 음성 검색을 행하는데도, 특정한 구문을 발음할 필요는 없다).
이 경우, 커맨드 판정부(71)에 있어서, 입력 음성이 커맨드가 아니라고 판정된 때에는, 제어부(72)는, 매칭부(56)에서 이미 행해지고 있는, 검색 결과 대상 단어열과, 음성 인식 결과의 전체와의 매칭의 매칭 결과에 기초하여, 검색 결과 단어열을 출력하도록, 출력부(57)를 제어한다.
도 42, 및 도 43은, 특정한 구문을 포함하는 입력 음성에 의한 음성 검색의 다른 예를 나타내는 도면이다.
도 36이나 도 37에서 설명한 바와 같이, 검색 결과 대상 단어열이, 예를 들어 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 등의 복수의 필드로 분류되어 있는 경우에는, 음성 인식부(51; 도 9(및 도 10))에서는, 각 필드의 검색 결과 대상 단어열에서, 필드마다의 언어 모델인 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 생성하고, 그 필드마다의 언어 모델을 사용하여, 음성 인식을 행하고, 필드마다의 음성 인식 결과를 구할 수 있다.
또한, 음성 인식부(51)에서는, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 음성 인식 결과의 모두 중에서 인식 스코어가 상위인 1 이상인 음성 인식 결과를 검출하고, 그 음성 인식 결과를, 매칭부(56)에서의 매칭에 사용하는, 종합적인 음성 인식 결과로 할 수 있다.
그리고, 매칭부(56; 도 9)에서는, 필드마다의 검색 결과 대상 단어열과, 음성 인식 결과와의 매칭을 행할 수 있고, 출력부(57; 도 9)에서는, 필드마다, 매칭 결과에 기초하여, 음성 인식 결과와의 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력할 수 있다.
이 경우, 필드마다, 검색 결과 단어열이 출력된다.
즉, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각의 검색 결과 단어열이 출력된다.
따라서, 유저가, 예를 들어 타이틀에 소정의 문자열을 포함하는 프로그램을 검색하려고 해서, 그 소정의 문자열을 발음한 경우에도, 프로그램 타이틀 필드의 검색 결과 대상 단어열뿐만 아니라, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드 각각에 대해서, 음성 인식 결과에 매치하는 검색 결과 대상 단어열이, 검색 결과 단어열로서 출력된다.
그 결과, 유저가 발음한 소정의 문자열에 매치하지 않는 타이틀의 프로그램이어도, 그 소정의 문자열에 매치하는 출연자명이나 상세 정보를, 메타데이터로서 포함하는 프로그램이, 검색 결과 단어열로서 출력되는 경우가 있다.
이상과 같이, 유저가 발음한 소정의 문자열에 매치하지 않는 타이틀의 프로그램이, 검색 결과 단어열로서 출력되는 것은, 유저에게 번거로움을 느끼게 할 경우가 있다.
또한, 예를 들어 프로그램을 검색할 경우에, 타이틀에, 소정의 문자열을 포함하는 프로그램만을 검색하는 것이나, 출연자명에, 소정의 문자열을 포함하는 프로그램만을 검색하는 것 등을 할 수 있으면 편리하다.
따라서, 도 9(및 도 10)의 레코더에서는, 음성 검색을 행하는 경우에는, 음성 검색을 지시하고, 또한, 음성 인식 결과와의 매칭을 취하는 검색 결과 대상 단어열의 필드를 표현하는 특정한 구문으로서의, 예를 들어 「프로그램명 검색으로」나 「인명 검색으로」 등을 포함하는 입력 음성을, 유저에게 발음하게 함으로써 음성 인식 결과와의 매칭을 취하는 검색 결과 대상 단어열의 필드를, 특정한 필드로 제한하고, 음성 검색을 행할 수 있게 되어 있다.
음성 인식 결과와의 매칭을 취하는 검색 결과 대상 단어열의 필드를, 특정한 필드로 제한하고, 음성 검색을 행하는 경우에는, 음성 인식부(51; 도 29)의 언어 모델 생성부(85)에 있어서, 필드마다, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열과, 필드를 표현하는 특정한 구문인 필드 프레이즈를 사용하여, 언어 모델이 생성된다.
즉, 예를 들어 상술한 바와 같이, 검색 결과 대상 단어열이, 프로그램 타이틀 필드, 출연자명 필드, 및 상세 정보 필드의 3개의 필드로 분류되어 있는 경우에는, 언어 모델 생성부(85)는, 프로그램 타이틀 필드를 표현하는 특정한 구문인 필드 프레이즈로서의, 예를 들어 「프로그램명 검색으로」나 "Program Title Search by"와, 프로그램 타이틀 필드의 검색 결과 대상 단어열을 사용하여, 프로그램 타이틀 필드용의 언어 모델을 생성한다.
또한, 언어 모델 생성부(85)는, 출연자명 필드를 표현하는 필드 프레이즈로서의, 예를 들어 「인명 검색으로」나 " Cast Search by"과, 출연자명 필드의 검색 결과 대상 단어열을 사용하여, 출연자명 필드용의 언어 모델을 생성함과 아울러, 상세 정보 필드를 표현하는 필드 프레이즈로서의, 예를 들어 「상세 정보 검색에서」나 "Information Search by"와, 상세 정보 필드의 검색 결과 대상 단어열을 사용하여, 상세 정보 필드용의 언어 모델을 생성한다.
또한, 언어 모델로서, 예를 들어 바이그램을 채용하는 경우에는, 프로그램 타이틀 필드용의 언어 모델에 의하면, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」나 "Program Title Search by"와, 프로그램 타이틀 필드의 검색 결과 대상 단어열을 구성하는 단어가 배열할 경우에, 높은 값의 언어 스코어가 부여된다.
출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델에서도, 마찬가지이다.
음성 인식부(51)에서는, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용하여, 음성 인식이 행해진다.
프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용한 음성 인식에 의하면, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」나 "Program Title Search by"와, 프로그램 타이틀 필드의 검색 결과 대상 단어열을 구성하는 단어가 배열하는 인식 가설, 출연자명 필드의 필드 프레이즈 「인명 검색으로」나 "Cast Search by"와, 출연자명 필드의 검색 결과 대상 단어열을 구성하는 단어가 배열하는 인식 가설, 및 상세 정보 필드의 필드 프레이즈 「상세 정보 검색에서」나 "Information Search by"와, 상세 정보 필드의 검색 결과 대상 단어열을 구성하는 단어가 배열하는 인식 가설에, 높은 값의 언어 스코어가 부여된다.
따라서, 필드 프레이즈를 포함하는 입력 음성이 발음되었을 경우에, 그 입력 음성을, 고정밀도로 음성 인식할 수 있다.
음성 인식 결과와의 매칭을 취하는 검색 결과 대상 단어열의 필드를, 특정한 필드로 제한하고, 음성 검색을 행하는 경우에는, 이상과 같이, 음성 인식부(51; 도 29)에 있어서, 필드마다의 언어 모델을 사용하여 음성 인식이 행해지는 것 외에, 매칭부(56)에 있어서, 음성 인식 결과에 포함되는 필드 프레이즈가 표현하는 필드(음성 인식 결과를 얻는데도 사용된 언어 모델의 필드)의 인식 대상 단어열만을 대상으로 하고, 음성 인식 결과와의 매칭이 취해져, 출력부(57)에 있어서, 그 매칭 결과에 기초하여, 검색 결과 단어열이 출력된다.
도 42는, 도 9의 음성 인식부(51)에 있어서, 필드마다의 언어 모델을 사용하여, 일본어의 입력 음성의 음성 인식이 행해지고, 매칭부(56)에 있어서, 음성 인식 결과에 포함되는 필드 프레이즈가 표현하는 필드의 인식 대상 단어열만을 대상으로 하고, 음성 인식 결과와의 매칭이 취해질 경우의, 음성 검색의 예를 나타내고 있다.
유저가, 예를 들어 도 42에 도시한 바와 같이, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」를 포함하는 입력 음성 「프로그램명 검색으로 00」을 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 「프로그램명 검색으로 00」이 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용하여 음성 인식이 행해지기 때문에, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」를 포함하는 입력 음성 「프로그램명 검색으로 00」에 대해서는, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」를 포함하는 인식 가설 「프로그램명 검색으로 00」의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」를 포함하지 않는 인식 가설(프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」 이외의 필드 프레이즈를 포함하는 인식 가설을 포함함)의 인식 스코어보다 충분히 높아진다.
그 결과, 프로그램 타이틀 필드의 필드 프레이즈 「프로그램명 검색으로」를 포함하는 일본어의 입력 음성에 대해서는, 그 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 인식 가설 「프로그램명 검색으로 00」이 음성 인식 결과가 되는 한편, 프로그램 타이틀 필드의 필드 프레이즈를 포함하지 않는 인식 가설이 음성 인식 결과가 되는 것을 방지할 수 있다.
음성 인식부(51)가 출력하는 음성 인식 결과 「프로그램명 검색으로 00」은, 발음 심볼 변환부(52)를 개재하고, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 형태소 해석부(54), 및 발음 심볼 변환부(55)를 개재하고, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 필드 프레이즈(의 발음 심볼)가 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 필드 프레이즈를 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과의 매칭을, 검색 결과 대상 단어열 중, 인식 결과 발음 심볼 열에 포함되어 있었던 필드 프레이즈가 표현하는 필드의 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열만을 대상으로 하여 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
따라서, 매칭부(56)에서는, 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 음성 인식 결과 「프로그램명 검색으로 00」에 대해서는, 프로그램 타이틀 필드의 검색 결과 대상 단어열만을 대상으로 하고, 음성 인식 결과(필드 프레이즈를 제거한 음성 인식 결과)와의 매칭이 취해진다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
따라서, 유저가, 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 일본어의 입력 음성 「프로그램명 검색으로 00」을 발음했을 경우에는, 프로그램 타이틀 필드의 검색 결과 대상 단어열을 대상으로 하고, 음성 인식 결과 「프로그램명 검색으로 00」에서 필드 프레이즈를 제거한 문자열 「00」라는 매칭이 취해져, 그 결과, 타이틀이, 문자열 「00」에 매치하는 프로그램이, 검색 결과 단어열로서 출력된다.
또한, 유저가, 예를 들어 도 42에 도시한 바와 같이, 출연자명 필드의 필드 프레이즈 「인명 검색으로」를 포함하는 입력 음성 「인명 검색으로 00」을 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 「인명 검색으로 00」이 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용하여 음성 인식이 행해지기 때문에, 출연자명 필드의 필드 프레이즈 「인명 검색으로」를 포함하는 입력 음성 「인명 검색으로 00」에 대해서는, 출연자명 필드의 필드 프레이즈 「인명 검색으로」를 포함하는 인식 가설 「인명 검색으로 00」의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 출연자명 필드의 필드 프레이즈 「인명 검색으로」를 포함하지 않는 인식 가설의 인식 스코어보다 충분히 높아진다.
그 결과, 출연자명 필드의 필드 프레이즈 「인명 검색으로」를 포함하는 일본어의 입력 음성에 대해서는, 그 출연자명 필드의 필드 프레이즈를 포함하는 인식 가설 「인명 검색으로 00」이 음성 인식 결과가 되는 한편, 출연자명 필드의 필드 프레이즈를 포함하지 않는 인식 가설이 음성 인식 결과가 되는 것을 방지할 수 있다.
음성 인식부(51)가 출력하는 음성 인식 결과 「인명 검색으로 00」은, 발음 심볼 변환부(52)를 개재하고, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 형태소 해석부(54), 및 발음 심볼 변환부(55)를 개재하고, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 필드 프레이즈(의 발음 심볼)가 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 필드 프레이즈를 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과의 매칭을, 검색 결과 대상 단어열 중, 인식 결과 발음 심볼 열에 포함되어 있었던 필드 프레이즈가 표현하는 필드의 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열만을 대상으로 하여 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
따라서, 매칭부(56)에서는, 출연자명 필드의 필드 프레이즈를 포함하는 음성 인식 결과 「인명 검색으로 00」에 대해서는, 출연자명 필드의 검색 결과 대상 단어열만을 대상으로 하고, 음성 인식 결과(필드 프레이즈를 제거한 음성 인식 결과)와의 매칭이 취해진다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
따라서, 유저가, 출연자명 필드의 필드 프레이즈를 포함하는 일본어의 입력 음성 「인명 검색으로 00」을 발음했을 경우에는, 출연자명 필드의 검색 결과 대상 단어열을 대상으로 하고, 음성 인식 결과 「인명 검색으로 00」에서 필드 프레이즈를 제거한 문자열 「00」라는 매칭이 취해져, 그 결과, 출연자명이, 문자열 「00」에 매치하는 프로그램이, 검색 결과 단어열로서 출력된다.
이상으로부터, 어떤 문자열 「00」을 키워드로 해서, 프로그램의 검색을 행하는 경우에도, 일본어의 입력 음성에 포함하는 필드 프레이즈에 따라서는, 다른 프로그램이, 검색 결과로서 얻어질 경우가 있다.
도 43은, 도 10의 음성 인식부(51)에 있어서, 필드마다의 언어 모델을 사용하여, 영어의 입력 음성의 음성 인식이 행해지고, 매칭부(56)에 있어서, 음성 인식 결과에 포함되는 필드 프레이즈가 표현하는 필드의 인식 대상 단어열만을 대상으로 하고, 음성 인식 결과와의 매칭이 취해질 경우의, 음성 검색의 예를 나타내고 있다.
유저가, 예를 들어 도 42에 도시한 바와 같이, 프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by"를 포함하는 입력 음성 "Program Title Search by XX"을 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 "Program Title Search by XX"이 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용하여 음성 인식이 행해지기 때문에, 프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by"를 포함하는 입력 음성 "Program Title Search by XX"에 대해서는, 프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by"를 포함하는 인식 가설 "Program Title Search by XX"의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by"를 포함하지 않는 인식 가설(프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by" 이외의 필드 프레이즈를 포함하는 인식 가설을 포함함)의 인식 스코어보다 충분히 높아진다.
그 결과, 프로그램 타이틀 필드의 필드 프레이즈 "Program Title Search by"를 포함하는 영어의 입력 음성에 대해서는, 그 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 인식 가설 "Program Title Search by XX"이 음성 인식 결과가 되는 한편, 프로그램 타이틀 필드의 필드 프레이즈를 포함하지 않는 인식 가설이 음성 인식 결과가 되는 것을 방지할 수 있다.
음성 인식부(51)가 출력하는 음성 인식 결과 "Program Title Search by XX"는, 발음 심볼 변환부(52)를 개재하고, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 발음 심볼 변환부(55)를 개재하고, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 필드 프레이즈(의 발음 심볼)가 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 필드 프레이즈를 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과의 매칭을, 검색 결과 대상 단어열 중, 인식 결과 발음 심볼 열에 포함되어 있었던 필드 프레이즈가 표현하는 필드의 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열만을 대상으로 하여 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
따라서, 매칭부(56)에서는, 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 음성 인식 결과 "Program Title Search by XX"에 대해서는, 프로그램 타이틀 필드의 검색 결과 대상 단어열만을 대상으로 하고, 음성 인식 결과(필드 프레이즈를 제거한 음성 인식 결과)와의 매칭이 취해진다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
따라서, 유저가, 프로그램 타이틀 필드의 필드 프레이즈를 포함하는 영어의 입력 음성 "Program Title Search by XX"를 발음했을 경우에는, 프로그램 타이틀 필드의 검색 결과 대상 단어열을 대상으로 하고, 음성 인식 결과 "Program Title Search by XX"에서 필드 프레이즈를 제거한 문자열 "XX"와의 매칭이 취해져, 그 결과, 타이틀이, 문자열 "XX"에 매치하는 프로그램이, 검색 결과 단어열로서 출력된다.
또한, 유저가, 예를 들어 도 42에 도시한 바와 같이, 출연자명 필드의 필드 프레이즈 "Cast Search by"를 포함하는 입력 음성 "Cast Search by XX"를 발음했을 경우, 음성 인식부(51)에서는, 그 입력 음성 "Cast Search by XX"가 음성 인식된다.
상술한 바와 같이, 음성 인식부(51)에서는, 프로그램 타이틀 필드용의 언어 모델, 출연자명 필드용의 언어 모델, 및 상세 정보 필드용의 언어 모델을 사용하여 음성 인식이 행해지기 때문에, 출연자명 필드의 필드 프레이즈 "Cast Search by"를 포함하는 입력 음성 "Cast Search by XX"에 대해서는, 출연자명 필드의 필드 프레이즈 "Cast Search by"를 포함하는 인식 가설 "Cast Search by XX"의 언어 스코어(및 음향 스코어), 나아가서는, 인식 스코어가, 출연자명 필드의 필드 프레이즈 "Cast Search by"를 포함하지 않는 인식 가설의 인식 스코어보다 충분히 높아진다.
그 결과, 출연자명 필드의 필드 프레이즈 "Cast Search by"를 포함하는 영어의 입력 음성에 대해서는, 그 출연자명 필드의 필드 프레이즈를 포함하는 인식 가설 "Cast Search by XX"가 음성 인식 결과가 되는 한편, 출연자명 필드의 필드 프레이즈를 포함하지 않는 인식 가설이 음성 인식 결과가 되는 것을 방지할 수 있다.
음성 인식부(51)가 출력하는 음성 인식 결과 "Cast Search by XX"는, 발음 심볼 변환부(52)를 개재하고, 인식 결과 발음 심볼 열로 변환되어, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)로부터, 발음 심볼 변환부(55)를 개재하고, 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열이 공급된다.
매칭부(56)는, 인식 결과 발음 심볼 열에, 필드 프레이즈(의 발음 심볼)가 포함되어 있는 경우에는, 인식 결과 발음 심볼 열에서, 필드 프레이즈를 제거하고, 그 삭제 후의 인식 결과 발음 심볼 열과의 매칭을, 검색 결과 대상 단어열 중, 인식 결과 발음 심볼 열에 포함되어 있었던 필드 프레이즈가 표현하는 필드의 검색 결과 대상 단어열의 검색 결과 대상 발음 심볼 열만을 대상으로 하여 행한다.
그리고, 매칭부(56)는, 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭 결과로서의 유사도를, 출력부(57)에 공급한다.
따라서, 매칭부(56)에서는, 출연자명 필드의 필드 프레이즈를 포함하는 음성 인식 결과 "Cast Search by XX"에 대해서는, 출연자명 필드의 검색 결과 대상 단어열만을 대상으로 하고, 음성 인식 결과(필드 프레이즈를 제거한 음성 인식 결과)와의 매칭이 취해진다.
출력부(57)는, 매칭부(56)로부터의 매칭 결과로서의 유사도에 기초하여, 그 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 출력한다.
따라서, 유저가, 출연자명 필드의 필드 프레이즈를 포함하는 영어의 입력 음성 "Cast Search by XX"를 발음했을 경우에는, 출연자명 필드의 검색 결과 대상 단어열을 대상으로 하고, 음성 인식 결과 "Cast Search by XX"에서 필드 프레이즈를 제거한 문자열 "XX"와의 매칭이 취해져, 그 결과, 출연자명이, 문자열 "XX"에 매치하는 프로그램이, 검색 결과 단어열로서 출력된다.
이상으로부터, 어떤 문자열 "XX"를 키워드로 해서, 프로그램의 검색을 행하는 경우에도, 영어의 입력 음성에 포함하는 필드 프레이즈에 따라서는, 다른 프로그램이, 검색 결과로서 얻어질 경우가 있다.
또한, 필드 프레이즈로서는, 1개의 필드를 표현하는 구문뿐만 아니라, 복수의 필드를 표현하는 구문도 채용할 수 있다.
또한, 필드로서는, 도 9(및 도 10)의 레코더를 제어하는 커맨드가 속하는 필드를 채용할 수 있다. 이 경우, 음성 인식 결과에 포함되는 필드 프레이즈에 의해, 입력 음성이, 커맨드인지의 여부를 판정할 수 있고, 또한, 입력 음성이 커맨드일 경우에, 매칭부(56)에서의 매칭에 의해, 커맨드의 종류(커맨드가, 어떤 처리를 요구하는 커맨드인가)를 검색할 수 있다.
[매칭의 고속화, 및 기억 용량의 삭감]
도 44는, 검색 결과 대상 벡터와, 벡터 대용 정보를 도시하는 도면이다.
음성 검색 장치(50; 도 9(및 도 10))에 있어서, 검색 결과 단어열을, 신속히 출력하기 위해서는, 예를 들어 매칭을 고속으로 행할 필요가 있다.
한편, 음성 인식 결과와, 검색 결과 대상 단어열과의 매칭에 있어서, 유사도로서의 코사인 거리나 보정 거리를 구할 경우에, 검색 결과 대상 발음 심볼 열을 표현하는 검색 결과 대상 벡터와, 인식 결과 발음 심볼 열을 표현하는 인식 결과 벡터가 필요해지지만, 음성 인식 결과가 얻어질 때마다, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열을, 검색 결과 대상 벡터로 변환해서는, 매칭에 시간을 필요로 하고, 매칭의 고속화를 방해하게 된다.
따라서, 유사도의 계산에 필요한 검색 결과 대상 벡터는, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열에서, 미리 구해 두고, 매칭부(56)가 내장하는 도시하지 않은 메모리에 기억해 둠으로써, 매칭의 고속화를 도모하는 방법이 있다.
그러나, 검색 결과 대상 벡터를, 매칭부(56)가 내장하는 메모리에 기억시켜 두는 것으로 하면, 그 메모리로서, 방대한 용량의 메모리가 필요해진다.
즉, 예를 들어 검색 결과 대상 벡터의 컴포넌트의 값을, 그 컴포넌트에 대응하는 음절이, 검색 결과 대상 발음 심볼 열에 존재할지 여부로, 1 또는 0으로 하면, 발음 심볼의 종류수가, C개일 경우에는, 검색 결과 대상 벡터는, C차원의 벡터가 된다.
예를 들어, 발음 심볼로서, 일본어의 음절을 표현하는 심볼을 채용한 경우, 발음 심볼의 종류수 C는, 100 내지 300개 정도가 된다.
또한, 예를 들어 발음 심볼의 종류수 C가, 100개이었다고 해도, 매칭의 단위로서, 음절 2 연쇄를 채용한 경우에는, 검색 결과 대상 벡터는, 10000(=100×100)차원의 벡터가 된다.
그리고, 검색 결과 대상 벡터의 차원이, D차원이며, 검색 결과 대상 기억부(53; 도 9)에 기억된 검색 결과 대상 단어열의 개수가, Z개라고 하면, 매칭부(56)가 내장하는 메모리에는, D×Z개의(검색 결과 대상 벡터의) 컴포넌트를 기억하는 것만의 기억 용량이 필요해진다.
그런데, 검색 결과 대상 벡터는, 일반적으로, 소(疎) 벡터(Sparse Vector), 즉 대부분의 컴포넌트가 0이 되는 벡터인 경우가 많다.
따라서, 매칭부(56)에서는, 각 검색 결과 대상 벡터에 대해서, 검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절의 발음 심볼(매칭의 단위로서, 음절 2 연쇄를 채용하는 경우에는, 0이 아닌 컴포넌트에 대응하는 음절 2 연쇄의 발음 심볼 열)(을 특정하는 ID(Identification))만을, 내장하는 메모리에 기억한다.
또한, 검색 결과 대상 벡터의 컴포넌트 값으로 하고, 예를 들어 그 컴포넌트에 대응하는 음절이, 검색 결과 대상 발음 심볼 열에 출현하는 빈도(tf)를 채용하는 경우에는, 검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절(을 특정하는 ID)과, 그 음절이 출현하는 빈도(검색 결과 대상 벡터의 컴포넌트의 값)와의 세트만이, 매칭부(56)가 내장하는 메모리에 기억된다.
검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절의 발음 심볼만을, 매칭부(56)가 내장하는 메모리에 기억할 경우에는, i번째의 검색 결과 대상 단어열의 검색 결과 대상 벡터에 있어서, 0이 아닌 컴포넌트의 수가, K(i)개라고 하면, 매칭부(56)가 내장하는 메모리에는, K(1)+K(2)+… +K(Z)개의 발음 심볼을 기억하는 것만의 기억 용량이 있으면 된다.
여기서, 검색 결과 대상 벡터의 컴포넌트가 취하는 값은, 0 및 1의 2값인 것에 대해서, 발음 심볼이 취하는 값으로서는, 상술한 바와 같이, 100 내지 300개 정도의 값이 있기 때문에, 검색 결과 대상 벡터의 1개의 컴포넌트는, 1비트로 표현할 수 있지만, 발음 심볼을 표현하기 위해서는, 7 내지 9비트 정도가 필요하다.
그러나, 검색 결과 대상 벡터의 대부분의 컴포넌트는 0이 되어 있으므로, 검색 결과 대상 벡터에 있어서, 0이 아닌 컴포넌트의 수 K(i)는 작은 값이 되고, K(1)+K(2)+… +K(Z)개의 발음 심볼을 기억하는 것 만의 기억 용량은, D×Z개의(검색 결과 대상 벡터의) 컴포넌트를 기억하는 것 만의 기억 용량에 비교하여 작아진다.
따라서, 매칭부(56)에 있어서, 각 검색 결과 대상 벡터에 대해서, 검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절의 발음 심볼만을, 내장하는 메모리에 기억함으로써, 그 메모리에 필요한 기억 용량을, 검색 결과 대상 벡터 바로 그것을 기억하는 경우에 비교하여 삭감할 수 있다.
여기서, 매칭부(56)가 내장하는 메모리에 기억되는, 검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절의 발음 심볼은, 검색 결과 대상 벡터를 대신하는 정보이므로, 이하, 적절히, 벡터 대용 정보라고도 한다.
도 44는, 검색 결과 대상 벡터와, 그 검색 결과 대상 벡터를 대신하는 벡터 대용 정보를 나타낸다.
검색 결과 대상 벡터의 컴포넌트의 값은, 그 컴포넌트에 대응하는 음절이, 검색 결과 대상 발음 심볼 열에 존재할지의 여부로, 1 또는 0이 된다.
한편, 검색 결과 대상 벡터를 대신하는 벡터 대용 정보는, 그 검색 결과 대상 벡터가 0이 아닌 컴포넌트에 대응하는 음절의 발음 심볼만으로 구성된다.
여기서, 도 44의 벡터 대용 정보에서는, 검색 결과 대상 단어열(검색 결과 대상 발음 심볼 열)에 있어서, 복수회 출현하는, 동일한 음절의 발음 심볼은, 괄호 첨부의 숫자를 붙이는 것으로 구별된다.
즉, 도 44에 있어서, 예를 들어 검색 결과 대상 단어열 「せかいいさん」에는, 동일한 음절 「い」의 발음 심볼이 2회 출현하는데, 벡터 대용 정보에서는, 그 2회 출현하는 음절 「い」의 발음 심볼 중, 첫번째 발음 심볼이, 「い」로 표현되는 동시에, 두번째 발음 심볼이, 「い」로, 두번째인 것을 표현하는 괄호 첨부의 숫자 「(2)」를 붙인 「2(2)」로 표현되고 있고, 이에 의해, 2회 출현하는 음절 「い」의 발음 심볼 각각이 구별되어 있다.
또한, 벡터 대용 정보에서는, 검색 결과 대상 단어열에 복수회 출현하는, 동일한 음절의 발음 심볼을, 구별하지 않고 표현할 수도 있다.
즉, 도 44에 있어서, 예를 들어 검색 결과 대상 단어열 「せかいいさん」에 2회 출현하는, 동일한 음절 「い」의 발음 심볼은, 벡터 대용 정보에 있어서, 음절 「い」(을 특정하는 ID)와, 그 음절 「い」가 출현하는 빈도인 「2」라는 세트(い, 2)에 의해 표현하는 것이 가능하다.
이상과 같이, 매칭부(56)가 내장하는 메모리에 있어서, 검색 결과 대상 벡터 대신에, 벡터 대용 정보를 기억할 경우에는, 매칭에 있어서, 검색 결과 대상 벡터를 기억할 경우에는 필요했던, 검색 결과 대상 벡터가 0의 컴포넌트에의 액세스(메모리에서의 0의 컴포넌트의 판독)를 행하지 않아도 되므로, 메모리의 기억 용량을 삭감하는 것 외에, 매칭을 고속화할 수 있다.
도 45는, 매칭부(56)가 내장하는 메모리에 있어서, 검색 결과 대상 벡터 대신에, 벡터 대용 정보를 기억할 경우의, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도의 계산을 설명하는 도면이다.
또한, 도 45에서는, 도 44와 마찬가지로, 벡터 대용 정보에 있어서, 검색 결과 대상 단어열에 복수회 출현하는, 동일한 음절의 발음 심볼이, 구별되어서 표현되어 있다. 후술하는 도 46 및 도 47에서도, 마찬가지이다.
또한, 도 45에서는, 검색 결과 대상 단어열(의 검색 결과 대상 발음 심볼 열)이 검색 결과 대상 벡터 대신에, 벡터 대용 정보로 표현되어 있는 것과 마찬가지로, 음성 인식 결과(의 인식 결과 발음 심볼 열)도, 인식 결과 벡터 대신에, 벡터 대용 정보로 표현되어 있다. 후술하는 도 47에서도, 마찬가지이다.
음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서, 코사인 거리나 보정 거리를 구할 경우에는, 인식 결과 벡터 VUTR와, 검색 결과 대상 벡터 VTITLE(i)과의 내적 VUTR·VTITLE(i), 및 인식 결과 벡터 VUTR의 크기 |VUTR|이 필요해진다.
또한, 코사인 거리, 및 보정 거리 중 제1 보정 거리를 구할 경우에는, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|이, 또한 필요해진다.
인식 결과 벡터 VUTR의 크기 |VUTR|은, 음성 인식 결과의 벡터 대용 정보를 구성하는 컴포넌트로서의 발음 심볼의 수의 총합의 평방근을 계산함으로써 구할 수 있다.
검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|도, 검색 결과 대상 단어열의 벡터 대용 정보를 사용하여 인식 결과 벡터 VUTR의 크기 |VUTR|과 마찬가지로 하여 구할 수 있다.
또한, 인식 결과 벡터 VUTR와, 검색 결과 대상 벡터 VTITLE(i)과의 내적 VUTR·VTITLE(i)은 내적 VUTR·VTITLE(i)의 초기값을 0으로 하여 음성 인식 결과의 벡터 대용 정보를 구성하는 발음 심볼을, 순차, 주목 심볼로 해서, 검색 결과 대상 단어열의 벡터 대용 정보 중에, 주목 심볼에 일치하는 발음 심볼이 존재하는 경우에는, 내적 VUTR·VTITLE(i)을 1씩 증분해 감으로써 구할 수 있다.
따라서, 음성 인식 결과와 검색 결과 대상 단어열과의 유사도로서의 코사인 거리나 보정 거리는, 음성 인식 결과 및 검색 결과 대상 단어열의 벡터 대용 정보를 사용하여 구할 수 있다.
그런데, 내적 VUTR·VTITLE(i)을 상술한 바와 같이, 검색 결과 대상 단어열의 벡터 대용 정보 중에, 음성 인식 결과의 벡터 대용 정보를 구성하는 발음 심볼 중 주목 심볼에 일치하는 발음 심볼이 존재하는 경우에는, 내적 VUTR·VTITLE(i)을 1씩 증분함으로써 구하는 방법(이하, 제1 내적 계산 방법이라고도 함)에서는, 매칭부(56)가 내장하는 메모리에 기억된 검색 결과 대상 단어열의 벡터 대용 정보를 구성하는 발음 심볼 하나 하나에 액세스하고, 주목 심볼에 일치하는지 여부를 확인할 필요가 있다.
따라서, 제1 내적 계산 방법에서는, 검색 결과 대상 단어열의 벡터 대용 정보를 구성하는 발음 심볼 중, 음성 인식 결과의 벡터 대용 정보를 구성하는 발음 심볼에 일치하지 않는 발음 심볼에도 액세스해야 하는 점에서, 내적 VUTR·VTITLE(i)의 계산, 나아가서는, 매칭에 시간을 필요로 한다.
따라서, 매칭부(56)에서는, 발음 심볼에서, 그 발음 심볼을, 벡터 대용 정보에 갖는 검색 결과 대상 단어열을 검색할 수 있는 역순 인덱스를, 검색 결과 대상 단어열의 벡터 대용 정보로부터, 미리 작성해 두고, 그 역순 인덱스를 이용하여, 내적 VUTR·VTITLE(i)을 계산할 수 있다.
여기서, 벡터 대용 정보는, 검색 결과 대상 단어열에서, 그 검색 결과 대상 단어열이 갖는 음절의 발음 심볼을 검색할 수 있는 인덱스인 것이 가능하지만, 역순 인덱스에 의하면, 그 역의 검색, 즉 발음 심볼로부터, 그 발음 심볼을, 벡터 대용 정보에 갖는 검색 결과 대상 단어열을 검색할 수 있다.
도 46은, 검색 결과 대상 단어열의 벡터 대용 정보에서, 역순 인덱스를 작성하는 방법을 설명하는 도면이다.
매칭부(56)는, 벡터 대용 정보의 컴포넌트로 될 수 있는 모든 발음 심볼에 대해서, 발음 심볼과, 그 발음 심볼을, 벡터 대용 정보의 컴포넌트로서 갖는 검색 결과 대상 단어열을 특정하는 검색 결과 대상 ID를 대응시키는 것으로, 역순 인덱스를 작성한다.
도 46의 역순 인덱스에 의하면, 예를 들어 발음 심볼 「い」를, 벡터 대용 정보의 컴포넌트로서 갖는 검색 결과 대상 단어열이, 검색 결과 대상 ID가 3인 검색 결과 대상 단어열과, 검색 결과 대상 ID가 3인 검색 결과 대상 단어열인 것을, 바로 검출(검색)할 수 있다.
도 47은, 역순 인덱스를 이용하여, 내적 VUTR·VTITLE(i)을 계산하는 방법(이하, 제2 내적 계산 방법이라고도 함)을 설명하는 도면이다.
제2 내적 계산 방법에서는, 매칭부(56)는, 각 검색 결과 단어열에 관한 내적 VUTR·VTITLE(i)의 초기값을 0으로 하여 음성 인식 결과의 벡터 대용 정보를 구성하는 발음 심볼을, 순차, 주목 심볼로 해서, 역순 인덱스에서, 주목 심볼에 일치하는 발음 심볼을, 벡터 대용 정보의 컴포넌트로서 갖는 검색 결과 대상 단어열(의 검색 결과 대상 ID)을 검출한다.
그리고, 매칭부(56)는, 주목 심볼에 일치하는 발음 심볼을, 벡터 대용 정보의 컴포넌트로서 갖는 검색 결과 대상 단어열에 대해서는, 그 검색 결과 대상 단어열에 관한 내적 VUTR·VTITLE(i)을 1씩 증분해 간다.
제2 내적 계산 방법에 의하면, 역순 인덱스의 발음 심볼 중, 음성 인식 결과의 벡터 대용 정보를 구성하는 발음 심볼에 일치하지 않는 발음 심볼에는, 액세스하지 않으므로, 그 점에서, 제1 내적 계산 방법보다, 내적 VUTR·VTITLE(i)의 계산을 단시간으로 행할 수 있고, 그 결과, 매칭의 고속화를 도모할 수 있다.
또한, 그 외, 예를 들어 유사도의 계산 중, 음성 인식부(51)에서의 음성 인식이 행해지기 전에 할 수 있는 계산 부분을, 사전에 행하고, 매칭부(56)가 내장하는 메모리에 유지(보유 지지)해 둠으로써, 매칭의 고속화를 도모할 수 있다.
즉, 예를 들어 유사도로서, 코사인 거리, 또는 제1 보정 거리를 채용하는 경우에는, 상술한 바와 같이, 내적 VUTR·VTITLE(i), 인식 결과 벡터 VUTR의 크기 |VUTR|, 및 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|이 필요해진다.
내적 VUTR·VTITLE(i), 인식 결과 벡터 VUTR의 크기 |VUTR|, 및 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)| 중, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|은, 음성 인식이 행해지기 전에 계산할 수 있다.
따라서, 검색 결과 대상 벡터 VTITLE(i)의 크기 |VTITLE(i)|을, 미리 계산해 두고, 매칭부(56)가 내장하는 메모리에 유지(보유 지지)해 둠으로써, 매칭의 고속화를 도모할 수 있다.
[음성 검색 장치(50)의 처리]
도 48은, 도 9(및 도 10)의 음성 검색 장치(50)의 처리를 설명하는 흐름도이다.
스텝 S11에 있어서, 음성 검색 장치(50)은, 필요한 전처리를 행한다.
즉, 음성 검색 장치(50)는, 전처리로서, 예를 들어 기록 매체(63)에 기록된 EPG를 구성하는 구성 요소인 프로그램의 타이틀이나, 출연자명, 상세 정보 등을 판독하고, 검색 결과 대상 기억부(53)에 공급하고, 검색 결과 대상 단어열로서 기억시키는 처리를 행한다.
또한, 음성 검색 장치(50)에서는, 음성 인식부(51)가, 전처리로서, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열을 사용하여, 언어 모델을 생성하는 처리를 행한다.
또한, 스텝 S11의 전처리는, 예를 들어 날마다, 소정의 시각에 행해진다. 또는, 스텝 S11의 전처리는, 기록 매체(63)에 녹화되어 있는 녹화 프로그램이 변경되었을 때나, 기록 매체(63)에 기록되어 있는 EPG가 변경(갱신)되었을 때 등에 행해진다.
최신의 전처리 후, 유저가 발음을 행하고, 그 발음으로서의 입력 음성이, 음성 인식부(51)에 공급되면, 음성 인식부(51)는, 스텝 S12에 있어서, 그 입력 음성을 음성 인식한다.
또한, 음성 인식부(51)에서의 음성 인식은, 최신 전처리에서 생성된 언어 모델을 사용하여 행해진다.
음성 인식부(51)가 입력 음성의 음성 인식을 행함으로써 얻어지는 음성 인식 결과는, 발음 심볼 변환부(52)를 개재함으로써, 인식 결과 발음 심볼 열이 되고, 매칭부(56)에 공급된다.
또한, 매칭부(56)에는, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열이, 형태소 해석부(54) 및 발음 심볼 변환부(55)를 개재함으로써, 검색 결과 대상 발음 심볼 열이 되어, 공급된다.
매칭부(56)는, 스텝 S13에 있어서, 검색 결과 대상 기억부(53)에 기억된 모든 검색 결과 대상 단어열 각각에 대해서, 음성 인식부(51)에서 발음 심볼 변환부(52)를 개재하여 공급되는 인식 결과 발음 심볼 열과, 검색 결과 대상 기억부(53)로부터 형태소 해석부(54) 및 발음 심볼 변환부(55)를 개재하여 공급되는 검색 결과 대상 발음 심볼 열과의 매칭을 취하고, 그 매칭 결과를, 출력부(57)에 공급한다.
즉, 매칭부(56)는, 검색 결과 대상 기억부(53)에 기억된 각 검색 결과 대상 단어열에 대해서, 음성 인식 결과와의 유사도로서의, 예를 들어 보정 거리 등을 계산하고, 그 유사도를, 매칭 결과로서, 출력부(57)에 공급한다.
또한, 매칭부(56)는, 인식 결과 발음 심볼 열이, 특정한 구문(의 발음 심볼)을 포함하는 경우에는, 그 특정한 구문을 제외한 인식 결과 발음 심볼 열과, 검색 결과 대상 발음 심볼 열과의 매칭을 취한다.
출력부(57)는, 스텝 S14에 있어서, 매칭부(56)로부터의 매칭 결과에 기초하여, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열 중에서 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열(로 하는 검색 결과 대상 단어열)을 선택하여 출력한다.
즉, 출력부(57)는, 검색 결과 대상 기억부(53)에 기억된 검색 결과 대상 단어열 중에서 음성 인식 결과와의 유사도가 상위 N위 이내인 검색 결과 대상 단어열을, 검색 결과 단어열로서 선택하여 출력한다.
또한, 검색 결과 대상 단어열이, 예를 들어 프로그램의 타이틀이나, 출연자명, 상세 정보인 경우에 있어서, 음성 인식 결과와의 유사도가 상위 N위 이내인 검색 결과 대상 단어열 중에, 타이틀 이외의, 예를 들어 출연자명(또는 상세 정보)이 있을 때에는, 출력부(57)에서는, 그 출연자명과 함께, 또는 그 출연자명 대신에, 그 출연자명을 메타데이터로서 갖는 프로그램의 타이틀을, 검색 결과 단어열로서 선택하는 것이 가능하다.
[본 발명을 적용한 컴퓨터의 설명]
이어서, 상술한 일련의 처리는, 하드웨어에 의해 행할 수도 있고, 소프트웨어에 의해 행할 수도 있다. 일련의 처리를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 범용의 컴퓨터 등에 인스톨된다.
따라서, 도 49는, 상술한 일련의 처리를 실행하는 프로그램이 인스톨되는 컴퓨터의 일 실시 형태의 구성예를 나타내고 있다.
프로그램은, 컴퓨터에 내장되어 있는 기록 매체로서의 하드 디스크(105)나 ROM(103)에 미리 기록해 둘 수 있다.
또는, 프로그램은, 리무버블 기록 매체(111)에 저장(기록)해 둘 수 있다. 이러한 리무버블 기록 매체(111)는, 소위 팩키지 소프트 웨어로서 제공할 수 있다. 여기서, 리무버블 기록 매체(111)로서는, 예를 들어 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등이 있다.
또한, 프로그램은, 상술한 바와 같은 리무버블 기록 매체(111)에서 컴퓨터에 인스톨하는 것 외에, 통신망이나 방송망을 개재하여, 컴퓨터에 다운로드하고, 내장하는 하드 디스크(105)에 인스톨할 수 있다. 즉, 프로그램은, 예를 들어 다운로드 사이트에서, 디지털 위성 방송용의 인공 위성을 개재하여, 컴퓨터에 무선으로 전송하거나, LAN(Local Area Network), 인터넷과 같은 네트워크를 개재하여, 컴퓨터에 유선으로 전송할 수 있다.
컴퓨터는, CPU(Central Processing Unit; 102)를 내장하고 있고, CPU(102)에는, 버스(101)를 개재하여, 입출력 인터페이스(110)가 접속되어 있다.
CPU(102)는, 입출력 인터페이스(110)를 개재하여, 유저에 의해, 입력부(107)가 조작됨으로써 명령이 입력되면, 그것에 따라, ROM(Read Only Memory; 103)에 저장되어 있는 프로그램을 실행한다. 또는, CPU(102)는, 하드 디스크(105)에 저장된 프로그램을, RAM(Random Access Memory; 104)에 로드하여 실행한다.
이에 의해, CPU(102)는, 상술한 흐름도에 따른 처리, 또는 상술한 블록도의 구성에 의해 행해지는 처리를 행한다. 그리고, CPU(102)는, 그 처리 결과를, 필요에 따라, 예를 들어 입출력 인터페이스(110)를 개재하여, 출력부(106)로부터 출력, 또는 통신부(108)로부터 송신, 나아가, 하드 디스크(105)에 기록시킨다.
또한, 입력부(107)는, 키보드나, 마우스, 마이크 등으로 구성된다. 또한, 출력부(106)는, LCD(Liquid Crystal Display)나 스피커 등으로 구성된다.
여기서, 본 명세서에 있어서, 컴퓨터가 프로그램에 따라서 행하는 처리는, 반드시 흐름도로서 기재된 순서를 따라서 시계열로 행해질 필요는 없다. 즉, 컴퓨터가 프로그램에 따라서 행하는 처리는, 병렬적 또는 개별로 실행되는 처리(예를 들어, 병렬 처리 또는 오브젝트에 의한 처리)도 포함한다.
또한, 프로그램은, 하나의 컴퓨터(프로세서)에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은, 먼 곳의 컴퓨터에 전송되어서 실행되는 것이어도 된다.
또한, 본 발명의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니라, 본 발명의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.
즉, 예를 들어 입력 음성의 언어는, 일본어나 영어에 한정되는 것은 아니다.
11 음성 인식부
12 발음 심볼 변환부
13 검색 결과 대상 기억부
14 형태소 해석부
15 발음 심볼 변환부
16 매칭부
17 출력부
21 발음 심볼 변환부
31 검색 결과 대상 기억부
41 음성 인식부
51 음성 인식부
52 발음 심볼 변환부
53 검색 결과 대상 기억부
54 형태소 해석부
55 발음 심볼 변환부
56 매칭부
57 출력부
60 레코더 기능부
61 튜너
62 기록 재생부
63 기록 매체
71 커맨드 판정부
72 제어부
73 출력 I/F
81 인식부
82 사전 기억부
83 음향 모델 기억부
84 언어 모델 기억부
85 언어 모델 생성부
91 종합 스코어 계산부
92 프로그램 타이틀 종합 스코어 계산부
93 출연자명 종합 스코어 계산부
94 상세 정보 종합 스코어 계산부
95 스코어 비교 순위 부여부
96 유사도 비교 순위 부여부
101 버스
102 CPU
103 ROM
104 RAM
105 하드 디스크
106 출력부
107 입력부
108 통신부
109 드라이브
110 입출력 인터페이스
111 리무버블 기록 매체

Claims (8)

  1. 검색 장치로서,
    입력 음성을 음성 인식하는 음성 인식부와,
    상기 입력 음성에 대응하는 단어열의 검색 결과가 대상으로 되는 단어열인 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취하는 매칭부와,
    상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열로부터의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력하는 출력부
    를 구비하는, 검색 장치.
  2. 제1항에 있어서,
    상기 발음 심볼은, 음절, 또는 음소의 발음을 표현하는 심볼이며,
    상기 매칭부는, 상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭에 있어서, 상기 검색 결과 대상 발음 심볼 열을 표현하는 벡터인 검색 결과 대상 벡터와, 상기 인식 결과 발음 심볼 열을 표현하는 벡터인 인식 결과 벡터에 대해서, 상기 검색 결과 대상 발음 심볼 열과 인식 결과 발음 심볼 열과의 길이의 차이의 영향을 저감하도록, 벡터공간법의 코사인 거리를 보정한 보정 거리를 구하는, 검색 장치.
  3. 제2항에 있어서,
    상기 입력 음성의 음성 인식 결과를, 상기 인식 결과 발음 심볼 열로 변환하는 발음 심볼 변환부를 더 구비하는, 검색 장치.
  4. 제3항에 있어서,
    상기 발음 심볼 변환부는, 또한 상기 검색 결과 대상 단어열을, 상기 검색 결과 대상 발음 심볼 열로 변환하는, 검색 장치.
  5. 제2항에 있어서,
    상기 매칭부는, 상기 코사인 거리를 구하는 연산에 있어서, 상기 검색 결과 대상 벡터의 크기 대신에, 상기 검색 결과 대상 벡터의 크기와 상기 인식 결과 벡터의 크기와의 승산값의 평방근을 사용함으로써 상기 보정 거리를 구하는, 검색 장치.
  6. 제2항에 있어서,
    상기 매칭부는, 상기 코사인 거리를 구하는 연산에 있어서, 상기 검색 결과 대상 벡터의 크기 대신에, 상기 인식 결과 벡터의 크기를 사용함으로써 상기 보정 거리를 구하는, 검색 장치.
  7. 검색 방법으로서,
    입력 음성에 대응하는 단어열을 검색하는 검색 장치가,
    상기 입력 음성을 음성 인식하고,
    상기 입력 음성에 대응하는 단어열을 검색하는 대상의 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취하고,
    상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열로부터의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력하는 스텝을 포함하는, 검색 방법.
  8. 입력 음성을 음성 인식하는 음성 인식부와,
    상기 입력 음성에 대응하는 단어열을 검색하는 대상의 복수의 검색 결과 대상 단어열 각각에 대해서, 상기 검색 결과 대상 단어열의 발음을 표현하는 발음 심볼의 배열인 검색 결과 대상 발음 심볼 열과, 상기 입력 음성의 음성 인식 결과의 발음을 표현하는 발음 심볼의 배열인 인식 결과 발음 심볼 열과의 매칭을 취하는 매칭부와,
    상기 검색 결과 대상 발음 심볼 열과 상기 인식 결과 발음 심볼 열과의 매칭 결과에 기초하여, 상기 복수의 검색 결과 대상 단어열로부터의, 상기 입력 음성에 대응하는 단어열의 검색 결과인 검색 결과 단어열을 출력하는 출력부로서, 컴퓨터를 기능시키기 위한 프로그램.

KR1020127013649A 2009-12-04 2010-12-02 검색 장치, 검색 방법, 및 프로그램 KR20120113717A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2009-276996 2009-12-04
JP2009276996 2009-12-04

Publications (1)

Publication Number Publication Date
KR20120113717A true KR20120113717A (ko) 2012-10-15

Family

ID=44115016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013649A KR20120113717A (ko) 2009-12-04 2010-12-02 검색 장치, 검색 방법, 및 프로그램

Country Status (7)

Country Link
US (1) US9817889B2 (ko)
EP (1) EP2509005A1 (ko)
JP (1) JPWO2011068170A1 (ko)
KR (1) KR20120113717A (ko)
CN (1) CN102667773B (ko)
RU (1) RU2012121711A (ko)
WO (1) WO2011068170A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10134387B2 (en) 2014-11-12 2018-11-20 Samsung Electronics Co., Ltd. Image display apparatus, method for driving the same, and computer readable recording medium
US11205415B2 (en) 2018-11-15 2021-12-21 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2012236649A1 (en) * 2011-03-28 2013-10-31 Ambientz Methods and systems for searching utilizing acoustical context
KR101231438B1 (ko) * 2011-05-25 2013-02-07 엔에이치엔(주) 외래어 발음 검색 서비스를 제공하는 검색결과 제공 시스템 및 방법
CN102867005A (zh) * 2011-07-06 2013-01-09 阿尔派株式会社 检索装置、检索方法以及车载导航装置
EP2940683A4 (en) * 2012-12-28 2016-08-10 Sony Corp INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
CN103065630B (zh) * 2012-12-28 2015-01-07 科大讯飞股份有限公司 用户个性化信息语音识别方法及系统
US9305064B1 (en) * 2013-05-24 2016-04-05 Google Inc. Keyword-based conversational searching using voice commands
JP6223744B2 (ja) * 2013-08-19 2017-11-01 株式会社東芝 方法、電子機器およびプログラム
US9889383B2 (en) * 2013-10-03 2018-02-13 Voyetra Turtle Beach, Inc. Configuring headset voice morph based on player assignment
US20150120723A1 (en) * 2013-10-24 2015-04-30 Xerox Corporation Methods and systems for processing speech queries
KR102092164B1 (ko) * 2013-12-27 2020-03-23 삼성전자주식회사 디스플레이 장치, 서버 장치 및 이들을 포함하는 디스플레이 시스템과 그 컨텐츠 제공 방법들
CN103761840A (zh) * 2014-01-21 2014-04-30 小米科技有限责任公司 遥控器寻找方法、装置、设备及系统
US20160336007A1 (en) * 2014-02-06 2016-11-17 Mitsubishi Electric Corporation Speech search device and speech search method
US20150340024A1 (en) * 2014-05-23 2015-11-26 Google Inc. Language Modeling Using Entities
AU2015305397A1 (en) * 2014-08-21 2017-03-16 Jobu Productions Lexical dialect analysis system
CN104598527B (zh) * 2014-12-26 2018-09-25 论客科技(广州)有限公司 一种语音搜索方法及装置
US10019514B2 (en) * 2015-03-19 2018-07-10 Nice Ltd. System and method for phonetic search over speech recordings
US10249297B2 (en) * 2015-07-13 2019-04-02 Microsoft Technology Licensing, Llc Propagating conversational alternatives using delayed hypothesis binding
WO2017017738A1 (ja) * 2015-07-24 2017-02-02 富士通株式会社 符号化プログラム、符号化装置、及び符号化方法
CN106024013B (zh) * 2016-04-29 2022-01-14 努比亚技术有限公司 语音数据搜索方法及系统
WO2017197365A1 (en) 2016-05-13 2017-11-16 Microsoft Technology Licensing, Llc Contextual windows for application programs
US10068573B1 (en) * 2016-12-21 2018-09-04 Amazon Technologies, Inc. Approaches for voice-activated audio commands
US10726056B2 (en) * 2017-04-10 2020-07-28 Sap Se Speech-based database access
US11043221B2 (en) * 2017-04-24 2021-06-22 Iheartmedia Management Services, Inc. Transmission schedule analysis and display
US20180329592A1 (en) * 2017-05-12 2018-11-15 Microsoft Technology Licensing, Llc Contextual windows for application programs
CN109104634A (zh) * 2017-06-20 2018-12-28 中兴通讯股份有限公司 一种机顶盒工作方法、机顶盒及计算机可读存储介质
CN107369450B (zh) * 2017-08-07 2021-03-12 苏州市广播电视总台 收录方法和收录装置
CN107809667A (zh) * 2017-10-26 2018-03-16 深圳创维-Rgb电子有限公司 电视机语音交互方法、语音交互控制装置及存储介质
US10546062B2 (en) * 2017-11-15 2020-01-28 International Business Machines Corporation Phonetic patterns for fuzzy matching in natural language processing
CN107832439B (zh) * 2017-11-16 2019-03-08 百度在线网络技术(北京)有限公司 多轮状态追踪的方法、系统及终端设备
CN107808007A (zh) * 2017-11-16 2018-03-16 百度在线网络技术(北京)有限公司 信息处理方法和装置
US10832657B2 (en) * 2018-03-01 2020-11-10 International Business Machines Corporation Use of small unit language model for training large unit language models
CN110600016B (zh) * 2019-09-20 2022-02-25 北京市律典通科技有限公司 卷宗推送方法和装置
JP2022074509A (ja) * 2020-11-04 2022-05-18 株式会社東芝 差分抽出装置、方法及びプログラム
US11620993B2 (en) * 2021-06-09 2023-04-04 Merlyn Mind, Inc. Multimodal intent entity resolver
CN114969339B (zh) * 2022-05-30 2023-05-12 中电金信软件有限公司 一种文本匹配方法、装置、电子设备及可读存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839853A (en) * 1988-09-15 1989-06-13 Bell Communications Research, Inc. Computer information retrieval using latent semantic structure
US7251637B1 (en) * 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
JP4393648B2 (ja) * 2000-01-11 2010-01-06 富士通株式会社 音声認識装置
JP4465564B2 (ja) 2000-02-28 2010-05-19 ソニー株式会社 音声認識装置および音声認識方法、並びに記録媒体
CN1151489C (zh) * 2000-11-15 2004-05-26 中国科学院自动化研究所 中国人名、地名和单位名的语音识别方法
JP2002252813A (ja) * 2001-02-23 2002-09-06 Fujitsu Ten Ltd 番組検索装置及び番組検索プログラム
US7043431B2 (en) * 2001-08-31 2006-05-09 Nokia Corporation Multilingual speech recognition system using text derived recognition models
US7353164B1 (en) * 2002-09-13 2008-04-01 Apple Inc. Representation of orthography in a continuous vector space
JP3848319B2 (ja) * 2003-11-11 2006-11-22 キヤノン株式会社 情報処理方法及び情報処理装置
US7401019B2 (en) * 2004-01-15 2008-07-15 Microsoft Corporation Phonetic fragment search in speech data
US7961851B2 (en) * 2006-07-26 2011-06-14 Cisco Technology, Inc. Method and system to select messages using voice commands and a telephone user interface
US8166029B2 (en) * 2006-09-07 2012-04-24 Yahoo! Inc. System and method for identifying media content items and related media content items
US20080162125A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Method and apparatus for language independent voice indexing and searching
US7912724B1 (en) * 2007-01-18 2011-03-22 Adobe Systems Incorporated Audio comparison using phoneme matching
US7983915B2 (en) * 2007-04-30 2011-07-19 Sonic Foundry, Inc. Audio content search engine
CN100470633C (zh) 2007-11-30 2009-03-18 清华大学 语音点歌方法
US8065300B2 (en) * 2008-03-12 2011-11-22 At&T Intellectual Property Ii, L.P. Finding the website of a business using the business name

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10134387B2 (en) 2014-11-12 2018-11-20 Samsung Electronics Co., Ltd. Image display apparatus, method for driving the same, and computer readable recording medium
US11205415B2 (en) 2018-11-15 2021-12-21 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11615780B2 (en) 2018-11-15 2023-03-28 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11961506B2 (en) 2018-11-15 2024-04-16 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
RU2012121711A (ru) 2013-11-27
CN102667773B (zh) 2015-02-04
JPWO2011068170A1 (ja) 2013-04-18
EP2509005A1 (en) 2012-10-10
US9817889B2 (en) 2017-11-14
WO2011068170A1 (ja) 2011-06-09
CN102667773A (zh) 2012-09-12
US20130006629A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
KR20120113717A (ko) 검색 장치, 검색 방법, 및 프로그램
JP5610197B2 (ja) 検索装置、検索方法、及び、プログラム
US20230317079A1 (en) Systems and methods for adaptive proper name entity recognition and understanding
US8688725B2 (en) Search apparatus, search method, and program
US8200490B2 (en) Method and apparatus for searching multimedia data using speech recognition in mobile device
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
Pavel et al. Sceneskim: Searching and browsing movies using synchronized captions, scripts and plot summaries
JP4887264B2 (ja) 音声データ検索システム
US8117026B2 (en) String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method
CN101996631B (zh) 用于对齐文本的方法和装置
KR100760301B1 (ko) 부분 검색어 추출을 통한 미디어 파일 검색 방법 및 장치
EP3291564A1 (en) Intelligent automated assistant in a media environment
JP4873018B2 (ja) データ処理装置、データ処理方法、及び、プログラム
CN101447187A (zh) 语音识别装置及方法
US20150170649A1 (en) Information processing device, method and computer program product
JP5326169B2 (ja) 音声データ検索システム及び音声データ検索方法
JP4738847B2 (ja) データ検索装置および方法
KR20200087802A (ko) 적응형 고유명칭 개체 인식 및 이해를 위한 시스템 및 방법
KR20060100646A (ko) 영상물의 특정 위치를 검색하는 방법 및 영상 검색 시스템
JP2011118775A (ja) 検索装置、検索方法、及び、プログラム
Goto et al. PodCastle and Songle: Crowdsourcing-Based Web Services for Retrieval and Browsing of Speech and Music Content.
JP2011118774A (ja) 検索装置、検索方法、及び、プログラム
US11922931B2 (en) Systems and methods for phonetic-based natural language understanding
JP4308627B2 (ja) テキスト解析方法、テキスト解析装置、テキスト解析プログラム、このプログラムを記録した記録媒体
JP2006106451A (ja) テレビ放送受信機における音声入力方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid