(57)【要約】【課題】会話中にユーザの発言した呼び名が示す対象を正確に判断して適切な返事を返すことができる会話システムを提供する。【解決手段】音声入力部１２を通じて入力されたユーザの発言はＡ／Ｄ変換部１３を介してＣＰＵ１１に与えられる。ＣＰＵ１１はこのユーザ発言を音声認識することにより、その中から特定の対象である人物の呼び名を検出する、そして、ＣＰＵ１１はユーザ発言から検出した呼び名と不揮発性メモリ１７に記憶された各人物の呼び名との類似性から当該呼び名の指し示す人物を判定し、その人物に関する発言をユーザに対する返事として返す。【選択図】    図１
2004334591.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの間で会話を行う会話システムであって、
会話相手であるユーザの発言を入力する入力手段と、
この入力手段によって入力されたユーザの発言の中から特定の対象を指し示す呼び名を検出する呼び名検出手段と、
各対象に関する呼び名を記憶した記憶手段と、
前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価し、その評価値に基づいて前記検出された呼び名が指し示す対象を判定する対象判定手段と、
この対象判定手段によって判定された対象に関する発言を作成する発言作成手段と、
この発言作成手段によって作成された発言を出力する出力手段と
を具備したことを特徴とする会話システム。
【請求項２】
前記特定の対象とは人物であり、
前記呼び名検出手段は、前記ユーザの発言の中からその人物を指し示す呼び名を検出することを特徴とする請求項１記載の会話システム。
【請求項３】
前記呼び名検出手段は、前記ユーザの発言の中から特定の固有名詞とその直後または直前に続く名詞を当該対象の呼び名として検出することを特徴とする請求項１記載の会話システム。
【請求項４】
現在話題とされている対象を指定する対象指定手段を備え、
前記対象判定手段は、前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価する際に、前記対象指定手段によって指定された対象に関する呼び名の評価を高くすることを特徴とする請求項１記載の会話システム。
【請求項５】
前記記憶手段に記憶された各対象の呼び名毎に使用頻度情報を管理する使用頻度管理手段を備え、
前記対象判定手段は、前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価する際に、前記使用頻度管理手段によって管理された呼び名の使用頻度情報を考慮して評価することを特徴とする請求項１記載の会話システム。
【請求項６】
前記検出された呼び名でその呼び名が示す対象が前記記憶手段に記憶されていなかった場合に、その呼び名を当該対象の呼び名の１つとして前記記憶手段に追加登録する登録制御手段を備えたことを特徴とする請求項１記載の会話システム。
【請求項７】
前記検出された呼び名の対象を判定できなかった場合に、その呼び名を新たな対象の呼び名として前記記憶手段に追加登録する登録制御手段を備えたことを特徴とする請求項１記載の会話システム。
【請求項８】
ユーザとの間で会話を行うコンピュータに用いられる会話処理プログラムであって、
前記コンピュータに、
会話相手であるユーザの発言を入力する機能と、
前記入力されたユーザの発言の中から特定の対象を指し示す呼び名を検出する機能と、
各対象に関する呼び名を記憶したメモリを用い、前記検出された呼び名と前記メモリに記憶された呼び名との類似関係を評価し、その評価値に基づいて前記検出された呼び名が指し示す対象を判定する機能と、
前記判定された対象に関する発言を作成する機能と、
前記作成された発言を出力する機能と
を実現させるための会話処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、会話型ロボット等の玩具類やテレビゲーム機などに用いられる会話システムであって、ユーザがコンピュータを相手に会話することで楽しみや安らぎなどを得ることのできる会話システム及び会話処理プログラムに関する。
【０００２】
【従来の技術】
従来、テレビゲーム機や玩具等に用いられる会話システムの多くは、通常、予め決められたシナリオに沿って会話を行う方式（以下、「シナリオ方式」と呼ぶ）を採用している（例えば特許文献１参照）。
【０００３】
この「シナリオ方式」で用いられるシナリオは、実現性を考慮して、会話システムがまず話題を限定するような発言を行い、その後の会話の進展も、分岐が極力少なくなるように作られている。このため、人間（ユーザ）が会話の主導権をとれず、会話の流れが平凡だったり、不自然だったりするなどの欠点がある。
【０００４】
そこで、ユーザの発言に含まれる特定のキーワードを抽出するなどしてユーザが話題としている内容を判断し、それに合った返事を返すような会話システムが考えられている。しかしながら、例えば特定の人物を話題にした会話では、ユーザは無意識のうちに同一人物に対する呼び方をそのときの気分などで変えることがあるため、それらを同一人物と正しく認識することができず、適切な返事を返すことができない。
【０００５】
なお、ユーザに１つの呼び方しか許さないように規制しておく方法もあるが、これでは非常に窮屈な会話をユーザに強いることになり、ユーザも日が経つと何と呼んでいたのか判らなくなることがある。また、人それぞれで呼び方が違うため、会話システムを複数のユーザで共用する場合には対応することができくなる。
【０００６】
また、ある時点では予測できない呼び方が将来その人物の一般的な呼び方になることもある。例えば、日本のあるチームに所属していた選手が米国のチームに移籍した場合、その米国チームを強調するような呼び名が一般的になる。
【０００７】
また、通常、会話中に誰の話題であるかが明らかになった後は、その人物に対して、より省略した呼び方をするのが普通である。例えば、最初は「××の松井」と呼んだとしても、次の発言からは単に「松井」と呼ぶのが普通である。後日の会話でも、当然分かっているものとして、最初から「松井」とだけ呼ぶ可能性もある。しかし、会話システム側では、どの「松井」を指しているのか判らないため、適切な対応ができない。
【０００８】
【特許文献１】
特開２００２−１６９５９０号公報
【０００９】
【発明が解決しようとする課題】
上述したように、従来、例えば人物の呼び名のように、会話途中でユーザが呼び方を変えてしまうと、現在の話題の対象が何であるのかが判らず、適切な返事を返すことができないなど、自然な会話を行うことができないといった問題があった。
【００１０】
そこで、本発明は、会話中にユーザの発言した呼び名が示す対象を正確に判断して、そのときの話題に沿った適切な返事を返すことができる会話システム及び会話処理プログラムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の会話システムは、ユーザとの間で会話を行う会話システムであって、会話相手であるユーザの発言を入力する入力手段と、この入力手段によって入力されたユーザの発言の中から特定の対象を指し示す呼び名を検出する呼び名検出手段と、各対象に関する呼び名を記憶した記憶手段と、前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価し、その評価値に基づいて前記検出された呼び名が指し示す対象を判定する対象判定手段と、この対象判定手段によって判定された対象に関する発言を作成する発言作成手段と、この発言作成手段によって作成された発言を出力する出力手段とを具備して構成される。
【００１２】
このような構成の会話システムによれば、会話相手であるユーザの発言が入力されると、そのユーザの発言の中から特定の対象を指し示す呼び名が検出される。そして、この検出された呼び名と記憶手段に記憶された呼び名との類似関係により当該呼び名が指し示す対象が判定され、その対象に関する発言がユーザに対する返事として作成されて出力される。このように、ユーザの発言に含まれる呼び名と予め記憶手段に記憶されている各対象の呼び名とを比較することで、ユーザが発した呼び名の指し示す対象が特定されるので、その対象に関する適切な返事を返しながら自然な会話を進めていくことができる。
【００１３】
また、前記構成の会話システムにおいて、前記特定の対象とは人物であり、前記呼び名検出手段は、前記ユーザの発言の中からその人物を指し示す呼び名を検出することを特徴とする。これにより、ユーザがある人物を話題にしている場合に、その人物を特定して適切な返事を返すことができる。
【００１４】
また、前記構成の会話システムにおいて、前記呼び名検出手段は、前記ユーザの発言の中から特定の固有名詞とその直後または直前に続く名詞を当該対象の呼び名として検出することを特徴とする。これにより、例えば人物の呼び名であれば、その人名の前後に存在する特定の語句を含めて１つの呼び名としてユーザの発言から抽出することができる。
【００１５】
また、前記構成の会話システムにおいて、現在話題とされている対象を指定する対象指定手段を備え、前記対象判定手段は、前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価する際に、前記対象指定手段によって指定された対象に関する呼び名の評価を高くすることを特徴とする。これにより、現在話題とされている対象の呼び名を優先して、そが指し示す対象を判定することができる。
【００１６】
また、前記構成の会話システムにおいて、前記記憶手段に記憶された各対象の呼び名毎に使用頻度情報を管理する使用頻度管理手段を備え、前記対象判定手段は、前記呼び名検出手段によって検出された呼び名と前記記憶手段に記憶された呼び名との類似関係を評価する際に、前記使用頻度管理手段によって管理された呼び名の使用頻度情報を考慮して評価することを特徴とする。これにより、ユーザが良く使う呼び名を優先して、その呼び名が指し示す対象を判定することができる。
【００１７】
また、前記構成の会話システムにおいて、前記検出された呼び名でその呼び名が示す対象が前記記憶手段に記憶されていなかった場合に、その呼び名を当該対象の呼び名の１つとして前記記憶手段に追加登録する登録制御手段を備えたことを特徴とする。これにより、ユーザが当該対象の別の呼び名をわざわざ登録しなくとも、その呼び名を追加登録することができる。
【００１８】
また、前記構成の会話システムにおいて、前記検出された呼び名の対象を判定できなかった場合に、その呼び名を新たな対象の呼び名として前記記憶手段に追加登録する登録制御手段を備えたことを特徴とする。これにより、ユーザが新たな対象の呼び名をわざわざ登録しなくとも、その呼び名を追加登録することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００２０】
図１は本発明の一実施形態に係る会話システムのハードウェア構成を示すブロック図である。本発明の会話システムは、ユーザの発言に対し、あたかも人間が返事をしているかの如く発言して会話を進めるためのものであり、例えば会話型ロボット等の玩具類やテレビゲーム機などに搭載される。
【００２１】
図１では、本システムを汎用のコンピュータによって実現した場合の基本的な構成が示されており、ＣＰＵ１１、音声入力部１２、Ａ／Ｄ変換部１３、音声出力部１４、Ｄ／Ａ変換部１５、ワークメモリ１６、不揮発性メモリ１７によって構成されている。
【００２２】
ＣＰＵ１１は、不揮発性メモリ１７などに記憶されたプログラムを読み込むことにより、そのプログラムに記述された手順に従って所定の処理を実行する。音声入力部１２は、会話時にユーザの音声を入力するためのマイクである。この音声入力部１２から入力されたユーザの音声（アナログデータ）はＡ／Ｄ変換部１３でデジタルデータに変換されてＣＰＵ１１に取り込まれる。ＣＰＵ１１はワークメモリ１６を用いて処理を行い、ユーザの発言に対する返事をＤ／Ａ変換部１５を介して出力する。Ｄ／Ａ変換部１５は、ＣＰＵ１１によって生成された音声データをアナログデータに変換して音声出力部１４に与える。音声出力部１４は、これを外部に出力するためのスピーカである。
【００２３】
ワークメモリ１６には、ＣＰＵ１１の処理動作に必要なデータが記憶される。このワークメモリ１６には、ユーザの発言を音声認識した結果（文字情報）がバッファされると共に、本システムの会話処理で必要となる「会話相手番号」、「話題人物番号」、「話題人物番号前回設定日時」をそれぞれ記憶するための情報記憶領域１６ａ〜１６ｃが設けられている。
【００２４】
「会話相手番号」は、会話相手を識別するための番号である。本システムでは、会話中は１人のユーザを相手にして会話するものであるが、そのときの会話相手が誰であるのかを識別できるものとする。会話相手を識別する方法としては、例えばカメラを用いて会話相手であるユーザの顔の画像を撮影し、その顔の画像を解析して識別する方法もあるが、ここでは音声解析により識別するものとする。
【００２５】
すなわち、音声入力部１２から入力された音声をＡ／Ｄ変換部１３にてデジタルのデータに変換した後、そのデータの周波数変化などを解析して予め登録された各ユーザの音声データと比較することにより会話相手が誰であるのかを識別する。このような方法によって会話相手が識別されると、その会話相手に固有の識別情報である「会話相手番号」がワークメモリ１６の情報記憶領域１６ａにセットされる。この「会話相手番号」が１であれば、後述する不揮発性メモリ１７に記憶された会話相手１用呼び名データ２０ａが用いられて本発明の会話処理が実行されることになる。
【００２６】
「話題人物番号」とは、現在の会話の話題となっている人物を示す番号である。この「話題人物番号」が１以上の場合、会話システムは当該番号で指定される人物の話題で会話を続ける。一方、この「話題人物番号」が０の場合は、今回の会話が始まってからまだ誰の話題も出ていないか、あるいは、誰かの話題は出たが、その人の呼び名が出現せずに一定時間（例えば１０分）以上経過したため、他の話題に移ったものと判断する。
【００２７】
「話題人物番号前回特定日時」は、前記一定時間の経過を判定するために用いられ、今話題にしている人物の呼び名を会話相手であるユーザが最後に発言した日時を示す。
【００２８】
不揮発性メモリ１７は、例えばフラッシュメモリからなり、電源が切れても記憶内容が消えない書き換え可能なメモリである。この不揮発性メモリ１７には、本発明の会話システムを実現するためのプログラム１７ａが記憶されている他、記事文データベース１８、呼び名適格後続名詞データ１９、会話相手１用呼び名データ２０ａ、会話相手２用呼び名データ２０ｂ、未使用領域２１、話題人物判定用テーブル（Ａ）２２ａおよび話題人物判定用テーブル（Ｂ）２２ｂなどが記憶されている。
【００２９】
記事文データベース１８は、例えばニュース記事など、会話文を含まない既存の文章情報（書き言葉による文章情報）を対象として、その文章情報から会話として利用可能な部分の文章を抜き出して作成されたデータベースである。この記事文データベース１８は、ユーザ発言の中から人物を表す呼び名を検出できなかった場合や、その呼び名に対応した発言をユーザの返事として作成する場合に利用される。
【００３０】
呼び名適格後続名詞データ１９は、呼び名として人名に後続するのに適した特定の名詞を示したデータである。図２はその具体例であり、例えば「選手」、「投手」、「監督」、「首相」などが呼び名適格後続名詞データ１９として予め不揮発性メモリ１７の所定の領域に記憶されている。
【００３１】
呼び名データ２０ａ、２０ｂは、会話相手毎に記憶される各人物に関する呼び名を示すデータであり、図３に示すように、「人物番号」、「呼び名」、「呼び名言及回数」からなる。「人物番号」は人物の番号を示す。「呼び名」はその人物の呼び名を示す。この場合、１人の人物に対して複数の呼び名を含む。「呼び名言及回数」はこれらの呼び名の使用頻度を示す。この場合、不揮発性メモリ１７の中に会話相手１用呼び名データ２０ａ、会話相手２用呼び名データ２０ｂとあるのは、会話相手毎に呼び名データを管理していることを示す。つまり、会話相手１用呼び名データ２０ａは会話相手１が会話するときに参照される呼び名データであり、会話相手１用呼び名データ２０ａは会話相手２が会話するときに参照される呼び名データである。
【００３２】
なお、ここでは２人用の呼び名データしか図示していないが、会話相手が増えた場合には不揮発性メモリ１７の未使用領域２１にその会話相手用の呼び名データが記憶されることになる。
【００３３】
話題人物判定用テーブル（Ａ）２２ａおよび話題人物判定用テーブル（Ｂ）２２ｂは、現在話題とされている人物を判定するための処理手順が記述されたテーブルである。なお、この話題人物判定用テーブル（Ａ）２２ａおよび話題人物判定用テーブル（Ｂ）２２ｂの構成については、後に図８および図９を参照して説明する。
【００３４】
このような構成の会話システムにおいて、音声入力部１２から入力されたユーザの音声はＡ／Ｄ変換部１３にてデジタルデータに変換された後、ＣＰＵ１１に与えられる。
【００３５】
図４に本システムに搭載されたＣＰＵ１１が行うＡ／Ｄ変換後のデータの処理の流れを示す。Ａ／Ｄ変換された音声データは音声認識処理３１によりディクテーションされ、テキスト形式の文章に変換される。そして、このテキスト形式の文章に対して会話処理３２が施され、ユーザの発言に対する返事としての発言が作成され、読み上げ処理３３によって読み上げられる。このとき、ＣＰＵ１１にてユーザに対する返事として作成された発言の音声データはＤ／Ａ変換部１５によってアナログデータに変換された後、スピーカ等の音声出力部１４を通じて出力される。
【００３６】
ここで、「音声認識処理」、「読み上げ処理」については一般的に知られている手法を用いるものとしてその詳しい説明は省略する。以下では、本システムの「会話処理」を中心にフローチャートを参照しながら具体的な処理手順について詳しく説明する。なお、以下の各フローチャートで示される処理は、本システムに備えられたＣＰＵ１１がプログラムを読み込むことで実行される。
【００３７】
図５は本システムの会話処理の流れを示すフローチャートであり、会話相手が識別されている状態で、その会話相手の発言に対する返事を作成するまでの処理が示されている。今、本システムの会話相手が会話相手１のユーザであると識別されたものとして説明する。ワークメモリ１６の情報記憶領域１６ａに「会話相手番号」の１がセットされる。
【００３８】
会話相手１のユーザとの間で会話を行うに際し、本システムに搭載されたＣＰＵ１１は、まず、ワークメモリ１６の情報記憶領域１６ｃに記憶される「話題人物番号前回設定日時」がクリアされているか、あるいは、その日時が一定時間（例えば１０分以上）経過しているかをチェックする（ステップＡ１１）。その結果、「話題人物番号前回設定日時」がクリアされている場合、あるいは、その日時から一定時間経過していれば（ステップＡ１１のＹｅｓ）、ＣＰＵ１１はワークメモリ１６の情報記憶領域１６ｂに「話題人物番号」として０を設定すると共に、「話題人物番号前回設定日時」をクリアしておく（ステップＡ１２）。
【００３９】
次に、ＣＰＵ１１は、音声入力部１２を通じて入力されたユーザの発言の中から人物を表す呼び名を検出する（ステップＡ１３）。その結果、ユーザの発言の中に該当する呼び名があれば（ステップＡ１４のＹｅｓ）、ＣＰＵ１１はその呼び名が指し示している人物が誰であるのかを判定（特定）し、その人物を会話中の話題人物として、その人物の番号を「話題人物番号」にセットする（ステップＡ１５）。ユーザの発言の中に人物を表す呼び名がなかった場合には、ここでの話題人物判定処理は行われない。
【００４０】
次に、ＣＰＵ１１は、「話題人物番号」が０か否かをチェックする（ステップＡ１６）。「話題人物番号」が０でなければ、つまり、会話中の話題人物が特定されている状態であれば（ステップＡ１６のＮｏ）、ＣＰＵ１１はその話題人物に関する発言を作成するための処理を行う（ステップＡ１７）。
【００４１】
一方、「話題人物番号」が０であれば、つまり、会話中の話題人物が特定されていない状態であれば（ステップＡ１６のＮｏ）、ＣＰＵ１１は不揮発性メモリ１７に記憶された記事文データベース１８を用いた発言処理を行う（ステップＡ１８）。すなわち、ユーザの発言の中から特定のキーワードを抽出し、そのキーワードに基づいて記事文データベース１８を検索することにより、記事文データベース１８の中の記事文を利用してユーザに対する発言文を作成する。なお、この記事文データベース１８を用いた発言処理については、本出願人によって出願済みであるため（特願２００２−２３３０９０号）、ここではその詳しい説明を省略するものとする。
【００４２】
ここで、前記ステップＡ１３で実行される呼び名検出処理、前記ステップＡ１５で実行される話題人物判定処理、前記ステップＡ１７で実行される話題人物発言処理について詳しく説明する。
【００４３】
まず、前記ステップＡ１３で実行される呼び名検出処理について説明する。
【００４４】
図６は本システムの会話処理における呼び名検出処理の流れを示すフローチャートである。
【００４５】
ＣＰＵ１１は、ユーザの発言に含まれる品詞を解析し（ステップＢ１１）、その品詞解析結果に基づいてユーザ発言の中に人名を表す固有名詞があるか否かを判断する（ステップＢ１２）。人名を表す固有名詞とは、例えば「松井」、「松坂」などであり、これらは予め人名として図示せぬ品詞解析データに登録されている。ユーザ発言の中に人名を表す固有名詞がなければ（ステップＢ１２のＮｏ）、ＣＰＵ１１は当該ユーザ発言には人物を指し示す呼び名はないものとして処理する。
【００４６】
一方、ユーザ発言の中に人名を表す固有名詞があった場合には（ステップＢ１２のＹｅｓ）、ＣＰＵ１１はその固有名詞の直後に名詞が続いているか否かを判断する（ステップＢ１３）。人名を表す固有名詞の直後に名詞が続いていた場合には（ステップＢ１４のＹｅｓ）、ＣＰＵ１１はその名詞が呼び名適格後名詞データに含まれている特定の名詞であるか否かを判断する（ステップＢ１４）。呼び名適格後名詞データとは、呼び名として人名に後続するのに適した名詞を示したデータであり、図２に示すように、例えば「選手」、「投手」、「監督」、「首相」などである。この呼び名適格後名詞データに含まれている特定名詞であった場合には（ステップＢ１４のＹｅｓ）、ＣＰＵ１１はその名詞を人名後方連鎖語句として人名の呼び名の一部として取り扱う（ステップＢ１５）。
【００４７】
また、ＣＰＵ１１は前記人名を表す固有名詞の直前に直接または助詞「の」を挟んで名詞が続いているか否かを判断する（ステップＢ１６）。該当する名詞があれば（ステップＢ１６のＹｅｓ）、ＣＰＵ１１はその名詞を人名前方連鎖語句として人名の呼び名の一部として取り扱う（ステップＢ１７）。
【００４８】
このようにして、人名を表す固有名詞と、その直後に続く人名後方連鎖語句、その直前に続く人名前方連鎖語句がそれぞれ得られると、ＣＰＵ１１はこれらを１つの呼び名として当該ユーザ発言から抽出する（ステップＢ１８）。
【００４９】
このように、人名を表す固有名詞だけでなく、その前後の特定の語句を含めて呼び名として抽出するようにしたことで、例えば「私は巨＊＊の松井のファンなのです」といったユーザの発言からは「巨＊＊の松井」といった語句を呼び名として抽出することができる。また、「松井は、すごい選手だね」といったユーザ発言からは「松井」だけを呼び名として抽出できる。
【００５０】
なお、前記「＊＊」の部分には、実際には、ある野球チームの名称を表す語句の一部（少なくとも１文字）が入るが、実名を避ける意味で「＊＊」を用いて表現している。以下の説明でも同様であり、実名の関係で一部を「＊＊」でマスクしておくものとする。
【００５１】
また、図２に示すような呼び名適格後名詞データを用いることで、「松井選手」の他、例えば「松井投手」、「松井監督」、「松井首相」…といった呼び名も抽出することができる。この場合、前記ステップＢ１４で人名に後続する名詞が呼び名適格後続名詞データ１９に含まれない場合に、その人名も含めて呼び名としないことにより、例えば「松井銀行」、「松井事件」などを人に対する呼び名としてしまう間違いを避けることができる。このために、呼び名適格後続名詞データ１９には、人物を表す名詞の中で、呼び名として人名に後続するにふさわしい名詞を登録しておく必要がある。
【００５２】
次に、前記ステップＡ１５で実行される話題人物判定処理について説明する。
【００５３】
図７は本システムの会話処理における話題人物判定処理の流れを示すフローチャートである。
【００５４】
前記呼び名検出処理によってユーザの発言の中から人物の呼び名が検出されると、ＣＰＵ１１はその呼び名を構成する名詞（以後、これを呼び名構成要素名詞と呼ぶ）を抽出する（ステップＣ１１）。そして、ＣＰＵ１１は、不揮発性メモリ１７に記憶された現在の会話相手１用の呼び名データ２０ａに含まれる各呼び名に対し、以下のような方法で呼び名類似ポイントを計算する（ステップＣ１２）。
【００５５】
（１）人名ではない呼び名構成要素名詞がその呼び名データ２０ａにある時、呼び名類似ポイントに１ポイントを加算する。
（２）人名である呼び名構成要素名詞がその呼び名データ２０ａにある時、呼び名類似ポイントに２ポイントを加算する。
【００５６】
このようにして、呼び名類似ポイントが算出されると、ＣＰＵ１１は不揮発性メモリ１７に記憶された話題人物判定用テーブル（Ａ）２２ａおよび話題人物判定用テーブル（Ｂ）２２ｂを用いて各ケースに応じた対応処理を実行することにより、現在話題となっている人物を判定する（ステップＣ１３）。
【００５７】
すなわち、「話題人物番号」が０または話題人物の呼び名類似ポイントがすべて０の場合には、ＣＰＵ１１は図８に示す話題人物判定用テーブル（Ａ）２２ａを用いて話題人物の判定を行う。
【００５８】
この話題人物判定用テーブル（Ａ）２２ａでは、ケースＡ１〜Ａ４に分けて対応処理が定義されている。例えば、今回の呼び名（前記呼び名検出処理によってユーザ発言から得られた呼び名）と呼び名データ２０ａの中の話題人物以外の呼び名との関係において、一致する呼び名が１つだけあった場合には、ケースＡ１に対応した処理が実行され、呼び名が一致する人物が話題人物として特定される。
【００５９】
また、一致する呼び名が複数あった場合には、ケースＡ２に対応した処理が実行され、一致する呼び名の中に呼び名言及回数が他に比べて一定割合以上多い人物が話題人物として特定される。なお、そのような条件が成り立たない場合には、ユーザに質問して１人に絞ることで、その人物を話題人物とする。
【００６０】
また、一致する呼び名はないが、呼び名類似ポイントが０ではない呼び名がある場合には、ケースＡ３に対応した処理が実行され、呼び名類似ポイントが大きい順に同一人物であるかをユーザに質問し、その返事に応じて話題人物が特定される。なお、同一人物がいなかった場合には、ケース４Ａの対応処理が実行される。
【００６１】
また、呼び名類似ポイントがすべて０であるか、または、呼び名データ２０ａに話題人物以外の呼び名は１つも登録されていない場合には、ケースＡ４に対応した処理が実行され、新たな人物番号で今回の呼び名が呼び名データ２０ａに追加登録され、その呼び名言及回数に０が書き込まれる。そして、その人物が話題人物として特定される。
【００６２】
一方、「話題人物番号」が０ではなく（＞０）、かつ、話題人物の呼び名類似ポイントが０でないものがある場合には、ＣＰＵ１１は図９に示す話題人物判定用テーブル（Ｂ）２２ｂを用いて話題人物の判定を行う。
【００６３】
この話題人物判定用テーブル（Ｂ）２２ｂでは、ケースＢ１〜Ｂ５に分けて対応処理が定義されている。例えば、今回の呼び名（前記呼び名検出処理によってユーザ発言から得られた呼び名）と呼び名データ２０ａに含まれる話題人物の呼び名との関係において、一致する呼び名がある場合には、ケースＢ１に対応した処理が実行され、現在の話題人物がそのまま継続されて話題人物として特定される。
【００６４】
また、一致する呼び名はないが、完全に含まれる呼び名はある場合（今回の呼び名が話題人物の呼び名に含まれる）には、ケースＢ２に対応した処理が実行され、今回の呼び名が話題人物の呼び名として呼び名データ２０ａに追加登録され、その呼び名言及回数に０が書き込まれる。そして、現在の話題人物がそのまま継続されて話題人物として特定される。
【００６５】
また、一致する呼び名がなく、完全に含まれる呼び名もない場合において、今回の呼び名と呼び名データ２０ａに含まれる話題人物以外の呼び名との関係の方で、一致する呼び名があれば、ケースＢ３に対応した処理として、一致する呼び名の数により前記ケースＡ１または前記ケースＡ２の対応処理が実行される。
【００６６】
また、一致する呼び名がなく、完全に含まれる呼び名もない場合において、今回の呼び名と呼び名データ２０ａに含まれる話題人物以外の呼び名との関係の方で、一致する呼び名はないが、呼び名類似ポイントが０ではない呼び名がある場合には、ケースＢ４に対応した処理として前記ケースＡ３の対応処理が実行される。
【００６７】
また、一致する呼び名がなく、完全に含まれる呼び名もない場合において、今回の呼び名と呼び名データ２０ａに含まれる話題人物以外の呼び名との関係の方で、呼び名類似ポイントがすべて０であるか、または、呼び名データ２０ａに話題人物以外の呼び名は１つも登録されていない場合には、ケースＢ５に対応した処理が実行され、今回の呼び名が話題人物の呼び名であるかをユーザに質問し、そうであれば、今回の呼び名が話題人物の呼び名として呼び名データ２０ａに追加登録され、その呼び名言及回数に０が書き込まれる。そして、現在の話題人物がそのまま継続されて話題人物として特定される。今回の呼び名が話題人物の呼び名でなかった場合には、前記ケースＡ４の対応処理が実行される。
【００６８】
図７のステップＣ１３に戻って、ＣＰＵ１１は話題人物判定用テーブル（Ａ）２２ａおよび話題人物判定用テーブル（Ｂ）２２ｂに従って話題人物を判定した後、次のような処理を行う。
【００６９】
（１）判定した人物の人物番号を「話題人物番号」に書き込む。
（２）「話題人物番号前回設定日時」に現在の日時を書き込む。
（３）呼び名データ２０ａの今回の判定に使用した呼び名に対応した「呼び名言及回数」に１を加算する。
【００７０】
ここで、上述した処理により話題人物の呼び名が呼び名データ２０ａに登録されていく様子を図１０を用いて説明する。
【００７１】
図１０は呼び名データ２０ａの更新状態を示す図であり、図１０（ａ）〜（ｅ）は呼び名データの各状態を表している。
【００７２】
呼び名データ２０ａには、各呼び名に対して「人物番号」、「呼び名」、「呼び名言及回数」がある。ユーザが会話システムに対して誰の名前もまだ言ったことがないとき（会話システムを購入した直後など）、呼び名データ２０ａは記憶されていない。このとき、「話題人物番号」は０であり、「話題人物番号前回設定日時」はクリアされている。
【００７３】
このような状態で、例えばユーザが「不景気だね」と言ったとすると、この発言には呼び名が含まれていないので、前記ステップＡ１８の処理に進み、そこで、「不景気」をキーワードとして記事文データベース１８が検索され、その中の「不景気」を含む文章を元にして発言が作成される。
【００７４】
ここで、ユーザが「私は巨＊＊の松井が好きです」と言ったとする。「松井」は人名を表す固有名詞なので、これを手がかりに呼び名「巨＊＊の松井」が検出される。この場合、呼び名データ２０ａには呼び名が１つも登録さていないので、前記ケースＡ４の対応処理が実行される。これにより、話題人物判定処理が終了したときの呼び名データ２０ａの状態１は図１０（ａ）のようになる。このときの人物番号を１とする。
【００７５】
次に、ユーザが「松井はパワーがある」と言ったとすると、今度は「松井」が呼び名として検出される。これに対する「巨＊＊の松井」の呼び名類似ポイントは、「松井」が人名を表す名詞なので“２”となり、「松井」は「巨＊＊の松井」の中に完全に含まれるので、前記ケースＢ２の対応処理が実行される。これにより、話題人物判定処理が終了したときの呼び名データ２０ａの状態２は図１０（ｂ）のようになる。
【００７６】
次に、ユーザが「松井は守備もうまい」と言ったとすると、その発言から検出される呼び名は再び「松井」である。今回は話題人物の呼び名として既に登録されている「松井」と一致するので、前記ケースＢ１の対応処理が実行され、今回も人物番号１の話題が継続されていると判断される。このとき、呼び名「松井」の呼び名言及回数は“２”になる。
【００７７】
この状態で、その日の会話を打ち切り、後日いきなり「松井の調子はどうだ」とこのユーザが言ったとする。その時点では「話題人物番号」が０なので、ケースＡ１の対応処理が実行され、「松井」とは「巨＊＊の松井」のことだと判定され、人物番号１を話題の人物として発言が作成される。
【００７８】
さらに後日、このユーザが「西＊＊の松井は足が速い」と言ったとすると、話題人物番号＝０であり、今回の呼び名が「西＊＊の松井」なので、呼び名構成要素名詞は「西＊＊」と「松井」なので、人物番号１のそれぞれの呼び名類似ポイントが２となり、「西＊＊の松井」は「巨＊＊の松井」とは一致しないので、前記ケースＡ３にあてはまる。
【００７９】
前記ケースＡ３の対応処理で、「西＊＊の松井」は人物番号１と同一人物であるかどうかをユーザに質問する。この時、人物番号１の呼び名は呼び名構成要素名詞の数が多いものを用いる。この場合、呼び名構成要素名詞の数が多いのは「巨＊＊の松井」である。そこで、例えば、「西＊＊の松井というのは巨＊＊の松井と同一人物ですか？」と質問する。ユーザが「いいえ」などとこれを否定する返事をすると、前記ケースＡ４の対応処理が実行される。これにより、話題人物判定処理が終了したときの呼び名データ２０ａの状態３は図１０（ｃ）のようになる。このとき、人物番号２に書き変わっている。
【００８０】
ここで、ユーザが呼び名として単に「松井」を使用して発言したとする。すると、前記ケースＢ２にあてはまり、人物番号２の話題が続いていると判定され、呼び名データ２０ａの状態４は図１０（ｄ）のようになる。このように、単なる人物に対して同じ呼び名「松井」を使っても、会話システムは会話の流れに従って正しく話題の人物を判定できる。
【００８１】
また、この状態で会話を終えて、後日いきなり「松井の調子はどうだ」とユーザが言ったとする。この場合、前記ケースＡ２にあてはまり、２つの呼び名「松井」の呼び名言及回数が比較検討される。「一定割合以上多い」をここでは他の５倍以上であるとすると、今の場合、３倍にすぎないので、どちらの「松井」であるかをユーザに質問する。この質問で用いる呼び名は、互いに異なる呼び名で、かつ、呼び名構成要素名詞の数が多いものを用いる。この例では、「松井というのは、巨＊＊の松井のことですか、それとも西＊＊の松井のことですか」と質問することになる。
【００８２】
ユーザが「巨＊＊の松井のことです」と答えたとすると、人物番号１の人物を話題として特定することになる。この時、呼び名言及回数に１が加算されるのは人物番号１の「松井」である。人物番号１の「松井」の呼び名言及回数が人物番号２の「松井」のそれの５倍以上の場合には、同様の状況でも、ユーザに質問せずに人物番号１の「松井」を話題人物と特定する。これにより、頻繁に話題にしている人物についてはいつも省略した呼び名が通用するので、自然な会話が実現できる。
【００８３】
また、前記状態４で、ユーザが例えば「巨＊＊の松井」の代わりに「ジャイ＊＊の松井」と呼んだとする。この場合、前記ケースＢ４または前記ケースＡ３にあてはまる。人物番号１と人物番号２に対する呼び名類似ポイントは同じになるので、「ジャイ＊＊の松井というのは巨＊＊の松井のことですか」などとユーザに質問して確認することになる。さらにその後に、例えば「巨＊＊の松井」の代わりに「ゴジ＊＊松井」と呼んでも同様である。「ジャイ＊＊の松井」、「ゴジ＊＊松井」が登録された状態５を図１０（ｅ）に示す。状態５の後は、例えば「ジャイ＊＊の松井」も「ゴジ＊＊松井」も「巨＊＊の松井」と全く同様に扱える。
【００８４】
このように、本システムでは、特定の人物を話題にする場合に、いつも完全に同じ呼び名を使う必要がなく、人間同士の会話のように、無意識に口をついて出た呼び名で会話をすることができる。また、例えば「ヤンキー＊＊の松井」といったように、ある時点では予測できない呼び名が後日一般的に使われるようになっても対応することができる。
【００８５】
図１１および図１２は会話相手１用の呼び名データ２０ａと会話相手２用の呼び名データ２０ｂの一例を示す図である。
【００８６】
本システムでは、会話相手毎に呼び名データ２０ａ、２０ｂを保持しているので、例えば会話相手１が「松井」と言えば、「巨＊＊の松井」を指し、会話相手２が「松井」と言えば「西＊＊の松井」を指す。このように、会話相手によって自由に呼び名を使い分けることができる。
【００８７】
次に、前記ステップＡ１７で実行される話題人物発言処理について説明する。
【００８８】
図１３は本システムの会話処理における話題人物発言処理の流れを示すフローチャートである。
【００８９】
前記話題人物判定処理によって話題の人物が判定されると、その話題人物に関する発言をするべく、ＣＰＵ１１は、まず、発言文作成のための材料データをクリアした後（ステップＤ１１）、「話題人物番号」で指定される人物の呼び名の中から１つの呼び名を処理対象として取り上げる（ステップＤ１２）。なお、前記発言文作成のための材料データは、例えばワークメモリ１６の所定の領域に記憶される。
【００９０】
ここで、前記処理対象として取り上げた呼び名に呼び名構成要素名詞が２個以上あれば（ステップＤ１３のＹｅｓ）、ＣＰＵ１１はこれらの呼び名構成要素名詞をＡＮＤ条件にして記事文データベース１８を検索し（ステップＤ１４）、該当する記事文を記事文データベース１８から抽出して発言文作成のための材料データに加える（ステップＤ１５）。
【００９１】
このような処理を前記「話題人物番号」で指定される人物の呼び名に含まれる各呼び名について行う（ステップＤ１６、Ｄ１７）。そして、すべての呼び名に対する処理が終わると（ステップＤ１６のＮｏ）、ＣＰＵ１１は発言文作成のための材料データに集まった各記事文からランダムに１つの記事文を選択し（ステップＤ１８）、その選択した記事文を利用して発言文を作成し、その発言文をユーザに対する返事として発言する（ステップＤ１９）。
【００９２】
このように、様々な話題のニュース記事が記録されている記事文データベース１８を用い、その中から話題の人物に適した記事文を選択する。この場合、話題人物の呼び名を構成する名詞つまり呼び名構成要素名詞が利用される。
【００９３】
すなわち、例えば図１０（ｅ）に示す状態５において、人物番号が１つだけであったなら、「巨＊＊」と「松井」を同時に含む記事と、「ジャイ＊＊」と「松井」を同時に含む記事と、「ゴジ＊＊」と「松井」を同時に含む記事が発言文作成のための材料として抽出される。それらの記事文の中からランダムに記事文が選択され、その選択された記事文を利用して発言文が作成される。この場合、呼び名「松井」には呼び名構成要素名詞が１つしかないので、これだけを利用することはしない。これは、「松井」だけを含む記事文を抽出すると、「西＊＊の松井」など、別人の松井の記事文も混じってしまうからである。
【００９４】
以上のように本システムによれば、ユーザの発言の中から任意の人名とそれに前後する語句を含む呼び名を検出できるので、ユーザは固定的な呼び名に限らず、日常的に使う呼び名で会話を進めることができる。また、人名に繋がる語句に対して、品詞などで語句の種類を指定し、その語句が呼び名に適した語句であるを判定するので、例えば「松井事件」といったような呼び名ではない語句を間違って呼び名として検出してしまうことがない。
【００９５】
ユーザが発言で用いた呼び名と、現在話題になっている人物に関して既に登録されている呼び名との類似性及び現在話題になっていない人物に関して既に登録されている呼び名との類似性により呼び名が誰を指す可能性が高いかを判断し、その可能性に応じて、その呼び名と人物を関連付ける、あるいは、可能性の高い人物との関連をユーザに質問してから関連付けなどの処理を行うことで、自然な会話の流れの中で、ユーザの使った呼び名が誰を指すのかを適切に判定できる。特に、現在話題になっている人物の呼び名とそうでない人物の呼び名とを区別して処理しているので、現在話題の人物を重視しながらそれ以外の人物も考慮に入れた適切な判定が可能となる。
【００９６】
また、ユーザの使った呼び名が人物の呼び名として登録されていない場合には、自動的にその人物の呼び名として追加登録し、また、ユーザの使った呼び名に関連付けられる人物が見つからない場合には、新たな人物としてその呼び名を追加登録するので、従来の会話システムであれば必要とされていた会話の流れとはかけ離れた呼び名の登録作業（例えば、会話を中断して一旦呼び名登録モードに入り呼び名を登録するなどの作業）を省略することができる。
【００９７】
これらの結果、各人物に対して許された呼び名を正確に覚えておく必要がなく、普段の会話と同じように、同一人物に対して気まぐれに複数の呼び名を使うことができる。また、複数の人物に対して同じ呼び名を使うことができるので、同じ呼び名で呼ぶのが普通である異なる人物について、わざわざ不自然な異なる呼び方をする必要がない。特に、誰の話題であるかが明確になった後によく使われる短縮された呼び名は、多くの人物で同じになるのが普通であるが、これを日常と同様に使うことができる。
【００９８】
各呼び名が使用された回数を記録し、同じ呼び名が存在する場合に、その回数を利用して人物を特定するので、よく話題にする人物については、質問するなどの確認の手間を省いて会話が進められる。
【００９９】
また、呼び名類似ポイントに加算するポイントを、人名の場合に人名でない場合より大きくすることで、名前が一致する場合により同一人物と判定され易く現実に近くなる。例えば、姓と名がともに一致した場合は４ポイントとなり、同一人物である可能性が高くなる。ユーザの発言の中に呼び名がなかった場合でも、話題人物番号が０でない場合には、その人物に関連する発言を継続することで、会話が他の話題に飛んでしまうことがない。
【０１００】
これにより、ユーザは会話システムが自分の話を聴いて理解してくれているという満足をより強く得ることができる。また、一定時間以上、人物の呼び名をユーザが使わなかった場合に、話題人物番号を０にして、その人物に関連する発言をしないようにすることで、会話が人物の話題から離れたことに対応した適切な発言ができる。
【０１０１】
また、会話相手を識別し、その会話相手毎に呼び名を登録管理して使い分けているので、個々の会話相手が使用する呼び名は、他の人が使用する呼び名の影響を受けない。これにより、個々の会話相手は、自分がいつも使っている呼び名を何ら制限を受けずに使える。また、これにより、会話システムは、同一の呼び名を会話相手毎に違う人物の呼び名と解釈して会話ができる。
【０１０２】
また、記事文データベース１８から話題の人物に関する記事を収集する際に、呼び名構成要素名詞が１つの呼び名については、たとえユーザがその時発言に用いた呼び名であっても、その呼び名を利用せずに、同一人物の呼び名で呼び名構成要素名詞の数の多い呼び名を使って記事を検索するので、他人の記事が混じる可能性が低くなり、話題の人物と違う発言をしてしまうことが少なくなる。
【０１０３】
また、記事文データベース１８から話題の人物に関する記事を収集する際に、その人物の複数の呼び名を利用するので、その人物に関するより多くの記事が収集でき、会話システムの発言内容が豊富になる。
【０１０４】
なお、前記実施形態では、ユーザとの会話を通して、人物の呼び名が登録されるものとして説明したが、いくつかの呼び名を予め登録しておいても良い。例えば、「巨＊＊の松井」、「ジャイ＊＊の松井」などを同一人物として予め登録しておき、ユーザが「ゴジ＊＊松井」といったように未登録の呼び名を使った場合に、これらと同一人物であると特定できたときに、その呼び名「ゴジ＊＊松井」を追加登録すれば良い。
【０１０５】
また、記事文データベース１８を用いて発言文を作成する場合について説明したが、人工無能方式などの他の手法を用いても良い。これは、例えば「巨＊＊の松井」を予め呼び名として登録しておくと共に、「巨＊＊の松井」についての特定の発言文を用意しておくことにより、これと同一人物と特定される他の呼び名に対して、前記特定の発言文を行うものである。
【０１０６】
また、前記図７の話題人物判定処理とは異なる処理を行っても良い。例えば、品詞解析や呼び名抽出などで間違いが起こる可能性を考慮して、初めての人物の呼び名を登録する場合（ケースＡ４）には、それが本当に特定の個人を指し示す呼び名であるのかを会話相手であるユーザに質問してから確認しても良い。あるいは、その日の会話の最初にいきなり「松井」と呼んだ場合などは（話題の人物でない呼び名で、呼び名構成要素名詞が１つの呼び名を使った場合）、「松井」が呼び名データには１つしか登録されていない時でも、それが「巨＊＊の松井」なのかどうかをユーザに質問して確認するようにしても良い。
【０１０７】
また、前記図６の呼び名検出処理では異なる処理で呼び名を抽出しても良い。人名前方連鎖語句、人名後方連鎖語句の抽出に違う手法を用いても良い。例えば、呼び名に「さん」、「君」、「ちゃん」などの接尾語や、「元」、「前」などの接頭語などを含めても良い。人名前方連鎖語句に名詞以外の品詞を含む修飾語句や「の」に類似した役割を果たす他の語句を含めても良い。人名後方連鎖語句として呼び名に含まれるに適した名詞を呼び名適格後続名詞データ１９として持ち、それを利用して呼び名として適切なものだけを抽出したが、呼び名に含まれるにふさわしくない名詞などのデータを持って、それを利用して不適切なものを除外しても良い。
【０１０８】
また、前記実施形態では、簡単のために人物の人名を示す固有名詞を含むものだけを呼び名として抽出したが、他の語句を含むものも抽出して良い。この場合、人名と地名の区別が付きにくいので、地名を表す固有名詞を含めたり、固有名詞すべてを含めたり、固有名詞かどうかを判定できなかった未知語などを含めたりしても良い。
【０１０９】
また、固有名詞ではないが呼び名に含まれ易い言葉を見つけて、そこから呼び名を抽出しても良い。例えば、「お父さん」、「先生」、「先輩」、「おじさん」、「お姉ちゃん」など、呼び名に含まれ易い言葉のリストを不揮発性メモリ１７に予め記憶しておき、これらがユーザの発言の中にあったら、その前後も調べて呼び名を抽出すれば良い。これにより、身近にいる人の自然な呼び名が登録できる。例えば、「隣のおじさん」、「野球部の先輩」、「担任の先生」などが登録できる。その際、本実施形態の方法と併用することにより、例えば、「テニス部の先輩」、「山崎先輩」、「先輩」なとを同一人物の呼び名として登録することが可能となる。ただし、このような身近な人を話題にする場合は、ニュースなどの記事文データベース１８を利用した発言作成処理だけでは会話が成り立たないので。会話相手との会話を記録しておき、過去の会話から発言を作成するなどの他の手法が必要である。
【０１１０】
このような方法を用いると、例えば、家族の中のある人物を呼び場合に、お父さんは「綾」、お母さんは「綾ちゃん」、妹は「お姉ちゃん」といったように、それぞれが異なる呼び名で、しかも、固有名詞を含む呼び名と含まない呼び名とを一緒に使って同一人物を呼ぶことができる。
【０１１１】
また、前記実施形態では、ユーザの発言の中からいつも品詞解析などを経て呼び名を抽出するものとしたが、呼び名データに既に登録されている呼び名がユーザの発言に含まれていないかをまず調べるようにしても良い。特定の人物を指す呼び名であるかどうかをユーザに質問し確認して登録した呼び名がある場合には、再び同じ手間をかけないで済むので特にこの手法が有効である。しかし、その場合でも、その呼び名を含む更に長い呼び名である可能性などもあるので、前記話題人物判定処理に似た手法により類似性などを調べて処理することが好ましい。
【０１１２】
また、呼び名類似ポイントの算出方法として、呼び名構成要素名詞が人名であるか否かによって加算するポイントを２倍変えたが、同じポイント、他の倍率のポイントを用いても良い。ポイント算出のアルゴリズム自体を変えても良い。また、どの呼び名に似ているかを知るために違う方法を用いても良い。
【０１１３】
また、前記実施形態では、最も話題に取り上げられやすい例として、人物の呼び名を用いたが、例えばペット、競走馬、野球チーム、漫画のキャラクタ、ぬいぐるみ、ロボットなど、動物や組織や無生物などの様々な対象の呼び名に対して適用することも可能である。
【０１１４】
要するに、本発明は前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態で示される全構成要件から幾つかの構成要件が削除されても、「発明が解決しようとする課題」で述べた効果が解決でき、「発明の効果」の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１１５】
また、上述した実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、半導体メモリなどの記録媒体に書き込んで各種装置に適用したり、そのプログラム自体をネットワーク等の伝送媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムあるいは伝送媒体を介して提供されたプログラムを読み込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【０１１６】
【発明の効果】
以上詳記したように本発明の会話システムによれば、例えば人物を話題の対象として会話において、ユーザがその人物の呼び名を変えて発言しても、その呼び名が示す人物を正しく判断でき、そのときの話題に沿った適切な返事を返すことができる。これにより、あたかも人間同士が会話しているような自然な会話を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る会話システムのハードウェア構成を示すブロック図。
【図２】前記会話システムの不揮発性メモリに記憶される名適格後続名詞データの一例を示す図。
【図３】前記会話システムの不揮発性メモリに記憶される呼び名データの一例を示す図。
【図４】前記会話システムに搭載されたＣＰＵが行うＡ／Ｄ変換後のデータの処理の流れを示す図。
【図５】前記会話システムの会話処理の流れを示すフローチャート。
【図６】前記会話システムの会話処理における呼び名検出処理の流れを示すフローチャート。
【図７】前記会話システムの会話処理における話題人物判定処理の流れを示すフローチャート。
【図８】前記会話システムの不揮発性メモリに記憶される話題人物判定用テーブル（Ａ）の一例を示す図。
【図９】前記会話システムの不揮発性メモリに記憶される話題人物判定用テーブル（Ｂ）の一例を示す図。
【図１０】前記会話システムの不揮発性メモリに記憶される呼び名データの更新状態を示す図。
【図１１】前記会話システムの不揮発性メモリに記憶される会話相手１用の呼び名データの一例を示す図。
【図１２】前記会話システムの不揮発性メモリに記憶される会話相手２用の呼び名データの一例を示す図。
【図１３】前記会話システムの会話処理における話題人物発言処理の流れを示すフローチャート。
【符号の説明】
１１…ＣＰＵ
１２…音声入力部
１３…Ａ／Ｄ変換部
１４…音声出力部
１５…Ｄ／Ａ変換部
１６…ワークメモリ
１６ａ〜１６ｃ…情報記憶領域
１７…不揮発性メモリ
１７ａ…プログラム
１８…記事文データベース
１９…呼び名適格後続名詞データ
２０ａ…会話相手１用呼び名データ
２０ｂ…会話相手２用呼び名データ
２１…未使用領域
２２ａ…話題人物判定用テーブル（Ａ）
２２ｂ…話題人物判定用テーブル（Ｂ）
【図１】
2004334591.tif 000003
【図２】
2004334591.tif 000004
【図３】
2004334591.tif 000005
【図４】
2004334591.tif 000006
【図５】
2004334591.tif 000007
【図６】
2004334591.tif 000008
【図７】
2004334591.tif 000009
【図８】
2004334591.tif 000010
【図９】
2004334591.tif 000011
【図１０】
2004334591.tif 000012
【図１１】
2004334591.tif 000013
【図１２】
2004334591.tif 000014
【図１３】
2004334591.tif 000015