(57)【特許請求の範囲】
【請求項１】
文書に含まれる顔文字を抽出する顔文字抽出装置であって、
入力されたテキストの半角文字を全角文字に変換する手段と、
前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出する手段と、
前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合する手段と、
前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算する手段と、
前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字を顔文字情報として前記顔文字辞書に登録し、前記ノイズを前記ノイズパターン・データベースに登録する手段と、
を備えることを特徴とする顔文字抽出装置。
【請求項２】
前記顔文字は、識別コードが付された図形を含むことを特徴とする請求項１に記載の顔文字抽出装置。
【請求項３】
文書に含まれる顔文字を抽出する方法であって、
入力されたテキストの半角文字を全角文字に変換するステップと、
前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出するステップと、
前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合するステップと、
前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算するステップと、
前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字を顔文字情報として前記顔文字辞書に登録するステップと、
前記ノイズを前記ノイズパターン・データベースに登録するステップと、
を含むことを特徴とする方法。
【請求項４】
文書に含まれる顔文字を抽出するプログラムであって、
入力されたテキストの半角文字を全角文字に変換するステップと、
前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出するステップと、
前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合するステップと、
前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算するステップと、
前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字を顔文字情報として前記顔文字辞書に登録するステップと、
前記ノイズを前記ノイズパターン・データベースに登録するステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔文字の感情情報を抽出するシステム又は装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、書き手側の気持ちや感情を、顔文字を使って表現し、メール、ツイート、ブログ等の文章に埋め込んで、それとなく受け手側に伝えることが盛んに行われている。そのための技術もいくつか存在し、例えば、特許文献１には、様々な顔文字の含まれる文章から顔文字を認識し、顔文字が表現する意味を適切な言葉に置き換えることが可能なテキスト音声出力のための装置が開示されている。また、特許文献２には、顔文字によって表される感情の特定処理の効率化を図るとともに特定精度を向上させることの可能な感情特定装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２８４１９２号公報
【特許文献２】特開２０１０−１０２５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献に記載のような顔文字処理は、顔文字を抽出する段階で、ノイズ成分の除去と顔文字の抽出を別のステップで実施しているため抽出精度が悪くなるという課題がある。また、そのときの気持ちや感情といった感性情報の種類が少なく、抽出した顔文字と感性情報の結びつけに労力を有するといった課題がある。
【０００５】
本発明では、特に、顔文字の抽出に係る課題を解決するため、顔文字の抽出精度を上げると共に、ノイズの検出の精度向上を図ることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の顔文字感情情報抽出システム等は、以下のような解決手段を提供する。
【０００７】
請求項１に記載の発明は、文書に含まれる顔文字を抽出する顔文字抽出装置であって、入力されたテキストの半角文字を全角文字に変換する手段と、前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出する手段と、前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合する手段と、前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算する手段と、前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字を顔文字情報として前記顔文字辞書に登録し、前記ノイズを前記ノイズパターン・データベースに登録する手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１の装置において、前記顔文字は、識別コードが付された図形を含むことを特徴とする。
【０００９】
請求項３に記載の発明は、文書に含まれる顔文字を抽出する方法であって、入力されたテキストの半角文字を全角文字に変換するステップと、前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出するステップと、前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合するステップと、前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算するステップと、前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字候補を顔文字情報として前記顔文字辞書に登録するステップと、前記ノイズ候補を前記ノイズパターン・データベースに登録するステップと、を含むことを特徴とする。
【００１０】
請求項４に記載の発明は、文書に含まれる顔文字を抽出するプログラムであって、入力されたテキストの半角文字を全角文字に変換するステップと、前記全角文字に変換されたテキストの文を、日本語辞書と構文解析器によって構文解析し、前記日本語辞書にない未知語を顔文字候補及びノイズ候補として抽出するステップと、前記未知語が複数の文字から構成される場合、前記未知語の中の文字の区切り位置の違いによる文字列全てを、既に顔文字辞書に登録されている顔文字パターン及びノイズパターン・データベースに登録されているノイズパターンと照合するステップと、前記照合の結果、前記区切り位置の違いによる文字列パターンの発生確率を計算するステップと、前記発生確率を最大にする区切りを決定し、前記決定された区切りに基づいて、顔文字とノイズを弁別し、前記顔文字を顔文字情報として前記顔文字辞書に登録するステップと、前記ノイズを前記ノイズパターン・データベースに登録するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、顔文字の抽出精度を上げると共に、ノイズ要素の検出の精度向上を図ることができる。
【００１２】
請求項２に記載の発明によれば、文書中で識別コードが付された図形（絵文字、スタンプ等）が埋め込まれていても顔文字として抽出することができる。
【００１３】
請求項３の記載の発明によれば、請求項１の発明と同様の効果を有する方法を提供することができる。
【００１４】
請求項４の記載の発明によれば、請求項１の発明と同様の効果を有するプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る顔文字感情情報抽出システムの基本構成を示す図である。
【図２】本発明の実施形態に係る顔文字感情情報抽出システムの機能構成を示す図である。
【図３】本発明の実施形態に係る感情情報データベースのデータ構造の一例を示す図である。
【図４】本発明の実施形態に係る顔文字抽出装置の顔文字とノイズパターンを抽出するイメージを示す図である。
【図５】本発明の実施形態に係る顔文字抽出装置の処理フローを示す図である。
【図６】顔文字抽出の具体例１を示す図である。
【図７】顔文字抽出の具体例２を示す図である。
【図８】顔文字感情情報抽出システムの全体の処理の具体例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための形態（以下、実施形態と呼ぶ）について詳細に説明する。以降の説明では、「顔文字」とは、文書中で、通常の文法では不正な要素であるが、何らかの意味を持って使われている文字列を指すものとする。また、「文書」とは、セクション（章、節など）→段落→文→文節→語→文字（キャラクタ）で構成され、「文」とは、読点又はそれを意味する語で区切られているものを指す。また、ここでいう「文字」とは、言葉（言語）を伝達し記録するために線や点を使って形作られた記号を意味し、英数記号、漢字、かな文字等だけでなく、絵文字やスタンプ等の任意の図形に識別コードが付されたものを含むものとする。
【００１７】
また、以降の図においては、実施形態の説明の全体を通して同じ要素には同じ番号または符号を付している。また、機能構成の図において、機能ブロック間の矢印は、データの流れ方向、又は処理の流れ方向を表す。また、処理フロー図（フローチャート）においては、各ステップの入力と出力の関係を損なわない限り、各ステップの処理順序を入れ替えてもよい。
【００１８】
図１は、本発明の実施形態に係る顔文字感情情報抽出システムの基本構成を示す図である。本実施形態の顔文字感情情報抽出システム１００（以下、本システムと呼ぶ）は、図示するように、主として、顔文字抽出装置１０、感情情報付加装置２０、顔文字情報更新装置３０、及び感情情報データベース４０で構成される。感情情報データベース４０には、顔文字辞書４１と感情語辞書４２が含まれる。まず、各装置の処理の概要を説明する。
【００１９】
（顔文字抽出装置）
顔文字抽出装置１０は、元テキストから顔文字を抽出するための装置であり、元テキストから顔文字と見なせる部分とノイズと見なせる部分を切り出し、切り出した顔文字とパターン化したノイズのパターンをそれぞれ保存する。そのため、以下の処理を行う。
【００２０】
（１）入力された元テキストを全角文字に変換（全角変換）し、変換したデータを構文解析（文を単語に分解する形態素解析）し、「未知語」を抽出する。「未知語」の判定には、外部データベース５０として、既存の日本語辞書５１、コーパス５２（自然言語の文章を大規模に集積したデータベース）を参照する。また、構文解析器５は公知のものを利用する。
（２）未知語として判定された文字列をノイズ候補若しくは顔文字候補とする。
（３）未知語と判定された文字列を既知情報である顔文字辞書４１、ノイズパターン１２（後述）、コーパス５２と照合する。このとき、未知語、すなわち顔文字候補とノイズ候補を対象に、未知語内の文字の区切り位置の違いによる各パターンの発生確率を計算し、その発生確率を最大にする区切りを判別する。
（４）そして照合の結果抽出された顔文字は後続処理のため一時保存し、ノイズはノイズパターン１２に登録する。ただし、ノイズは文字列をそのまま保存するのではなく、正規表現に変換して保存する。
（５）語句の一般的な使用方法の経年変化を見るために、利用するコーパス５２は定期的に更新されるものとする。
【００２１】
（感情情報付加装置）
感情情報付加装置２０は、顔文字が含まれている文章から感情語を抽出し、その感情語の感情情報を顔文字の感情情報とするための装置であり、以下の処理を行う。
【００２２】
（１）感情語及び感情情報の抽出方式は、ＰＬＳＩ(Probabilistic Latent Semantic Indexing)若しくはその改良版であるＬＤＡ(Latent Dirichlet Allocation)、Skip-gram等公知の方式を用いるものとする。いずれの方式を用いても本装置の入力、出力は同じである。
（２）感情語の抽出は、文を基本単位として行う。文が句点で区切られている場合は、句点若しくは句点相当の文字で区切られている単位を処理単位として感情語を抽出する。この処理単位を本発明では文節とする。
（３）顔文字を含む文若しくは文節の前後に位置する文若しくは文節の感情語を抽出する。
（４）抽出された感情語が感情語辞書４２に登録されており、かつ、登録されている感情情報の内容が同じ場合、感情語辞書４２に登録された内容をその感情語の感情情報とする。
（５）感情語が感情語辞書４２に登録されているが感情情報の内容が異なる場合、新たな感情情報にタイムスタンプをつけて登録する。
（６）感情語が感情語辞書４２に登録されていなかった場合は新規登録する。
（７）そして、その文若しくは文節に含まれているすべての感情語の感情情報の集合を、当該顔文字の感情情報として付加する。
（８）このとき、当該顔文字を含んだ文若しくは文節と、上記ステップで処理した文若しくは文節との距離情報を重みとして当該顔文字の感情情報に付加する。
【００２３】
（顔文字情報更新装置）
顔文字情報更新装置３０は、感情情報データベース４０に対して最新の解析結果を常に反映させるための装置である。前記感情情報付加装置の出力結果に、顔文字が使われる状況を付加し、顔文字辞書４１に登録する。そのため、以下の処理を行う。
【００２４】
（１）顔文字を抽出した元テキストの状況を示す情報（後述）、顔文字を含んだ文を解析して、顔文字が使用された状況（場所、使用者など）を表すキーワードを抽出して、顔文字が使われた状況を示す情報として保存する。
（２）顔文字が顔文字辞書４１に登録されていなかった場合、及び顔文字が顔文字辞書４１に登録されているが感情情報の内容が異なる場合には、新たな顔文字情報としてタイムスタンプをつけて登録する。
【００２５】
（機能構成）
図２は、本発明の実施形態に係る顔文字感情情報抽出システムの機能構成を示す図である。以下では概要で示した機能を機能構成図で説明する。図示するように、本システムは、データベース（ＤＢ）として、顔文字辞書４１と、感情語辞書４２と、ノイズパターン１２（ノイズパターン・データベース）とを備える。また、外部のデータベースとして、日本語辞書５１と、コーパス５２と、外部データ５３とに接続されている。また、処理部として、顔文字抽出部１１、感情情報抽出部２１、感情情報付加部２２、使用状況解析部３１、辞書更新部３２、外部データ登録部６０とから構成される。その他、管理者端末７０を構成に含めてもよい。ただし、このような構成だけに限定されるものではない。以下、上記の処理部を中心にして順に説明する。
【００２６】
外部データ登録部６０は、顔文字及び感情情報に関する既知の情報であって本システムの外部に存在する情報（外部データ５３）を選択し、感情語辞書４２、顔文字辞書４１に登録・更新する。外部データ５３は、本システムの初期データのセットアップで所与のデータである。感情語が含まれている文書における他の感情語とその発生頻度を感情情報とする。初期の感情情報（後述の図３参照）は、例えば中村明による基本感情１０種類（「感情表現辞典」，六興出版１９７９／０８刊）等を参考して、予め感情の属性（属性ラベル）を決めておいてもよい。なお、外部データ５３の選択や追加、更新のタイミングは、本システムの設定による他、管理者端末７０からの指示を受けて行うようにしてもよい。
【００２７】
顔文字抽出部１１は、処理すべき文書のテキストデータの集合である元テキストを入力とし、顔文字と見なせる部分とノイズと見なせる部分を識別する。顔文字と識別した部分を顔文字辞書４１に格納される顔文字情報の見出し語として登録する。ノイズと識別した部分は、正規表現形式に変換して、ノイズパターン１２に登録する。この識別には、日本語辞書５１とコーパス５２を参照する。日本語辞書５１は、構文解析器（ＣｈａｓｅｎやＭｅＣａｂ等）が参照する形態素情報を定義する電子化された辞書であり、公知のものでよい。また、コーパス５２も、外部のデータベース（例えば、国立国語研究所の「KOTONOHA計画」のデータベース等）を利用してもよい。なお、顔文字抽出部１１とノイズパターン１２が顔文字抽出装置１０を構成するが、その構成だけに限定されない。
【００２８】
顔文字抽出部１１は、まず元テキストの半角文字を全角文字に変換する。全角変換するのは、構文解析器５が英文法に基づいて解析するのを避けるためである。つぎに、顔文字を抽出するために、元テキストから「未知語」を抽出する。顔文字も未知語として抽出される。そして、未知語をさらに「ノイズ」と顔文字とに切り分ける（弁別する）。ここでいうノイズとは、日本語辞書５１にない用語であって、かつ顔文字として判別できない文字列を意味する。ノイズと顔文字を切り分ける方法の詳細については後述する。そして、顔文字と判定された文字列のパターンを顔文字辞書４１にデータベース化して登録・更新し、ノイズと判定された文字列のパターンをノイズパターン１２にデータベース化して登録・更新する。ただし、ノイズは文字列をそのまま保存するのではなく、正規表現に変換して保存する。
【００２９】
感情情報抽出部２１は、感情語辞書４２を参照し、顔文字抽出部１１によって抽出された顔文字に含まれる「感情情報」を抽出する。感情情報の抽出方式としては、前述のＰＬＳＩ(Probabilistic Latent Semantic Indexing)若しくはその改良版であるＬＤＡ(Latent Dirichlet Allocation)、Skip-gram等の公知の方式を用いてよい。そして、感情情報付加部２２が、抽出された感情情報を顔文字に付加し、顔文字辞書４１に登録し、逐次更新していく。そして、登録・更新された顔文字と感情情報は、次回の顔文字の抽出と、その顔文字に対する感情情報の付加時に参照される。なお、感情情報抽出部２１と感情情報付加部２２が感情情報付加装置２０を構成するが、その構成だけに限定されない。
【００３０】
さらに、感情情報付加部２２は、付加した感情語の文脈情報を解析して付加する。顔文字が表す感情は、単文だけで判断しても抽出できないことがあるからである。このとき管理者端末７０から人間の手によって妥当かどうかを判断してもよい。すなわち、文脈による顔文字の感情の変化を分析し、顔文字辞書４１に登録されている感情情報とのズレを調整する。さらに、顔文字が使われる「状況」を付加する。なお、使用状況解析部３１と辞書更新部３２が顔文字情報更新装置３０を構成するが、その構成だけに限定されない。
【００３１】
管理者端末７０は、人間の手によって、感情情報データベース４０を適宜チェックし、必要があれば修正する手段を備えた端末である。また、管理者端末７０は、本システムの設定（元テキスト、コーパス５２、外部データ５３等の選択や更新タイミング等の設定）を指示するための手段も有する。
【００３２】
（感情情報データベース）
図３は、本発明の実施形態に係る感情情報データベース４０（感情語辞書４２及び顔文字辞書４１）のデータ構造の一例を示す図である。感情情報データベース４０は、感情語辞書４２と顔文字辞書４１で構成される。感情情報データベース４０は、「構造化意味情報」で表現したデータベースである。「構造化意味情報」とは、Word Vector（キーワードとキーワードの文書内での出現頻度を要素とする行列）で表現されたBag-of-words（文書中の語からキーワードの集合を作り、文書における発生頻度を特徴量として付加したもの）で表現できるような形式を意味する。
【００３３】
感情語辞書４２の構造化意味情報は、見出し語と見出し語の意味を表現する属性群からなる行列及びタイムスタンプから構成される。行列の要素は、見出し語の発生状態に関する数値情報（発生確率等の発生頻度と相関する数値）である。ここでいう見出し語は、一般に感情を表す用語として確立している用語（例えば、「うれしい」、「楽しい」等）を意味する。また見出し語の意味を表現する属性とは、感情を表すキーワードで表現する。ここでは、感情を表すキーワードとして、前述の基本感情１０種類（「喜」（喜び）、「怒」（怒り）、「哀」（哀しみ）、「怖」（恐怖心）、「恥」（羞恥心）、「好」（好感）、「厭」（嫌悪感）、「昴」（高揚感）、「安」（安心感）、「驚」（驚き））を示しているが、これらに限定されるものではない。ここで、キーワードとは文、あるいは文書の意味を表わす統制された単語である。ただし、動詞、形容動詞の場合は、活用は無視して、原形を使用する。タイムスタンプは、その用語を抽出した文書の発行日等が特定できる場合は、時間に関する情報を記載したものである。
【００３４】
顔文字辞書４１の構造化意味情報は、見出し語と見出し語の意味を表現する属性群からなる行列、タイムスタンプ、文脈情報、使用状況を示すキーワード群から構成される。ここでの見出し語は顔文字が格納される。見出し語の意味表現に用いる行列の各セルの値は、発生確率等の発生頻度と相関する数値が格納される。例えば、図３（ｂ）の見出し語の顔文字“（＾０＾）”は、「喜」の感情が０．８、「好」の感情が０．１の確率で存在することを意味している。タイムスタンプは、その用語を抽出した文書の発行日等が特定できる場合は、時間に関する情報を記載したもので図３（ａ）の場合と同様である。
【００３５】
顔文字辞書４１には、感情語辞書４２にはない「文脈情報」と「使用状況キーワード」が追加される。感情表現は、使用される状況や時期によって感情内容が変化すると考えられるからである。
【００３６】
ここで、文脈情報とは、顔文字が抽出された文節と、感情を表す用語が別々の文節に抽出された場合、その文節間あるいは文間の距離情報に応じて、顔文字に付加する感情情報の値に重み付けをするための係数である。例えば、図３（ｂ）の顔文字“（＾ω＾）”の文脈情報には、「０．５」と格納されているが、これは抽出された感情情報の値が通常の２分の１として重み付けしてもよいことを意味する。具体例については後述の図８で説明する。
【００３７】
また、使用状況キーワードとは、抽出した元テキストの状況を示す情報であり、元テキストの出典と、付随して得られる情報があれば、その情報をキーワード化して格納する。例えば、元テキストがブログやツイートであれば、その文章を発信した人物の年齢、性別、場所等を特定できる可能性が高いので、それらの情報をキーワードとして顔文字辞書４１に格納する。
【００３８】
なお、感情情報の抽出は元テキストから自動的に抽出する。ただし、抽出された結果を、人間がチェック及び修正を定期的に行うようにしてもよい。
【００３９】
上記のシステムの機能構成は、あくまで一例であり、一つの機能ブロック（データベース及び処理部）を分割したり、複数の機能ブロックをまとめて一つの機能ブロックとして構成したりしてもよい。各処理部は、装置に内蔵されたＣＰＵ（Central  Processing  Unit）が、ＲＯＭ（Read  Only  Memory）またはハードディスク等の記憶装置に格納されたコンピュータ・プログラムを読み出し、又は外部からダウンロードし、ＣＰＵにより実行されたコンピュータ・プログラムによって実現される。すなわち、各処理部は、このコンピュータ・プログラムが、記憶装置に格納されたデータベース（ＤＢ;Data  Base)やメモリ上の記憶領域からテーブル等の必要なデータを読み書きし、場合によっては、関連するハードウェア（例えば、入出力装置、表示装置、通信インターフェース装置）を制御することによって実現される。また、本発明の実施形態におけるデータベース（ＤＢ）は、商用データベースであってよいが、単なるテーブルやファイルの集合体をも意味し、データベースの内部構造自体は問わないものとする。
【００４０】
（顔文字抽出の処理フロー）
以下、顔文字抽出部１１の処理についてさらに詳しく説明する。既に述べたように、既存の方式では、元データのノイズ除去と顔文字の抽出とを逐次実行している。この方式の問題点として、顔文字の識別精度、若しくはノイズの識別精度のどちらか一方あるいは双方が悪くなる可能性がある。したがって、本システムの顔文字抽出部１１では、ノイズ除去と顔文字の抽出を並行実行することにより、顔文字の抽出の精度を上げると共に、ノイズ要素検出の精度向上を図っている。具体的には、テキストから未知語を抽出し、未知語を対象として顔文字と見なせる部分と、ノイズと見なせる部分を判別し、保存する。
【００４１】
図４は、顔文字とノイズパターンを抽出するイメージを示した図である。抽出した顔文字は顔文字辞書４１に格納される。ただし、顔文字辞書４１には、その他の情報も格納されるのでこれについては後述する。また、図のノイズパターンの例は、正規化表現した例で、“/[2,5]”は、“/”の出現回数が２以上で５以下であることを示している。
【００４２】
図５は、顔文字抽出の処理フローを示した図である。ステップＳ１では、既に述べたように、元テキストの半角（１バイト文字）の英数字、記号、カタカナを全角文字（複数バイト文字）に変換する。そして以下のステップＳ２〜Ｓ５を元テキストの文ごとに実施する。
【００４３】
ステップＳ２では、全角変換した文を構文解析（形態素解析）する。構文解析の結果、得られた形態素を日本語辞書５１、コーパス５２と照合することによって、未知語と判別された文字列をノイズ若しくは顔文字の候補とする。文字列が識別コードを付された絵文字やスタンプであっても同様である。
【００４４】
そしてステップＳ３では、ステップＳ２の結果、未知語と判別された語と既知情報（顔文字辞書４１に格納された顔文字パターン、ノイズパターン１２、コーパス５２）とを照合する。コーパス５２と照合するのは未知語若しくはその部分の使用状況を確認するためである。未知語とされた語の文字数が複数の場合、最初の１文字目、２文字目、・・・、ｎ文字目と文字数を増やしながら照合を行い、各場合の照合結果を求める。先頭の一文字目の処理が終了したら、２文字目から同様の処理を行う。以下、成分の（最終−１）文字目まで、同様の処理を行う。つまり、未知語を構成する文字列パターン全てを、顔文字辞書４１に登録された顔文字の文字列パターン及びノイズパターン１２に登録されたノイズの文字列パターンと照合する。
【００４５】
ステップＳ４では、上記の照合の結果から、未知語とされた語を対象に、未知語内の文字の区切り位置の違いによる各パターンの発生確率を計算し、その発生確率が最大である区切りを決定する。ステップＳ５では、ステップＳ４で決定した区切り位置に基づいて、未知語から顔文字若しくはノイズを切り出す。切り出した顔文字若しくはノイズを用いて、既知情報のうち、顔文字辞書４１とノイズパターン１２を更新する。つまり、各パターンの発生確率を最大にするような未知語の中の文字の区切りを決定し、その区切りによって顔文字の文字列の範囲を特定し、顔文字辞書４１に登録する。ノイズとして切り出した文字列は、正規表現に変換後、ノイズパターン１２に登録する。
【００４６】
（具体例１）
図６は、図５のフローを実施した具体例１を示す図である。この例では、元テキストの“- 金土とストレスが少ないから爽快な気分(^ω^)////”という文について、顔文字、ノイズ抽出の具体的な処理結果が示されている。
【００４７】
この文は半角文字と全角文字が混じっているが、まず全角変換を行った後、未知語を抽出した結果は、“−  CNTL-A（^ω＾）／／／／”となる。ただし、CNTL-Aはダミーの区切り文字で、その位置に既知語又はその文章が存在していたことを示す。また、図中の“［”、“］”は、抽出結果には含まれないが、ノイズと顔文字の区切りを示すためのメタ記号である。この時点では、“−  ”と“（^ω＾）／／／／”がノイズ候補及び顔文字候補であるが、それぞれの候補に対して、１文字ずつ区切り位置を変化させ、顔文字辞書、ノイズパターン、コーパスと照合し、一致度を計算することによって、全ての区切り位置での文字パターンの発生確率を計算し、発生確率の最も高い区切りの文字列のパターンを見つけ、最終的に顔文字が“（＾ω＾）”で、ノイズが“−  ”と“／／／／”であると抽出される。ここでは、“／／／／”は、ノイズとして抽出されているが、“（＾ω＾）”と“／”の発生確率（共起確率）が高くなれば、“（＾ω＾）／”や“（＾ω＾）／／”等も一つの顔文字として抽出されることになる。
【００４８】
（具体例２）
図７は、図５のフローを実施した具体例２を示す図である。この例では、元テキストの“- 7位 蟹座 苦手な人に関わっていると、前に進めなくなりそう。心を広く持ってサラっと受け流すのも、ストレスを溜めないコツです。 ■ラベンダーつまようじ ┐(-。-;)┌ヤレヤレ”という文について、顔文字、ノイズ抽出の具体的な処理結果が示されている。
【００４９】
この文も半角（記号とカタカナを含む）と全角が混じった文である。さらに複数の文節が記号“■”で区切られている。このような文であってもまず、全角変換を行った後、顔文字辞書、ノイズパターン、コーパスと照合を行い、未知語を抽出した結果は、“−  CNTL-A■CNTL-A┐（―。−；）┌CNTL-A”となる。この段階では、“■”は未知語として抽出されている。CNTL-Aは前図と同様に、ダミーの区切り文字である。最終段階でも“■”はノイズとして抽出される。
【００５０】
（具体例３）
図８は、顔文字感情情報抽出システム１００の全体の処理の流れをまとめた具体例を示す図である。この例では、元テキストの“楽しいもんはやめられないもんね●コンサートはストレス発散にもなるしな(^ω^)////”という文について、（１）顔文字とノイズの抽出、（２）感情情報の抽出と付加、及び文脈による重み係数付加、（３）顔文字情報の更新（使用状況キーワード付加）の実行例を示したものである。
【００５１】
この例では、上記の文が“●”が文節の区切りであると判定され、文節１と文節２に分けられている。また、文節１から「楽しい」という感情情報のキーワードが抽出され、文節２から顔文字“（＾ω＾）”が抽出されている。
【００５２】
感情語辞書４２の見出し語「楽しい」には、「喜」属性に「０．６」、「好」属性に「０．２」、「安」属性に「０．２」が格納されているとすると、これらの数値を顔文字辞書４１の“（＾ω＾）”に感情情報として付加する。ただし、“（＾ω＾）”は、顔文字辞書４１に今回初めて登録された顔文字とする。さらに顔文字が抽出された文節と「楽しい」が抽出された文節が異なるので、文節間の距離情報に応じて、文脈情報の係数が「０．５」として登録される。上記の場合は、文節間の距離（又は該当する文字間の距離）は隣接（距離「１」とする）しているが、文節間の距離がもっと離れていれば、文脈情報の係数もしだいに小さくなり、例えば、さらに文節間の距離が「１」離れるごとに係数も半分になるとすれば、「０．２５」、「０．１２５」等となる。
【００５３】
なお、上記の実施形態では、本発明をシステム又は装置とし、物の発明として説明したが、本発明は、方法の発明、コンピュータ・プログラムの発明としても捉えることもできる。
【００５４】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００５５】
５  構文解析器
１０  顔文字抽出装置
１１  顔文字抽出部
１２  ノイズパターン
２０  感情情報付加装置
２１  感情情報抽出部
２２  感情情報付加部
３０  顔文字情報更新装置
３１  使用状況解析部
３２  辞書更新部
４０  感情情報データベース
４１  顔文字辞書
４２  感情語辞書
５０  外部データベース
５１  日本語辞書
５２  コーパス
５３  外部データ
６０  外部データ登録部
７０  管理者端末
１００  顔文字感情情報抽出システム
【図１】
0006508676.tif 000002
【図２】
0006508676.tif 000003
【図３】
0006508676.tif 000004
【図４】
0006508676.tif 000005
【図５】
0006508676.tif 000006
【図６】
0006508676.tif 000007
【図７】
0006508676.tif 000008
【図８】
0006508676.tif 000009