(57)【特許請求の範囲】
【請求項１】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段と、
上記記録手段から所定のイディオムを読み出し、該読み出されたイディオムに含まれる所定の単語を第１の単語として選択する選択手段と、
上記選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出し手段と、
上記読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出し手段と、
上記読み出されたイディオムを構成する単語のうちの、上記選択手段によって選択された第１の単語を、上記読み出された第２の単語に置き換えたイディオムを生成するイディオム生成手段と、
上記読み出された第３の単語を主語として、該第３の単語及び上記読み出されたイディオムから構成される第１のジョーク文を生成し、該第３の単語及び上記生成されたイディオムから構成される第２のジョーク文を生成する文生成手段と
を備える文章生成装置。
【請求項２】
上記記録手段は、さらに、上記記録されている各イディオムに関連する複数の形容詞を記録しており、
上記選択されたイディオムに関連する形容詞を上記記録手段から読み出す第３の読出し手段をさらに備え、
上記文生成手段は、上記第３の単語と、上記読み出されたイディオムと、上記読み出された形容詞から構成される上記第１のジョーク文を生成し、該第３の単語と、上記生成されたイディオムと、上記読み出された形容詞から構成される上記第２のジョーク文を生成することを特徴とする請求項１記載の文章生成装置。
【請求項３】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置による文章生成方法において、
選択手段により、上記記録手段から所定のイディオムを読み出し、該読み出されたイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
イディオム生成手段により、上記選択手段によって読み出されたイディオムを構成する単語のうちの、該選択手段で選択された第１の単語を、上記第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、該第３の単語及び上記イディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップと
を有する文章生成方法。
【請求項４】
文章の生成を行う文章生成装置において、
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段と、
上記記録手段から所定のイディオムを読み出し、該読み出されたイディオムに含まれる所定の単語を第１の単語として選択する選択手段と、
上記選択手段により選択された第１の単語と同一又は類似の発音且つ同品詞の第２の単語を上記記録手段から検出する検出手段と、
上記第１の単語及び／又は上記第２の単語と意味的関係を有し、主語とする第３の単語を上記記録手段から選定する主語選定手段と、
上記第３の単語を主語として、上記第１の単語を用いた第１のジョーク文と、上記第１の単語と置換して第２の単語を用いた第２のジョーク文を生成する文生成手段と
を備える文章生成装置。
【請求項５】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行されるプログラムを記録したコンピュータ読取り可能な記録媒体において、
選択手段により、上記記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ、同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
イディオム生成手段により、上記選択手段によって読み出されたイディオムを構成する単語のうちの、該選択手段で選択された第１の単語を、上記第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、該第３の単語及び上記イディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップと
を有するプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項６】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行される、
選択手段により、上記記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ、同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
イディオム生成手段により、上記選択手段によって読み出されたイディオムを構成する単語のうちの、該選択手段で選択された第１の単語を、上記第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、該第３の単語及び上記イディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップと
を有するプログラム。
【請求項７】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段と、
上記記録手段から所定のイディオムを読み出し、該読み出されたイディオムに含まれる所定の単語を第１の単語として選択する選択手段と、
選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出し手段と、
上記読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出し手段と、
上記読み出された第３の単語を主語として、該第３の単語及び上記読み出されたイディオムから構成されるジョーク文を生成する文生成手段と
を備える文章生成装置。
【請求項８】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置による文章生成方法において、
選択手段により、上記記録手段から所定のイディオムを読み出し、該読み出されたイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成されるジョーク文を生成する文生成ステップと
を有する文章生成方法。
【請求項９】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行されるプログラムを記録したコンピュータ読取り可能な記録媒体において、
選択手段により、上記記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ、同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成されるジョーク文を生成する文生成ステップと
を有するプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１０】
複数のイディオム、複数の単語、該各単語の意味、該各単語の品詞及び該各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行される、
選択手段により、上記記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、
第１の読出し手段により、上記選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ、同一品詞である単語を、上記記録手段から選択し、第２の単語として読み出す第１の読出しステップと、
第２の読出し手段により、上記第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、上記記録手段から選択し、第３の単語として読み出す第２の読出しステップと、
文生成手段により、上記第２の読出し手段によって読み出された第３の単語を主語として、該第３の単語及び上記選択手段によって読み出されたイディオムから構成されるジョーク文を生成する文生成ステップと
を有するプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二重の意味を持つジョーク文のような文章を生成することができる文章生成装置及びその生成方法、さらには、その文章生成装置に用いられるプログラムを記憶した記録媒体及びそのプログラムに関する。
【０００２】
【従来の技術】
近年、コンピュータを利用して、ジョーク文を生成するジョーク文生成方式について、いくつかの事例が報告されている。例えば、答えが駄洒落となる謎かけを自動生成する「ＪＡＰＥ（日本語駄洒落生成においては、ＢＯＫＥ）」や、文の一部の単語を類似した発音を持つ別の単語に置き換えた駄洒落文を生成する「Ｂ級機関」といった方式の事例が報告されている。なお、駄洒落文とは、同一又は類似した発音を持つ複数の単語を組み合わせて曖味性を持たせる文を作ることで、ユーモラスな効果を与えるジョーク文である。
【０００３】
ここで、ジョーク文とは、冗談、笑い事、ユーモアなどの要素を含む文をいうものである。
【０００４】
従来の計算処理によるジョーク文生成方式は、あるイディオムから選択された１つの単語に関して、主語を共通とする異なる意味の２つの文章を生成することができないという問題点がある。
【０００５】
例えば、「ＢＯＫＥ（ＪＡＰＥ）」は、「パンはパンでもぺっちゃんこのパンは何になる？」というなぞなぞ文と、その答え「パンク」という文を生成する。これは、基本文である「パンはパン」の「パン」という単語を、「パン」の発音「ＰＡＮ」と物の状態を示す「ぺっちゃんこ」の意味と組み合わせて他の状態を示す「パンク（ＰＡＮＫＵ）」に置き換えた例である。
【０００６】
即ち、基本文の「パン」は実在の物であり、これはジョーク文ではなく、生成された「パンク」のみがジョーク文となる。しかし、「パンク」単体の文では、意味をなさない。
【０００７】
また、「Ｂ級機関」は、例えば、「打ち上げ鼻血」といった文を生成する。これは、基本文である「打ち上げ花火」の「花火」という単語を、「花火」の発音「ＨＡＮＡＢＩ」と類似の発音「ＨＡＮＡＺＩ」を持つ「鼻血」に置き換えた例である。
【０００８】
即ち、「打ち上げ花火」という基本文は実在のものであり、これはジョーク文ではなく、生成された「打ち上げ鼻血」のみがジョーク文となる。しかし、「打ち上げ鼻血」単体の文では、意味をなさない。
【０００９】
即ち、基本文が普通の意味を持つことに比較して、生成されたジョーク文は、基本文と発音が類似しているだけで、意味をなしてない。この場合、この意味のなさが、ユーモラスな効果を与えている。言い換えると、従来の計算処理において生成される基本文とジョーク文の間に、意味的関係はない。即ち、この２文の組み合わせは、二重の意味を持つジョーク文とはいえない。
【００１０】
【発明が解決しようとする課題】
本発明の目的は、上述したような従来のジョーク文生成方式が有している問題点を解消し得る新規な文章生成装置及びその方法を提供することにある。
【００１１】
本発明の他の目的は、計算処理により、二重の意味を持つジョーク文を生成することができるようにした文章生成装置及びその生成方法、さらには、その文章生成装置に用いられるプログラムを記憶した記録媒体及びそのプログラムを提供することにある。
【００１２】
【課題を解決するための手段】
上述のような目的を達成するために提案される本発明に係る文章生成装置は、複数のイディオム、複数の単語、各単語の意味、各単語の品詞及び各単語の発音記号を記録した記録手段と、記録手段から所定のイディオムを読み出し、読み出されたイディオムに含まれる所定の単語を、第１の単語として選択する選択手段と、選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、記録手段から選択し、第２の単語として読み出す第１の読出し手段と、読み出された第２の単語と意味的関係があると判定される単語を、記録手段から選択し、第３の単語として読み出す第２の読出し手段と、読み出されたイディオムを構成する単語のうちの、選択手段によって選択された第１の単語を、読み出された第２の単語に置き換えたイディオムを生成するイディオム生成手段と、読み出された第３の単語を主語として、第３の単語及び読み出されたイディオムから構成される第１のジョーク文を生成し、第３の単語及び生成されたイディオムから構成される第２のジョーク文を生成する文生成手段とを備える。
【００１３】
本発明に係る文章生成装置では、記録手段は、記録されている各イディオムに関連する複数の形容詞を、さらに記録しており、選択されたイディオムに関連する形容詞を、記録手段から読み出す第３の読出し手段をさらに設け、文生成手段は、第３の単語と、読み出されたイディオムと、読み出された形容詞から構成される第１の文を生成し、第３の単語と、生成されたイディオムと、読み出された形容詞から構成される第２の文を生成する。
【００１４】
本発明に係る文章生成方法は、複数のイディオム、複数の単語、各単語の意味、各単語の品詞及び各単語の発音記号を記録した記録手段を備える文章生成装置による文章生成方法において、選択手段により、記録手段から所定のイディオムを読み出し、読み出されたイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、第１の読出し手段により、選択手段によって選択された第１の単語と同一又は類似の発音を有し、且つ同一品詞である単語を、記録手段から選択し、第２の単語として読み出す第１の読出しステップと、第２の読出し手段により、第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、記録手段から選択し、第３の単語として読み出す第２の読出しステップと、イディオム生成手段により、選択手段によって読み出されたイディオムを構成する単語のうちの、選択手段によって選択された第１の単語を、第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、文生成手段により、第２の読出し手段によって読み出された第３の単語を主語として、第３の単語及び選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、第３の単語及びイディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップとを有する。
【００１５】
本発明に係る他の文章生成装置は、複数のイディオム、複数の単語、各単語の意味、各単語の品詞及び各単語の発音記号を記録した記録手段と、記録手段から所定のイディオムを読み出し、読み出されたイディオムに含まれる所定の単語を第１の単語として選択する選択手段と、選択手段により選択された第１の単語と同一又は類似の発音且つ同品詞の第２の単語を記録手段から検出する検出手段と、第１の単語及び／又は第２の単語と意味的関係を有し、主語とする第３の単語を記録手段から選定する主語選定手段と、第３の単語を主語として、第１の単語を用いた第１のジョーク文と、第１の単語と置換して第２の単語を用いた第２のジョーク文を生成する文生成手段とを備える。
【００１６】
本発明に係る記録媒体は、複数のイディオム、複数の単語、各単語の意味、各単語の品詞及び各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行されるプログラムを記録したコンピュータ読取り可能な記録媒体であって、選択手段により、記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、第１の読出し手段により、選択手段によって選択された第１の単語と同一又は類似の発音及び同一品詞である単語を、記録手段から選択し、第２の単語として読み出す第１の読出しステップと、第２の読出し手段により、第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、記録手段から選択し、第３の単語として読み出す第２の読出しステップと、イディオム生成手段により、選択手段によって読み出されたイディオムを構成する単語のうちの、選択手段で選択された第１の単語を、第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、文生成手段により、第２の読出し手段によって読み出された第３の単語を主語として、第３の単語及び選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、第３の単語及びイディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップとを有するプログラムを記録している。
【００１７】
本発明に係るプログラムは、複数のイディオム、複数の単語、各単語の意味、各単語の品詞及び各単語の発音記号を記録した記録手段を備える文章生成装置を制御するためにコンピュータによって実行される、選択手段により、記録手段から読み出された所定のイディオムに含まれる所定の単語を、第１の単語として選択する選択ステップと、第１の読出し手段により、選択手段によって選択された第１の単語と同一又は類似の発音を有し、同一品詞である単語を、記録手段から選択し、第２の単語として読み出す第１の読出しステップと、第２の読出し手段により、第１の読出し手段によって読み出された第２の単語と意味的関係があると判定される単語を、記録手段から選択し、第３の単語として読み出す第２の読出しステップと、イディオム生成手段により、選択手段によって読み出されたイディオムを構成する単語のうちの、選択手段で選択された第１の単語を、第１の読出し手段によって読み出された第２の単語に置き換えたイディオムを生成するイディオム生成ステップと、文生成手段により、第２の読出し手段によって読み出された第３の単語を主語として、第３の単語及び選択手段によって読み出されたイディオムから構成される第１のジョーク文を生成し、第３の単語及びイディオム生成手段によって生成されたイディオムから構成される第２のジョーク文を生成する文生成ステップとを有する。
【００１８】
本発明に係る文章生成装置及び方法においては、所定の第１のイディオムを構成する単語のうち、所定の第１の単語が、第１の単語と同一又は類似の発音を有し、且つ同一品詞である第２の単語に置き換えられた第２のイディオムが生成される。第２の単語と意味的関係があると判定される第３の単語が主語とされ、第３の単語及び第１のイディオムから構成される第１のジョーク文が生成される。第３の単語が主語とされ、第３の単語及び生成された第２のイディオムから構成される第２のジョーク文が生成される。
【００１９】
本発明のさらに他の目的、本発明によって得られる具体的な利点は、以下において図面を参照して説明される実施の形態の説明から一層明らかにされるであろう。
【００２０】
【発明の実施の形態】
以下、本発明を適用したジョーク文の如く文章を生成する文章生成装置及び文章生成方法を図面を参照して説明する。
【００２１】
本発明が適用された文章生成装置は、図１に示すように、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）１２に記憶されているプログラム、又は記憶部１８からＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１３に読み出されたプログラムに従って各種の処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）１１を備える。ここで、ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００２２】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５も接続されている。入出力インタフェース１５には、キーボード、マウスなどよりなる入力部１６、ＣＲＴ、ＬＣＤなどよりなるディスプレイ、並びにスピーカなどよりなる出力部１７、ハードディスクなどより構成される記憶部１８が接続されている。
【００２３】
入出力インタフェース１５にはまた、必要に応じてドライブ１９が接続され、磁気ディスク３１、光ディスク３２、光磁気ディスク３３、あるいは半導体メモリ３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１８にインストールされる。
【００２４】
次に、図２及び図３に示すフローチャートを参照して、図１に示す文章生成装置１の動作について説明する。図２及び図３は、文章生成装置１の処理を表している。
【００２５】
なお、本発明において、ジョーク文とは、冗談、笑い事、ユーモアなどの要素を含む文をいうものである。
【００２６】
本例の文章生成装置１においては、図４に示すイディオムデータベース７１と図５に示す単語データベース８１が、あらかじめ記憶部１８に記憶されており、ＣＰＵ１１によって、これらのデータベースに含まれる任意のデータが、適宜ＲＡＭ１３上に読み出される。
【００２７】
さらに、本例の文章生成装置１においては、ＣＰＵ１１によって、「リスト」がＲＡＭ１３上に適宜生成される。ここでいう「リスト」とは、１つの単語データが記録される「領域」の集合体である。即ち、ＣＰＵ１１は、任意の単語データ１つを、この「リスト」内の任意の「領域」に記録する。なお、以下では、この「記録」を特に「格納」と称する。「リスト」が有する「領域」の数は、各「リスト」毎に決定されている。即ち、全ての「領域」に単語データが既に格納されている「リスト」に、新たな単語データを格納する場合、ＣＰＵ１１は、所定の「領域」に格納されている単語データを消去し、この「領域」の上にその新たな単語データを上書きし、格納する。この「リスト」の任意の「領域」に格納されている単語データは、ＣＰＵ１１によって、ＲＡＭ１３上に適宜読み出される。
【００２８】
以下では、この「読み出される」を特に「取り出される」と称する。この場合、取り出された単語データが格納されていた「領域」は空となり、この空となった「領域」に新たな単語データを格納させることができる。各「リスト」についての詳細は、後述する。
【００２９】
さて、ジョーク文を生成する場合、ユーザは、ジョーク文の基となるイディオムを選択する。
【００３０】
イディオムとは、動詞を含む複数の語からなるフレーズのうち、固有の意味を有するフレーズのことをいう。この例においては、イディオムは、それぞれ固有のＩＤが付与されており、イディオムデータベース７１に記録されている。即ち、イディオムデータベース７１は、「ｉｄ」と「ｉｄｉｏｍ（イディオム）」の項目を有しており、ＩＤは「ｉｄ」の項目に、イディオムは「ｉｄｉｏｍ（イディオム）」の項目に対応づけられて記憶されている。
【００３１】
なお、この例のイディオムデータベース７１は、「ａｄｊｅｃｔｉｖｅ（形容詞）」の項目も有しているが、これについては後述する。
【００３２】
これにより、ユーザは、イディオムを選択する場合、所望のイディオムに対応するＩＤを選択すればよい。
【００３３】
いま、ユーザが、「ｔａｋｅ ａ ｂｏｗ」のイディオムを用いて、ジョーク文を生成するとする。
【００３４】
イディオムデータベース７１に示されるように、「ｔａｋｅ ａ ｂｏｗ」に対応するＩＤは「２」であるので、例えば、ユーザは、文章生成装置１の入力部１６を操作して、「ＩＤ＝２」と入力する。
【００３５】
ステップＳ４１において、ＣＰＵ１１は、入力されたＩＤに対応するイディオムのデータを、イディオムデータベース７１の「ｉｄｉｏｍ（イディオム）」の項目より読み出す。
【００３６】
この例においては、入力されたＩＤは「２」であるから、イディオムデータベース７１の「ｉｄ」項目の「２」に対応する「ｔａｋｅ ａ ｂｏｗ」のデータが読み出される。
【００３７】
ステップＳ４２において、ＣＰＵ１１は、「ＷＬＩＳＴリスト」を生成し、ステップＳ４１の処理で読み出されたイディオムのデータに含まれる全ての単語データを、「ＷＬＩＳＴリスト」に格納する。なお、「ＷＬＩＳＴリスト」に格納することができる単語データ数は、制限がないとされる。即ち、読み出されたイディオムに含まれる単語の数と同数の「領域」が生成され、この「領域」の集合体が「ＷＬＩＳＴリスト」とされる。
【００３８】
この例においては、「ＷＬＩＳＴリスト」に「ｔａｋｅ」と「ｂｏｗ」の２つの単語データが格納される。
【００３９】
ステップＳ４３において、ＣＰＵ１１は、「ＷＬＩＳＴリスト」内に単語データが存在するか否かを判定し、存在しないと判定した場合、即ち、「ＷＬＩＳＴリスト」が空であると判定した場合、文章生成装置１の処理を終了する。
【００４０】
ステップＳ４３において、ＣＰＵ１１は、「ＷＬＩＳＴリスト」内に単語データが存在するか否かを判定し、存在すると判定した場合、ステップＳ４４において、任意の１つの単語データを「ＷＬＩＳＴリスト」より取り出す。さらに、ＣＰＵ１１は、「Ｗリスト」を生成し、取り出された単語データを「Ｗリスト」に格納する。なお、「Ｗリスト」が有する「領域」は１つとされる。即ち、「Ｗリスト」に格納することができる単語データ数は、１つとされる。
【００４１】
ステップＳ４５において、ＣＰＵ１１は、「Ｗリスト」に格納されている単語データと同一又は類似した発音を持つ単語データを、単語データベース８１の「ｐｈｏｎｅｔｉｃ（発音記号）」の項目を基に、単語データベース８１の「ｗｏｒｄ（単語）」の項目より検索することで判定する。以下、「Ｗリスト」に格納されている単語データと同一又は類似した発音を持つ単語データを、類似音単語データと称する。
【００４２】
ステップＳ４５において、単語データベース８１内に類似音単語データが存在しないと判定された場合、ステップＳ４３に戻り、ＣＰＵ１１は、「ＷＬＩＳＴリスト」内に格納されている別の単語データを「Ｗリスト」に格納し、この単語データの類似音単語データを検索する。
【００４３】
ステップＳ４５において、単語データベース８１内に類似音単語データが存在すると判定された場合、ステップＳ４６において、ＣＰＵ１１は、単語データベース８１の「ｗｏｒｄ（単語）」の項目より、１つの類似音単語データを読み出す。
【００４４】
ステップＳ４７において、ＣＰＵ１１は、単語データベース８１の「ｐｏｓ（品詞）」の項目を基にして、「Ｗリスト」に格納されている単語データの品詞と、ステップＳ４６の処理で読み出された類似音単語データの品詞とが同一であるか否かを判定する。
【００４５】
ステップＳ４７において、「品詞が同一ではない」と判定された場合、ステップＳ４５に戻り、ＣＰＵ１１は、新たな類似音単語データを検索する。
【００４６】
ステップＳ４７において、「品詞が同一である」と判定された場合、ステップＳ４８において、ＣＰＵ１１は、「ＨＬＩＳＴリスト」を生成し、ステップＳ４６の処理で読み出された類似音単語データを「ＨＬＩＳＴリスト」に格納する。なお、「ＨＬＩＳＴリスト」に格納される単語データ数は、制限がないとされる。
【００４７】
ステップＳ４９において、ＣＰＵ１１は、単語データベース８１の「ｗｏｒｄ（単語）」の項目にさらに他の類似音単語データが存在するか否かを判定し、存在すると判定された場合、ステップＳ４６に戻り、ＣＰＵ１１は、「Ｗリスト」に格納されている単語データと同一品詞を持つ類似音単語データ全てを「ＨＬＩＳＴ」に格納する。
【００４８】
単語データベース８１の「ｗｏｒｄ（単語）」の項目に、類似音単語データが存在しなくなった場合（ステップＳ４９でＮＯと判定された場合）、ステップＳ５０に進む。
【００４９】
この例においては、まず、「ＷＬＩＳＴリスト」より「ｔａｋｅ」が取り出され、「ｔａｋｅ」が「Ｗリスト」に格納されたとする。単語データベース８１内に、「ｔａｋｅ」の発音記号「ｔｅｉｋ」と類似する発音記号を持つ単語が記録されていなかったとする。この場合、「ｔａｋｅ」の類似音単語データは存在しないと判定され、「ｔａｋｅ」に関する処理は終了され、「ＷＬＩＳＴリスト」内の他の単語データが１つ取り出される。この例においては、「ＷＬＩＳＴリスト」に残っている「ｂｏｗ」が取り出される。そして、「ｂｏｗ」の発音記号「ｂａｕ」と一致する発音記号を持つ単語「ｂｏｕｇｈ」のデータが、類似音単語データとして、単語データベース８１より読み出される。この例において、ＣＰＵ１１は、「ｂｏｗ」と完全に同一の発音記号を持つ単語データを類似音単語データとして検索したが、「ｂｏｗ」に対する発音の近さの類似度を演算し、演算した類似度が所定の範囲内に入る単語データを、類似音単語として検索してもよい。
【００５０】
そして、「ｂｏｗ」と「ｂｏｕｇｈ」の品詞がチェックされる。「ｂｏｗ」と「ｂｏｕｇｈ」の品詞は、どちらも「ｎｏｕｎ（名詞）」のため「品詞は同一である」と判定される。その結果、「ｂｏｕｇｈ」は、「ｂｏｗ」と同一品詞の類似音単語データとして、「ＨＬＩＳＴリスト」に格納される。なお、単語データベース８１には、他に類似音単語データが記録されていないため、「ＨＬＩＳＴリスト」に格納されるのは、「ｂｏｕｇｈ」のみとなる。
【００５１】
さて、図３のステップＳ５０において、ＣＰＵ１１は、「ＨＬＩＳＴリスト」内に類似音単語データが存在するか否かを判定し、存在しないと判定した場合、ステップＳ４３に戻り、「ＷＬＩＳＴリスト」内の別の単語データに対する類似音単語データを「ＨＬＩＳＴ」に格納する。
【００５２】
ステップＳ５０において、ＣＰＵ１１は、「ＨＬＩＳＴリスト」内に類似音単語データが存在するか否かを判定し、存在すると判定した場合、ステップＳ５１において、１つの類似音単語データを「ＨＬＩＳＴリスト」から取り出す。
【００５３】
ステップＳ５２において、ＣＰＵ１１は、「ＲＷリスト」を生成し、ステップＳ５１の処理で取り出された類似音単語データを「ＲＷリスト」に格納する。
【００５４】
なお、「ＲＷリスト」に格納することができる単語データ数は、１つとされる。
【００５５】
ステップＳ５３において、ＣＰＵ１１は、生成されるジョーク文の主語となる単語を、単語データベース８１の「ｗｏｒｄ（単語）」の項目より検索し、単語データベース８１内に主語候補となる単語データが存在するか否かを判定する。
【００５６】
ステップＳ５３において、単語データが存在しないと判定された場合、ステップＳ５０に戻り、ＣＰＵ１１は、「ＨＬＩＳＴリスト」から新たな類似音単語データを取り出す。
【００５７】
ステップＳ５３において、単語データが存在すると判定された場合、ステップＳ５４において、ＣＰＵ１１は、単語データベース８１の「ｗｏｒｄ（単語）」の項目より、主語候補となる単語データを１つ読み出す。そして、ＣＰＵ１１は、「Ｐリスト」を生成し、読み出された単語データを「Ｐリスト」に格納する。なお、「Ｐリスト」に格納することができる単語データ数は、１つとされる。以下、「Ｐリスト」に格納されている単語データを、主語単語データと称する。
【００５８】
ステップＳ５５において、単語データベース８１の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目を基に、ＣＰＵ１１は、「Ｐリスト」に格納されている主語単語データと、「ＲＷリスト」に格納されている類似音単語データとの間に意味的関係があるか否かを判定する。例えば、ＣＰＵ１１は、「Ｐリスト」に格納されている主語単語データに対応する単語データベース８１の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目と、「ＲＷリスト」に格納されている類似単語データに対応する単語データベース８１の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目とを比較し、両項目に共通な単語データが存在した場合、「意味的関係がある」と判定する。
【００５９】
ステップＳ５５において、主語単語データと類似音単語データとの間に意味的関係がないと判定された場合、ステップＳ５３に戻り、ＣＰＵ１１は、単語データベース８１の「ｗｏｒｄ（単語）」の項目より、主語候補となる別の単語データを検索する。
【００６０】
ステップＳ５５において、主語単語データと類似音単語データとの間に意味的関係があると判定された場合、ステップＳ５６に進む。
【００６１】
この例においては、上述したように、「ＨＬＩＳＴリスト」に「ｂｏｕｇｈ」だけが格納されている。このため、この「ｂｏｕｇｈ」が取り出され、類似音データとして「ＲＷリスト」に格納される。また、単語データベース８１より、主語候補として、「ｃｈｅｆ」が読み出され、「Ｐリスト」に格納されたとする。即ち「ｃｈｅｆ」が主語単語データとなる。
【００６２】
次に、類似音単語データ「ｂｏｕｇｈ」と主語単語データ「ｃｈｅｆ」との間に意味的関係があるか否かが判定される。即ち、単語データベース８１の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目の中に、両者共通の単語データが存在するか否かが判定される。単語データベース８１に示されるように、「ｂｏｕｇｈ」の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目と「ｃｈｅｆ」の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目に共通な単語データは存在しない。即ち、「ｂｏｕｇｈ」と「ｃｈｅｆ」との間に意味的関係はないと判定される。
【００６３】
そこで、別の主語候補が選択され、同様に「ｂｏｕｇｈ」と意味的関係があるか否かが判定される。ここでは、次に主語候補として「ｌｕｍｂｅｒｊａｃｋ」が選択され、「Ｐリスト」に格納されたとする。即ち、「ｌｕｍｂｅｒｊａｃｋ」が主語単語データとなる。この場合、単語データベース８１に示されるように、「ｂｏｕｇｈ」の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目と「ｌｕｍｂｅｒｊａｃｋ」の「ｒｅｌａｔｉｎｇ ｗｏｒｄｓ（単語の意味）」の項目に共通の単語データ「ｗｏｏｄ」が存在する。その結果、「ｂｏｕｇｈ」と「ｌｕｍｂｅｒｊａｃｋ」との間に意味的関係があると判定される。そこで、「Ｐリスト」に格納されている「ｌｕｍｂｅｒｊａｃｋ」を主語単語データとして、「ＲＷリスト」に格納されている「ｂｏｕｇｈ」を類似単語データとして、以下の処理により、ジョーク文が生成される。
【００６４】
即ち、ステップＳ５６において、ＣＰＵ１１は、ステップＳ４１の処理で入力されたＩＤに対応するイディオムデータベース７１の「ａｄｊｅｃｔｉｖｅ（形容詞）」の項目より、単語データを任意に１つ読み出す。そして、ＣＰＵ１１は、「ＡＤＪリスト」を生成し、この読み出された単語を、「ＡＤＪリスト」に格納する。以下、「ＡＤＪリスト」に格納されている単語データを形容詞単語データと称する。また、「ＡＤＪリスト」に格納することができる単語データ数は、１つとされる。
【００６５】
「ａｄｊｅｃｔｉｖｅ（形容詞）」の項目には、同じＩＤに対応するイディオムに使用可能な形容詞の単語データが記録されている。即ち、この形容詞の単語データを、ジョーク文に用いることで、以下生成されるジョーク文のジョークの意味を強めるという効果がある。
【００６６】
この例のＩＤは、「２」であるので、形容詞の候補は、イディオムデータベース７１の「ａｄｊｅｃｔｉｖｅ（形容詞）」の項目に示されるように、「ｐｅｒｆｏｒｍｉｎｇ」、又は「ｅｎｔｅｒｔａｉｎｉｎｇ」である。ここでは、「ｐｅｒｆｏｒｍｉｎｇ」が選択され、「ＡＤＪリスト」に形容詞単語データとして格納されたとする。
【００６７】
次に、ステップＳ５７において、ＣＰＵ１１は、「ＡＤＪリスト」に格納されている形容詞単語データ、「ＲＷリスト」に格納されている類似音単語データ、「Ｐリスト」に格納されている主語単語データ及び選択されたＩＤに対応するイディオムのデータを使用して、第１のジョーク文のデータ及び第２のジョーク文のデータを生成する。なお、後述するように、この第１のジョーク文と第２のジョーク文が１組となって、二重の意味を持つジョーク文が構成される。
【００６８】
例えば、以下のような処理が行われ、第１のジョーク文のデータ及び第２のジョーク文のデータが生成される。
【００６９】
即ち、ＣＰＵ１１は、「ＩＤＩＯＭリスト」と「ＩＤＩＯＭ’リスト」を生成する。
【００７０】
そして、ＣＰＵ１１は、ステップＳ４１の処理で選択されたＩＤに対応するイディオムのデータを、イディオムデータベース７１の「ｉｄｉｏｍ（イディオム）」の項目から読み出し、このイディオムのデータを「ＩＤＩＯＭリスト」に格納する。
【００７１】
ＣＰＵ１１は、この読み出されたイディオムを構成する単語データの中で、「Ｗリスト」に格納されている単語データと同一の単語データを、「ＲＷリスト」に格納されている類似音単語データに置き換え、新たなイディオムのデータを生成し、この生成されたイディオムのデータを「ＩＤＩＯＭ’リスト」に格納する。
【００７２】
そして、ＣＰＵ１１は、「第１のジョーク文リスト」を生成し、「ＡＤＪリスト」→「Ｐリスト」→「ＩＤＩＯＭリスト」の順番に各「リスト」から単語データを取り出し、取り出された順に単語データを並べて１つの文のデータを生成し、この生成された文のデータを「第１のジョーク文リスト」に格納する。即ち、「第１のジョーク文リスト」は、「ＡＤＪリスト」＋「Ｐリスト」＋「ＩＤＩＯＭリスト」から構成される。以下、「第１のジョーク文リスト」に格納されている文のデータを、第１のジョーク文のデータと称する。
【００７３】
また、「第１のジョーク文リスト」と同様に、ＣＰＵ１１は、「第２のジョーク文リスト」を生成し、「ＡＤＪリスト」→「Ｐリスト」→「ＩＤＩＯＭ’リスト」の順番に各「リスト」から単語データを取り出し、取り出された順に単語データを並べて１つの文のデータを生成し、「第２のジョーク文リスト」に格納していく。即ち「第２のジョーク文リスト」は、「ＡＤＪリスト」＋「Ｐリスト」＋「ＩＤＩＯＭ’リスト」から構成される。以下、「第２のジョーク文リスト」に格納されている文のデータを、第２のジョーク文のデータと称する。
【００７４】
この例においては、「第１のジョーク文リスト」、「第２のジョーク文リスト」に格納される文のデータ（単語データの集合）は、下記のようになる。
【００７５】
第１のジョーク文のデータ：ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅ ａ ｂｏｗ
第２のジョーク文のデータ：ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅ ａ ｂｏｕｇｈ
なお、「ＩＤＩＯＭリスト」、「ＩＤＩＯＭ’リスト」、「第１のジョーク文リスト」及び「第２のジョーク文リスト」に格納することができる単語データ数は、制限がないとされる。
【００７６】
次に、ステップＳ５８において、ＣＰＵ１１は、文の表層を整える。例えば、ＣＰＵ１１は、ステップＳ５７の処理で「第１のジョーク文リスト」に格納した第１のジョーク文のデータと、ステップＳ５７の処理で「第２のジョーク文リスト」に格納した第２のジョーク文のデータを取り出し、取り出された第１のジョーク文のデータと第２のジョーク文のデータに対して、下記の「表層規則」を適用し、データを加工する。そして、ＣＰＵ１１は、加工された第１のジョーク文のデータを「第１のジョーク文リスト」に格納し、加工された第２のジョーク文のデータを「第２のジョーク文リスト」に格納する。
【００７７】
表層規則：（１）文の始まりは大文字である
（２）可算名詞の先頭には”ａ”をつける
（３）動詞が三人称単数現在の場合はｓを付与する
この例においては、第１のジョーク文のデータと第２のジョーク文のデータは、下記のように、加工される。
【００７８】
第１のジョーク文のデータ：Ａ ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅｓ ａ ｂｏｗ．
第２のジョーク文のデータ：Ａ ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅｓ ａ ｂｏｕｇｈ．
ステップＳ５９において、ＣＰＵ１１は、「第１のジョーク文リスト」と「第２のジョーク文リスト」を、記憶部１８に記録する。
【００７９】
ステップＳ５９の処理の後、図２のステップＳ４３に戻り、ＣＰＵ１１は、選択されたＩＤに対応するイディオムを基にした他のジョーク文を生成する。これは、上述したように、「ＷＬＩＳＴリスト」に単語データが存在しなくなるまで続けられる。
【００８０】
上述したように、文章生成装置１は、二重の意味を持つジョーク文を生成することができる。言い換えると、文章生成装置１により、相互に意味関係のある第１のジョーク文と第２のジョーク文が生成される。
【００８１】
この例においては、ジョーク文を生成する上で、選択された基のイディオムは、「ｔａｋｅ ａ ｂｏｗ」である。このイディオムは、「舞台役者等が最後にお辞儀をする。」という意味である。
【００８２】
そこで、文章生成装置１は、「ｂｏｗ」の代わりに「ｂｏｕｇｈ（木の枝）」を選択し、これに伴い、主語として「ｌｕｍｂｅｒｊａｃｋ」を選択し、下記のような意味を持つ第１のジョーク文と第２のジョーク文を生成する。
【００８３】
第１のジョーク文：Ａ ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅｓ ａ ｂｏｗ．
第１のジョーク文の意味：人を楽しませる木こりが舞台でお辞儀をする。
【００８４】
第２のジョーク文：Ａ ｐｅｒｆｏｒｍｉｎｇ ｌｕｍｂｅｒｊａｃｋ ｔａｋｅｓ ａ ｂｏｕｇｈ．
第２のジョーク文の意味：人を楽しませる木こりが木を取る（切り取る）。
【００８５】
つまり、第１のジョーク文が音読された場合、聞く側においては、「ｔａｋｅ ａ ｂｏｗ」と「ｔａｋｅ ａ ｂｏｕｇｈ」は同じ発音であるため、第１のジョーク文の意味のみならず、第２のジョーク文の意味を読み取ることができる。即ち、聞く側は、二重の意味を読み取ることができ、この二重の意味にユーモアを感じることができる。
【００８６】
さらに、第１のジョーク文単体でもユーモアを感じることができる。即ち、仮に主語として、「ａｃｔｏｒ（役者）」が選択された場合、Ａ ｐｅｒｆｏｒｍｉｎｇ ａｃｔｏｒ ｔａｋｅｓ ａ ｂｏｗ．という第１のジョーク文が生成されるが、この生成された第１のジョーク文では、普通の意味を持つ文であり、ユーモアを感じることができない。
【００８７】
一方、上述したように、文章生成装置１により選択された主語は、「ｌｕｍｂｅｒｊａｃｋ（木こり）」であり、生成された第１のジョーク文の意味は、「人を楽しませる木こりが舞台でお辞儀をする。」である。即ち、主語を「役者」ではなく「木こり」とすることで、第１のジョーク文をユーモアが感じられる文とすることができる。
【００８８】
また、「ｐｅｒｆｏｒｍｉｎｇ」という形容詞は、基のイディオムである「ｔａｋｅ ａ ｂｏｗ」を連想しやすくする効果があり、ジョークの意味がさらに強められている。
【００８９】
なお、ジョークを強めるための形容詞の選択方法も限定されない。例えば、ＣＰＵ１１は、認知心理学の知見から得られた単語のイメージのしやすさを示す数値などを利用して、形容詞を選択してもよい。
【００９０】
上述したように、この例の文章生成装置１は、イディオムデータベース７１と単語データベース８１を実装しているが、実装されるデータベースは限定されない。
【００９１】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、又は、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【００９２】
この記録媒体は、図１に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３１（フロッピディスクを含む）、光ディスク３２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ Ｄｉｓｋ−Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｋ）を含む）、光磁気ディスク３３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、若しくは半導体メモリ３４などよりなるパッケージメディアにより構成されるだけでなく、装置本体にあらかじめ組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ１２や、記憶部１８に含まれるハードディスクなどで構成される。
【００９３】
なお、本発明において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９４】
また、本発明は、上述したように定義したジョーク文に限られず、あるイディオムから選択された１つの単語に関して、主語を共通とする異なる意味の２つの文章を生成するような文章生成装置及び装置の方に適用できるものである。
【００９５】
即ち、本発明においては、主語の選定方法として、第１の単語と第２の単語の両方若しくは一方との意味的関係を検討してもよい。
【００９６】
【発明の効果】
上述したように、本発明は、所定の第１のイディオムを構成する単語のうち、所定の第１の単語が、第１の単語と同一又は類似の発音を有し、且つ同一品詞である第２の単語に置き換えられた第２のイディオムを生成する。そして、第２の単語と意味的関係があると判定される第３の単語を主語として、第３の単語及び第１のイディオムから構成される第１の文を生成し、第３の単語及び第２のイディオムから構成される第２の文を生成するようにしたので、二重の意味を持つジョーク文を生成することができる。
【図面の簡単な説明】
【図１】  本発明を適用した文章生成装置の構成例を示すブロック図である。
【図２】  本発明を適用した文章生成装置の処理を説明するフローチャートである。
【図３】  本発明を適用した文章生成装置の処理を説明するフローチャートである。
【図４】  本発明を適用した文章生成装置に記録されているイディオムデータベースの例を示す図である。
【図５】  本発明を適用した文章生成装置に記録されている単語データベースの例を示す図である。
【図１】
0003996125.tif 000002
【図２】
0003996125.tif 000003
【図３】
0003996125.tif 000004
【図４】
0003996125.tif 000005
【図５】
0003996125.tif 000006