(57)【要約】【課題】テキストからの顔文字検出において、顔文字中の顔部分の文字列の出現傾向を捉え、検出精度を向上すること。【解決手段】顔部分抽出部１２により、顔部分辞書記憶部１１に記憶された、顔文字を構成する文字列中の顔部分の文字列を登録してなる顔部分辞書を用いてテキスト中の顔部分の文字列に対応する範囲を抽出し、この範囲に基づき、顔部分情報生成部１３により、文字分割部３で文字単位に分割された前記テキスト中の各文字が顔部分であるか否かを示す顔部分情報を生成し、これを当該テキスト中の各文字の表記とともに素性として用いて、ＢＩＯ判定部１５により、モデル記憶部１４に記憶されたモデルを用いて、顔文字を構成する最初の文字“Ｂ”、顔文字を構成する２番目以降の文字“Ｉ”、顔文字以外の文字“Ｏ”のいずれに当たるかを機械学習で判定する。【選択図】図６
2010092352.tif 000002
【特許請求の範囲】
【請求項１】
テキスト中の顔文字を検出する装置であって、
顔文字を構成する文字列中の顔部分の文字列を登録してなる顔部分辞書を記憶する顔部分辞書記憶部と、
テキストから前記顔部分辞書記憶部に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出する顔部分抽出部と、
前記テキストを文字単位に分割する文字分割部と、
文字単位に分割された前記テキスト中の各文字が顔部分であるか否かを示す顔部分情報を、抽出された前記テキストにおける顔部分の範囲に基づいて生成する顔部分情報生成部と、
少なくともテキスト中の各文字の表記およびその顔部分情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“Ｂ”、顔文字を構成する文字列の２番目以降の文字を意味する“Ｉ”、顔文字以外の文字を意味する“Ｏ”のいずれに当たるかを判定するためのモデルを記憶するモデル記憶部と、
文字単位に分割された前記テキスト中の各文字の表記およびその顔部分情報を入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定するＢＩＯ判定部とを備えた
ことを特徴とする顔文字検出装置。
【請求項２】
顔部分情報生成は、
文字単位に分割された前記テキスト中の各文字の位置と、抽出された前記テキストにおける顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報を、一致しない場合は顔部分でないことを示す顔部分情報を、当該テキスト中の各文字の表記に対応させて出力することで行う
ことを特徴とする請求項１に記載の顔文字検出装置。
【請求項３】
テキスト中の顔文字を検出する方法であって、
顔部分抽出部が、テキストから顔部分辞書に登録されている顔文字を構成する文字列中の顔部分の文字列に対応する範囲を抽出するステップと、
文字分割部が、前記テキストを文字単位に分割するステップと、
顔部分情報生成部が、文字単位に分割された前記テキスト中の各文字が顔部分であるか否かを示す顔部分情報を、抽出された前記テキストにおける顔部分の範囲に基づいて生成するステップと、
ＢＩＯ判定部が、文字単位に分割された前記テキスト中の各文字の表記およびその顔部分情報を入力とし、少なくともテキスト中の各文字の表記およびその顔部分情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“Ｂ”、顔文字を構成する文字列の２番目以降の文字を意味する“Ｉ”、顔文字以外の文字を意味する“Ｏ”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定するステップとを含む
ことを特徴とする顔文字検出方法。
【請求項４】
顔部分情報生成は、
文字単位に分割された前記テキスト中の各文字の位置と、抽出された前記テキストにおける顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報を、一致しない場合は顔部分でないことを示す顔部分情報を、当該テキスト中の各文字の表記に対応させて出力することで行う
ことを特徴とする請求項３に記載の顔文字検出方法。
【請求項５】
コンピュータを、請求項１または２に記載の顔文字検出装置の各手段として機能させるためのプログラム。
【請求項６】
コンピュータに、請求項３または４に記載の顔文字検出方法の各処理ステップを実行させるためのプログラム。
【請求項７】
請求項５または６に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト（ＨＴＭＬソーステキストを含む。）中の顔文字を検出する技術に関する。
【背景技術】
【０００２】
顔文字とは、テキスト中で使用可能な文字を組み合わせて様々な感情等に対応する擬似的な人の表情を表すようにしたもので、パーソナルコンピュータや携帯電話における電子メールなどのテキストベースのコミュニケーションツールにおいて、書き手（送信側）の感情等を読み手（受信側）に伝える手段として用いられることが多い。例えば、「今日はとっても楽しかったです。(^^)明日も楽しみ！」というテキスト中の文字列「(^^)」が顔文字であり、この場合、「喜び」の感情を表している。
【０００３】
従来、テキスト中の顔文字を検出する技術としては、既存のＨＴＭＬタグ除去技術、形態素解析技術を利用してテキスト中の各文字が属する形態素の品詞を抽出し、これを当該テキスト中の各文字の表記とともに素性として用いて、顔文字を構成する文字列の最初の文字を意味する“Ｂ”、顔文字を構成する文字列の２番目以降の文字を意味する“Ｉ”、顔文字以外の文字を意味する“Ｏ”（以下、これらを顔文字タグと呼ぶ。）のいずれに当たるかを機械学習で推定（判定）する方法があった（非特許文献１参照）。例えば、「今日はとっても楽しかったです。(^^)<br>明日も楽しみ！<br>」というテキストにおいて、文字「(」が顔文字タグ“Ｂ”であることを推定する場合は、図１に示すような太線内の情報を素性として利用していた。
【０００４】
図２は前述した従来の顔文字検出技術にかかる装置の一例を示すもので、ＨＴＭＬタグ除去部１、形態素解析部２、文字分割部３、形態素品詞抽出部４、モデル記憶部５およびＢＩＯ判定部６からなる。
【０００５】
ＨＴＭＬタグ除去部１では、既存のＨＴＭＬタグ除去技術により、入力されたテキストからＨＴＭＬタグを除去する。例えば、入力されたテキストが「今日はとっても楽しかったです。(^^)<br>明日も楽しみ！<br>」の場合、ＨＴＭＬタグ“<br>”が除かれ、「今日はとっても楽しかったです。(^^)明日も楽しみ！」となる。なお、入力されたテキストがＨＴＭＬタグを含まない純粋なテキストであれば、ＨＴＭＬタグ除去部１が不要であることはいうまでもない。
【０００６】
形態素解析部２では、既存の形態素解析技術により、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去されたテキストを単語に区切り、さらに各単語に品詞を付与する。例えば、ＨＴＭＬタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ！」の場合、区切り記号を“/”、品詞を“［品詞］”で表すと、「今日［名詞］/は［助詞］/とっても［副詞］/楽し［形容詞］/かった［形容詞接尾辞］/です［助動詞］/。［記号-句点］/(［記号-括弧開］/^［記号-その他］/^［記号-その他］/)［記号-括弧閉］/明日［名詞］/も［助詞］/楽しみ［名詞］/！［記号-その他］」となる。
【０００７】
文字分割部３では、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去されたテキストを文字単位（文字コード単位）に分割する。例えば、前記同様、ＨＴＭＬタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ！」の場合、区切り記号を“/”で表すと、「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/！」となる。
【０００８】
形態素品詞抽出部４では、形態素解析部２での結果と文字分割部３での結果とを入力とし、入力されたテキスト中の各文字の表記および各文字が属する形態素の品詞を抽出する。例えば、形態素解析部２での結果が「今日［名詞］/は［助詞］/とっても［副詞］/楽し［形容詞］/かった［形容詞接尾辞］/です［助動詞］/。［記号-句点］/(［記号-括弧開］/^［記号-その他］/^［記号-その他］/)［記号-括弧閉］/明日［名詞］/も［助詞］/楽しみ［名詞］/！［記号-その他］」であり、文字分割部３での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/！」である場合、図３に示すような結果が得られる。
【０００９】
モデル記憶部５では、予め機械学習により生成した、少なくともテキスト中の各文字の表記および各文字が属する形態素の品詞を素性、詳細には図１に示したようにテキスト中の各文字のその文字を含む前後ｎ（ここではｎ＝３）文字の表記、それらの形態素の品詞および前ｎ文字についてのＢＩＯ判定結果を素性として、当該テキスト中の各文字が顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前ｎ文字についてのＢＩＯ判定結果を明示的に与える必要はない。
【００１０】
ＢＩＯ判定部６では、形態素品詞抽出部４での結果を入力とし、モデル記憶部５に記憶されたモデルを用いて、テキスト中の各文字について、その先頭から順に顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定し、顔文字タグ“Ｂ”および“Ｉ”に対応する文字列を検出結果として出力する。例えば、図３に示した結果が入力された場合、図４に示すように、先頭から順に、各文字のその文字を含む前後ｎ（ここではｎ＝３）文字の表記、それらの形態素の品詞および前ｎ文字についてのＢＩＯ判定結果を素性としてモデル記憶部５に記憶されたモデルに入力してＢＩＯ判定結果を得て、顔文字タグ“Ｂ”および“Ｉ”と判定された文字列「(^^)」を、例えばＸＭＬ形式「<face>(^^)</face>」で出力する。
【００１１】
モデル記憶部５に記憶するモデルは、テキスト集合の各テキストに対し、前記ＨＴＭＬタグ除去部１、形態素解析部２、文字分割部３、形態素品詞抽出部４での処理を行い、その結果として得られる、ＨＴＭＬタグが除去され、文字単位に分割されたテキスト中の各文字の表記および各文字が属する形態素の品詞の情報と、前記テキスト中の各文字について前記顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。
【００１２】
この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。系列ラベリング問題とは、与えられた入力トークン列ｘ＝（ｘ１，ｘ２，…ｘＮ）に対して、適切な出力ラベル列ｙ＝（ｙ１，ｙ２，…ｙＮ）を対応づける問題である。
【非特許文献１】田中裕紀、高村大也、奥村学、「文字ベースのコミュニケーションにおける顔文字に関する研究」、言語処理学会第１０回年次大会、Ｄ４−３、２００４
【発明の開示】
【発明が解決しようとする課題】
【００１３】
顔文字を構成する文字列の細部に着目すると、“目”に当たる文字を２つ並べた文字列（“目目”）や、“目”に当たる文字を２つ並べ、更にその間に“口”に当たる文字を並べた文字列（“目口目”）（以下、これらを顔部分の文字列と呼ぶ。）を含むケースが多い。また、同一の顔部分の文字列が複数種類の顔文字に含まれる場合も多く、このような顔文字を構成する文字列の特徴は、顔文字の検出に有効であると思われる。
【００１４】
しかし、前述した従来の顔文字検出技術では、顔文字中の顔部分の文字列を全く利用していないため、適切に顔文字を検出できないという問題があった。
【００１５】
本発明の目的は、テキストからの顔文字検出において、顔文字中の顔部分の文字列の出現傾向を捉え、検出精度を向上することにある。
【課題を解決するための手段】
【００１６】
本発明では、前記目的を達成するため、テキストから顔文字を構成する文字列全体ではなく、顔文字中の顔部分の文字列に対応する範囲を抽出し、一方、前記テキストを文字単位に分割し、該文字単位に分割された前記テキスト中の各文字が顔部分であるか否か（ＹｅｓかＮｏか）を示す顔部分情報を、抽出された前記テキストにおける顔部分の範囲に基づいて生成し、これを当該テキスト中の各文字の表記とともに素性として用いて、顔文字を構成する文字列の最初の文字を意味する“Ｂ”、顔文字を構成する文字列の２番目以降の文字を意味する“Ｉ”、顔文字以外の文字を意味する“Ｏ”のいずれに当たるかを機械学習で推定（判定）することを特徴とする。例えば、「今日はとっても楽しかったです。(^^)<br>明日も楽しみ！<br>」というテキストにおいて、文字「(」が顔文字タグ“Ｂ”であることを推定する場合は、図５に示すような太線内の情報を素性として利用する。
【発明の効果】
【００１７】
本発明によれば、テキスト中の各文字の表記とともにその文字が顔文字中の顔部分であるか否かを示す顔部分情報を素性として機械学習で推定（判定）するため、テキストにおける顔文字中の顔部分の文字列の出現傾向を捉え、検出精度を向上することが可能となる。
【発明を実施するための最良の形態】
【００１８】
図６は本発明の顔文字検出装置の実施の形態の一例を示すもので、図中、従来例と同一構成部分は同一符号をもって表す。即ち、１はＨＴＭＬタグ除去部、３は文字分割部、１１は顔部分辞書記憶部、１２は顔部分抽出部、１３は顔部分情報生成部、１４はモデル記憶部、１５はＢＩＯ判定部である。
【００１９】
顔部分辞書記憶部１１は、顔文字を構成する文字列中の顔部分の文字列の集合を登録してなる顔部分辞書を記憶している。図７に顔部分辞書の一例を示す。なお、図７では顔部分の元となる顔文字も併記しているが、同一の顔部分の文字列が複数種類の顔文字に含まれる場合があることを示すためであり、顔文字（の文字列）まで登録する必要があるということではない。
【００２０】
顔部分抽出部１２は、テキストから顔部分辞書記憶部１１に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出、詳細にはテキストに対して顔部分辞書内の顔部分の文字列毎にパターンマッチングを行い、該マッチングした顔部分の文字列に対応する範囲の文字位置を取得する。なお、顔部分の文字列に対応する範囲の具体的な文字位置としては、当該範囲に含まれる全ての文字の文字位置の外、当該範囲の文頭側の文字および文末側の文字の文字位置のペアでも良い。
【００２１】
顔部分情報生成部１３は、文字分割部３で文字単位（文字コード単位）に分割されたテキストと、顔部分抽出部１２で抽出された前記テキストにおける顔部分の範囲とを入力として、文字単位に分割されたテキスト中の各文字が顔部分であるか否かを判定、詳細には文字単位に分割されたテキスト中の各文字の位置と、抽出された前記テキストにおける顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報（ここではＹｅｓ）を、一致しない場合は顔部分でないことを示す顔部分情報（ここではＮｏ）を、当該テキスト中の各文字の表記に対応させて出力する。
【００２２】
なお、顔部分の文字列に対応する範囲の具体的な文字位置が当該範囲の文頭側の文字および文末側の文字の文字位置のペア、例えば「ａ，ｂ」である場合は、文字単位に分割されたテキスト中の各文字の位置がａ以上かつｂ以下のときを一致といい、ａより小さい又はｂより大きいときを不一致というものとする。
【００２３】
モデル記憶部１４は、予め機械学習により生成した、少なくともテキスト中の各文字の表記およびその顔部分情報を素性、詳細には図５に示したようにテキスト中の各文字のその文字を含む前後ｎ（ここではｎ＝３）文字の表記、それらの顔部分情報および前ｎ文字についてのＢＩＯ判定結果を素性として、当該テキスト中の各文字が顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前ｎ文字についてのＢＩＯ判定結果を明示的に与える必要はない。
【００２４】
ＢＩＯ判定部１５は、顔部分情報生成部１３での結果を入力とし、モデル記憶部１４に記憶されたモデルを用いて、テキスト中の各文字について、その先頭から順に顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定し、顔文字タグ“Ｂ”および“Ｉ”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“Ｂ”および“Ｉ”に対応する文字列「ｘｘｘｘ」を記述したＸＭＬ形式「<face>ｘｘｘｘ</face>」で出力する。
【００２５】
モデル記憶部１４に記憶するモデルは、テキスト集合の各テキストに対し、前記ＨＴＭＬタグ除去部１、文字分割部３、顔部分辞書記憶部１１、顔部分抽出部１２、顔部分情報生成部１３での処理を行い、その結果として得られる、ＨＴＭＬタグが除去され、文字単位に分割されたテキスト中の各文字の表記およびその顔部分情報と、前記テキスト中の各文字について前記顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
【００２６】
図８は本発明の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明する。
【００２７】
ＨＴＭＬタグ除去部１に入力されたテキストは、既存のＨＴＭＬタグ除去技術により、当該テキスト中のＨＴＭＬタグが除去され、文字分割部３および顔文字抽出部１２に出力される（ｓ１）。例えば、入力テキストが「今日はとっても楽しかったです。(^^)<br>明日も楽しみ！<br>」であれば、ＨＴＭＬタグ“<br>”が除かれ、「今日はとっても楽しかったです。(^^)明日も楽しみ！」となる。なお、入力されたテキストがＨＴＭＬタグを含まない純粋なテキストであれば、ＨＴＭＬタグ除去部１およびＨＴＭＬタグ除去処理ｓ１が不要であることはいうまでもない。
【００２８】
文字分割部３では、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去されたテキストを文字単位（文字コード単位）に分割し、顔部分情報生成部１３に出力する（ｓ２）。例えば、ＨＴＭＬタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ！」の場合、区切り記号を“/”で表すと、「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/！」となる。
【００２９】
顔部分抽出部１２では、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去されたテキストから顔部分辞書記憶部１１に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出し、その文字位置を取得する（ｓ３）。例えば、ＨＴＭＬタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ！」の場合、文字列「^^」が顔部分として抽出され、その文字位置は「１７，１８」となる。
【００３０】
なお、文字分割処理および顔部分抽出処理の順序は逆でも良く、あるいは同時であっても良い。
【００３１】
顔部分情報生成部１３では、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去され、文字分割部３で文字単位に分割されたテキスト中の各文字の位置と、ＨＴＭＬタグ除去部１でＨＴＭＬタグが除去された前記テキストに対して顔部分抽出部１２で抽出された顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報（Ｙｅｓ）を、一致しない場合は顔部分でないことを示す顔部分情報（Ｎｏ）を、当該テキスト中の各文字の表記に対応させてＢＩＯ判定部１５に出力する（ｓ４）。例えば、文字分割部３での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/！」であり、顔部分抽出部１２で抽出された顔部分の範囲の文字位置が「１７，１８」である場合、図９に示すような結果が得られる。
【００３２】
ＢＩＯ判定部１５では、顔部分情報生成部１３での結果を入力とし、モデル記憶部１４に記憶されたモデルを用いて、テキスト中の各文字について、その先頭から順に顔文字タグ“Ｂ”、“Ｉ”、“Ｏ”のいずれに当たるかを判定し、顔文字タグ“Ｂ”および“Ｉ”に対応する文字列を検出結果として出力する（ｓ５）。例えば、図９に示した結果が入力された場合、図１０に示すように、先頭から順に、各文字のその文字を含む前後ｎ（ここではｎ＝３）文字の表記、それらの顔部分情報および前ｎ文字についてのＢＩＯ判定結果を素性としてモデル記憶部１４に記憶されたモデルに入力してＢＩＯ判定結果を得て、顔文字タグ“Ｂ”および“Ｉ”と判定された文字列「(^^)」をＸＭＬ形式「<face>(^^)</face>」で出力する。
【００３３】
なお、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、図６の構成図に示された機能を実現するプログラムあるいは図８のフローチャートに示された手順を備えるプログラムをインストールすることによっても実現可能である。
【産業上の利用可能性】
【００３４】
本発明によってテキスト中の顔文字を検出し、これを削除することで、当該テキストに対する形態素解析の精度を向上させることが可能となる。
【図面の簡単な説明】
【００３５】
【図１】従来の顔文字検出技術における素性の説明図
【図２】従来の顔文字検出装置の一例を示す構成図
【図３】形態素品詞抽出結果の一例を示す説明図
【図４】従来の顔文字検出技術によるＢＩＯ判定のようすを示す説明図
【図５】本発明の顔文字検出技術における素性の説明図
【図６】本発明の顔文字検出装置の実施の形態の一例を示す構成図
【図７】顔部分辞書の一例を示す説明図
【図８】本発明の顔文字検出装置における処理の流れを示すフローチャート
【図９】顔部分情報生成結果の一例を示す説明図
【図１０】本発明の顔文字検出技術によるＢＩＯ判定のようすを示す説明図
【符号の説明】
【００３６】
１：ＨＴＭＬタグ除去部、３：文字分割部、１１：顔部分辞書記憶部、１２：顔部分抽出部、１３：顔部分情報生成部、１４：モデル記憶部、１５：ＢＩＯ判定部。
【図１】
2010092352.tif 000003
【図２】
2010092352.tif 000004
【図３】
2010092352.tif 000005
【図４】
2010092352.tif 000006
【図５】
2010092352.tif 000007
【図６】
2010092352.tif 000008
【図７】
2010092352.tif 000009
【図８】
2010092352.tif 000010
【図９】
2010092352.tif 000011
【図１０】
2010092352.tif 000012