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