(57)【要約】【課題】円滑に対話を進めることができる。【解決手段】本実施形態に係る対話装置は、取得部、推定部、抽出部、選択部および制御部を含む。取得部は、ユーザの意図を含むテキストを取得する。推定部は、前記テキストから前記意図を推定する。抽出部は、前記テキストからキーワードを抽出する。選択部は、前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際に、前記属性を有するキーワードが前記テキストに存在しない場合、前記テキストから前記品詞を有する単語を選択する。制御部は、前記単語を前記スロットに割り当てる。【選択図】図１
2016061954.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの意図を含むテキストを取得する取得部と、
前記テキストから前記意図を推定する推定部と、
前記テキストからキーワードを抽出する抽出部と、
前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際に、前記属性を有するキーワードが前記テキストに存在しない場合、前記テキストから前記品詞を有する単語を選択する選択部と、
前記単語を前記スロットに割り当てる制御部と、を具備することを特徴とする対話装置。
【請求項２】
前記選択部は、前記スロットに含まれる前記品詞に該当する品詞を有する単語が前記テキストに１つ存在する場合、該単語を選択することを特徴とする請求項１に記載の対話装置。
【請求項３】
前記スロットに複数のキーワードが割り当てられる場合、前記スロットは、前記キーワードが出現する順番と、該キーワードに付される助詞のパターンを示す接続助詞との少なくともどちらか一方に関する情報をさらに含み、
前記選択部は、前記品詞と、前記順番および前記接続助詞の少なくともどちらか一方の条件とに該当する単語を選択することを特徴とする請求項１に記載の対話装置。
【請求項４】
前記制御部は、前記スロットに割り当てられた単語と前記スロットに含まれる属性との対応付けを学習することを特徴とする請求項１に記載の対話装置。
【請求項５】
ユーザの意図を含むテキストを取得する第１取得部と、
前記テキストから前記意図を推定する推定部と、
前記テキストからキーワードを抽出する抽出部と、
前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際、前記属性を有するキーワードが前記テキストに存在しない場合、前記ユーザに入力を促す第１応答文を生成する生成部と、
前記ユーザから入力デバイスを用いて入力される入力文字列を取得する第２取得部と、
前記入力文字列を前記スロットに割り当てる制御部と、を具備することを特徴とする対話装置。
【請求項６】
前記第２取得部は、前記入力デバイスを用いて選択された前記テキストの一部を前記入力文字列として取得することを特徴とする請求項５に記載の対話装置。
【請求項７】
前記生成部は、前記スロットのスロット名を含む第２応答文を生成し、
前記第２取得部は、前記入力デバイスを用いて前記テキストの一部が指定されかつ前記第２応答文の前記スロット名が指定される場合、前記テキストの一部を前記入力文字列として取得し、
前記制御部は、前記入力文字列を前記スロット名に対応するスロットに割り当てることを特徴とする請求項５に記載の対話装置。
【請求項８】
前記第２取得部は、前記テキストの一部から前記スロット名に向けて前記入力デバイスを用いてなぞられる場合および前記スロット名から前記テキストの一部に向けて前記入力デバイスを用いてなぞられる場合のどちらか一方において、前記テキストの一部を前記入力文字列として取得することを特徴とする請求項７に記載の対話装置。
【請求項９】
前記第２取得部は、一覧として表示された複数のスロット名のうちの１つのスロット名が選択された場合、前記テキストの一部を前記入力文字列として取得することを特徴とする請求項７に記載の対話装置。
【請求項１０】
音声認識処理に関する音声データと文字列との対応付けを格納する格納部をさらに具備し、
前記第１取得部は、前記ユーザの発話について前記対応付けを参照して音声認識処理を行い、音声認識結果として、前記音声認識処理の尤度が高い順にＮ−ｂｅｓｔ形式で文字列候補を得ることを特徴とする請求項１から請求項９のいずれか１項に記載の対話装置。
【請求項１１】
ストロークと文字列との対応付けを格納する格納部をさらに具備し、
前記第１取得部は、前記ユーザから入力されるストロークについて前記対応付けを参照してストローク認識処理を行い、ストローク認識結果として、前記ストローク認識処理の尤度が高い順にＮ−ｂｅｓｔ形式で文字列候補を得ることを特徴とする請求項１から請求項９のいずれか１項に記載の対話装置。
【請求項１２】
前記推定部は、前記スロットに対する再割り当ての指示を推定し、
前記制御部は、前記再割り当ての指示がある場合に、前記スロットに割り当てられた前記キーワードを破棄することを特徴とする請求項１から請求項９のいずれか１項に記載の対話装置。
【請求項１３】
ユーザの意図を含むテキストを取得する取得し、
前記テキストから前記意図を推定する推定し、
前記テキストからキーワードを抽出し、
前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際に、前記属性を有するキーワードが前記テキストに存在しない場合、前記テキストから前記品詞を有する単語を選択し、
前記単語を前記スロットに割り当てることを特徴とする対話方法。
【請求項１４】
コンピュータを、
ユーザの意図を含むテキストを取得する取得手段と、
前記テキストから前記意図を推定する推定手段と、
前記テキストからキーワードを抽出する抽出手段と、
前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際に、前記属性を有するキーワードが前記テキストに存在しない場合、前記テキストから前記品詞を有する単語を選択する選択手段と、
前記単語を前記スロットに割り当てる制御手段として機能させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、対話装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータおよび携帯電話などの端末では、キーボード入力に限らず、タッチパネルを用いた手書きによる文字認識、または音声認識などを使用してテキストを取得できる。このように取得したテキストを解釈し、テキストの解釈に応じたサービスを提供する対話システムがある。入力されるテキストには日々新しい単語が追加される可能性があるため、対話システムにおいて入力されるテキストの全ての単語を常に把握することは難しい。そこで、知らない単語が入力された際にはユーザにその単語を教えてもらう必要がある。  
単語を追加する手法としては、音声認識結果が誤っていた場合に、ユーザが誤認識箇所を選択するとその部分の認識候補を提示して、ユーザが正解を選択することで誤認識箇所の訂正する手法がある。また、別の手法として、音声翻訳を行う際に、音声認識結果と似た用例を検索し、用例中のスロットの中身を音声認識結果中の単語に置き換え、置き換えた場所を網掛けしてユーザに提示する手法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２３７８３号公報
【特許文献２】特開２０００−２００２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した対話システムでは、音声認識処理において正しく解釈できたとしても、後段のテキスト解釈部分がテキストを正しく解釈できない場合がある。このような場合、テキスト自体は正しく表示されるので、ユーザには何が間違っているのか理解できず、修正できない。また、置き換えた場所を網掛けする手法では、スロットを埋められる単語が存在しない場合は網掛けすることができない。
【０００５】
本開示は、上述の課題を解決するためになされたものであり、円滑な対話を進めることができる対話装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本実施形態に係る対話装置は、取得部、推定部、抽出部、選択部および制御部を含む。取得部は、ユーザの意図を含むテキストを取得する。推定部は、前記テキストから前記意図を推定する。抽出部は、前記テキストからキーワードを抽出する。選択部は、前記意図に応じたサービスを実行するために必要なキーワードの属性および該キーワードの品詞に関する情報を含むスロットにキーワードを割り当てる際に、前記属性を有するキーワードが前記テキストに存在しない場合、前記品詞を有する単語を選択する。制御部は、前記単語を前記スロットに割り当てる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る対話装置を示すブロック図。
【図２】キーワード辞書格納部に格納されるキーワードの一例を示す図。
【図３】第１の実施形態に係るサービスＤＢに格納されるデータの一例を示す図。
【図４】第１の実施形態に係る対話装置の対話動作を示すフローチャート。
【図５】第１の実施形態に係る対話装置の対話動作の具体例を示す図。
【図６】第２の実施形態に係るサービスＤＢに格納されるデータの一例を示す図。
【図７】第３の実施形態に係る対話装置を示すブロック図。
【図８】第３の実施形態に係る対話装置の対話動作を示すフローチャート。
【図９】第３の実施形態に係る対話装置の対話動作の第１具体例を示す図。
【図１０】第３の実施形態に係る対話装置の対話動作の第２具体例を示す図。
【図１１】第４の実施形態に係る対話装置の対話動作の具体例を示す図。
【図１２】第５の実施形態に係る対話装置のキーワードの割り当て方法の第１具体例を示す図。
【図１３】第５の実施形態に係る対話装置のキーワードの割り当て方法の第２具体例を示す図。
【図１４】スロット一覧を表示させるキーワードの割り当て方法を示す図。
【図１５】第６の実施形態に係る対話装置を示すブロック図。
【図１６】第６の実施形態に係る対話装置の対話動作の具体例を示す図。
【図１７】第７の実施形態に係る対話装置の対話動作を示すフローチャート。
【図１８】第７の実施形態に係る対話装置の対話動作の具体例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら本実施形態に係る対話装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
【０００９】
（第１の実施形態）  
第１の実施形態に係る対話装置について図１のブロック図を参照して説明する。  
第１の実施形態に係る対話装置１００は、テキスト取得部１０１、形態素辞書格納部１０２、形態素解析部１０３、キーワード辞書格納部１０４、キーワード抽出部１０５、意図理解モデル格納部１０６、意図推定部１０７、サービスデータベース（サービスＤＢ）１０８、対話制御部１０９、応答文生成部１１０およびキーワード選択部１１１を含む。
【００１０】
テキスト取得部１０１は、ユーザからテキストを取得する。テキストは１以上の単語からなる文字列を含む。  
形態素辞書格納部１０２は、形態素解析処理に必要な情報、例えば、形態素の品詞および読みを格納する。  
形態素解析部１０３は、テキスト取得部１０１からテキストを受け取り、テキストを形態素解析して、形態素解析結果を得る。形態素解析結果は、例えば、各形態素に品詞、基本形および読みが付与された情報である。
【００１１】
キーワード辞書格納部１０４は、キーワードとキーワードの属性とを対応付けて格納する。属性は、人物、場所、テレビ番組などキーワードの分類を示す。キーワード辞書格納部１０４の詳細については、図２を参照して後述する。  
キーワード抽出部１０５は、形態素解析部１０３から形態素解析結果を受け取り、キーワード辞書格納部１０４を参照して、形態素解析結果からキーワードとキーワードに対応する属性とを抽出する。なお、形態素解析結果にキーワード辞書格納部１０４に格納されるキーワードが存在しない場合、抽出されるキーワードはゼロとして扱えばよい。
【００１２】
意図理解モデル格納部１０６は、ユーザの意図を出力するために使用されるモデルである意図理解モデルを格納する。意図理解モデルは、例えば、予め大量の文章に対して属性とユーザの意図を表すタグとを付与しておき、文書中から形態素情報およびキーワード情報を抽出してこれらを特徴量として機械学習を行うことにより生成すればよい。  
意図推定部１０７は、キーワード抽出部１０５から形態素解析結果を受け取り、抽出できた場合はキーワードおよび属性をさらに受け取る。意図推定部１０７は、意図理解モデル格納部１０６に格納される意図理解モデルを参照して、テキストの形態素解析結果からユーザが何をしたいのかを表すユーザの意図を推定する。  
サービスＤＢ１０８は、ユーザの意図に応じて実行するサービスと、スロットとを対応付けて格納する。スロットは、ユーザの意図に応じたサービスを実行するために必要なキーワードの属性およびキーワードの品詞に関する情報の組み合わせである。サービスＤＢ１０８の詳細については、図３を参照して後述する。
【００１３】
対話制御部１０９は、意図推定部１０７からユーザの意図およびキーワードを受け取り、ユーザの意図から実行すべきサービスを決定し、スロットに割り当てるキーワードが揃っているかどうかを判定する。対話制御部１０９は、キーワード抽出部１０５においてキーワードが抽出されており、スロットに割り当てるキーワードが揃っている場合は、スロットにキーワードを割り当てる。スロットにキーワードを割り当てることで、後段の処理においてキーワードに基づくサービスを実行することができる。  
一方、キーワード抽出部１０５においてスロットに割り当て可能なキーワードが抽出されていない場合、すなわちスロットに含まれる属性に該当する属性を有するキーワードがテキストに存在しない場合は、後述のキーワード選択部１１１にスロットに割り当てるための単語を選択させる選択指示を生成する。その後、キーワード選択部１１１から選択された単語を受け取り、スロットに単語を割り当てる。
【００１４】
応答文生成部１１０は、対話制御部１０９からキーワードまたは単語が割り当てられたスロットを受け取り、サービスを実行するかどうかの選択をユーザに促す応答文を生成する。  
キーワード選択部１１１は、対話制御部１０９から選択指示を、形態素解析部１０３から形態素解析結果をそれぞれ受け取り、選択指示に応じて形態素解析結果からスロットの品詞に該当する品詞を有する単語を選択する。
【００１５】
次に、キーワード辞書格納部１０４に格納されるキーワードの一例について図２を参照して説明する。  
図２に示すテーブル２００は、表層語２０１、属性２０２および品詞２０３をそれぞれ対応付けて格納する。表層語２０１は、キーワードの表層表現を示す。属性２０２は、表層語２０１の属性を示す。品詞２０３は、表層語２０１の品詞を示す。  
具体的には、例えば、表層語２０１「新宿」、属性２０２「ｌｏｃａｔｉｏｎ」および品詞２０３「名詞」がそれぞれ対応付けられて格納される。
【００１６】
次に、サービスＤＢ１０８に格納されるデータの一例について図３を参照して説明する。  
図３に示すテーブル３００は、意図タグ３０１、サービスタグ３０２およびスロット３０３をそれぞれ対応付けて格納する。さらに、スロット３０３は、スロット名３０４、属性２０２および品詞２０３を含む。意図タグ３０１は、利用者の意図を示すタグである。サービスタグ３０２は、どのような内容のサービスを提供するかを示すタグである。スロット名３０４は、スロットの名称を示す。ここでは、１つのサービスタグ３０２に対して１つのスロット３０３が対応付けられる。
【００１７】
具体的には、例えば、意図タグ３０１「ｓｅａｃｈ−ｔｖ−ｐｒｏｇｒａｍ」、サービスタグ３０２「ＳｅａｒｃｈＴＶＰｒｏｇｒａｍ」、スロット名３０４「テレビ番組名」、属性２０２「ｔｖ−ｐｒｏｇｒａｍ」および品詞２０３「名詞」がそれぞれ対応付けられて格納される。
【００１８】
なお、同じサービスタグ３０２でも異なるスロットで動作させることがある。例えば、「ＳｅａｒｃｈＴＶＰｒｏｇｒａｍ」は、番組検索を行うサービスであるが、テレビ番組名そのもので検索する場合と、「ドラマ」、「音楽」などのジャンルで指定する場合がありうる。そのため、同一のサービスタグでもスロットのバリエーションが複数存在する場合は、複数に分けて記載する。
【００１９】
次に、第１の実施形態に係る対話装置１００の対話動作について図４のフローチャートを参照して説明する。  
ステップＳ４０１では、テキスト取得部１０１が、テキストを取得する。  
ステップＳ４０２では、形態素解析部１０３が、テキストを形態素解析する。  
ステップＳ４０３では、キーワード抽出部１０５が、キーワードを抽出する。
【００２０】
ステップＳ４０４では、意図推定部１０７が、ステップＳ４０３のキーワードに基づいて、ユーザの意図の推定処理を行う。  
ステップＳ４０５では、意図推定部１０７が、ステップＳ４０４の推定処理によって、意図タグが推定できたかどうかを判定する。判定処理は、本実施形態では、形態素解析結果の属性と属性が一致する意図タグが存在すれば、意図タグを推定できたと判定する。意図タグが推定できた場合はステップＳ４０６に進み、意図タグが推定できなかった場合はステップＳ４１２に進む。  
ステップＳ４０６では、対話制御部１０９が、意図タグに応じて実行すべきサービスをサービスＤＢ１０８から検索する。本実施形態では、意図タグに対応するサービスタグを検索する。
【００２１】
ステップＳ４０７では、対話制御部１０９が、ステップＳ４０６の検索処理によって、該当するサービスが存在するかどうか、すなわち意図タグに対応するサービスタグが存在するかどうかを判定する。サービスが存在する（サービスタグが存在する）場合はステップＳ４０８に進み、サービスが存在しない（サービスタグが存在しない）場合はステップＳ４１２に進む。  
ステップＳ４０８では、対話制御部１０９が、スロット割り当てを行う。「スロット割り当て」は、ステップＳ４０７で検索したサービスタグに対応するスロットに、キーワードを割り当てる処理である。  
ステップＳ４０９では、対話制御部１０９が、全てのスロットにキーワードが割り当てられたかどうかを判定する。全てのスロットにキーワードが割り当てられた場合はステップＳ４１０に進み、全てのスロットにキーワードが割り当てられていない場合はステップＳ４１１に進む。
【００２２】
ステップＳ４１０では、応答文生成部１１０が、サービスを実行する際のユーザへの確認を促す確認文を生成し、処理を終了する。なお、確認文をユーザに提示したのちユーザが承諾すれば、サービスが実行される。サービスの実行に関しては一般的な処理を行えばよいため、ここでの説明を省略する。  
ステップＳ４１１では、キーワード選択部１１１が、テキストから単語を選択する。その後、ステップＳ４０８に戻り、同様の処理を繰り返す。なお、ステップＳ４０８では、対話制御部１０９が、選択された単語をスロットに割り当てる処理を行う。
【００２３】
ステップＳ４１２は、ユーザの意図が推定できない、またはサービスが見つからない場合である。よってステップＳ４１２では、応答文生成部１１０が、ユーザからテキストを再入力させるように、再入力を促す応答文を作成し、その後応答文がユーザに提示される。以上で第１の実施形態に係る対話装置１００の対話動作を終了する。
【００２４】
次に、第１の実施形態に係る対話装置１００の動作の具体例について図５を参照して説明する。  
図５の例では、ユーザ５１０が、携帯電話およびタブレットＰＣなどの端末に対して音声により「小田原に泊まりたい」と入力する場合を想定する。また、単語「小田原」がキーワード辞書格納部１０４に格納されていない場合を想定する。  
ユーザ５１０が発話５０１「小田原に泊まりたい」を発話すると、テキスト取得部１０１が、テキストとして発話５０１「小田原に泊まりたい」を取得し、発話５０１が画面５２０に表示される。形態素解析部１０３は、発話５０１に対して形態素解析を行い、「小田原（名詞）／に（助詞）／泊まり（動詞）／たい（助動詞）」を得る。キーワード抽出部１０５はキーワードの抽出を試みるが、キーワード辞書格納部１０４に「小田原」が存在しないためキーワードが抽出されない。続いて、意図推定部１０７がユーザの意図を推定し、「泊まりたい」という文字列から意図タグ「ｓｅａｒｃｈ−ｈｏｔｅｌ」を得るとする。
【００２５】
対話制御部１０９が、図３に示すサービスＤＢ１０８を参照して意図タグ「ｓｅａｒｃｈ−ｈｏｔｅｌ」に対応するサービスタグ「ＳｅａｒｃｈＨｏｔｅｌ」を得る。ここで、キーワード抽出部１０５においてキーワードが抽出されていないため、サービスタグ「ＳｅａｒｃｈＨｏｔｅｌ」のスロットには、属性「ｌｏｃａｔｉｏｎ」を有するキーワードが割り当てられない。  
そこで、キーワード選択部１１１がキーワード選択を行う。ここでは、スロットの品詞の条件に該当する単語の品詞は「名詞」であり、発話５０１「小田原に泊まりたい」のうち品詞が名詞である単語は「小田原」１つなので、キーワード選択部１１１が「小田原」を選択する。対話制御部１０９は、単語「小田原」を属性「ｌｏｃａｔｉｏｎ」であるスロットに割り当てる。
【００２６】
応答文生成部１１０は、スロットに全てのキーワードが割り当てられたので、対話装置１００からの応答５０２として「ホテル検索ですね。“小田原”付近のホテルを検索します。よろしいですか？」といった、提供するサービスに関する応答文を生成する。応答文は画面５２０に表示される。  
なお、以降の処理としては、例えばユーザ５１０が発話５０３「はい」とサービスの実行を許可する内容を発話すれば、サービスを実行するような処理であればよい。具体的な実行例としては、「小田原  ホテル」を検索クエリとしたインターネットの検索処理が行われ、システムが応答５０４「小田原付近のホテルの検索結果はこちらです」といった応答文とともに処理結果を提示することができる。
【００２７】
以上に示した第１の実施形態によれば、キーワード辞書に登録されていない単語でも、品詞を参照してテキストから単語を選択し、選択した単語をサービスを提供するために必要なスロットのキーワードとして割り当てることで、円滑な対話を行うことができる。
【００２８】
（第２の実施形態）  
第１の実施形態では、スロットに割り当てるキーワードが１つである場合を想定するが、第２の実施形態では、スロットに割り当てるキーワードが複数である点が異なる。  
なお、第２の実施形態に係る対話装置については、図１に示す対話装置１００と同様であるためここでの説明を省略する。
【００２９】
第２の実施形態に係るサービスＤＢ１０８の一例について図６を参照して説明する。  
図６に示すテーブルは、意図タグ３０１、サービスタグ３０２およびスロット６０１を含む。スロット６０１は、スロット名３０４、属性２０２、品詞２０３、順番６０２、接続助詞６０３を含む。
【００３０】
順番６０２は、あるサービスにおいて必要となるキーワードがテキスト中に出現する順番である。接続助詞６０３は、キーワードに付される助詞のパターンを示す。属性２０２、品詞２０３および接続助詞６０３の組み合わせ、または、属性２０２、品詞２０３および順番６０２の組み合わせがスロット６０１の条件となる。
【００３１】
具体的には、意図タグ３０１「ｓｅａｒｃｈ−ｒｏｕｔｅ」およびサービスタグ３０２「ＳｅａｒｃｈＲｏｕｔｅ」の対応付けに対して、２つのスロット６０１が対応付けられる。１つ目のスロット６０１は、スロット名３０４「出発地」、属性２０２「ｌｏｃａｔｉｏｎ」、品詞２０３「名詞」、順番６０２「ｏｒｄｅｒ−１」および接続助詞６０３「ｔａｉｌ−『から』」と「ｔａｉｌ−『発』」とがそれぞれ対応付けられる。２つ目のスロット６０１は、スロット名３０４「目的地」、属性２０２「ｌｏｃａｔｉｏｎ」、品詞２０３「名詞」、順番６０２「ｏｒｄｅｒ−２」および接続助詞６０３「ｔａｉｌ−『まで』」と「ｔａｉｌ−『行き』」とがそれぞれ対応付けられる。  
なお、接続助詞６０３に複数のパターンが含まれる場合は、いずれか１つのパターンが満たされればよい。例えば、接続助詞６０３「ｔａｉｌ−『から』」および「ｔａｉｌ−『発』」のどちらかに該当すればよい。
【００３２】
次に、第２の実施形態に係る対話装置の動作の具体例について図６を参照しながら説明する。  
第１例として、「小田原」および「リーズナブル」がキーワード辞書格納部１０４に格納されておらず、テキスト取得部１０１において「小田原にリーズナブルに泊まりたい」というテキストを取得した場合を想定する。  
形態素解析部１０３により、テキストの形態素解析結果として、「小田原（名詞）／に（助詞）／リーズナブル（形容動詞）／に（助詞）／泊まり（動詞）／たい（助動詞）」を得る。この場合、キーワード抽出部１０５では、「小田原」および「リーズナブル」がキーワード辞書格納部１０４に格納されていないため、キーワードが抽出できない。続いて意図推定部１０７によりテキストの内容から意図タグ３０１「ｓｅｒａｃｈ−ｈｏｔｅｌ」が推定され、対話制御部１０９が対応する図６に示すサービスタグ３０２「ＳｅａｒｃｈＨｏｔｅｌ」を得ると想定する。
【００３３】
キーワード選択部１１１は、スロットの属性２０２「ｌｏｃａｔｉｏｎ」に対応する品詞２０３が「名詞」なので、テキスト中で品詞が「名詞」である「小田原」を選択する。また、もう１つのスロットの属性２０２「ｃｈｅａｐ」に対応する品詞２０３は「形容詞ｏｒ形容動詞」なので、テキスト中で品詞が「形容動詞」である「リーズナブル」を選択する。  
対話制御部１０９は、選択された「小田原」をスロット名「場所」に対応する属性「ｌｏｃａｔｉｏｎ」のキーワードとして割り当て、選択された「リーズナブル」をスロット名「条件」に対応する属性「ｃｈｅａｐ」のキーワードとして割り当てる。このように、複数のスロットが存在する場合でも、それぞれの品詞が異なる場合はスロットに割り当てることができる。
【００３４】
次に、第２例として、「上野毛」および「小田原」がキーワード辞書格納部１０４に格納されておらず、テキスト取得部１０１において「上野毛から小田原までどう行けばいいの」というテキストを取得した場合を想定する。  
形態素解析部１０３により、テキストの形態素解析結果として、「上野毛（名詞）／から（助詞）／小田原（名詞）／まで（助詞）／どう（副詞）／行け（動詞）／ば（助詞）／いい（形容詞）／の（助詞）」を得る。この場合、キーワード抽出部１０５では、「上野毛」および「小田原」がキーワード辞書格納部１０４に格納されていないため、キーワードが抽出できない。続いて意図推定部１０７によりテキストの内容から意図タグ３０１「ｓｅｒａｃｈ−ｒｏｕｔｅ」が推定され、対話制御部１０９が対応する図６に示すサービスタグ３０２「ＳｅａｒｃｈＲｏｕｔｅ」を得ると想定する。
【００３５】
キーワード選択部１１１は、図６に示すスロット名３０４「出発地」の条件、すなわちスロットの属性２０２「ｌｏｃａｔｉｏｎ」に対応する品詞が名詞であり、かつ接続助詞６０３として単語の末尾に「から」がつく単語である、「上野毛」を選択する。同様に、キーワード選択部１１１は、スロット名「目的地」の条件に当てはまる、接続助詞６０３として「まで」が末尾につく名詞である「小田原」を選択する。  
対話制御部１０９は、選択された「上野毛」をスロット名「出発地」のスロットにキーワードとして割り当て、選択された「小田原」をスロット名「目的地」のスロットにキーワードとして割り当てる。
【００３６】
なお、出現順の条件でも同様な結果を得ることができる。例えば、テキスト取得部１０１において「上野毛小田原間はどう行けばいいの」というテキストを取得した場合でも、スロット名「出発地」の条件となる順番「ｏｒｄｅｒ−１」により、１番目に出現する名詞「上野毛」を出発地のスロットのキーワードとして割り当て、スロット名「目的地」の条件となる順番「ｏｒｄｅｒ−２」により、２番目に出現する名詞「小田原」を目的地のスロットのキーワードとして割り当てることができる。
【００３７】
以上に示した第２の実施形態によれば、割り当てるべきスロットが複数存在する場合でも、スロットの条件に応じてテキストに出現する単語を適切に選択することができ、円滑な対話を行うことができる。
【００３８】
（第３の実施形態）  
第３の実施形態では、タッチパネルやリモコンのボタンなどの入力デバイスなどを用いて、ユーザがキーワードとして割り当てる文字列を直接入力する点が異なる。なお、第３の実施形態では、キーワードを割り当てるべきスロットは１つである場合を想定する。
【００３９】
第３の実施形態に係る対話装置について図７のブロック図を参照して説明する。  
第３の実施形態に係る対話装置７００は、テキスト取得部１０１、形態素辞書格納部１０２、形態素解析部１０３、キーワード辞書格納部１０４、キーワード抽出部１０５、意図理解モデル格納部１０６、意図推定部１０７、サービスＤＢ１０８、対話制御部１０９、応答文生成部１１０、入力デバイス７０１、キーワード取得部７０２およびキーワード選択部７０３を含む。
【００４０】
テキスト取得部１０１、形態素辞書格納部１０２、形態素解析部１０３、キーワード辞書格納部１０４、キーワード抽出部１０５、意図理解モデル格納部１０６、意図推定部１０７、サービスＤＢ１０８、対話制御部１０９および応答文生成部１１０は第１の実施形態と同様の動作を行うので、詳細な説明は省略する。
【００４１】
入力デバイス７０１は、例えば、タッチパネル、リモコンのボタンなど端末を操作できるデバイスであり、ユーザが入力デバイスに対して文字列またはストロークを入力する。  
キーワード取得部７０２は、入力デバイス７０１から文字列およびストロークに基づいて文字認識処理を行い、入力デバイスを用いて入力される文字列である入力文字列を取得する。  
キーワード選択部７０３は、キーワード取得部７０２から入力文字列を受け取り、入力文字列をキーワードとして対話制御部１０９に送る。
【００４２】
次に、第３の実施形態に係る対話装置７００の対話動作について図８のフローチャートを参照して説明する。  
ステップＳ４０１からステップＳ４０７まで、ステップＳ４０９、ステップＳ４１０およびステップＳ４１２の動作については、図４に示すフローチャート同一であるのでここでの説明を省略する。  
ステップＳ８０１では、スロットのキーワードが埋まっていないため、応答文生成部１１０が、スロットに割り当てられるキーワードの入力をユーザに促す応答文を生成する。  
ステップＳ８０２では、キーワード取得部７０２が、ユーザが入力した入力文字列を取得する。  
ステップＳ８０３では、対話制御部１０９が、入力文字列をキーワードとしてスロットに割り当てるスロット割り当てを行う。
【００４３】
次に、第３の実施形態に係る対話装置７００の対話動作の第１具体例について図９を参照して説明する。  
ユーザが「レジャーランドの近くで泊まりたい」と発話して（発話９０１）、対話装置７００がこの発話を認識した場合であり、単語「レジャーランド」がキーワード辞書格納部１０４に格納されていない場合を想定する。
【００４４】
「レジャーランド」はキーワード辞書に格納されていないため、キーワード抽出されない。よって、スロットにキーワードを割り当てられないので、応答文生成部１１０が、入力デバイス７０１を用いてユーザがキーワードを入力するように促す応答文として「ホテル検索ですね。場所部分をなぞって下さい。」（応答９０２）が生成され、画面に表示される。  
ユーザが、入力デバイス７０１を用いてスロットのキーワードに該当する「レジャーランド」の部分をなぞることによりテキストの一部である「レジャーランド」を選択する。ここでは、マーキングペンなどの編集機能を有するユーザインタフェースを有する入力デバイスにより、ユーザが「レジャーランド」の文字列をマーキングする。キーワード取得部７０２は、ユーザによりなぞられた「レジャーランド」を入力文字列として取得する。対話制御部１０９は、キーワード取得部７０２で取得された入力文字列「レジャーランド」をキーワードとしてスロットに割り当てる。
【００４５】
なお、このとき対話装置７００は形態素解析の結果は考慮しなくてもよい。複数の単語にかかっていたり、単語の一部だけであったりしていても入力文字列をキーワードとして扱えばよい。そのため、キーワード辞書格納部１０４に未登録である場合だけでなく、形態素解析に失敗した場合でも、第３の実施形態に係る対話装置７００により、スロット割り当てを行うことができる。
【００４６】
なお、入力デバイス７０１を用いてスロットに割り当てるキーワードを指定する代わりに、テキスト取得部１０１で取得するユーザからの入力をキーワードとして取得してもよい。  
第３の実施形態に係る対話装置７００の動作の第２具体例について、図１０を参照して説明する。図１０は、図９と同様に、「レジャーランドの近くで泊まりたい」と発話した場合を想定する。
【００４７】
「レジャーランド」はキーワード辞書格納部１０４に格納されていないため、キーワードが抽出されない。そこで、ユーザからの入力を促す応答文として「ホテル検索ですね。場所を入力してください。」（応答１００１）を生成し、ユーザに提示する。  
提示された応答文に対してユーザが、「レジャーランド」をテキスト１００２として入力する。これによって、テキスト取得部１０１が「レジャーランド」を入力文字列として取得し、キーワード選択部７０３に入力文字列を送るようにしてもよい。
【００４８】
以上に示した第３の実施形態によれば、ユーザが入力デバイスを用いて指定した入力文字列をキーワードとしてスロットに割り当てることで、適切なキーワードを用いて円滑な対話を進めることができる。
【００４９】
（第４の実施形態）  
第４の実施形態では、ユーザによるキーワードの指定と割り当てるスロットの条件とに基づいて、複数のスロットに対してキーワードの割り当てを行う場合を想定する。
【００５０】
第４の実施形態に係る対話装置は、第３の実施形態に係る対話装置７００と同様の構成であるのでここでの説明を省略する。
【００５１】
第４の実施形態に係る対話装置の対話動作の具体例について図１１を参照して説明する。  
図１１では、ユーザが「レジャーランドからファッションタワーまでどうやっていくの」（発話１１０１）と発話し、「レジャーランド」および「ファッションタワー」がキーワード辞書格納部１０４に格納されていない場合を想定する。  
「レジャーランド」および「ファッションタワー」はキーワード辞書に格納されていないため、キーワード抽出部１０５においてキーワードが抽出されない。そこで、応答文生成部１１０が、ユーザに入力デバイス７０１を用いた入力を促す応答文として「経路検索ですね、出発地と目的地をなぞって下さい。」（応答１１０２）を生成し、応答１１０２がユーザに提示される。
【００５２】
提示された応答文に対して、ユーザが、「レジャーランド」および「ファッションタワー」を入力デバイス７０１を用いて指定する。指定方法としては、第３の実施形態と同様に、「レジャーランド」および「ファッションタワー」を入力デバイスであるマーカーによってマーキングすればよい。キーワード取得部７０２は、「レジャーランド」および「ファッションタワー」を入力文字列として取得する。  
図６に示すスロットの条件として、スロット名３０４「出発地」は、接続助詞６０３として「から」を後ろにつけるという条件があり、スロット名３０４「目的地」は、接続助詞６０３として「まで」を後ろにつけるという条件がある。よって、「レジャーランド」および「ファッションタワー」は条件を満たすため、「レジャーランド」はスロット「出発地」に割り当てられ、「ファッションタワー」はスロット「目的地」に割り当てられる。
【００５３】
以上に示した第４の実施形態によれば、ユーザが入力デバイスを用いて指定したキーワードとスロットの条件に基づいてスロットにキーワードを適切に割り当てることができ、円滑な対話を進めることができる。
【００５４】
（第５の実施形態）  
第５の実施形態では、複数のスロットが存在し、スロットの条件に基づいて判定しても割り当てるキーワードを絞り込めない場合のキーワード選択について説明する。
【００５５】
第５の実施形態に係る対話装置のキーワードの割り当て方法の第１具体例について図１２を参照して説明する。  
図１２では、図１１と同様に、ユーザが「レジャーランドからファッションタワーまでどうやっていくの」と発話した場合を想定し、「レジャーランド」および「ファッションタワー」はキーワード辞書格納部１０４に格納されていない場合を想定する。
【００５６】
図１２に示すように、キーワードを指定する段階において、ユーザが入力デバイスを用いて、「レジャーランド」をなぞったあとに、応答文中のスロット名となる「出発地」をなぞる場合、キーワード取得部７０２は、「レジャーランド」を入力文字列として取得する。対話制御部１０９は、入力文字列「レジャーランド」をキーワードとして、「出発地」のスロットに割り当てる。  
同様に、ユーザが「ファッションタワー」をなぞったあとに、応答文中のスロット名となる文字列「目的地」をなぞる場合、キーワード取得部７０２は、「ファッションタワー」を入力文字列として取得する。対話制御部１０９は、入力文字列「ファッションタワー」をキーワードとして、「目的地」のスロットに割り当てる。
【００５７】
また、他の指定方法によりスロットにキーワードを割り当ててもよい。キーワードの割り当て方法の第２具体例について図１３を参照して説明する。  
ユーザが「レジャーランド」をなぞったのち応答文にある「出発地」に向けて矢印を引くことで、対話制御部１０９は、「レジャーランド」を「出発地」のスロットに割り当ててもよい。同様に、ユーザが「ファッションタワー」をなぞったのち応答文にある「目的地」に向けて矢印を引くことで、対話制御部１０９は、「ファッションタワー」を「目的地」のスロットに割り当ててもよい。なお、矢印は逆向きでもよく、例えば、「出発地」がなぞられたのち「レジャーランド」に向けて矢印を引くことで、「レジャーランド」を「出発地」のスロットに割り当てるようにしてもよい。
【００５８】
また、スロットの一覧を表示して、割り当てるスロットをユーザに選択させてもよい。スロットの一覧を表示させる例を図１４に示す。  
図１４に示すように、複数のスロット名として、「出発地」「目的地」および「条件」を含むスロットの一覧１４０１を表示する。ユーザが一覧１４０１から選択することで、応答文にないスロットに対しても入力文字列をキーワードとして割り当てることができる。例えば、図６に示すサービスタグ３０２「ＳｅａｒｃｈＲｏｕｔｅ」に対応付けられるスロットとしては、スロット名３０４「出発地」および「目的地」に加え、「条件」も含む場合がある。よって、一覧１４０１として３種類のスロット名を表示することで、応答文に存在しないスロット名「条件」に関しても入力文字列をキーワードとして割り当てることができる。
【００５９】
以上に示した第５の実施形態によれば、複数のスロットが存在し、割り当てるべきスロットが絞り込めない場合でも、ユーザにキーワードと割り当てるべきスロットとを指定させることで、複数のスロットに対してキーワードの割り当てを行うことができ、円滑な対話を進めることができる。
【００６０】
（第６の実施形態）  
第６の実施形態では、テキスト取得部１０１が音声認識または手書き認識を行ってテキストを取得する場合について説明する。
【００６１】
第６の実施形態に係る対話装置について図１５のブロック図を参照して説明する。  
第６の実施形態に係る対話装置１５００は、形態素辞書格納部１０２、形態素解析部１０３、キーワード辞書格納部１０４、キーワード抽出部１０５、意図理解モデル格納部１０６、意図推定部１０７、サービスＤＢ１０８、対話制御部１０９、応答文生成部１１０、入力デバイス７０１、キーワード取得部７０２、キーワード選択部７０３、テキスト認識辞書格納部１５０１およびテキスト取得部１５０２を含む。
【００６２】
形態素辞書格納部１０２、形態素解析部１０３、キーワード辞書格納部１０４、キーワード抽出部１０５、意図理解モデル格納部１０６、意図推定部１０７、サービスＤＢ１０８、対話制御部１０９、応答文生成部１１０、入力デバイス７０１、キーワード取得部７０２およびキーワード選択部７０３については、上述の実施形態と同様の処理を行うので、ここでの説明を省略する。
【００６３】
テキスト認識辞書格納部１５０１は、音声認識処理に関する音声データと文字列との対応付け、および、ストロークと文字列との対応付けを格納する。
【００６４】
テキスト取得部１５０２は、ユーザからの音声またはストロークの入力を取得し、テキスト認識辞書格納部１５０１を参照して、入力された音声またはストロークを認識し、対応するテキストを得る。テキストを取得したあとは、上述の実施形態と同様の処理を行えばよい。  
なお、音声認識またはストローク認識処理においては、認識誤りが生じる場合もある。このような場合は、認識処理による認識結果の最も尤度の高い候補だけでなく、２位以降の結果もＮ−ｂｅｓｔの形式で提示してもよく、認識結果の尤度が高い順に文字列候補としていくつか提示すればよい。
【００６５】
第６の実施形態に係る対話装置１５００の動作の具体例について図１６を参照して説明する。  
図１６では、ユーザが「レジャーランドの近くで泊まりたい」と発話し、音声認識処理によって「レバーサンドの近くで泊まりたい」との誤った音声認識結果を得ると想定する。このとき、ユーザがスロットに割り当てるキーワードとして「レバーサンド」をなぞると、音声認識結果のうちの最も尤度が高い「レバーサンド」に加えて、尤度が２番目に高い第２位以降の「レジャーランド」および「レバーランド」も文字列候補として一覧１６０１に表示させる。このようにすることで一覧１６０１の中に正解がある場合、ユーザが正解を選択することができる。
【００６６】
以上に示した第６の実施形態によれば、音声認識およびストローク認識などにより誤認識が生じる場合でも、ユーザがリストから正しい文字列を選択することで、スロットに正しい文字列をキーワードとして割り当てることができ、円滑な対話を進めることができる。
【００６７】
（第７の実施形態）  
第７の実施形態では、対話装置により割り当てられたスロットが誤っている場合を想定する。  
第７の実施形態に係る対話装置の構成については、上述の実施形態と同一であるのでここでの説明を省略する。
【００６８】
第７の実施形態に係る対話装置の動作について図１７のフローチャートを参照して説明する。ステップＳ１７０１およびステップＳ１７０２以外の動作については、図８と同様の処理を行うのでここでの説明を省略する。  
ステップＳ１７０１では、意図推定部１０７が、スロットの再割り当ての指示があるかどうかを判定する。スロットの再割り当ての指示がある場合はステップＳ１７０２に進み、スロットの再割り当ての指示がない場合は処理を終了する。
【００６９】
ステップＳ１７０２では、対話制御部１０９が、スロットに割り当てられたキーワードを破棄する。その後、ステップＳ８０１に進み、同様の処理を行う。
【００７０】
次に、第７の実施形態に係る対話装置の対話動作の具体例について図１８を参照して説明する。  
図１８の例では、ユーザが「川崎さんちに行くから、レジャーランドから品川に行きたい」（発話１８０１）と発話した場合を想定する。
【００７１】
システムが発話１８０１に対して処理を行い、「『川崎』から『品川』までの経路検索を行います。よろしいですか？」（応答１８０２）と応答した場合を想定する。この場合、経路検索の出発地として割り当てられた「川崎」は、地名ではなく人名であるため、経路検索として間違った結果である。
【００７２】
よって、スロットに割り当てられたキーワードを訂正すべく、ユーザが「違うよ」（発話１８０３）と発話した場合、意図推定部１０７が、スロットの再割り当ての指示であると推定し、対話制御部１０９が現在のスロットに割り当てられたキーワードを破棄する。その後、応答文生成部１１０が、スロットへキーワードの再割り当てを行うための応答文「経路検索ですね、出発地と目的地をなぞってください」（応答１８０４）を生成して、応答１８０４が提示される。ここでは、「レジャーランド」がなぞられることにより、対話制御部１０９が、「レジャーランド」をキーワードとしてスロット「目的地」に割り当てる。
【００７３】
以上に示した第７の実施形態によれば、誤ったキーワードがスロットに割り当てられたとしても、ユーザの操作によって修正を行うことができ、円滑な対話を進めることができる。
【００７４】
なお上述の実施形態において、ユーザがサービスの実行を承諾したキーワードとスロットの属性との組み合わせ、およびユーザが正解として選択した認識結果を学習し、辞書に格納することで、次回同一の単語が入力された場合に利用できるようにしてもよい。  
例えば、第１の実施形態の例では、キーワード辞書格納部１０４に存在しなかった単語「小田原」について図５のようにサービスが実行されれば、正しいスロットの割り当てであると考えられる。よって、サービスが実行されたスロットに割り当てられた単語をキーワードとして登録するため、スロットに割り当てられた単語と属性とを対応付けてキーワード辞書格納部１０４に格納すればよい。次回、ユーザから「小田原」と発話された場合に、キーワード抽出部１０５がキーワード辞書格納部１０４から「小田原」をキーワードとして抽出できる。このように認識結果を学習させることでより円滑な対話を行うことができる。
【００７５】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した対話装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の対話装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００７６】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００７７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７８】
１００，７００，１５００・・・対話装置、１０１・・・テキスト取得部、１０２・・・形態素辞書格納部、１０３・・・形態素解析部、１０４・・・キーワード辞書格納部、１０５・・・キーワード抽出部、１０６・・・意図理解モデル格納部、１０７・・・意図推定部、１０８・・・サービスデータベース（サービスＤＢ）、１０９・・・対話制御部、１１０・・・応答文生成部、１１１，７０３・・・キーワード選択部、２００,００・・・テーブル、２０１・・・表層語、２０２・・・属性、２０３・・・品詞、３０１・・・意図タグ、３０２・・・サービスタグ、３０３，６０１・・・スロット、３０４・・・スロット名、５０１，５０３，９０１，１１０１，１８０１，１８０３・・・発話、５０２，５０４，９０２，１００１，１１０２，１８０２，１８０４・・・応答、５１０・・・ユーザ、５２０・・・画面、６０２・・・順番、６０３・・・接続助詞、７０１・・・入力デバイス、７０２・・・キーワード取得部、１００２・・・テキスト、１４０１，１６０１・・・一覧、１５０１・・・テキスト認識辞書格納部、１５０２・・・テキスト取得部、１６０１・・・リスト。
【図１】
2016061954.tif 000003
【図２】
2016061954.tif 000004
【図３】
2016061954.tif 000005
【図４】
2016061954.tif 000006
【図５】
2016061954.tif 000007
【図６】
2016061954.tif 000008
【図７】
2016061954.tif 000009
【図８】
2016061954.tif 000010
【図９】
2016061954.tif 000011
【図１０】
2016061954.tif 000012
【図１１】
2016061954.tif 000013
【図１２】
2016061954.tif 000014
【図１３】
2016061954.tif 000015
【図１４】
2016061954.tif 000016
【図１５】
2016061954.tif 000017
【図１６】
2016061954.tif 000018
【図１７】
2016061954.tif 000019
【図１８】
2016061954.tif 000020