(57)【要約】【課題】自然な発話を可能とする生成プログラム等を提供すること。【解決手段】生成プログラムは、複数の単語を取得し、取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、選択した対象語と類似する書き換え語を選択し、前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する処理をコンピュータに実行させる。【選択図】図８
2019008476.tif 000002
【特許請求の範囲】
【請求項１】
複数の単語を取得し、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、
選択した対象語と類似する書き換え語を選択し、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する
処理をコンピュータに実行させる生成プログラム。
【請求項２】
前記機能表現ラベルは、コーパスより収集して得た、前記対象語及び前記書き換え語に続いて出現する機能語に付与した機能表現ラベルである
請求項１に記載の生成プログラム。
【請求項３】
前記類似度が所定の閾値未満の場合、前記対象語の用法及び前記書き換え語の用法は同一と判定し、
前記類似度が所定の閾値以上の場合、前記対象語の用法及び前記書き換え語の用法は異なると判定し、
判定結果に基づいて、前記発話を生成する
請求項１又は請求項２に記載の生成プログラム。
【請求項４】
複数の単語を取得する第１取得部と、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択する第１選択部と、
選択した対象語と類似する書き換え語を選択する第２選択部と、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得する第２取得部と、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出する算出部と、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する生成部と
を備える生成装置。
【請求項５】
複数の単語を取得し、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、
選択した対象語と類似する書き換え語を選択し、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する
生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに対する発話を生成する生成プログラム等に関する。
【背景技術】
【０００２】
検索システムにおいて、検索結果からユーザに入力されたキーワードが不適切であると判定した場合、検索システムが発話を行い、キーワードの追加、修正をユーザに促す対話型の検索が行われている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５１５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の検索システムがキーワードの書き換えを提案する場合において、自然な発話を行うことは困難である。１つの側面では、自然な発話を可能とする生成プログラム等の提供を目的とする。
【課題を解決するための手段】
【０００５】
本願に開示する生成プログラムは、複数の単語を取得し、取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、選択した対象語と類似する書き換え語を選択し、前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する処理をコンピュータに実行させる。
【発明の効果】
【０００６】
一観点によれば、自然な発話が可能である。
【図面の簡単な説明】
【０００７】
【図１】対話型検索システムの構成例を示す説明図である。
【図２】対話型検索装置のハードウェア構成例を示すブロック図である。
【図３】端末のハードウェア構成例を示すブロック図である。
【図４】機能表現ラベルＤＢの例を示す説明図である。
【図５】ラベル辞書ＤＢの例を示す説明図である。
【図６】類似度ＤＢの例を示す説明図である。
【図７】テンプレートＤＢの例を示す説明図である。
【図８】発話生成処理の手順を示すフローチャートである。
【図９】端末の画面例を示す説明図である。
【図１０】初期検索結果の例を示す説明図である。
【図１１】機能表現ラベルＤＢ構築処理の手順を示すフローチャートである。
【図１２】機能表現ラベルＤＢ構築処理の例を示す説明図である。
【図１３】対話型検索装置の機能構成例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下実施の形態を、図面を参照して説明する。
【０００９】
まず、以下の説明において用いる用語について説明する。日本語の文を構成する要素を「内容語」又は「機能語」に分類する考え方がある。内容語は主に内容的な意味を表す要素である。名詞、動詞、形容詞及び副詞などが内容語に当たる。機能語は主に文の構成に関わる要素である。助詞、助動詞、接続詞及び形式名詞などが機能語に当たる。また、文の構成要素の中には、複数の語から構成されているにもかかわらず、全体として１つのまとまった意味を表すものもある。複数の語から構成され、内容的な意味を表す要素としては、複合名詞、複合動詞、慣用句などがある。複数の語から構成され、文の構成に関わる要素としては、複合辞がある。「複合辞」とは、「に対して」や「なければならない」のように、複数の語から構成され、かつ、全体として機能語のように働く表現のことである。ここで、主に文の構成に関わる要素である機能語と複合辞とを総称して、「機能表現」と呼ぶ。そして、機能表現により表される意味を体系化したものが、「機能表現ラベル」である。各機能表現は少なくとも１つの機能表現ラベルが付されている。
【００１０】
「対象語」とは、対話型検索システムに対して、ユーザが入力した検索式や質問文に含む単語であって、対話型検索システムが書き換えすべきと判定した語である。「書き換え語」とは、対話型検索システムが「対象語」に換えて検索に使用すべきと判定した語である。例えば、ユーザが入力した質問文に含まれる「みずみずしく」を「ぱりぱり」に置き換えるべきと対話型検索システムが判定した場合、「みずみずしく」が「対象語」である。「ぱりぱり」が「書き換え語」である。
【００１１】
図１は対話型検索システムの構成例を示す説明図である。対話型検索システムは対話型検索装置（生成装置）１、端末２を含む。端末２は複数台であってもよい。端末２の台数は図１に示すように２台に限らない。端末２は１台でも良いし、３台以上でもよい。対話型検索装置１及び端末２はネットワークＮにより、互いに通信可能に接続されている。
【００１２】
図２は対話型検索装置１のハードウェア構成例を示すブロック図である。対話型検索装置１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、大容量記憶部１４（記憶部）、通信部１５、及び読み取り部１６を含む。各構成はバスＢで接続されている。
【００１３】
ＣＰＵ１１はＲＯＭ１２に記憶された制御プログラム（生成プログラム）１Ｐに従い、ハードウェア各部を制御する。ＲＡＭ１３は例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）又はフラッシュメモリである。ＲＡＭ１３はＣＰＵ１１によるプログラムの実行時に発生するデータを一時的に記憶する。
【００１４】
大容量記憶部１４は、例えばハードディスク又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。大容量記憶部１４は各種データを記憶する。制御プログラム１Ｐを大容量記憶部１４に記憶してもよい。通信部１５はネットワークＮを介して、端末２や他のコンピュータと通信を行う。読み取り部１６はＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭを含む可搬型記憶媒体１ａを読み取る。ＣＰＵ１１が読み取り部１６を介して、制御プログラム１Ｐを可搬型記憶媒体１ａより読み取り、大容量記憶部１４に記憶してもよい。また、ネットワークＮ等を介して他のコンピュータからＣＰＵ１１が制御プログラム１Ｐをダウンロードし、大容量記憶部１４に記憶してもよい。さらにまた、半導体メモリ１ｂから、ＣＰＵ１１が制御プログラム１Ｐを読み込んでもよい。
【００１５】
図３は端末２のハードウェア構成例を示すブロック図である。端末２はＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、大容量記憶部２４、表示部２５、入力部２６、通信部２７及び読み取り部２８を含む。各構成はバスＢで接続されている。
【００１６】
ＣＰＵ２１はＲＯＭ２２に記憶された制御プログラム２Ｐに従い、ハードウェア各部を制御する。ＲＡＭ２３は例えばＳＲＡＭ、ＤＲＡＭ又はフラッシュメモリである。ＲＡＭ２３はＣＰＵ２１によるプログラムの実行時に発生するデータを一時的に記憶する。
【００１７】
大容量記憶部２４は、例えばハードディスク又はＳＳＤなどである。大容量記憶部２４は各種データを記憶する。制御プログラム２Ｐを大容量記憶部２４に記憶してもよい。
【００１８】
表示部２５は例えば液晶表示パネルなどの画像表示デバイスを含む。表示部２５は対話型検索装置１が送信した発話内容を表示する。また、表示部２５がスピーカなどの音声出力デバイスを備え、対話型検索装置１が送信した発話内容を音声出力してもよい。さらにまた、表示部２５は画像表示デバイスや音声出力デバイスを備えず、画像データや音声データを出力し、端末２外部の画像表示デバイスに画像を表示させたり、音声出力デバイスに音声出力させたりしてもよい。
【００１９】
入力部２６はキーボードやマウスを介して、ユーザが入力した発話データを受け付ける。入力部２６はマイクなどを介して音声データを受け付けてもよい。また、タッチパネルディスプレイのように、表示部２５及び入力部２６を一体してもよい。
【００２０】
通信部２７はネットワークＮを介して、対話型検索装置１や他のコンピュータと通信を行う。読み取り部２８はＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭを含む可搬型記憶媒体２ａを読み取る。ＣＰＵ２１が読み取り部２８を介して、制御プログラム２Ｐを可搬型記憶媒体２ａより読み取り、大容量記憶部２４に記憶してもよい。また、ネットワークＮ等を介して他のコンピュータからＣＰＵ２１が制御プログラム２Ｐをダウンロードし、大容量記憶部２４に記憶してもよい。さらにまた、半導体メモリ２ｂから、ＣＰＵ２１が制御プログラム２Ｐを読み込んでもよい。
【００２１】
次に対話型検索装置１の大容量記憶部２４が記憶しているデータベース（ＤＢ：ＤａｔａＢａｓｅ）について説明する。図４は機能表現ラベルＤＢ１４１の例を示す説明図である。機能表現ラベルＤＢ１４１は、内容語と機能表現との結びつきを示すものである。機能表現ラベルＤＢ１４１は用言・体言列、目的列、無意志列、願望列、勧め列、意思列、不可能列及び困難列などを含む。用言・体言列は、名詞、動詞、形容詞及び副詞などの内容語を記憶する。目的列以降の各列は、機能表現ラベル（以下、単に「ラベル」ともいう。）の名称を列名としている。目的列以降の各列は、内容語と機能表現との結びつきを示すものであり、内容語に続いて出現する機能表現の出現度合いを、付された機能表現ラベル毎に集計した出現頻度である。図４の例では、形容詞「みずみずしい」の未然形又は連用形である「みずみずしく」に続いて出現した機能表現は、ラベル「目的」が付されたものが１０、ラベル「無意志」が付されたものが１、ラベル「願望」が付されたものが８の出現頻度であることを示す。機能表現ラベルＤＢ１４１はコーパス（テキストを大規模に集めてデータベース化した言語資料）を用いて作成する。機能表現ラベルＤＢ１４１に採用する機能表現ラベルは定義されているすべてのラベルではなく、一部のラベルでもよい。目的列以降の各列を総称して、機能表現列という。また、出現頻度を単に頻度ともいう。
【００２２】
図５はラベル辞書ＤＢ１４２の例を示す説明図である。ラベル辞書ＤＢ１４２は機能表現列及びラベル列を含む。機能表現列は助詞、助動詞などの機能語を記憶する。ラベル列は機能語に付された機能表現ラベルを記憶する。
【００２３】
図６は類似度ＤＢ１４３の例を示す説明図である。類似度ＤＢ１４３は２つの内容語の類似度を記憶する。説明の都合上、２つの機能語の一方を対象語と呼び、他方を書き換え語と呼ぶ。類似度ＤＢ１４３は対象語列、書き換え語列及び類似度列を含む。対象語列は一方の内容語を記憶する。書き換え語列は対象語と類似する他方の内容語を記憶する。類似度列は対象語と書き換え語との類似度を記憶する。なお、対象語と書き換え語とは便宜上のものであるから、図６に示す類似度は対象語と書き換え語とが入れ替わっても同じである。例えば、対象語「ぱりぱり」と書き換え語「みずみずしく」との類似度も０．９０である。類似度はあらかじめコーパスを学習データとして学習した結果（単語に対するＤ次元のベクトル）により求める。学習にはＳｋｉｐ−ｇｒａｍなどの公知の技術を利用する。
【００２４】
図７はテンプレートＤＢ１４４の例を示す説明図である。テンプレートＤＢ１４４は発話を生成する際に用いるテンプレートを記憶する。ここでの発話は、対象語を書き換え語に換えることを提案する発話である。テンプレートＤＢ１４４は書き換え語列、対象語列及びテンプレート列を含む。書き換え語列は書き換え語の用法を記憶する。対象語列は対象語の用法を記憶する。テンプレート列は書き換え語の用法及び対象語の用法に対応する発話テンプレートを記憶する。書き換え語列及び対象語列が「−」に対応するテンプレートは、デフォルトのテンプレートである。書き換え語の用法及び対象語の用法が一致する場合や書き換え語の用法及び対象語の用法に対応するテンプレートが定義されていないときに用いる。図７に示す発話テンプレートにおいて、「ＯＯ」は対象語を当てはめる部分であり、「××」は書き換え語を当てはめる部分である。
【００２５】
以上に説明したデータベースは、対話型検索装置１の大容量記憶部１４に限らず、対話型検索装置１がアクセス可能な他の装置に記憶してもよい。例えば、データベースサーバに上記データベースを記憶し、対話型検索装置１はネットワークＮを介して、上記データベースにアクセスするようにしてもよい。
【００２６】
続いて、対話型検索装置１が行う情報処理について説明する。図８は発話生成処理の手順を示すフローチャートである。対話型検索装置１のＣＰＵ１１は端末２が送信した入力文を取得する（ステップＳ１）。入力文はユーザが端末２に入力した問い合わせの文章である。ＣＰＵ１１は入力文から検索式を生成する（ステップＳ２）。ＣＰＵ１１は入力文からキーワードとなる単語を抽出する。ＣＰＵ１１は抽出した単語を論理和演算子で結合した検索式を生成する。ＣＰＵ１１は検索を行う（ステップＳ３）。例えば、検索対象となる文書を記憶する文書データベース（図示しない）で、生成した検索式を用いた検索（キーワード検索）を行う。文書データベースは、対話型検索装置１の大容量記憶部１４や、文書保管サーバなどの他の装置に記憶する。さらにまた、検索はインターネットで提供されている検索エンジンを利用して行ってもよい。ＣＰＵ１１は検索結果の上位Ｎ件の文書を取得する（ステップＳ４）。検索結果には検索プログラムが付与したスコアが含まれている。スコアとは例えば、検索式に対して文書の適合度を示す指標であり、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）−ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）に基づいて求める。ＣＰＵ１１は当該スコアの降順に並び替える。ＣＰＵ１１は上位Ｎ件の文書を取得する。Ｎの値はあらかじめ定めておく。ＣＰＵ１１は書き換え対象とする対象語を選択する（ステップＳ５）。ＣＰＵ１１は上位Ｎ件の文書の検索を実行し、検索式を構成するキーワードの中で、上位Ｎ件の文書には含まれないものを対象語として選択する。すべてのキーワードが１つ以上の文書に含まれている場合、書き換えは不要と判定し、処理を終了してもよい。又は、出現頻度の低いキーワードを対象語として選択してもよい。一方、上位Ｎ件の文書には含まれないものキーワードが複数の場合、対象語を複数としてもよい。又は、ランダムに１つを対象語として選択してもよい。ＣＰＵ１１は書き換え語の候補を選択する（ステップＳ６）。ＣＰＵ１１は類似度ＤＢ１４３を検索し、対象語との類似度が高い上位Ｋ件を選択する。ＣＰＵ１１は書き換え語の候補の中から、初期検索結果（ステップＳ４で取得したＮ件の文書）に含まれる語を書き換え語として選択する（ステップＳ７）。ＣＰＵ１１は書き換え語の候補の中で、対象語との類似度が高い順に候補を選び、初期検索結果に出現しているか否か判定する。初期検索結果に出現していたらその語を書き換え語として選択する。ＣＰＵ１１は対象語の用法と書き換え語の用法との差Ｓを算出する（ステップＳ８）。ＣＰＵ１１は対象語及び書き換え語それぞれに対して、機能表現ラベルＤＢ１４１の機能表現列を参照し、すべての機能表現ラベルについて、ラベル毎の頻度（分布）を取得する。ＣＰＵ１１は取得した機能表現ラベルの頻度を用いて用法の差を式（１）及び（２）により、算出する。
【００２７】
【数１】
2019008476.tif 000003
【００２８】
対象語を単語ｐとし、書き換え語を単語ｑとする。ＣＰＵ１１は算出したＳが閾値μ以上であるか否か判定する（ステップＳ９）。閾値μはあらかじめ定めておく。ＣＰＵ１１は算出したＳが閾値μ以上であると判定した場合（ステップＳ９でＹＥＳ）、対象語及び書き換え語の用法を取得する（ステップＳ１０）。対象語の用法は、入力文を分析して得る。入力文において、対象語に続く機能表現のラベルを、対象語の用法とする。書き換え語の用法は機能表現ラベルＤＢ１４１を取得する。書き換え語に対応する機能表現ラベルの中で最大の頻度を持つものを、書き換え語の用法とする。ＣＰＵ１１は対象語及び書き換え語の用法に対応したテンプレートをテンプレートＤＢ１４４から取得する（ステップＳ１１）。ＣＰＵ１１は処理をステップＳ１３に進める。ＣＰＵ１１は算出したＳが閾値μ未満であると判定した場合（ステップＳ９でＮＯ）、標準テンプレートをテンプレートＤＢ１４４から取得する（ステップＳ１２）。ＣＰＵ１１は発話を生成する（ステップＳ１３）。ＣＰＵ１１はステップＳ１１又はステップＳ１２で取得したテンプレートに、対象語及び書き換え語を埋め込む。ＣＰＵ１１は生成した発話を出力する（ステップＳ１４）。
【００２９】
例を用いて以上の処理を再度説明する。図９は端末２の画面例を示す説明図である。図９の例では、ユーザが入力文として、「肌をみずみずしく保つ方法」（ｍ１１）と入力している。それに対して、対話型検索装置１は、「１０６１件中２５０件の候補がございます。」（ｍ２１）と検索にヒットした文書の件数を回答している。それに続いて、「みずみずしくということはぱりぱりしてしまいますか？」（ｍ２２）と書き換えを提案する発話を、対話型検索装置１は出力している。対話型検索装置１が発話ｍ２１を出力する処理を説明する。
【００３０】
対話型検索装置１のＣＰＵ１１は入力文「肌をみずみずしく保つ方法」を取得する（ステップＳ１）。ＣＰＵ１１は入力文から、検索キーワードとなる単語として、「肌」、「みずみずしく」、「保つ」、「方法」を抽出する。ＣＰＵ１１は抽出した単語から、例えば検索式「肌  ＯＲ  みずみずしく  ＯＲ  保つ  ＯＲ  方法」を生成する（ステップＳ２）。ＣＰＵ１１は生成した検索式を用いて検索を行う（ステップＳ３）。図１０は初期検索結果の例を示す説明図である。図１０の例では上位３件の文書を示している。文書ｄ１にはキーワード「肌」が出現している。文書ｄ２にはキーワード「肌」が出現している。
文書ｄ３にはキーワード「肌」、「保つ」及び「方法」が出現している。以上の結果から、ＣＰＵ１１は「みずみずしく」を対象語として選択する（ステップＳ５）。ＣＰＵ１１は類似度ＤＢ１４３から、対象語と類似する語として、例えば「ぱりぱり」、「すべすべ」、「新鮮」の３語を、書き換え語の候補として選択する（ステップＳ６）。ＣＰＵ１１は類似度の高い順に、書き換え語の候補が上位３件の文書に含まれているか判定する。ここでは、「ぱりぱり」が文書ｄ１に含まれているため、ＣＰＵ１１は「ぱりぱり」を書き換え語として選択する（ステップＳ７）。ＣＰＵ１１は対象語「みずみずしく」と書き換え語「ぱりぱり」との用法の差を算出する（ステップＳ８）。ＣＰＵ１１は機能表現ラベルＤＢ１４１から、対象語「みずみずしく」及び書き換え語「ぱりぱり」の機能表現ラベルの頻度を取得する。図４の例では、「みずみずしく」はラベル「目的」の頻度が１０、ラベル「無意志」、「願望」の頻度は、それぞれ１、８である。「ぱりぱり」については、ラベル「目的」、「無意志」、「願望」の順に、頻度が２、６、２である。ＣＰＵ１１は取得した頻度より、上述の式（１）及び（２）を用いて差Ｓを算出する。ＣＰＵ１１は算出したＳが閾値μ以上であるか否か判定する（ステップＳ９）。ここでは、Ｓが閾値μ以上であるとする（ステップＳ９でＹＥＳ）。ＣＰＵ１１は対象語「みずみずしく」と書き換え語「ぱりぱり」との用法を取得する（ステップＳ１０）。対象語「みずみずしく」の用法は「目的」である。書き換え語「ぱりぱり」の用法は、機能表現ラベルＤＢ１４１の最大頻度から「無意志」であると、ＣＰＵ１１は判定したとする。ＣＰＵ１１は判定結果を基にテンプレートを取得する（ステップＳ１１）。ここでは、図７に示すテンプレートＤＢ１４４において、書き換え語列が「無意志」、対象語列が「目的」であるテンプレートをＣＰＵ１１は取得する。すなわち、「ＯＯするということは、××してしまいますか？」というテンプレートをＣＰＵ１１は取得する。ＣＰＵ１１は取得したテンプレートを用いて、発話を生成する（ステップＳ１３）。テンプレートにおいて、「ＯＯ」は対象語を当てはめることを示す。テンプレートにおいて、「××」は書き換え語を当てはめることを示す。したがって、ＣＰＵ１１は、「みずみずしくするということは、ぱりぱりしてしまいますか？」との発話を生成し、出力する（ステップＳ１４）。図９に示す例では、当該発話の前に、検索ヒット件数を示す発話ｍ２１を、ＣＰＵ１１は出力している。
【００３１】
書き換えを促す発話ｍ２２に対して、ユーザが「はい」などの肯定の入力をした場合、ＣＰＵ１１は対象語「みずみずしく」を書き換え語「ぱりぱり」に置き換えた検索式を生成し、再度、検索を行う。一方、書き換えを促す発話ｍ２２に対して、ユーザが「いいえ」などの否定の入力をした場合、再度の検索はせずに最初の検索結果を表示する。例えば、文書のタイトルを一覧表示する。
【００３２】
次に、発話生成処理を行う前に構築が必要となる機能表現ラベルＤＢ１４１の構築方法について、説明する。図１１は機能表現ラベルＤＢ構築処理の手順を示すフローチャートである。ＣＰＵ１１はコーパスを取得する（ステップＳ２１）。コーパスはテキストの集合である。ＣＰＵ１１は知識ベース、新聞・雑誌記事、ブログ、コールセンタの対応記録などから、テーマに合致する文を、コーパスを構築するものとして取得する。コーパスは既存のもので利用可能なものがあれば、それを利用しても良い。ＣＰＵ１１はコーパスから、未処理の一文を選択する（ステップＳ２２）。ＣＰＵ１１は選択した文に対して、単語分割、品詞付与及び係り受け解析を行う（ステップＳ２３）。単語分割、品詞付与及び係り受け解析はいずれも公知の技術であるから、説明を省略する。ＣＰＵ１１は選択した文に含まれる内容語を選択する（ステップＳ２４）。ＣＰＵ１１は選択した内容語の次に出現する語句が機能表現であるか否かを判定する（ステップＳ２５）。ＣＰＵ１１は次に出現する語句が機能表現でないと判定した場合（ステップＳ２５でＮＯ）、処理をステップＳ３０へ移す。ＣＰＵ１１は次に出現する語句が機能表現であると判定した場合（ステップＳ２５でＹＥＳ）、選択した文に含まれる機能語の機能表現ラベルを取得する（ステップＳ２６）。機能表現ラベルは公知の機能表現ラベル辞書（辞書）から取得可能である。機能表現ラベル辞書は、機能語と当該機能語の機能表現ラベルとを対応づけて記憶する辞書である。ＣＰＵ１１は取得した内容語が所定の語であるか否かを判定する（ステップＳ２７）。所定の語とは、「なる」、「ある」、「いる」などである。ＣＰＵ１１は取得した内容語が所定の語でないと判定した場合（ステップＳ２７でＮＯ）、機能表現ラベルＤＢ１４１において、用言・体言列が選択した内容語であるレコードの、機能語の機能表現ラベルと一致する列の値（頻度）を１加算する（ステップＳ２８）。ＣＰＵ１１は取得した内容語が所定の語であると判定した場合（ステップＳ２７でＹＥＳ）、機能表現ラベルＤＢ１４１において、用言・体言列が選択した内容語の修飾語である内容語であるレコードの、機能語の機能表現ラベルと一致する列の値（頻度）を１加算する（ステップＳ２９）。ステップＳ２８及びステップＳ２９において、対象レコードがない場合はレコードを追加する。ステップＳ２８又はステップＳ２９の実行後、ＣＰＵ１１は未選択の他の内容語があるか否か判定する（ステップＳ３０）。ＣＰＵ１１は未選択の他の内容語があると判定した場合（ステップＳ３０でＹＥＳ）、処理をステップＳ２４へ戻す。ＣＰＵ１１は未選択の他の内容語がないと判定した場合（ステップＳ３０でＮＯ）、未処理の文があるか否か判定する（ステップＳ３１）。ＣＰＵ１１は未処理の文があると判定した場合（ステップＳ３１でＹＥＳ）、処理をステップＳ２２に戻す。ＣＰＵ１１は未処理の文がないと判定した場合（ステップＳ３１でＮＯ）、処理を終了する。
【００３３】
取得した内容語が「なる」、「ある」、「いる」などの場合、文において主たる内容を示すのは、当該内容語の修飾語であるため、機能表現ラベルの頻度の更新は、当該内容語の頻度ではなく、当該内容語の修飾語である内容語の頻度を更新する。
【００３４】
例を用いて、機能表現ラベルＤＢ１４１構築処理を再度簡単に説明する。上述の例はメイキャップ化粧品による肌の手入れがテーマである。このようなテーマに対しては、例えば、「化粧水をつけても肌がぱりぱりになってしまう」、「まだ１０月なのにすでに肌がぱりぱりに乾きます」及び「肌をみずみずしく戻すにはどうしたらいいでしょうか？」などの文が、コーパスを混成するものとして、収集される。
【００３５】
図１２は機能表現ラベルＤＢ１４１構築処理の例を示す説明図である。図１２は文の一部である「ぱりぱりになってしまう」という２つの文節について示している。図１２Ａに示すように、ＣＰＵ１１は内容語である「ぱりぱり」を選択する（ステップＳ２４）。ＣＰＵ１１はそれに続く語句が機能表現であるか否か判定する（ステップＳ２５）。図１２Ａに示すように、「ぱりぱり」の次の語句は助詞「に」である。助詞「に」は機能表現ではないので（ステップＳ２５でＮＯ）、ＣＰＵ１１は他の内容語があるか否かを判定する（ステップＳ３０）。次の文節に動詞「なっ」があるので、ＣＰＵ１１は他の内容語があると判定し（ステップＳ３０でＹＥＳ）、処理をステップＳ２４に戻す。ＣＰＵ１１は動詞「なっ」を選択する（ステップＳ２４）。ＣＰＵ１１はそれに続く語句が機能表現であるか否か判定する（ステップＳ２５）。図１２Ｂに示すように、動詞「なっ」の次の語句は助詞「て」である。助詞「て」は機能表現であるので（ステップＳ２５でＹＥＳ）、ＣＰＵ１１は機能語「て」の機能表現ラベルを取得する（ステップＳ２６）。機能語「て」の機能表現ラベルは無意志である。ＣＰＵ１１は選択している内容語が所定の語であるか否かを判定する（ステップＳ２７）。ここで、「なっ」は動詞「なる」の連用形である。動詞「なる」は上述したように、所定の語である。ＣＰＵ１１は内容語が所定の語であると判定し（ステップＳ２７でＹＥＳ）、選択した内容語「なっ」の修飾語に対する頻度を加算する（ステップＳ２９）。すなわち、図１２Ｃに示すように、内容語「なっ」の修飾語である「ぱりぱり」について、機能表現ラベル「無意志」の頻度を加算する。ＣＰＵ１１は他の内容語があるか否かを判定する（ステップＳ３０）。次に動詞「しまう」があるので、ＣＰＵ１１は他の内容語があると判定し（ステップＳ３０でＹＥＳ）、処理をステップＳ２４に戻す。ＣＰＵ１１は動詞「しまう」を選択する（ステップＳ２４）。ＣＰＵ１１はそれに続く語句が機能表現であるか否か判定する（ステップＳ２５）。動詞「しまう」は文末であり続く語句がないので、ＣＰＵ１１は続く語句が機能表現でないと判定し（ステップＳ２５でＮＯ）、処理をステップＳ３０へ移す。未処理の他の内容語はないので（ステップＳ３０でＮＯ）、ＣＰＵ１１は上述の例文についての処理は終了し、ステップＳ３１以降を実行する。以上のような処理が繰り返されることにより、機能表現ラベルＤＢ１４１が構築される。
【００３６】
本実施の形態は、次の効果を奏する。ユーザが入力した文に含まれている単語をキーワードとして検索を行った場合において、検索結果の上位に含まれないキーワードの書き換えをユーザに提案する。ユーザが提案に同意すると、キーワードを書き換えて再検索を行うので、精度を向上させることが可能となる。また、ユーザにキーワードの書き換えを提案する発話は、対象語及び書き換え語の用法に適したテンプレートを用いて生成するので、違和感のない自然な発話となる。それにより、キーワードを書き換えに対する肯定的な回答をユーザから引き出せる。したがって、キーワードを書き換えた精度を向上させた再検索を行う確率を高めることが可能となる。ひいては、対話型検索システムに対するユーザ満足度の向上に貢献する。
【００３７】
図１３は対話型検索装置１の機能構成例を示すブロック図である。対話型検索装置１は、第１取得部１１ａ、第１選択部１１ｂ、第２選択部１１ｃ、第２取得部１１ｄ、算出部１１ｅ、生成部１１ｆ及び出力部１１ｇを含む。ＣＰＵ１１が制御プログラム１Ｐを実行することにより、対話型検索装置１は以下のように動作する。
【００３８】
第１取得部１１ａは複数の単語を取得する。第１選択部１１ｂは取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択する。第２選択部１１ｃは、選択した対象語と類似する語を書き換え語として選択する。第２取得部１１ｄは、コーパスより収集して得た、用言又は体言と、それに続いて出現する機能語の出現度合いを当該機能語の機能表現ラベル毎に集計した出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得する。算出部１１ｅは取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出する。生成部１１ｆは算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する。出力部１１ｇは生成した発話を出力する。
【００３９】
各実施の形態で記載されている技術的特徴（構成要件）はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００４０】
以上の実施の形態に関し、さらに以下の付記を開示する。
【００４１】
（付記１）
複数の単語を取得し、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、
選択した対象語と類似する書き換え語を選択し、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する
処理をコンピュータに実行させる生成プログラム。
【００４２】
（付記２）
前記機能表現ラベルは、コーパスより収集して得た、前記対象語及び前記書き換え語に続いて出現する機能語に付与した機能表現ラベルである
付記１に記載の生成プログラム。
【００４３】
（付記３）
前記類似度が所定の閾値未満の場合、前記対象語の用法及び前記書き換え語の用法は同一と判定し、
前記類似度が所定の閾値以上の場合、前記対象語の用法及び前記書き換え語の用法は異なると判定し、
判定結果に基づいて、前記発話を生成する
付記１又は付記２に記載の生成プログラム。
【００４４】
（付記４）
前記判定により用法は同一であると判定したときは、所定のテンプレートを取得し、
前記判定により用法は異なると判定したときは、用法とテンプレートとを対応づけて記憶する記憶部から、前記対象語の用法及び前記書き換え語の用法に対応づけられたテンプレートを取得し、
取得したテンプレートに前記対象語及び前記書き換え語を当てはめて、前記発話を生成する
付記３に記載の生成プログラム。
【００４５】
（付記５）
キーワード検索の結果は文書及びスコアを含み、前記対象語は前記スコアが上位である前記文書には含まれていない単語である
付記１から付記４のいずれか一つに記載の生成プログラム。
【００４６】
（付記６）
単語分割、品詞付与及び係り受け解析を含む処理がされたテキストを複数取得し、
取得したテキスト毎に、
前記テキストに含まれる名詞、動詞、形容詞及び副詞を含む内容語を取得し、
取得した内容語に続いて出現する助詞及び助動詞を含む機能語を取得し、
機能語と機能表現ラベルとを対応づけて記憶する辞書より、取得した機能語に対応づけられた機能表現ラベルを取得し、
前記取得した内容語毎に、続いて出現する内容語の機能表現ラベルの頻度を記憶する
付記１から付記５のいずれか一つに記載の生成プログラム。
【００４７】
（付記７）
前記類似度は、前記分布に基づく前記対象語の用法と前記書き換え語の用法との差である
付記１から付記６のいずれか一つに記載の生成プログラム。
【００４８】
（付記８）
前記対象語（単語ｐとする）の用法と前記書き換え語（単語ｑとする）の用法との類似度Ｓを以下の式（１）により求める
付記１から付記７のいずれか一つに記載の生成プログラム。
【数２】
2019008476.tif 000004
【００４９】
（付記９）
複数の単語を取得する第１取得部と、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択する第１選択部と、
選択した対象語と類似する書き換え語を選択する第２選択部と、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得する第２取得部と、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出する算出部と、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する生成部と
を備える生成装置。
【００５０】
（付記１０）
複数の単語を取得し、
取得した単語に基づくキーワード検索を行った結果より、前記複数の単語から書き換えるべき対象語を選択し、
選択した対象語と類似する書き換え語を選択し、
前記対象語及び前記書き換え語と、前記対象語及び前記書き換え語それぞれに付随する機能表現ラベルの出現頻度とを対応づけて記憶する記憶部から、前記対象語及び前記書き換え語に対応する機能表現ラベルの分布を取得し、
取得した分布から、前記対象語の用法と前記書き換え語の用法との類似度を算出し、
算出した類似度に基づいて、前記対象語及び前記書き換え語に関する発話を生成する
生成方法。
【符号の説明】
【００５１】
１        対話型検索装置
１１      ＣＰＵ
１２      ＲＯＭ
１３      ＲＡＭ
１４      大容量記憶部
１４１    機能表現ラベルＤＢ
１４２    ラベル辞書ＤＢ
１４３    類似度ＤＢ
１４４    テンプレートＤＢ
１５      通信部
１６      読み取り部
１１ａ    第１取得部
１１ｂ    第１選択部
１１ｃ    第２選択部
１１ｄ    第２取得部
１１ｅ    算出部
１１ｆ    生成部
１１ｇ    出力部
１Ｐ      制御プログラム
１ａ      可搬型記憶媒体
１ｂ      半導体メモリ
２        端末
【図１】
2019008476.tif 000005
【図２】
2019008476.tif 000006
【図３】
2019008476.tif 000007
【図４】
2019008476.tif 000008
【図５】
2019008476.tif 000009
【図６】
2019008476.tif 000010
【図７】
2019008476.tif 000011
【図８】
2019008476.tif 000012
【図９】
2019008476.tif 000013
【図１０】
2019008476.tif 000014
【図１１】
2019008476.tif 000015
【図１２】
2019008476.tif 000016
【図１３】
2019008476.tif 000017