JP4523312B2 - テキスト音声出力のための装置、方法、及びプログラム - Google Patents

テキスト音声出力のための装置、方法、及びプログラム Download PDF

Info

Publication number
JP4523312B2
JP4523312B2 JP2004101479A JP2004101479A JP4523312B2 JP 4523312 B2 JP4523312 B2 JP 4523312B2 JP 2004101479 A JP2004101479 A JP 2004101479A JP 2004101479 A JP2004101479 A JP 2004101479A JP 4523312 B2 JP4523312 B2 JP 4523312B2
Authority
JP
Japan
Prior art keywords
emoticon
meaning
character
reading
strength
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004101479A
Other languages
English (en)
Other versions
JP2005284192A (ja
Inventor
正文 矢倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004101479A priority Critical patent/JP4523312B2/ja
Publication of JP2005284192A publication Critical patent/JP2005284192A/ja
Application granted granted Critical
Publication of JP4523312B2 publication Critical patent/JP4523312B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Description

本発明は、電子メール等のテキストデータから音声を出力するテキスト音声出力のための装置、方法、及びプログラムに関する。
近年、インターネットが急速に普及したことによって電子メールや電子掲示板、チャット等の様々なコミュニケーション手段が用いられるようになってきている。
電子メール等に使用されるテキスト文章には、通常の文章を表すための文字列の他に、様々な文字列を組み合わせることによって人の感情等を表す顔文字も頻繁に使用され、文章を書いた人の意図を読み手に理解してもらう1つの手段に用いられている。
また、従来からある技術を用いて、電子メール等のテキスト文章を音声に出力するサービス等も提供され始めている。例えば、電子メール等のテキスト文章から顔文字を認識し、文章中の顔文字部分をその顔文字が表現する文字列に変換して音声出力するものである。
特許文献1には、あらかじめ用意された絵文字と絵文字に対応する読み(文字列)の表にしたがって、文章中の絵文字を文字列に置き換え、さらに合成音声に変換する方法について開示されている。また、特許文献2には、顔文字に使用される特徴記号を抽出し、その出現回数に応じて顔文字に読みを付与する方法について開示されている。
特開平11−305987号公報 特開2002−268665号公報
しかし、顔文字は不特定多数の人によって自由に作成されるので、単語と異なり確定した語彙集等はなく、また常に新しいものが作成されるので、顔文字とその読みとの関係をあらかじめ知ることが難しい。
そのため、テキスト文章に含まれる顔文字を認識することが難しく、また、顔文字が表現する意味を適切な文字列に変換することが難しいという問題があった。
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、様々な文字の組み合わせパターンからなる顔文字の含まれる文章から顔文字を認識することを可能とし、顔文字が表現する意味を適切な言葉に置き換えることが可能なテキスト音声出力のための装置、方法、及びプログラムを提供することである。
請求項1に記載の発明は、文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムであって、前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、該顔文字抽出ステップで抽出された顔文字に対応する読みを導出する読み導出ステップと、前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、を有することを特徴とするテキスト音声出力プログラムである。
請求項1に記載の発明によると、前記顔文字部品辞書を参照して、前記顔文字を構成する部品文字に対応する位置を判別することによって、様々な部品文字によって表されている顔文字輪郭を特定することが可能となる効果を奏する。
請求項2に記載の発明は、文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムであって、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、を有することを特徴とするテキスト音声出力プログラムである。
請求項2に記載の発明によると、前記顔部品意味辞書に基づいて判別された部品文字が表す意味から、顔文字意味決定辞書に基づいて総合的に顔文字が表す意味を判別することによって、様々な部品文字によって構成された顔文字に対する適切な表現を判別することが可能となる。
さらに、前記顔文字意味決定辞書に基づいて判別された顔文字の意味と、前記顔部品強度辞書に基づいて判別された前記部品文字が表す意味の強度とから、前記顔文字の表すより適切な感情を判別することが可能となる。
請求項3に記載の発明は、前記顔文字部品辞書は、少なくとも前記顔文字の目を表す部品文字を有し、前記顔文字抽出ステップでは前記目を表す部品文字に基づいて顔文字の輪郭を特定することを特徴とする請求項1に記載のテキスト音声出力プログラムである。
請求項3に記載の発明によると、前記顔文字部品辞書における前記部品文字には、顔文字を構成する目の部分を表す文字を使用することによって、請求項1に記載の発明と同様の効果を奏する。
請求項4に記載の発明は、文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるための方法であって、前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、該顔文字抽出ステップで抽出された顔文字に対応する読みを導出する読み導出ステップと、前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、を有することを特徴とするテキスト音声出力方法である。
請求項5に記載の発明は、文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるための方法であって、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて、前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、を有することを特徴とするテキスト音声出力方法である。

以上に記載した請求項4に記載の発明によっても請求項1と同様に、前記顔文字部品辞書を参照して、前記顔文字を構成する部品文字に対応する位置を判別することによって、様々な部品文字によって表されている顔文字輪郭を特定することが可能となる効果を奏する。また、請求項5に記載の発明によると請求項2に記載の発明と同様に、前記顔部品意味辞書に基づいて判別された部品文字が表す意味から、顔文字意味決定辞書に基づいて総合的に顔文字が表す意味を判別することによって、様々な部品文字によって構成された顔文字に対する適切な表現を判別することが可能となり、さらに、前記顔文字意味決定辞書に基づいて判別された顔文字の意味と、前記顔部品強度辞書に基づいて判別された前記部品文字が表す意味の強度とから、前記顔文字の表すより適切な感情を判別することが可能となる効果を奏する。
以上のように、本発明によると、様々な文字の組み合わせパターンからなる顔文字の含まれる文章から顔文字を認識することを可能とし、顔文字が表現する意味を適切な言葉に置き換えることが可能なテキスト音声出力のための装置、方法、及びプログラムを提供することが可能となる。
以下、本発明の実施形態について図1から図12に基づいて説明する。
図1は、本実施例に係る情報処理装置の構成例を示す図である。
同図は、周辺機器や各種ソフトウェアを実行する他に本実施例に係るテキスト音声出力を実現するためのプログラムを実行するCPU1と、プログラムを実行するために使用される揮発性のメモリ2(例えばRAM)と、外部からのデータ入力手段である入力装置3(例えばキーボードやマウス)と、データ等を表示するための出力装置4と、情報処理装置が動作するために必要なプログラムやデータの他に本実施例に係るプログラムを記録するための外部記録装置5と、メモリ2や外部記録装置5のデータを可搬記録媒体7(例えばフロッピイディスクやMOディスク、CD−RやDVD−Rなど)に出力したり可搬記録媒体7からプログラムやデータ等を読み出すための媒体駆動装置6と、ネットワーク9に接続するためのネットワーク接続装置8とを有し、これらの装置がバス10に接続されて相互にデータの受け渡しが行える構成となっている。
図2は、本実施例に係るテキスト音声出力装置の構成例を示す図である。
同図(a)に示すテキスト音声出力装置は、入力されたテキストデータについて顔文字の読みを導出する顔文字読み導出部11と、顔文字読み導出部11から出力されたデータに基づいて音声を合成して出力する音声合成部12とから成る。
ここで、音声合成部12におけるテキストデータを音声に変換する処理は、一般的に知られた手法によって行なうことができる。例えば、「ディジタル音声処理(古井貞煕著、東海大学出版会、1985)等に開示されている手法によって実現可能である。
同図(b)は、同図(a)に示した顔文字読み導出部11のより詳細な構成例を示している。
同図(b)に示す顔文字読み導出部11は、入力されたテキストデータから顔文字を抽出する顔文字抽出部13と、顔文字抽出部13によって抽出された顔文字に基づく意味(感情等)、及びその強度(強弱)について判定する顔文字意味/強度判定部14と、顔文字意味/強度判定部14の判定結果に基づいてその顔文字の読みを導出する読み導出部15と、入力されたテキストデータの顔文字部を、その顔文字に応じた読みに置換してテキストデータを出力する読み置換部16とを少なくとも有する。
顔文字抽出部13は、顔文字部品表17に基づいて入力されたテキストデータの顔文字を特定し、特定した顔文字の文字列(顔文字列)を抽出する。顔文字列が抽出されると、顔文字意味/強度判定部14は、顔部品意味表、口文字強度表、顔文字意味決定表18に基づいて、抽出された顔文字列の意味(感情等)、及びその強度(強弱)について判定を行なう。
すなわち、顔部品意味表に基づいて顔文字が表す意味(感情等)を特定し、口文字強度表に基づいて顔文字が表す意味の強度(強弱)を特定し、顔部品意味表に基づく判定結果と口文字強度表に基づく判定結果とから顔文字意味決定表に基づいて顔文字の意味及び強度を総合的に判断する。
読み導出部15は、顔文字が表す意味及び強度に応じた読みを、読み上げ表19に基づいて決定する。そして、読み置換部16において、入力されたテキストデータの顔文字部は、その顔文字に応じた読み(文字列)に置換されて音声合成部12に出力されることとなる。
以上の説明において、同図(a)に示した顔文字読み導出部11及び音声合成部12は、図1に示した情報処理装置によって実現可能であるが、1つの情報処理装置上に構成されるものに限定されない。すなわち、顔文字読み導出部11と音声合成部12とはネットワーク等を介して接続される構成であってもよい。同様に、同図(b)に示した顔文字抽出部13、顔文字意味/強度判定部14、読み導出部15、及び読み置換部16においても図1に示した1つの情報処理装置上に構成されるものに限定されない。顔文字抽出部13と顔文字意味/強度判定部14と読み導出部15と読み置換部16とが互いにネットワーク等の通信回線で接続された構成(例えばクライアント・サーバモデル等)によっても実現可能である。
本実施例に係るテキスト音声出力装置の各部の処理を説明する前に、テキストデータが入力されてから音声として出力されるまでのデータの流れについて簡単に説明する。
図3は、本実施例に係るテキスト音声変換装置とデータの流れを示す図である。
テキスト入力部20に入力されるテキストデータは、電子メール等に記載されている文章である。この文章中には用件等を伝達するために使用している通常の文書(文字列)と、様々な文字列の組み合わせからなる顔文字と含まれている。このテキストデータは、テキスト入力部20に入力されると顔文字を抽出する処理を行なう顔文字抽出部13と、顔文字を読みに置換する処理を行なう読み置換部16とに送られる。
顔文字抽出部13に入力されたテキストデータからは、顔文字についての情報(後述の個別顔文字バッファ21及び結合顔文字バッファ22)が作成され、顔文字意味/強度判定部14に送られる。顔文字意味/強度判定部14では、顔文字情報に応じた意味(感情等)とその強度(強弱)が判定され、判定結果が顔文字情報に付加されて読み導出部15に送られる。さらに、読み導出部15に入力された顔文字情報は、顔文字意味/強度判定部14で判定された情報を元に読みが導出され、その導出された結果が付加される。
読み置換部16において、テキスト入力部20に入力されたテキストデータに含まれる顔文字は、読み導出部15から出力された顔文字情報に基づいて読みに変換されて音声合成部12に出力されることとなる。
図4は、本実施例に係る顔文字抽出部13、顔文字意味/強度判定部14、及び読み導出部15において使用する表の一例を示している。
同図(a)は、顔文字部品表の一例を示している。顔文字抽出部13においてテキストデータから顔文字を抽出するために使用される。同図は、顔文字に使用される「左目」、「右目」、「顔の左側」、「顔の右側」、「顔の両側」の各部品に対応する文字を表にしたものである。例えば、同表にある「^」が顔文字を構成する文字列にある場合には、「左目」又は「右目」の部品と判断する。同様に「(」が顔文字を構成する文字列にある場合には、「顔の左側」の部品と判断する。
同図(b)は、顔部品意味表の一例を示している。顔文字意味/強度判定部14において顔文字抽出部13から抽出された顔文字から顔文字の意味(感情等)を判断するために使用される。同図は、「喜び目」、「喜び口」、「怒り目」、「怒り口」、「悲しみ目」を表す文字を表にしたものである。例えば、同表にある「^」が顔文字を構成する文字列に含まれている場合には、その顔文字は喜びの意味(感情等)を表していると判断する。同様に、「;」が顔文字を構成する文字列に含まれている場合には、その顔文字は悲しみの意味(感情等)を表していると判断する。
同図(c)は、口文字強度表の一例を示している。顔文字意味/強度判定部14において顔文字抽出部13から抽出された顔文字から顔文字の意味(感情等)の強度(強弱)を判断するために使用される。顔文字の意味の強度を「大」、「中」、「小」の3段階に分け、各意味の強度を表す口文字を表にしたものである。例えば、同表にある「O」は大きな口を表しているので意味の強度が「大」であると判断する。また、同様に、「.」は閉じている口を表しているので意味の強度が「小」であると判断する。
同図(d)は、顔文字意味決定表の一例を示している。顔文字意味/強度判定部14において、同図(b)の判断結果から顔文字の意味(感情等)を決定するために使用される。同図は、顔文字を構成する「目」及び「口」の文字が表す感情と、それに対応する「意味」とを表にしたものである。例えば、顔文字「^▽^」は、同図(b)から「喜び口」を表す文字と、「喜び目」を表す文字列とから構成されていることがわかるので、この顔文字の意味は「喜び」と判断する。また、顔文字「`▽´」は、同図(b)から「怒り目」を表す文字と、「喜び口」を表す文字とで構成されているが、この場合には口文字が表す意味を優先させて顔文字の意味は「喜び」と判断する。
ここで、同図(d)に示した顔文字意味決定表はあらかじめ作成したものを使用してもよいし、顔部品の意味に対して重み付けをするなどして数値的に意味を決定するようにしても良い。例えば、顔文字「`▽´」の場合では、同図(b)から「怒り目」を表す文字の場合は3、「喜び口」を表す文字の場合は5とすると「喜び口」の方が重みが大なので、口文字が表す意味を優先させて顔文字の意味は「喜び」と判断するようにしてもよい。
同図(e)は、読み上げ表の一例を示している。読み導出部15において、同図(c)及び同図(d)の結果から顔文字に対応する読みを決定するために使用される。同表は、同図(c)の判断結果である顔文字の意味の「強度」と、同図(d)の判定結果である「意味」と、によって決まる「読み」を表にしたものである。例えば、顔文字「^▽^」の場合には、同図(c)から意味の強度が「大」と判断され、同図(d)から意味が「喜び」と判断されるので、読みは「わーい」となる。
なお、図4(a)から(e)に示した表の要素(例えば同図(a)における「左目」に対応する文字)は、説明を簡単にするために要素数を小さくしたものであって同図に示した要素に限定されない。また、同図(c)及び(e)に示した本実施例に係る強度は3段階としたが、これに限定されない。例えば、5段階であってもよい。さらに、同図(d)に示した意味(例えば、平静や喜び、怒り等)についても同図に示した言葉に限定するものではなく、必要に応じて適切な意味を与えればよい。同図(e)の意味に対応する読み(例えば、意味が喜び、強度が大の場合の読み「わーい」等)についても、同図に示した表現に限定されるものではなく、必要に応じて適切な表現を与えればよい。
図5は、図2に示した本実施例に係る顔文字読み導出部11における処理についての概要を示すフローチャートである。
顔文字読み導出部11にテキストデータが入力されて顔文字読み導出処理が開始されると(ステップS501)、CPUは顔文字抽出部13においてテキストデータに含まれる各顔文字を顔文字部品表に基づいて抽出し、例えばメモリ2上に領域を確保された個別顔文字バッファ21(図6(a)を参照)に所定の情報とともに格納する。
テキストデータに含まれる顔文字が全て抽出されると、ステップS503において、CPUは個別顔文字バッファ21に格納されている顔文字のうちテキストデータ内では連続して記載されていた顔文字を判別して結合し、所定の情報と共にメモリ2に領域が確保されている結合顔文字バッファ22(図6(b)を参照)に格納する。
顔文字意味/強度判定部14において、CPUは個別顔文字バッファ21に格納されている顔文字について、顔部品意味表、口文字強度表、及び顔文字意味決定表に基づいて意味及び強度を決定し、その結果を個別顔文字バッファ21に追加する(ステップS504)。
読み導出部15において、CPUは個別顔文字バッファ21を参照して各顔文字の意味及び強度を読出し、読み上げ表に基づいて読みを決定し、その結果を個別顔文字バッファ21に格納する(ステップS505)。
読み置換部16において、CPUは個別顔文字バッファ21から各顔文字に応じた読みを読み出してテキストデータの顔文字部分と置き換えて出力テキストを作成する(ステップS507)。
図6は、本実施例に係る顔文字読み導出部11における顔文字読み導出処理で使用する個別顔文字バッファ及び結合顔文字バッファの構成例を示す図である。
同図(a)は、個別顔文字バッファ21の構成例を示す図である。同図に示す個別顔文字バッファ21は、テキストデータに含まれる顔文字に付す顔文字番号と、顔文字を構成する顔文字列と、顔文字がテキストデータの何文字目から記載されているかを示す開始文字位置と、顔文字がテキストデータの何文字目で終了するかを示す終了文字位置と、顔文字の意味と、顔文字の強度と、顔文字に応じた読みとによって構成されている。
同図(b)は、結合顔文字バッファ22の構成例を示す図である。同図に示す結合顔文字バッファ22は、テキストデータに含まれる顔文字番号と、個別顔文字バッファ21に格納されている顔文字を結合して作成した結合顔文字と、結合顔文字が個別顔文字バッファ21における顔文字の何番目から結合を開始したものかを示す開始顔文字番号と、結合顔文字が個別顔文字バッファ21における顔文字の何番目までを結合したものかを示す終了顔文字番号と、結合顔文字の読みとによって構成されている。
顔文字抽出部13における処理は、(1)顔文字の両目の位置を特定する両目位置特定処理と、(2)顔文字領域の境界を特定する境界特定処理と、(3)個別の顔文字を特定した後に隣接した顔文字を結合する結合処理との3つの処理で構成される。
上記(1)から(3)の処理をそれぞれ図7から図9のフローチャートに示し、各図に基づいて顔文字抽出部13での処理について説明する。
図7は、本実施例に係る顔文字抽出部13での顔文字導出処理において、両目位置特定処理を示すフローチャートである。
顔文字抽出部13にテキストデータが入力されると、CPUは両目位置特定処理を開始し(ステップS701)、本実施例に係る処理に必要な変数(例えば走査ポインタ用の変数p、右又は左目候補文字用の変数Eye、非記号カウント用の変数notSignCntなど)のための領域をメモリ2上に確保する。
両目位置特定処理が開始されると、CPUは入力されたテキストデータの左端(テキストデータが格納されているメモリの先頭アドレス)に走査ポインタpをセットする(ステップS702)。
次に、CPUは右目又は左目の候補文字を格納するEyeをnull文字で初期化し(ステップS703)、さらに非記号をカウントするための変数notSignCntを数値0で初期化する(ステップS704)。
ステップS702からS704での初期化処理が終了すると、CPUは走査ポインタpがテキストデータの末尾であるかをチェックし(ステップS705)、走査ポインタpがテキストデータの末尾である場合には処理を終了する(ステップS706)。
ステップS705において、CPUが走査ポインタpはテキストデータの末尾でないと判断すると、ステップS707に処理を移行し、走査ポインタpの示す文字が右目を表す文字であるかを判別する処理を行なう。
ステップS707において、CPUは、メモリ2上にあらかじめ展開された、図4(a)に示した顔文字部品表の「右目」に対応する文字について順次参照して変数Eyeにコピーし、走査ポインタpが示す文字と比較する処理を行なう。走査ポインタpの示す文字が、顔文字部品表の「右目」に対応する文字と一致しない場合には、ステップS708に処理を移行して走査ポインタpをインクリメントし、走査ポインタpが示す文字列の次の文字列が格納されているアドレスを指し示すようにする。
以上に説明したステップS705からステップS708を繰り返すことによってテキストデータに含まれた顔文字を構成する右目の文字を特定する。
ステップS707において、テキストデータに含まれた顔文字を構成する右目の文字が特定されると、CPUは現在の走査ポインタpを一時記憶用の変数psにコピーし(ステップS709)、右又は左目候補文字用変数Eyeをnull文字によって再度初期化し、走査ポインタpをインクリメントして次の文字が格納されているアドレスを指し示すようにする(ステップS711)。
ステップS711の処理を行なった後に、CPUは走査ポインタpがテキストデータの末尾を示しているかをチェックする(ステップS712)。走査ポインタpがテキストデータの末尾を示している場合には処理を終了する(ステップS713)。
ステップS712において、走査ポインタpがテキストデータの末尾を示していない場合には処理が続行され、CPUはステップS714に処理を移行する。そして、図4(a)に示した顔文字部品表の「左目」に対応する文字について順次参照して変数Eyeにコピーし、走査ポインタpが示すアドレスに格納されている文字と比較する処理を行なう。ここで、走査ポインタpが示す文字が左目である場合には、CPUはステップS715に処理を移行し、現在の走査ポインタpを一時記憶用変数peにコピーする。
以上の処理によって、顔文字の両目の位置が特定され、各目の位置は各一時記憶用変数ps及び変数peに格納されたことになる。CPUは、S716に処理を移行し、顔文字の境界を特定する処理(図8を参照)を行なうこととなる。
ステップS714において、走査ポインタpが示す文字が左目でない場合には、CPUはステップS717に処理を移行し、走査ポインタpが示す文字と記号とを比較する。ここで、記号とは、顔文字を構成するために必要な文字であって、一部のかな、カタカナ、漢字、例えばかな文字の「へ」などは除いた、かな、カタカナ、漢字等以外の記号を表す文字のことである。例えば、顔文字に使用される「(」や「^」などである。したがって、図4(a)から(c)に示した表に使用されている文字と走査ポインタpとを順次比較し、一致するものがなければ走査ポインタpが示す文字は記号でないと判断することができる。あるいは、記号用のデータを別途用意しておいて順次走査ポインタpが示す文字と比較してもよい。
ステップS717において、CPUは走査ポインタpが示す文字が記号であると判断するとステップS711に処理を移行する。そして、以上に説明したステップS711からステップS717を繰り返すことによって顔文字の左目を特定する。
さらに、ステップS717において、CPUは走査ポインタpが示す文字が記号でないと判断すると、ステップS718に処理を移行して非記号をカウントするための変数notSignCntをインクリメントする処理を行ない、変数notSignCntがL以上かを判別する(ステップS719)。
ここで、上述のLは、顔文字を構成する両目の間に存在可能な記号以外の文字数を示している。したがって、CPUは変数notSignCntがL以上である場合には、変数psが示す位置の文字は右目ではないと判断して、処理をステップS720に移行する。ステップS720において、CPUは変数psが示す位置の次の文字のアドレスを走査ポインタpに代入し、処理をステップS703に移行する。したがって、CPUは再度顔文字の右目を特定する処理から開始することとなる。
ステップS719において、変数notSignCntがL以上でない場合には、CPUは処理をステップS711に移行し、以上に説明したステップS711からステップS717を繰り返すことによって顔文字の左目を特定する。
以上に説明した図4(a)には、連想記憶配列(ハッシュ)を使用してもよい。この場合には、ステップS707で特定した右目を表す文字を連想記憶配列の「キー」として、右目を表す文字に対応する左目を表す文字を連想記憶配列の「値」とすればよい。したがって、図7に示したフローチャートのステップS710において、CPUがメモリ2上に展開された連想記憶配列から、ステップS707で特定した右目を表す文字に対応する左目を表す文字を取り出し、変数Eyeに代入し、ステップS714において走査ポインタpが示す文字と変数Eyeに格納されている文字とを比較することとなる。
図7に示した目位置特定処理によって、顔文字抽出部13に入力されたテキストデータに含まれる顔文字の目の位置が特定され、左目及び右目を表す文字の位置(アドレス)はそれぞれメモリ2上に確保された変数ps及び変数peに格納される。そして、図8に示す顔文字境界特定処理が開始されることとなる。
図8は、本実施例に係る顔文字抽出部13での顔文字導出処理において、顔文字の境界を特定する処理を示すフローチャートである。
顔文字境界特定処理が開始されると(ステップS801)、CPUは、顔文字の右目の位置(アドレス)が格納されているメモリ2上の変数psを参照し、走査ポインタpにコピーする(ステップS802)。
そして、変数pが示す文字が入力テキストの左端(入力テキストの先頭アドレス)かをチェックし(ステップS803)、入力テキストの左端である場合には、変数pが示す文字が顔文字の右側の輪郭と判断し、処理をステップS807に移行する。
ステップS803において、変数pが示す文字が入力テキストの左端でない場合には、CPUは処理をステップS804に移行して、現在走査ポインタpが示している文字より1文字だけ入力テキストの先頭側の文字の位置(アドレス)を走査ポインタpに格納する(走査ポインタpを1文字戻す)処理を行なう。
そして、CPUは、図4(a)に示した顔文字部品表の「顔の右側」に対応する文字を順次参照し、走査ポインタpが示す文字と比較する処理を行なう(ステップS805)。走査ポインタpが示す文字が、同表に示した「顔の右側」に対応する文字と一致した場合には、CPUは走査ポインタpが示す文字を顔文字の右側であると判断し、ステップS803の処理に移行してさらに右側に顔文字を構成する文字がないかをチェックする。
以上のステップS803からS805の処理を繰り返すことによって、顔文字を構成する最も右側の文字(顔文字の右側の境界文字)を特定することとなる。
ステップS805において、CPUは走査ポインタpが示す文字が顔文字の右側部分でないと判断すると、ステップS806に処理を移行し、現在走査ポインタpが示している文字より1文字だけ入力テキストの後尾側の文字の位置(アドレス)を走査ポインタpに格納する(走査ポインタpを1文字進める)処理を行なう。
ステップS807において、CPUは、顔文字の右側境界文字の位置情報(アドレス)が格納されている走査ポインタpの値を一時記憶用変数psに退避する。そして、顔文字の左目の位置(アドレス)が格納されているメモリ2上の変数peを参照し、走査ポインタpにコピーする(ステップS808)。
そして、変数pが示す文字が入力テキストの末尾(入力テキストの最後尾のアドレス)かをチェックし(ステップS809)、入力テキストの末尾である場合には、変数pが示す文字が顔文字の左側の輪郭と判断し、処理をステップS813に移行する。
ステップS809において、変数pが示す文字が入力テキストの末尾でない場合には、CPUは処理をステップS810に移行して、現在走査ポインタpが示している文字より1文字だけ入力テキストの末尾の文字の位置(アドレス)を走査ポインタpに格納する(走査ポインタpを1文字進める)処理を行なう。
そして、CPUは、図4(a)に示した顔文字部品表の「顔の左側」に対応する文字を順次参照し、走査ポインタpが示す文字と比較する処理を行なう(ステップS811)。
走査ポインタpが示す文字が、同表に示した「顔の左側」に対応する文字と一致した場合には、CPUは走査ポインタpが示す文字を顔文字の左側であると判断し、ステップS809の処理に移行してさらに左側に顔文字を構成する文字がないかをチェックする。
以上のステップS809からS811の処理を繰り返すことによって、顔文字を構成する最も左側の文字(顔文字の左側の境界文字)を特定することとなる。
ステップS811において、CPUは走査ポインタpが示す文字が顔文字の左側部分でないと判断すると、ステップS812に処理を移行し、現在走査ポインタpが示している文字より1文字だけ入力テキストの先頭側の文字の位置(アドレス)を走査ポインタpに格納する(走査ポインタpを1文字戻す)処理を行なう。
ステップS813において、CPUは、顔文字の左側境界文字の位置情報(アドレス)が格納されている走査ポインタpの値を一時記憶用変数peに退避して、顔文字境界特定の処理が終了する(ステップS814)。
以上に説明した両目位置特定処理(図7)及び顔文字境界特定処理(図8)を、顔文字読み導出部11に入力されたテキストデータの最後まで行なうことによって、テキストデータに含まれる個別の顔文字が全て抽出されることとなる。
なお、図7及び図8に示した処理によって抽出された顔文字の右側境界文字の位置情報(図8に示す変数ps:開始文字位置)及び左側境界文字の位置情報(図8に示す変数pe:終了文字位置)は、図6(a)に示した個別顔文字バッファ21の開始文字位置及び終了文字位置にそれぞれ格納される。また、抽出された顔文字は、図6(a)に示した個別顔文字バッファ21の顔文字列の領域に格納される。
以上に説明した処理によって、入力されたテキストデータに含まれる顔文字に関する情報が図6(a)に示した個別顔文字バッファ21に格納される。そして、顔文字バッファ21の格納されている情報に基づいて、隣接した顔文字を結合する処理(顔文字結合処理)が行なわれる。
図9は、本実施例に係る顔文字抽出部13での顔文字導出処理において、隣接した顔文字を結合する処理を示すフローチャートである。
CPUは、顔文字結合処理に必要な変数領域(例えば、顔文字数nfm、注目顔文字番号i、結合顔文字開始位置psj等)をメモリ上に確保した後、顔文字結合処理を開始し(ステップS901)、メモリ2上に展開されている個別顔文字バッファ21の顔文字番号の領域を参照して、顔文字の総数(顔文字数)を保持する変数nfmに顔文字の総数をコピーする(ステップS902)。
ステップS903において、CPUは変数nfmと定数1とを比較し、変数nfmが1以上でない場合には顔文字が存在しないと判断して処理を終了する(ステップS904)。
ステップS903において、変数nfmが1以上であると場合には、CPUはステップS905に処理を移行する。ステップS905において、CPUは、図6(a)に示した個別顔文字バッファ21における顔文字番号のうち、現在処理対象の顔文字番号(注目顔文字番号)を示す変数iを1に初期化する。
ここで、以下の説明では、図6(a)に示した個別顔文字バッファ21におけるi番目(顔文字番号がi)の顔文字の開始文字位置を表す変数をps[i]、終了文字位置を表す変数をpe[i]と表し、同図(b)に示した結合顔文字バッファ22におけるj番目(顔文字番号がj)の顔文字開始文字位置を示す変数をpss[j]、終了文字位置を示す変数をpee[j]として説明を行なう。
ステップS906において、CPUは、結合対象の顔文字の開始位置を示す変数psjを変数pss[j]にセットする。
そして、変数iと変数nfmとを比較し、変数iが変数nfmより小くない場合には、個別顔文字バッファ21に格納されている全ての顔文字について処理を終了したと判断し、ステップS910に処理を移行する。
ステップS907において、変数iが変数nfmより小さい場合には、CPUの処理はステップS908に移行し、個別顔文字バッファ21に格納されている顔文字と顔文字との距離を比較する。すなわち、i番目の顔文字の終了位置を示す変数pe[i]とi+1番目の顔文字の開始位置を示す変数ps[i+1]との差の値と、結合する顔文字間の距離を示す変数Dの値とを比較する。
CPUは、変数pe[i]と変数ps[i+1]との差が、変数Dより大きい場合には、隣り合ったi番目の顔文字とi+1番目の顔文字とは独立した顔文字と判断し、結合する顔文字の終了位置(結合顔文字終了位置)を示す変数pejに変数pe[i]の値をコピーして、処理をステップS910に移行する。
ステップS908において、CPUは、変数pe[i]と変数ps[i+1]との差が変数D以下の場合には、隣り合ったi番目の顔文字とi+1番目の顔文字とが1つの顔文字であると判断し、処理をステップS909に移行する。
ステップS909において、CPUは、変数iをインクリメントして処理をステップS907に移行する。
以上に説明したように、ステップS907からS909の処理を繰り返すことによって、1つの顔文字として結合する顔文字の範囲を検索することとなる。
ステップS910において、CPUは変数pee[j]に結合顔文字終了位置pejをコピーし、処理を終了する(ステップS911)。
以上に説明した顔文字結合処理が、個別顔文字バッファ21に格納された全ての顔文字情報について行なわれる。
以上に説明したように、顔文字抽出部13では顔文字の目を表す文字に基づいて顔文字の位置を特定した後に、顔文字の輪郭を識別することによって、様々な文字の組み合わせパターンからなる顔文字が含まれる文章であっても、顔文字を認識することが可能となる。
図7から図9に示した顔文字抽出部13による処理によって、入力されたテキストデータから顔文字が抽出されると、CPUは、顔文字意味/強度判定処理を開始する。
図10は、本実施例に係る顔文字意味/強度判定処理を示すフローチャートである。
顔文字意味/強度判定処理を開始すると(ステップS1001)、CPUは初期化処理を開始する。
ステップS1002において、CPUは、図6(a)に示した個別顔文字バッファ21を参照し、顔文字列が格納されているアドレスを走査ポインタpにセットする(顔文字の右端に走査ポインタpをセットする)。
さらに、ステップS1003〜S1004において、CPUは、顔文字を構成する目が表す意味(図4(b)に示した意味)を格納する変数である目意味フラグfEyeをno_eyeにセットし(ステップS1003)、口が表す意味(図4(b)に示した意味)を格納する変数である口意味フラグfMouthをno_mouthにセットする(ステップS1004)。
さらに、ステップS1005において、顔文字が構成する口が表す意味の強度(図4(c)に示した強度)を格納するための変数である口意味強度フラグfStrengthをno_strengthにセットし、顔文字の意味(図4(d)に示した意味)を格納するための変数である顔文字意味フラグfMeanをno_meanにセットする。
ここで、上述のno_eye、no_mouth、no_strength、no_meanは、該当するデータが存在しないことを示すための値又は文字列である。したがって、例えば、−1やnull文字等を使用すればよい。
以上に説明したステップS1002からS1006の処理によって初期化処理が終了すると、CPUはステップS1007に処理を移行する。
ステップS1007において、CPUは、走査ポインタpが示す文字が顔文字の末尾であるかをチェックし、走査ポインタpが示す文字が顔文字の末尾である場合にはステップS1015に処理を移行する。
また、走査ポインタpが示す文字が顔文字の末尾でない場合には、CPUはステップS1008に処理を移行する。ステップS1008において、CPUは、図4(b)に示した顔部品意味表の目文字を順次参照し、走査ポインタpが示す文字と比較する。そして、走査ポインタpが示す文字と顔部品意味表の目文字とが一致した場合には、CPUはステップS1009に処理を移行し、該当する意味を顔部品意味表から参照し、目意味フラグfEyeにセットする。
同様に、ステップS1010において、CPUは、図4(b)に示した顔部品意味表の口文字を順次参照し、走査ポインタpが示す文字と比較する。そして、走査ポインタpが示す文字と顔部品意味表の口文字とが一致した場合には、CPUはステップS1011に処理を移行し、該当する意味を顔部品意味表から参照し、口意味フラグfMouthにセットする。
また、ステップS1012において、CPUは、図4(c)に示した口文字強度表の口文字を順次参照し、走査ポインタpが示す文字と比較する。そして、走査ポインタpが示す文字と口文字強度表の口文字とが一致した場合には、CPUはステップS1013に処理を移行し、該当する強度を口文字強度表から参照し、口文字強度フラグfStrengthにセットする。
ステップS1008、S1010及びS1012のいずれの条件にも該当しない場合、又は、ステップS1009、S1011及びS1013のいずれかの処理が実施されると、CPUはステップS1014に処理を移行し、走査ポインタpを1文字分進め(顔文字を構成する次の文字が格納されているアドレスをセットし)、ステップS1007に処理を移行する。
以上に説明したステップS1007からステップS1004を繰り返すことによって、顔文字の意味及び強度を示す変数(目意味フラグfEye、口意味フラグfMouth、及び口意味強度フラグfStrength)が決定され、ステップS1015に処理が移行する。
ステップS1015において、CPUは、図4(d)に示した顔文字意味決定表を参照し、変数fEye及び変数fMouthが示す意味に対応する顔文字の意味を取りだし、顔文字意味フラグfMeanにセットして処理を終了する(ステップS1016、ステップS1017)。
以上に説明した処理によって、顔文字を顔文字が表す意味(感情等)に応じた適切な言葉で表現することが可能となる。
以上に説明した顔文字意味/強度判定部14の処理によって、各顔文字の意味及び強度が確定すると、読み導出部15によって各顔文字に応じた読みが決定される。
図11は、本実施例に係る読み導出部15における読み導出処理を示すフローチャートである。
読み導出処理が開始されると(ステップS1101)、CPUはステップS1102からS1106に示すループ処理によって、個別顔文字バッファ21に格納されているそれぞれの顔文字に応じた読みを決定する。
ステップS1103において、CPUは、個別顔文字バッファ21を参照し、意味及び強度を読み出す。そして、図4(e)に示した読み上げ表を参照し、個別顔文字バッファ21から読み出した意味及び強度に対応する読み上げ文字列を得て、変数yomiに格納する(ステップS1104)。さらに、CPUは図6(a)に示した個別顔文字バッファ21の読みを格納する領域に変数yomiに格納した読み上げ文字列を格納する(ステップS1105)。
以上に説明したステップS1103からステップS1105の処理を、個別顔文字バッファ21に格納されている全ての顔文字に対して行なう。
以上の処理によって、個別顔文字バッファ21に格納されているそれぞれの顔文字に応じた読みが決定されると、CPUはステップS1108からS1112に示すフープ処理によって、結合顔文字バッファ22に格納されているそれぞれの顔文字に応じた読みを決定(結合)する。
ステップS1107において、CPUは結合顔文字バッファ22に格納された顔文字に対応する読みを格納する変数である読み上げ文yomiageをnull文字で初期化する。
ステップS1109において、CPUは、結合顔文字バッファ22に格納されている開始顔文字番号及び終了顔文字番号を参照し、個別顔文字バッファ21に格納されている該当する顔文字の読みを、該当する開始顔文字番号から終了顔文字番号まで順次参照し(ステップS1110)、変数yomiageに追加(結合)していく(ステップS1111)。
CPUは、以上に説明したステップS1109からステップS1111の処理を、結合顔文字バッファ22に格納された全ての結合顔文字に対して行なうことによって、結合顔文字バッファ22に格納されている結合顔文字に応じた読みを確定することとなる。
以上に説明したように、テキストデータに近接して記載された複数の顔文字(互いに関連した複数の顔文字)がある場合には、それら複数の顔文字を1つの顔文字として認識することが可能となり、さらに、その顔文字が表現する意味を適切な言葉に置き換えることが可能となる。
図12は、図6に示した個別顔文字バッファ21及び結合顔文字バッファ22に対して図10に示した顔文字意味/強度判定処理及び図11に示した読み導出処理を行なった後の個別顔文字バッファ21及び結合顔文字バッファ22を示している。
例えば、顔文字抽出部13にテキストデータ「(*^^)人( ̄− ̄)人(^^*)楽しいな〜。」が入力されると、CPUは、図7から9に示した顔文字抽出処理によって、メモリ2上に展開されている個別顔文字バッファ21の各領域に顔文字番号、顔文字列(例えば、「(*^^)」等)、開始文字位置、及び終了文字位置を格納し、結合顔文字バッファ22の各領域に顔文字番号、結合顔文字(例えば、「(*^^)人( ̄− ̄)人(^^*)」)、開始顔文字番号、及び終了顔文字番号を格納する。
次に、CPUは、顔文字意味/強度判定部14において図10に示した顔文字意味/強度判定処理を行ない、個別顔文字バッファ21に格納されているそのぞれの顔文字に応じた意味(例えば、「喜」等)及び強度(例えば、「小」等))を格納する。
さらに、CPUは、読み導出部15において、図11に示した読み導出処理を行ない、まず個別顔文字バッファ21に格納されているそれぞれの顔文字に応じた読み(例えば、「うふふ」等)を格納し、個別顔文字バッファ21に基づいて結合顔文字バッファ22に格納されているそれぞれの結合顔文字に対する読み(例えば、「うふふ、うふふ、うふふ」等)を格納する。
(付記1) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムであって、
前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップで抽出された顔文字に対応する読みを導出する読み導出ステップと、
前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力プログラム。
(付記2) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムであって、
入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、
該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、
前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力プログラム。
(付記3) 前記顔文字部品辞書は、少なくとも前記顔文字の目を表す部品文字を有し、前記顔文字抽出ステップでは前記目を表す部品文字に基づいて顔文字の輪郭を特定することを特徴とする付記1に記載のテキスト音声出力プログラム。
(付記4) 前記顔部品強度辞書は、少なくとも前記顔文字の口を表す部品文字を有し、前記強度は、口を表す部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて特定することを特徴とする付記2に記載のテキスト音声出力プログラム。
(付記5) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるための方法であって、
前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップで抽出された顔文字に対応する読みを導出する読み導出ステップと、
前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力方法。
(付記6) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるための方法であって、
入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて、前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、
該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、
前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力方法。
(付記7) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能な記憶媒体であって、
前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップで抽出された顔文字に対応する読みを導出する読み導出ステップと、前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力プログラムを格納したコンピュータに読取り可能な記録媒体。
(付記8) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能な記憶媒体であって、
入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて、前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、
該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、
前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
を有することを特徴とするテキスト音声出力プログラムを格納したコンピュータに読取り可能な記録媒体。
(付記9) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力するテキスト音声出力装置において、
前記顔文字を構成する部品文字と該部品文字の前記顔文字に対する位置とを関連づけた顔文字部品辞書と、
該顔文字部品辞書に基づいて、入力されたテキストデータから顔文字を抽出する顔文字抽出部と、
該顔文字抽出部で抽出された顔文字に対応する読みを導出する読み導出部と、
前記入力されたテキストデータにおける前記顔文字抽出部で抽出された顔文字を、前記読み導出部で導出された読みに置換する読み置換部と、
該読み置換部にて得られた置換後のテキストデータを音声に変換して出力する音声出力部と、
を有することを特徴とするテキスト音声出力のための装置。
(付記10) 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力するテキスト音声出力装置において、
入力されたテキストデータから顔文字を抽出する顔文字抽出部と、
該顔文字抽出部によって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書と、
前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書と、
前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書と、
前記顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記顔文字意味決定辞書に基づいて前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定部と、
該顔文字意味強度判定部によって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出部と、
前記入力されたテキストデータにおける前記顔文字抽出部で抽出された顔文字を、前記読み導出部で導出された読みに置換する読み置換部と、
該読み置換部にて得られた置換後のテキストデータを音声に変換して出力する音声出力部と、
を有することを特徴とするテキスト音声出力のための装置。
本実施例に係る情報処理装置の構成例を示す図である。 本実施例に係るテキスト音声出力装置の構成例を示す図である。 本実施例に係るテキスト音声変換装置とデータの流れを示す図である。 本実施例に係る顔文字抽出部、顔文字意味/強度判定部、及び読み導出部において使用する表の一例を示す図である。 本実施例に係る顔文字読み導出部における処理についての概要を示すフローチャートである。 本実施例に係る顔文字読み導出処理で使用する個別顔文字バッファ及び結合顔文字バッファの構成例を示す図である。 本実施例に係る顔文字導出処理の両目位置特定処理を示すフローチャートである。 本実施例に係る顔文字導出処理の顔文字の境界を特定する処理を示すフローチャートである。 本実施例に係る顔文字導出処理の隣接した顔文字を結合するする処理を示すフローチャートである。 本実施例に係る顔文字意味/強度判定処理を示すフローチャートである。 本実施例に係る読み導出処理を示すフローチャートである。 本実施例に係る顔文字意味/強度判定処理及び読み導出処理を行なった後の個別顔文字バッファ及び結合顔文字バッファを示す図である。
符号の説明
1 CPU
2 メモリ
3 入力装置
4 出力装置
5 外部記憶装置
6 媒体駆動装置
7 可搬記憶媒体
8 ネットワーク接続装置
9 ネットワーク
10 バス
11 顔文字読み導出部
12 音声合成部
13 顔文字抽出部
14 顔文字意味/強度判定部
15 読み導出部
16 読み置換部
17 顔文字部品表
18 顔部品意味表、口文字強度表、顔文字意味決定表
19 読み上げ表
20 テキスト入力部
21 個別顔文字バッファ
22 結合顔文字バッファ

Claims (2)

  1. 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるためのプログラムであって、
    入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
    該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、
    該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、
    前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
    該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
    を有することを特徴とするテキスト音声出力プログラム。
  2. 文字列の組み合わせからなる顔文字を含むテキストデータを音声として出力する処理をコンピュータに実行させるための方法であって、
    入力されたテキストデータから顔文字を抽出する顔文字抽出ステップと、
    該顔文字抽出ステップによって抽出した前記顔文字の部品文字と該部品文字が表す意味とを関連づけた顔部品意味辞書に基づいて前記部品文字に対する意味を決定し、前記部品文字と該部品文字が表す意味の強度とを関連づけた顔部品強度辞書に基づいて前記部品文字の意味に対する強度を決定し、前記部品文字が表す意味と前記顔文字が表す意味とを関連づけた顔文字意味決定辞書に基づいて、前記部品文字に対する意味から前記顔文字の意味を決定する顔文字意味強度判定ステップと、
    該顔文字意味強度判定ステップによって決定された前記顔文字に対する意味と該意味の強度とに応じた感情を文字で表現する読み導出ステップと、
    前記入力されたテキストデータにおける前記顔文字抽出ステップで抽出された顔文字を、前記読み導出ステップで導出された読みに置換する読み置換ステップと、
    該読み置換ステップにて得られた置換後のテキストデータを音声に変換して出力する音声出力ステップと、
    を有することを特徴とするテキスト音声出力方法。
JP2004101479A 2004-03-30 2004-03-30 テキスト音声出力のための装置、方法、及びプログラム Expired - Fee Related JP4523312B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004101479A JP4523312B2 (ja) 2004-03-30 2004-03-30 テキスト音声出力のための装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004101479A JP4523312B2 (ja) 2004-03-30 2004-03-30 テキスト音声出力のための装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2005284192A JP2005284192A (ja) 2005-10-13
JP4523312B2 true JP4523312B2 (ja) 2010-08-11

Family

ID=35182596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004101479A Expired - Fee Related JP4523312B2 (ja) 2004-03-30 2004-03-30 テキスト音声出力のための装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4523312B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4930584B2 (ja) * 2007-03-20 2012-05-16 富士通株式会社 音声合成装置、音声合成システム、言語処理装置、音声合成方法及びコンピュータプログラム
JP5013539B2 (ja) * 2008-10-21 2012-08-29 日本電信電話株式会社 顔文字検出装置、その方法、プログラム及び記録媒体
JP2010102564A (ja) * 2008-10-24 2010-05-06 Nippon Telegr & Teleph Corp <Ntt> 感情特定装置、その方法、プログラム及び記録媒体
JP5510263B2 (ja) * 2010-10-13 2014-06-04 富士通株式会社 顔文字読み情報推定装置、顔文字読み情報推定方法、及び顔文字読み情報推定プログラム、並びに情報端末

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231394A (ja) * 1996-02-27 1997-09-05 Casio Comput Co Ltd 物体画像作成装置
JPH11305987A (ja) * 1998-04-27 1999-11-05 Matsushita Electric Ind Co Ltd テキスト音声変換装置
JP2001337688A (ja) * 2000-05-26 2001-12-07 Canon Inc 音声合成装置及び音声合成方法並びに記憶媒体
JP2002268665A (ja) * 2001-03-13 2002-09-20 Oki Electric Ind Co Ltd テキスト音声合成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231394A (ja) * 1996-02-27 1997-09-05 Casio Comput Co Ltd 物体画像作成装置
JPH11305987A (ja) * 1998-04-27 1999-11-05 Matsushita Electric Ind Co Ltd テキスト音声変換装置
JP2001337688A (ja) * 2000-05-26 2001-12-07 Canon Inc 音声合成装置及び音声合成方法並びに記憶媒体
JP2002268665A (ja) * 2001-03-13 2002-09-20 Oki Electric Ind Co Ltd テキスト音声合成装置

Also Published As

Publication number Publication date
JP2005284192A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
JP7142333B2 (ja) 多言語テキスト音声合成方法
Taylor Text-to-speech synthesis
KR102582291B1 (ko) 감정 정보 기반의 음성 합성 방법 및 장치
CN106486121B (zh) 应用于智能机器人的语音优化方法及装置
KR101160193B1 (ko) 감성적 음성합성 장치 및 그 방법
Pennell et al. Normalization of text messages for text-to-speech
JP4930584B2 (ja) 音声合成装置、音声合成システム、言語処理装置、音声合成方法及びコンピュータプログラム
US20230055233A1 (en) Method of Training Voice Recognition Model and Voice Recognition Device Trained by Using Same Method
JP2009139677A (ja) 音声処理装置及びそのプログラム
CN112463942A (zh) 文本处理方法、装置、电子设备及计算机可读存储介质
KR101929509B1 (ko) 형태소 합성 장치 및 방법
López-Ludeña et al. LSESpeak: A spoken language generator for Deaf people
JP4523312B2 (ja) テキスト音声出力のための装置、方法、及びプログラム
JP4200874B2 (ja) 感性情報推定方法および文字アニメーション作成方法、これらの方法を用いたプログラム、記憶媒体、感性情報推定装置、文字アニメーション作成装置
JP4839291B2 (ja) 音声認識装置およびコンピュータプログラム
JP5611270B2 (ja) 単語分割装置、及び単語分割方法
Akmuradov et al. A novel algorithm for dividing Uzbek language words into syllables for concatenative text-to-speech synthesizer
Keh et al. Pancetta: Phoneme aware neural completion to elicit tongue twisters automatically
JP2008293098A (ja) 応答スコア情報生成装置、対話処理装置
JP6619932B2 (ja) 形態素解析装置およびプログラム
JP6289950B2 (ja) 読み上げ装置、読み上げ方法及びプログラム
CN113160793A (zh) 基于低资源语言的语音合成方法、装置、设备及存储介质
CN112992116A (zh) 一种视频内容自动生成方法和系统
KR101777141B1 (ko) 한글 입력 키보드를 이용한 훈민정음 기반 중국어 및 외국어 입력 장치 및 방법
Sunitha et al. VMAIL voice enabled mail reader

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees