JP5013539B2 - 顔文字検出装置、その方法、プログラム及び記録媒体 - Google Patents

顔文字検出装置、その方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP5013539B2
JP5013539B2 JP2008270559A JP2008270559A JP5013539B2 JP 5013539 B2 JP5013539 B2 JP 5013539B2 JP 2008270559 A JP2008270559 A JP 2008270559A JP 2008270559 A JP2008270559 A JP 2008270559A JP 5013539 B2 JP5013539 B2 JP 5013539B2
Authority
JP
Japan
Prior art keywords
character
text
html tag
emoticon
divided
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
JP2008270559A
Other languages
English (en)
Other versions
JP2010102371A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008270559A priority Critical patent/JP5013539B2/ja
Publication of JP2010102371A publication Critical patent/JP2010102371A/ja
Application granted granted Critical
Publication of JP5013539B2 publication Critical patent/JP5013539B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、HTMLソーステキスト等のHTMLタグを含むテキスト中の顔文字を検出する技術に関する。
顔文字とは、テキスト中で使用可能な文字を組み合わせて様々な感情等に対応する擬似的な人の表情を表すようにしたもので、パーソナルコンピュータや携帯電話における電子メールなどのテキストベースのコミュニケーションツールにおいて、書き手(送信側)の感情等を読み手(受信側)に伝える手段として用いられることが多い。例えば、「今日はとっても楽しかったです。(^^)明日も楽しみ!」というテキスト中の文字列「(^^)」が顔文字であり、この場合、「喜び」の感情を表している。
従来、テキスト中の顔文字を検出する技術としては、既存のHTMLタグ除去技術、形態素解析技術を利用してテキスト中の各文字が属する形態素の品詞を抽出し、これを当該テキスト中の各文字の表記とともに素性として用いて、顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”(以下、これらを顔文字タグと呼ぶ。)のいずれに当たるかを機械学習で推定(判定)する方法があった(非特許文献1参照)。例えば、「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」というテキストにおいて、文字「(」が顔文字タグ“B”であることを推定する場合は、図1に示すような太線内の情報を素性として利用していた。
図2は前述した従来の顔文字検出技術にかかる装置の一例を示すもので、HTMLタグ除去部1、形態素解析部2、文字分割部3、形態素品詞抽出部4、モデル記憶部5およびBIO判定部6からなる。
HTMLタグ除去部1では、既存のHTMLタグ除去技術により、入力されたテキストからHTMLタグを除去する。例えば、入力されたテキストが「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」の場合、HTMLタグ“<br>”が除かれ、「今日はとっても楽しかったです。(^^)明日も楽しみ!」となる。
形態素解析部2では、既存の形態素解析技術により、HTMLタグ除去部1でHTMLタグが除去されたテキストを単語に区切り、さらに各単語に品詞を付与する。例えば、HTMLタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ!」の場合、区切り記号を“/”、品詞を“[品詞]”で表すと、「今日[名詞]/は[助詞]/とっても[副詞]/楽し[形容詞]/かった[形容詞接尾辞]/です[助動詞]/。[記号-句点]/([記号-括弧開]/^[記号-その他]/^[記号-その他]/)[記号-括弧閉]/明日[名詞]/も[助詞]/楽しみ[名詞]/![記号-その他]」となる。
文字分割部3では、HTMLタグ除去部1でHTMLタグが除去されたテキストを文字単位(文字コード単位)に分割する。例えば、前記同様、HTMLタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ!」の場合、区切り記号を“/”で表すと、「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」となる。
形態素品詞抽出部4では、形態素解析部2での結果と文字分割部3での結果とを入力とし、入力されたテキスト中の各文字の表記および各文字が属する形態素の品詞を抽出する。例えば、形態素解析部2での結果が「今日[名詞]/は[助詞]/とっても[副詞]/楽し[形容詞]/かった[形容詞接尾辞]/です[助動詞]/。[記号-句点]/([記号-括弧開]/^[記号-その他]/^[記号-その他]/)[記号-括弧閉]/明日[名詞]/も[助詞]/楽しみ[名詞]/![記号-その他]」であり、文字分割部3での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」である場合、図3に示すような結果が得られる。
モデル記憶部5では、予め機械学習により生成した、少なくともテキスト中の各文字の表記および各文字が属する形態素の品詞を素性、詳細には図1に示したようにテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの形態素の品詞および前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部6では、形態素品詞抽出部4での結果を入力とし、モデル記憶部5に記憶されたモデルを用いて、テキスト中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する。例えば、図3に示した結果が入力された場合、図4に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの形態素の品詞および前n文字についてのBIO判定結果を素性としてモデル記憶部5に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」を、例えばXML形式「<face>(^^)</face>」で出力する。
モデル記憶部5に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ除去部1、形態素解析部2、文字分割部3、形態素品詞抽出部4での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割されたテキスト中の各文字の表記および各文字が属する形態素の品詞の情報と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。
この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。系列ラベリング問題とは、与えられた入力トークン列x=(x1,x2,…xN)に対して、適切な出力ラベル列y=(y1,y2,…yN)を対応づける問題である。
田中裕紀、高村大也、奥村学、「文字ベースのコミュニケーションにおける顔文字に関する研究」、言語処理学会第10回年次大会、D4−3、2004
ところで、HTMLソーステキストの場合、HTMLタグが顔文字の途中に出現することは非常に少ない。つまり、顔文字はHTMLタグの出現位置を跨いで繋がらない、言い換えればHTMLタグの直後の文字は“I”にならないという傾向を有する。例えば、「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」というテキストでは、顔文字「(^^)」の途中にはHTMLタグが存在しない。
前述した従来の顔文字検出技術では、入力されたテキストにHTMLタグが含まれている場合、前処理でHTMLタグを除去し、その情報を全く利用していないため、適切に顔文字を検出できないという問題があった。
本発明の目的は、テキストからの顔文字検出において、HTMLソーステキストにおける顔文字の出現傾向を捉え、検出精度を向上することにある。
本発明では、前記目的を達成するため、HTMLタグを含むテキスト中のHTMLタグの出現位置を検出して記憶しておき、一方、前記テキストからHTMLタグを除去するとともに文字単位に分割し、該HTMLタグが除去され、文字単位に分割された前記テキストを、前記記憶した前記テキストにおけるHTMLタグの出現位置で複数の系列に分割し、分割後の前記テキスト中の各文字の表記を少なくとも素性として用いて、顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを機械学習で推定(判定)することを特徴とする。例えば、「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」というテキストにおいて、文字「(」が顔文字タグ“B”であることを推定する場合は、図5に示すような太線内の情報を素性として利用する。
本発明によれば、HTMLタグが除去され、文字単位に分割されたテキストを、HTMLタグの出現位置で複数の系列に分割した上で、少なくともテキスト中の各文字の表記を素性として機械学習で推定(判定)するため、顔文字はHTMLタグを跨いで繋がらない、言い換えればHTMLタグの直後の文字は“I”にならないという、HTMLソーステキストにおける顔文字の出現傾向を捉え、検出精度を向上することが可能となる。
<第1の実施の形態>
図6は本発明の顔文字検出装置の第1の実施の形態を示すもので、図中、従来例と同一構成部分は同一符号をもって表す。即ち、1はHTMLタグ除去部、3は文字分割部、11はHTMLタグ検出部、12はHTMLタグ記憶部、13はテキスト分割部、14はモデル記憶部、15はBIO判定部である。
HTMLタグ検出部11は、HTMLタグを含むテキストからHTMLタグを検出し、該検出したHTMLタグの先頭の文字位置を出現位置として取得する。ここで、HTMLタグを検出する具体的な方法としては、テキスト中で使用されるHTMLタグの集合を格納したリストを予め用意しておき、入力されたテキストに対してリスト内のHTMLタグ毎にパターンマッチングを行うことでできる。また、入力されたテキストはそのままHTMLタグ除去部1へ出力される。
HTMLタグ記憶部12は、HTMLタグ検出部11で検出されたHTMLタグを前記テキストにおけるその出現位置とともに記憶する。また、この際、後述するHTMLタグ除去後のテキストにおける文字位置との整合を図るため、検出したHTMLタグの文字数を併せて記憶しておくものとする。なお、HTMLタグの文字数は、パターンマッチングの際にHTMLタグと一致した文字列の先頭および末尾の文字位置の差から求める外、前述したHTMLタグのリストにおいて予め各HTMLタグに対応づけてその文字数を格納しておき、ここから読み出すようにしても良い。
テキスト分割部13は、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位(文字コード単位)に分割されたテキストと、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割して出力する。
詳細には、HTMLタグが除去され、文字単位に分割されたテキスト中の一の文字の文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はその一つ前の文字位置までの文字列を一つの系列として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。また、テキスト中の最初の文字の文字位置で一致した(つまり、テキストの文頭にHTMLタグがある)場合は何も出力せず、最後の文字の文字位置まで一致しない(つまり、テキストの文末にHTMLタグがある)場合はそれまでの文字列を一つの系列として出力するものとする。
モデル記憶部14は、予め機械学習により生成した、少なくともテキスト中の各文字の表記を素性、詳細には図5に示したようにテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記および前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部15は、テキスト分割部13での結果を入力とし、モデル記憶部14に記憶されたモデルを用いて、テキストの各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“B”および“I”に対応する文字列「xxxx」を記述したXML形式「<face>xxxx</face>」で出力する。
モデル記憶部14に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ検出部11、HTMLタグ記憶部12、HTMLタグ除去部1、文字分割部3、テキスト分割部13での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割されたテキスト中の各文字の表記と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
図7は本実施の形態の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明する。
HTMLタグ検出部11に入力されたテキスト(HTMLタグを含むテキスト)は、当該テキスト中のHTMLタグが検出され、その出現位置および文字数が該検出されたHTMLタグとともにHTMLタグ記憶部12に出力されて記憶される(s1)。例えば、入力テキストが「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」であれば、1つ目のHTMLタグ“<br>”の先頭の文字位置は「20」であり、2つ目のHTMLタグ“<br>”の先頭の文字位置は「31」であり、文字数はいずれも「4」であるから、図8に示すような結果が得られる。なお、図8中の「タグ番号」とは、後述する説明のために出現順に単純に付与した、テキスト中のHTMLタグの識別番号である。また、入力されたテキストはそのままHTMLタグ除去部1へ出力される。
HTMLタグ除去部1に入力されたテキストは、既存のHTMLタグ除去技術により、当該テキスト中のHTMLタグが除去され、文字分割部3に出力される(s2)。例えば、入力テキストが「今日はとっても楽しかったです。(^^)<br>明日も楽しみ!<br>」であれば、HTMLタグ“<br>”が除かれ、「今日はとっても楽しかったです。(^^)明日も楽しみ!」となる。
文字分割部3では、HTMLタグ除去部1でHTMLタグが除去されたテキストを文字単位(文字コード単位)に分割し、テキスト分割部13に出力する(s3)。例えば、HTMLタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ!」の場合、区切り記号を“/”で表すと、「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」となる。
テキスト分割部13では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割してBIO判定部15に出力する(s4)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割されたテキストが「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」であった場合、図9に示すような結果が得られる。
即ち、文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の一つ前の文字位置「19」までの文字列「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)」を第1の系列(i)として出力する。一方、最後の文字「!」の文字位置「26」まで、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」と一致しないため、それまでの文字列「明/日/も/楽/し/み/!」を第2の系列(ii)として出力する。
BIO判定部15では、テキスト分割部13での結果を入力とし、モデル記憶部14に記憶されたモデルを用いて、テキストの各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する(s5)。例えば、図9に示した結果のうち、第1の系列(i)が入力された場合、図10に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記および前n文字についてのBIO判定結果を素性としてモデル記憶部14に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」をXML形式「<face>(^^)</face>」で出力する。一方、図9に示した結果のうち、第2の系列(ii)が入力された場合、図11に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記および前n文字についてのBIO判定結果を素性としてモデル記憶部14に記憶されたモデルに入力してBIO判定結果を得るが、ここでは顔文字タグと判定された文字列はなく、何も出力されない。
<第2の実施の形態>
図12は本発明の顔文字検出装置の第2の実施の形態、ここでは素性として少なくともテキスト中の各文字の表記とともにその文字種を用いた例を示すもので、図中、第1の実施の形態と同一構成部分は同一符号をもって表す。即ち、1はHTMLタグ除去部、3は文字分割部、11はHTMLタグ検出部、12はHTMLタグ記憶部、21は文字種抽出部、22はテキスト分割部、23はモデル記憶部、24はBIO判定部である。
文字種抽出部21は、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位(文字コード単位)に分割されたテキスト中の各文字を入力とし、該各文字の文字種(ひらがな、カタカナ、漢字、記号など)を抽出し、これを当該テキスト中の各文字の表記に対応させて出力する。
ここで、文字種を抽出する具体的な方法としては、文字コードと文字種とを対応づけたテーブルを予め用意しておき、テキスト中の各文字の文字コードに従ってテーブルを参照し、対応する文字種を読み出すことによって行うことができる。文字コードとしてシフトJISコードを用いた場合のテーブルの一例を図13に示す。
テキスト分割部22は、文字種抽出部21での結果と、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその文字種が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割して出力する。
詳細には、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその文字種が付与されたテキスト中の一の文字の文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はその一つ前の文字位置までの文字列を一つの系列として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。また、テキスト中の最初の文字の文字位置で一致した(つまり、テキストの文頭にHTMLタグがある)場合は何も出力せず、最後の文字の文字位置まで一致しない(つまり、テキストの文末にHTMLタグがある)場合はそれまでの文字列を一つの系列として出力するものとする。
モデル記憶部23は、予め機械学習により生成した、少なくともテキスト中の各文字の表記およびその文字種を素性、詳細には図14に示すようなテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字種および前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部24は、テキスト分割部22での結果を入力とし、モデル記憶部23に記憶されたモデルを用いて、テキストの各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“B”および“I”に対応する文字列「xxxx」を記述したXML形式「<face>xxxx</face>」で出力する。
モデル記憶部23に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ検出部11、HTMLタグ記憶部12、HTMLタグ除去部1、文字分割部3、文字種抽出部21、テキスト分割部22での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割されたテキスト中の各文字の表記およびその文字種の情報と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
図15は本実施の形態の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明するが、HTMLタグ検出・記憶処理s1、HTMLタグ除去処理s2、文字分割処理s3については第1の実施の形態の場合と同様であるから省略する。
文字種抽出部21では、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割されたテキスト中の各文字について、その文字種を抽出し、これを当該テキスト中の各文字の表記に対応させてテキスト分割部22に出力する(s11)。例えば、文字分割部3での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」である場合、図16に示すような結果が得られる。
テキスト分割部22では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割され、文字種抽出部21で各文字毎にその文字種が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割してBIO判定部24に出力する(s12)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割され、各文字毎にその文字種が付与されたテキストが図16に示したものであった場合、図17に示すような結果が得られる。
即ち、文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の一つ前の文字位置「19」までの文字列「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)」を第1の系列(i)として出力する。一方、最後の文字「!」の文字位置「26」まで、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」と一致しないため、それまでの文字列「明/日/も/楽/し/み/!」を第2の系列(ii)として出力する。
BIO判定部24では、テキスト分割部22での結果を入力とし、モデル記憶部23に記憶されたモデルを用いて、テキストの各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する(s13)。例えば、図17に示した結果のうち、第1の系列(i)が入力された場合、図18に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字種および前n文字についてのBIO判定結果を素性としてモデル記憶部23に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」をXML形式「<face>(^^)</face>」で出力する。一方、図17に示した結果のうち、第2の系列(ii)が入力された場合、図19に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字種および前n文字についてのBIO判定結果を素性としてモデル記憶部23に記憶されたモデルに入力してBIO判定結果を得るが、ここでは顔文字タグと判定された文字列はなく、何も出力されない。
<第3の実施の形態>
HTMLソーステキストの場合、HTMLタグが顔文字の途中に出現することは非常に少ないという傾向の外、顔文字は“<br>”などのHTMLタグの直前に出現することが多いという出現傾向がある。このような出現傾向もまた、顔文字の検出に有効であると思われる。
図20は本発明の顔文字検出装置の第3の実施の形態、ここでは素性として少なくともテキスト中の各文字の表記とともに当該文字の直前および直後にHTMLタグがあったかどうか、あった場合はどのようなHTMLタグかを表すHTMLタグ情報を用いた例を示すもので、図中、第1の実施の形態と同一構成部分は同一符号をもって表す。即ち、1はHTMLタグ除去部、3は文字分割部、11はHTMLタグ検出部、12はHTMLタグ記憶部、31はHTMLタグ情報生成部、32はテキスト分割部、33はモデル記憶部、34はBIO判定部である。
HTMLタグ情報生成部31は、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位(文字コード単位)に分割されたテキストと、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグ、その出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割されたテキスト中の各文字の直前および直後にHTMLタグがあったかどうかを判定し、あった場合はそのHTMLタグを、また、なかった場合は無しを意味するHTMLタグ(ここではNULL)をHTMLタグ情報として、当該テキスト中の各文字の表記に対応させて出力する。
詳細には、HTMLタグが除去され、文字単位に分割されたテキスト中の一の文字の直前の文字位置および直後の文字位置、実際には当該文字の文字位置およびこれに1を加えた文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はそのHTMLタグをHTMLタグ情報として出力し、また、一致しない場合はタグ無しを意味するHTMLタグ(NULL)をHTMLタグ情報として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。
テキスト分割部32は、HTMLタグ情報生成部31での結果と、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその直前および直後のHTMLタグ情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割して出力する。
詳細には、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその直前および直後のHTMLタグ情報が付与されたテキスト中の一の文字の文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はその一つ前の文字位置までの文字列を一つの系列として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。また、テキスト中の最初の文字の文字位置で一致した(つまり、テキストの文頭にHTMLタグがある)場合は何も出力せず、最後の文字の文字位置まで一致しない(つまり、テキストの文末にHTMLタグがある)場合はそれまでの文字列を一つの系列として出力するものとする。
モデル記憶部33は、予め機械学習により生成した、少なくともテキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報を素性、詳細には図21に示すようなテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの直前および直後のHTMLタグ情報、更には前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部34は、テキスト分割部32での結果を入力とし、モデル記憶部33に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“B”および“I”に対応する文字列「xxxx」を記述したXML形式「<face>xxxx</face>」で出力する。
モデル記憶部33に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ検出部11、HTMLタグ記憶部12、HTMLタグ除去部1、文字分割部3、HTMLタグ情報生成部31、テキスト分割部32での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割されたテキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
図22は本実施の形態の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明するが、HTMLタグ検出・記憶処理s1、HTMLタグ除去処理s2、文字分割処理s3については第1の実施の形態の場合と同様であるから省略する。
HTMLタグ情報生成部31では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグ、その出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割されたテキスト中の各文字について、その直前および直後にHTMLタグがあったかどうかを判定し、あった場合はそのHTMLタグを、また、なかった場合は無しを意味するHTMLタグ(NULL)をHTMLタグ情報として、当該テキスト中の各文字の表記に対応させてテキスト分割部32に出力する(s21)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグ、その出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割されたテキストが「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」であった場合、図23に示すような結果が得られる。
即ち、文字位置「19」の文字「)」の直後の文字位置、つまり「19」に1を加えた文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「19」の文字「)」の直後のHTMLタグ情報は、当該タグ番号1のHTMLタグ“<br>”となる。同様に、文字位置「20」の文字「明」の直前の文字位置、つまり当該文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の文字「明」の直前のHTMLタグ情報も、当該タグ番号1のHTMLタグ“<br>”となる。一方、文字位置「26」の文字「!」の直後の文字位置、つまり「26」に1を加えた文字位置「27」と、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」とが一致するため、文字位置「26」の文字「!」の直後のHTMLタグ情報は、当該タグ番号2のHTMLタグ“<br>”となる。
テキスト分割部32では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割され、HTMLタグ情報生成部31で各文字毎にその直前および直後のHTMLタグ情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割してBIO判定部34に出力する(s22)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割され、各文字毎にその直前および直後のHTMLタグ情報が付与されたテキストが図23に示したものであった場合、図24に示すような結果が得られる。
即ち、文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の一つ前の文字位置「19」までの文字列「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)」を第1の系列(i)として出力する。一方、最後の文字「!」の文字位置「26」まで、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」と一致しないため、それまでの文字列「明/日/も/楽/し/み/!」を第2の系列(ii)として出力する。
BIO判定部34では、テキスト分割部32での結果を入力とし、モデル記憶部33に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する(s23)。例えば、図24に示した結果のうち、第1の系列(i)が入力された場合、図25に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の直前および直後のHTMLタグ情報、前n文字についてのBIO判定結果を素性としてモデル記憶部33に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」をXML形式「<face>(^^)</face>」で出力する。一方、図24に示した結果のうち、第2の系列(ii)が入力された場合、図26に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の直前および直後のHTMLタグ情報、前n文字についてのBIO判定結果を素性としてモデル記憶部33に記憶されたモデルに入力してBIO判定結果を得るが、ここでは顔文字タグと判定された文字列はなく、何も出力されない。
<第4の実施の形態>
顔文字を構成する文字列の細部に着目すると、“目”に当たる文字を2つ並べた文字列(“目目”)や、“目”に当たる文字を2つ並べ、更にその間に“口”に当たる文字を並べた文字列(“目口目”)(以下、これらを顔部分の文字列と呼ぶ。)を含むケースが多い。また、同一の顔部分の文字列が複数種類の顔文字に含まれる場合も多く、このような顔文字を構成する文字列の特徴は、顔文字の検出に有効であると思われる。
図27は本発明の顔文字検出装置の第4の実施の形態、ここでは素性として少なくともテキスト中の各文字の表記とともに当該文字が顔部分であるか否か(YesかNoか)を示す顔部分情報を用いた例を示すもので、図中、第1の実施の形態と同一構成部分は同一符号をもって表す。即ち、1はHTMLタグ除去部、3は文字分割部、11はHTMLタグ検出部、12はHTMLタグ記憶部、41は顔部分辞書記憶部、42は顔部分抽出部、43は顔部分情報生成部、44はテキスト分割部、45はモデル記憶部、46はBIO判定部である。
顔部分辞書記憶部41は、顔文字を構成する文字列中の顔部分の文字列の集合を登録してなる顔部分辞書を記憶している。図28に顔部分辞書の一例を示す。なお、図28では顔部分の元となる顔文字も併記しているが、同一の顔部分の文字列が複数種類の顔文字に含まれる場合があることを示すためであり、顔文字(の文字列)まで登録する必要があるということではない。
顔部分抽出部42は、HTMLタグ除去部1でHTMLタグが除去されたテキストから顔部分辞書記憶部41に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出、詳細にはテキストに対して顔部分辞書内の顔部分の文字列毎にパターンマッチングを行い、該マッチングした顔部分の文字列に対応する範囲の文字位置を取得する。なお、顔部分の文字列に対応する範囲の具体的な文字位置としては、当該範囲に含まれる全ての文字の文字位置の外、当該範囲の文頭側の文字および文末側の文字の文字位置のペアでも良い。
顔部分情報生成部43は、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位(文字コード単位)に分割されたテキストと、顔部分抽出部42で抽出された前記テキストにおける顔部分の範囲とを入力として、文字単位に分割されたテキスト中の各文字が顔部分であるか否かを判定、詳細には文字単位に分割されたテキスト中の各文字の位置と、抽出された前記テキストにおける顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報(ここではYes)を、一致しない場合は顔部分でないことを示す顔部分情報(ここではNo)を、当該テキスト中の各文字の表記に対応させて出力する。
なお、顔部分の文字列に対応する範囲の具体的な文字位置が当該範囲の文頭側の文字および文末側の文字の文字位置のペア、例えば「a,b」である場合は、文字単位に分割されたテキスト中の各文字の位置がa以上かつb以下のときを一致といい、aより小さい又はbより大きいときを不一致というものとする。
テキスト分割部44は、顔部分情報生成部43での結果と、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割され、更に各文字毎に顔部分情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割して出力する。
詳細には、HTMLタグが除去され、文字単位に分割され、更に各文字毎に顔部分情報が付与されたテキスト中の一の文字の文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はその一つ前の文字位置までの文字列を一つの系列として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。また、テキスト中の最初の文字の文字位置で一致した(つまり、テキストの文頭にHTMLタグがある)場合は何も出力せず、最後の文字の文字位置まで一致しない(つまり、テキストの文末にHTMLタグがある)場合はそれまでの文字列を一つの系列として出力するものとする。
モデル記憶部45は、予め機械学習により生成した、少なくともテキスト中の各文字の表記およびその顔部分情報を素性、詳細には図29に示すようなテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの顔部分情報および前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部46は、テキスト分割部44での結果を入力とし、モデル記憶部45に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“B”および“I”に対応する文字列「xxxx」を記述したXML形式「<face>xxxx</face>」で出力する。
モデル記憶部45に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ検出部11、HTMLタグ記憶部12、HTMLタグ除去部1、文字分割部3、顔部分辞書記憶部41、顔部分抽出部42、顔部分情報生成部43、テキスト分割部44での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割されたテキスト中の各文字の表記およびその顔部分情報と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
図30は本実施の形態の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明するが、HTMLタグ検出・記憶処理s1、HTMLタグ除去処理s2、文字分割処理s3については第1の実施の形態の場合と同様であるから省略する。
顔部分抽出部42では、HTMLタグ除去部1でHTMLタグが除去されたテキストから顔部分辞書記憶部41に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出し、その文字位置を取得する(s31)。例えば、HTMLタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ!」の場合、文字列「^^」が顔部分として抽出され、その文字位置は「17,18」となる。
なお、文字分割処理および顔部分抽出処理の順序は逆でも良く、あるいは同時であっても良い。
顔部分情報生成部43では、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割されたテキスト中の各文字の位置と、HTMLタグ除去部1でHTMLタグが除去された前記テキストに対して顔部分抽出部42で抽出された顔部分の範囲の文字位置とを比較し、一致する場合は顔部分であることを示す顔部分情報(Yes)を、一致しない場合は顔部分でないことを示す顔部分情報(No)を、当該テキスト中の各文字の表記に対応させてテキスト分割部44に出力する(s32)。例えば、文字分割部3での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」であり、顔部分抽出部42で抽出された顔部分の範囲の文字位置が「17,18」である場合、図31に示すような結果が得られる。
テキスト分割部44では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割され、顔部分辞書記憶部41、顔部分抽出部42および顔部分情報生成部43で各文字毎にその顔部分情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割してBIO判定部46に出力する(s33)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割され、各文字毎にその顔部分情報が付与されたテキストが図31に示したものであった場合、図32に示すような結果が得られる。
即ち、文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の一つ前の文字位置「19」までの文字列「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)」を第1の系列(i)として出力する。一方、最後の文字「!」の文字位置「26」まで、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」と一致しないため、それまでの文字列「明/日/も/楽/し/み/!」を第2の系列(ii)として出力する。
BIO判定部46では、テキスト分割部44での結果を入力とし、モデル記憶部45に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する(s34)。例えば、図32に示した結果のうち、第1の系列(i)が入力された場合、図33に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の顔部分情報、前n文字についてのBIO判定結果を素性としてモデル記憶部45に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」をXML形式「<face>(^^)</face>」で出力する。一方、図32に示した結果のうち、第2の系列(ii)が入力された場合、図34に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の顔部分情報、前n文字についてのBIO判定結果を素性としてモデル記憶部45に記憶されたモデルに入力してBIO判定結果を得るが、ここでは顔文字タグと判定された文字列はなく、何も出力されない。
<第5の実施の形態>
顔文字を構成する文字列、例えば「(^^)」、「(`´)」、「(^o^)」、「(^◇^)」、「\(^◇^)/」、「(> <)」、「(T T)」、「(T△T)」などの文字列に着目すると、「^^」、「TT」などの2つの同一文字、または「(」および「)」、「\」および「/」、「>」および「<」などの一対の対称文字のいずれか一方を少なくとも含み、文字列全体として左右対称であるケースが少なくない。このような顔文字を構成する文字列の特徴、つまり左右対称性は、顔文字の検出に有効であると思われる。
図35は本発明の顔文字検出装置の第5の実施の形態、ここでは素性として少なくともテキスト中の各文字の表記とともに当該文字が2つの同一文字または一対の対称文字のいずれか一方を少なくとも含み、全体として左右対称性を有する左右対称文字列に含まれるか否かを示す左右対称情報を用いた例を示すもので、図中、第1の実施の形態と同一構成部分は同一符号をもって表す。即ち、1はHTMLタグ除去部、3は文字分割部、11はHTMLタグ検出部、12はHTMLタグ記憶部、51は左右対称文字列抽出部、52は左右対称情報生成部、53はテキスト分割部、54はモデル記憶部、55はBIO判定部である。
左右対称文字列抽出部51は、HTMLタグ除去部1でHTMLタグが除去されたテキストから、2つの同一文字または一対の対称文字のいずれか一方を少なくとも含み、全体として左右対称性を有する左右対称文字列に対応する範囲を抽出、詳細には後述するような処理を行い、左右対称文字列に対応する範囲の文字位置を取得する。なお、左右対称文字列に対応する範囲の具体的な文字位置としては、当該範囲に含まれる全ての文字の文字位置の外、当該範囲の文頭側の文字および文末側の文字の文字位置のペアでも良い。
左右対称情報生成部52は、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位(文字コード単位)に分割されたテキストと、左右対称文字列抽出部51で抽出された前記テキストにおける左右対称文字列の範囲とを入力として、文字単位に分割されたテキスト中の各文字が左右対称文字列に含まれるか否かを判定、詳細には文字単位に分割されたテキスト中の各文字の位置と、抽出された前記テキストにおける左右対称文字列の範囲の文字位置とを比較し、一致する場合は左右対称文字列に含まれることを示す左右対称情報(ここではYes)を、一致しない場合は左右対称文字列に含まれないことを示す左右対称情報(ここではNo)を、当該テキスト中の各文字の表記に対応させて出力する。
なお、左右対称文字列に対応する範囲の具体的な文字位置が当該範囲の文頭側の文字および文末側の文字の文字位置のペア、例えば「a,b」である場合は、文字単位に分割されたテキスト中の各文字の位置がa以上かつb以下のときを一致といい、aより小さい又はbより大きいときを不一致というものとする。
テキスト分割部53は、左右対称情報生成部52での結果と、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数とを入力として、HTMLタグが除去され、文字単位に分割され、更に各文字毎に左右対称情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割して出力する。
詳細には、HTMLタグが除去され、文字単位に分割され、更に各文字毎に左右対称情報が付与されたテキスト中の一の文字の文字位置と、前記HTMLタグ記憶部12に記憶された前記テキスト中の各HTMLタグの出現位置(タグの先頭の文字位置)とを順次比較し、一致する場合はその一つ前の文字位置までの文字列を一つの系列として出力し、これをテキスト中の全ての文字について繰り返し行う。但し、この際、テキスト中で最初に出現したHTMLタグの出現位置はHTMLタグ記憶部12に記憶された値そのものを用いるが、2つ目以降に出現したHTMLタグの出現位置については、HTMLタグ記憶部12に記憶された値から、それ以前に出現したHTMLタグの文字数の和を差し引いた値を用いるものとする。また、テキスト中の最初の文字の文字位置で一致した(つまり、テキストの文頭にHTMLタグがある)場合は何も出力せず、最後の文字の文字位置まで一致しない(つまり、テキストの文末にHTMLタグがある)場合はそれまでの文字列を一つの系列として出力するものとする。
モデル記憶部54は、予め機械学習により生成した、少なくともテキスト中の各文字の表記およびその左右対称情報を素性、詳細には図36に示すようなテキスト中の各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの左右対称情報および前n文字についてのBIO判定結果を素性として、当該テキスト中の各文字が顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定するためのモデルを記憶している。但し、使用する機械学習によっては、前n文字についてのBIO判定結果を明示的に与える必要はない。
BIO判定部55は、テキスト分割部53での結果を入力とし、モデル記憶部54に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力、例えば顔文字の開始タグ“<face>”と顔文字の終了タグ“</face>”との間に顔文字タグ“B”および“I”に対応する文字列「xxxx」を記述したXML形式「<face>xxxx</face>」で出力する。
モデル記憶部54に記憶するモデルは、テキスト集合の各テキストに対し、前記HTMLタグ検出部11、HTMLタグ記憶部12、HTMLタグ除去部1、文字分割部3、左右対称文字列抽出部51、左右対称情報生成部52、テキスト分割部53での処理を行い、その結果として得られる、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割されたテキスト中の各文字の表記およびその左右対称情報と、前記テキスト中の各文字について前記顔文字タグ“B”、“I”、“O”のいずれかに当たるかを人手により判断した結果としての情報とを用い、既存の機械学習によって予め作成したものである。この際、使用する機械学習としてはどのようなものでも良いが、系列ラベリング問題のためのものが望ましい。
図37は本実施の形態の顔文字検出装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明するが、HTMLタグ検出・記憶処理s1、HTMLタグ除去処理s2、文字分割処理s3については第1の実施の形態の場合と同様であるから省略する。
左右対称文字列抽出部51では、HTMLタグ除去部1でHTMLタグが除去されたテキストから、2つの同一文字または一対の対称文字の少なくとも一方を含み、全体として左右対称性を有する左右対称文字列に対応する範囲を抽出し、その文字位置を取得する(s41)。例えば、HTMLタグ除去後のテキストが「今日はとっても楽しかったです。(^^)明日も楽しみ!」の場合、文字列「(^^)」が左右対称文字列として抽出され、その文字位置は「16,17,18,19」(文頭側の文字および文末側の文字の文字位置のペアで表せば「16,19」)となる。
なお、文字分割処理および左右対称文字列抽出処理の順序は逆でも良く、あるいは同時であっても良い。
左右対称情報生成部52では、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割されたテキスト中の各文字の位置と、HTMLタグ除去部1でHTMLタグが除去された前記テキストに対して左右対称文字列抽出部51で抽出された左右対称文字列の範囲の文字位置とを比較し、一致する場合は左右対称文字列であることを示す左右対称情報(Yes)を、一致しない場合は左右対称文字列でないことを示す左右対称情報(No)を、当該テキスト中の各文字の表記に対応させてテキスト分割部53に出力する(s42)。例えば、文字分割部3での結果が「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)/明/日/も/楽/し/み/!」であり、左右対称文字列抽出部51で抽出された左右対称文字列の範囲の文字位置が「16,17,18,19」である場合、図38に示すような結果が得られる。
テキスト分割部53では、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数に基づいて、HTMLタグ除去部1でHTMLタグが除去され、文字分割部3で文字単位に分割され、左右対称文字列抽出部51および左右対称情報生成部52で各文字毎にその左右対称情報が付与されたテキストを、当該テキスト中のHTMLタグの出現位置で複数の系列に分割してBIO判定部55に出力する(s43)。
例えば、HTMLタグ記憶部12に記憶されたテキスト中のHTMLタグの出現位置および文字数が図8に示したものであり、HTMLタグが除去され、文字単位に分割され、各文字毎にその左右対称情報が付与されたテキストが図38に示したものであった場合、図39に示すような結果が得られる。
即ち、文字「明」の文字位置「20」と、タグ番号1のHTMLタグの出現位置「20」とが一致するため、文字位置「20」の一つ前の文字位置「19」までの文字列「今/日/は/と/っ/て/も/楽/し/か/っ/た/で/す/。/(/^/^/)」を第1の系列(i)として出力する。一方、最後の文字「!」の文字位置「26」まで、タグ番号2のHTMLタグの出現位置、ここでは「31」からそれ以前に出現したタグ番号1のHTMLタグの文字数「4」を差し引いた値である「27」と一致しないため、それまでの文字列「明/日/も/楽/し/み/!」を第2の系列(ii)として出力する。
BIO判定部55では、テキスト分割部53での結果を入力とし、モデル記憶部54に記憶されたモデルを用いて、テキスト中の各系列中の各文字について、その先頭から順に顔文字タグ“B”、“I”、“O”のいずれに当たるかを判定し、顔文字タグ“B”および“I”に対応する文字列を検出結果として出力する(s44)。例えば、図39に示した結果のうち、第1の系列(i)が入力された場合、図40に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の左右対称情報、前n文字についてのBIO判定結果を素性としてモデル記憶部54に記憶されたモデルに入力してBIO判定結果を得て、顔文字タグ“B”および“I”と判定された文字列「(^^)」をXML形式「<face>(^^)</face>」で出力する。一方、図39に示した結果のうち、第2の系列(ii)が入力された場合、図41に示すように、先頭から順に、各文字のその文字を含む前後n(ここではn=3)文字の表記、それらの文字の左右対称情報、前n文字についてのBIO判定結果を素性としてモデル記憶部54に記憶されたモデルに入力してBIO判定結果を得るが、ここでは顔文字タグと判定された文字列はなく、何も出力されない。
図42は左右対称文字列抽出処理の一例、ここでは顔文字を構成する左右対称文字列がそのほぼ中央に、“口”に当たる文字を有する、例えば「(^o^)」、「(^◇^)」のような文字列である場合に有効な処理の流れを示すものである。図中、kは処理の基点となるテキスト中の任意の文字の文頭からの文字位置、mは当該処理の基点となる文字位置から文頭方向および文末方向に何文字離れたかを示す文字数である。
まず、左右対称文字列抽出部51は、テキストの先頭文字、即ちk=1の文字位置の文字を基点としてその文頭方向および文末方向に隣接する文字、即ちm=1として(k−m),(k+m)の文字位置の文字を当該テキストからそれぞれ取得し(s51〜s56)、これらが同一文字または対称文字かどうかを判定する(s57)。但し、ここではk−m=0であり、文字位置「0」には文字が存在しないため、ステップs58を経てステップs52に戻る。なお、同一文字または対称文字かどうかの判定は、顔文字中で使用されることの多い2つの同一文字や一対の対称文字の集合を格納したリストを予め用意しておき、取得したそれぞれの文字に対してリスト内の2つの同一文字および一対の対称文字毎にマッチングを行うことでできる。
次に、左右対称文字列抽出部51は、テキストの2番目の文字、即ちk=2の文字位置の文字を基点としてその文頭方向および文末方向に隣接する文字、即ち前記同様にm=1として(k−m),(k+m)の文字位置の文字を当該テキストからそれぞれ取得し(s52〜s56)、これらが同一文字または対称文字かどうかを判定する(s57)。
ここで、左右対称文字列抽出部51は、(k−m),(k+m)、即ち文字位置「1」および「3」の文字が同一文字または対称文字であればステップs55に戻り、更にその文頭方向および文末方向に隣接する文字、即ちm=2の場合の(k−m),(k+m)の文字位置の文字を当該テキストからそれぞれ取得し(s55,s56)、これらが同一文字または対称文字かどうかを判定する(s57)。
この場合、前記同様にk−m=0であり、文字位置「0」には文字が存在しないため、ステップs58に移るが、m=2であるから、左右対称文字列抽出部51は、それまでの文頭方向および文末方向の文字の位置である(k−m+1),(k+m−1)、ここでは文字位置「1,3」を左右対称文字列に対応する範囲として出力する(s59)。
以下、左右対称文字列抽出部51は、前記同様の処理をテキスト中の全ての文字を基点として繰り返す、つまり文字位置kがテキストの文末に達するまで繰り返す(s53)。
なお、ステップs58において、m≧2の場合は、前述した顔文字中の顔部分(“目口目”に該当する部分)のみでも抽出してしまうことになるため、m≧3としても良い。
図43は左右対称文字列抽出処理の他の例、ここでは顔文字を構成する左右対称文字列がそのほぼ中央に、連続する2つの同一文字または連続する一対の対称文字(通常、2つの“目”に当たる文字)を有する、例えば「(^^)」、「(`´)」のような文字列である場合に有効な処理の流れを示すものである。図中、(i,j)は処理の基点となる連続する2つの同一文字または連続する一対の対称文字の文字位置、mは当該処理の基点となる連続する2つの同一文字または連続する一対の対称文字の文字位置から文頭方向および文末方向に何文字離れたかを示す文字数である。
まず、左右対称文字列抽出部51は、テキストから連続する2つの同一文字および連続する一対の対称文字を抽出し、それらの文字位置(i,j)を図示しない記憶部に記憶しておく(s61)。
次に、左右対称文字列抽出部51は、抽出した前記テキスト中の任意の連続する2つの同一文字または連続する一対の対称文字を基点としてその文頭方向および文末方向に隣接する文字、即ち記憶部から連続する2つの同一文字または連続する一対の対称文字の文字位置(i,j)を一つ取り出し(s62)、m=1として(i−m),(j+m)の文字位置の文字を当該テキストからそれぞれ取得し(s63〜s56’)、これらが同一文字または対称文字かどうかを判定する(s57)。この際、同一文字または対称文字でなければ、ステップs58を経てステップs62に戻る。
なお、取り出された文字位置(i,j)は、その時点で記憶部から消去されるものとする。
次に、左右対称文字列抽出部51は、記憶部から別の連続する2つの同一文字または連続する一対の対称文字の文字位置(i,j)を一つ取り出し(s62)、前記同様にm=1として(i−m),(j+m)の文字位置の文字を当該テキストからそれぞれ取得し(s63〜s56’)、これらが同一文字または対称文字かどうかを判定する(s57)。
この際、左右対称文字列抽出部51は、同一文字または対称文字であればステップs55に戻り、更にその文頭方向および文末方向に隣接する文字、即ちm=2の場合の(i−m),(j+m)の文字位置の文字を当該テキストからそれぞれ取得し(s55,s56’)、これらが同一文字または対称文字かどうかを判定する(s57)。
ここで、同一文字または対称文字でなければ、左右対称文字列抽出部11はステップs58に移り、m=2であるから、それまでの文頭方向および文末方向の文字の位置である(i−m+1),(j+m−1)を左右対称文字列に対応する範囲として出力する(s59’)。
以下、前記同様の処理をテキスト中の連続する2つの同一文字または連続する一対の対称文字の全てを基点として繰り返す、つまり記憶部に記憶された文字位置(i,j)が全てなくなるまで繰り返す(s63)。
なお、通常、左右対称文字列抽出部51では、図42、図43で説明した処理の両方を実行するものとする(実行の順序はどちらが先でもかまわない。)が、いずれか一方のみ実行することを否定するものではない。
また、図43で説明した左右対称文字列抽出処理における連続する2つの同一文字または連続する一対の対称文字の代わりに、第4の実施の形態において抽出した顔文字を構成する文字列中の顔部分の文字列を基点として用いることもでき、この場合は必ずしも完全に左右対称でない文字列を含む顔文字の検出も可能となる。
また、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、図6、12、20、27、35の構成図に示された機能を実現するプログラムあるいは図7、15、22、30、37のフローチャートに示された手順を備えるプログラムをインストールすることによっても実現可能である。
本発明によってテキスト中の顔文字を検出し、これを削除することで、当該テキストに対する形態素解析の精度を向上させることが可能となる。
従来の顔文字検出技術における素性の説明図 従来の顔文字検出装置の一例を示す構成図 形態素品詞抽出結果の一例を示す説明図 従来の顔文字検出技術によるBIO判定のようすを示す説明図 本発明の顔文字検出技術における素性の説明図 本発明の顔文字検出装置の第1の実施の形態を示す構成図 図6の顔文字検出装置における処理の流れを示すフローチャート HTMLタグ検出結果の一例を示す説明図 テキスト分割結果の一例を示す説明図 図6の顔文字検出装置によるBIO判定のようすの一例を示す説明図 図6の顔文字検出装置によるBIO判定のようすの他の例を示す説明図 本発明の顔文字検出装置の第2の実施の形態を示す構成図 文字種抽出のためのテーブルの一例を示す説明図 図12の顔文字検出装置における素性の説明図 図12の顔文字検出装置における処理の流れを示すフローチャート 文字種抽出結果の一例を示す説明図 テキスト分割結果の一例を示す説明図 図12の顔文字検出装置によるBIO判定のようすの一例を示す説明図 図12の顔文字検出装置によるBIO判定のようすの他の例を示す説明図 本発明の顔文字検出装置の第3の実施の形態を示す構成図 図20の顔文字検出装置における素性の説明図 図20の顔文字検出装置における処理の流れを示すフローチャート HTMLタグ情報生成結果の一例を示す説明図 テキスト分割結果の一例を示す説明図 図20の顔文字検出装置によるBIO判定のようすの一例を示す説明図 図20の顔文字検出装置によるBIO判定のようすの他の例を示す説明図 本発明の顔文字検出装置の第4の実施の形態を示す構成図 顔部分辞書の一例を示す説明図 図27の顔文字検出装置における素性の説明図 図27の顔文字検出装置における処理の流れを示すフローチャート 顔部分情報生成結果の一例を示す説明図 テキスト分割結果の一例を示す説明図 図27の顔文字検出装置によるBIO判定のようすの一例を示す説明図 図27の顔文字検出装置によるBIO判定のようすの他の例を示す説明図 本発明の顔文字検出装置の第5の実施の形態を示す構成図 図35の顔文字検出装置における素性の説明図 図35の顔文字検出装置における処理の流れを示すフローチャート 左右対称情報生成結果の一例を示す説明図 テキスト分割結果の一例を示す説明図 図35の顔文字検出装置によるBIO判定のようすの一例を示す説明図 図35の顔文字検出装置によるBIO判定のようすの他の例を示す説明図 左右対称文字列抽出処理の一例を示すフローチャート 左右対称文字列抽出処理の他の例を示すフローチャート
符号の説明
1:HTMLタグ除去部、3:文字分割部、11:HTMLタグ検出部、12:HTMLタグ記憶部、13,22,32,44,53:テキスト分割部、14,23,33,45,54:モデル記憶部、15,24,34,46,55:BIO判定部、21:文字種抽出部、31:HTMLタグ情報生成部、41:顔部分辞書記憶部、42:顔部分抽出部、43:顔部分情報生成部、51:左右対称文字列検出部、52:左右対称情報生成部。

Claims (13)

  1. HTMLタグを含むテキスト中の顔文字を検出する装置であって、
    テキスト中のHTMLタグをその出現位置とともに検出するHTMLタグ検出部と、
    検出されたHTMLタグを前記テキストにおけるその出現位置とともに記憶するHTMLタグ記憶部と、
    前記テキストからHTMLタグを除去するHTMLタグ除去部と、
    HTMLタグが除去された前記テキストを文字単位に分割する文字分割部と、
    HTMLタグが除去され、文字単位に分割された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割するテキスト分割部と、
    少なくともテキスト中の各文字の表記を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを記憶するモデル記憶部と、
    HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記を少なくとも入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定するBIO判定部とを備えた
    ことを特徴とする顔文字検出装置。
  2. 前記に加え、
    HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字の文字種を抽出し、これを当該テキスト中の各文字の表記に対応させて出力する文字種抽出部を備え、
    テキスト分割部は、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその文字種が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    モデル記憶部は、少なくともテキスト中の各文字の表記およびその文字種を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを記憶し、
    BIO判定部は、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその文字種を入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項1に記載の顔文字検出装置。
  3. 前記に加え、
    HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字の直前および直後にHTMLタグがあったかどうか、あった場合はどのようなHTMLタグかを表すHTMLタグ情報を、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグとその出現位置に基づいて生成するHTMLタグ情報生成部を備え、
    テキスト分割部は、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその直前および直後のHTMLタグ情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    モデル記憶部は、少なくともテキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを記憶し、
    BIO判定部は、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報を入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項1に記載の顔文字検出装置。
  4. 前記に加え、
    顔文字を構成する文字列中の顔部分の文字列を登録してなる顔部分辞書を記憶する顔部分辞書記憶部と、
    HTMLタグが除去された前記テキストから前記顔部分辞書記憶部に記憶された顔部分辞書に登録されている顔部分の文字列に対応する範囲を抽出する顔部分抽出部と、
    HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字が顔部分であるか否かを示す顔部分情報を、抽出された前記テキストにおける顔部分の範囲に基づいて生成する顔部分情報生成部とを備え、
    テキスト分割部は、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその顔部分情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    モデル記憶部は、少なくともテキスト中の各文字の表記およびその顔部分情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを記憶し、
    BIO判定部は、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその顔部分情報を入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項1に記載の顔文字検出装置。
  5. 前記に加え、
    HTMLタグが除去された前記テキストから、2つの同一文字または一対の対称文字の少なくとも一方を含み、全体として左右対称性を有する左右対称文字列に対応する範囲を抽出する左右対称文字列抽出部と、
    HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字が左右対称文字列に含まれるか否かを示す左右対称情報を、抽出された前記テキストにおける左右対称文字列の範囲に基づいて生成する左右対称情報生成部とを備え、
    テキスト分割部は、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその左右対称情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    モデル記憶部は、少なくともテキスト中の各文字の表記およびその左右対称情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを記憶し、
    BIO判定部は、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその左右対称情報を入力とし、前記モデル記憶部に記憶されたモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項1に記載の顔文字検出装置。
  6. HTMLタグを含むテキスト中の顔文字を検出する方法であって、
    HTMLタグ検出部が、テキスト中のHTMLタグをその出現位置とともに検出し、HTMLタグ記憶部に記憶するステップと、
    HTMLタグ除去部が、前記テキストからHTMLタグを除去するステップと、
    文字分割部が、HTMLタグが除去された前記テキストを文字単位に分割するステップと、
    テキスト分割部が、HTMLタグが除去され、文字単位に分割された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割するステップと、
    BIO判定部が、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記を少なくとも入力とし、少なくともテキスト中の各文字の表記を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定するステップとを含む
    ことを特徴とする顔文字検出方法。
  7. 前記に加え、
    文字種抽出部が、HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字の文字種を抽出し、これを当該テキスト中の各文字の表記に対応させて出力するステップを含み、
    テキスト分割処理ステップは、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその文字種が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    BIO判定処理ステップは、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその文字種を入力とし、少なくともテキスト中の各文字の表記およびその文字種を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項6に記載の顔文字検出方法。
  8. 前記に加え、
    HTMLタグ情報生成部が、HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字の直前および直後にHTMLタグがあったかどうか、あった場合はどのようなHTMLタグかを表すHTMLタグ情報を、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグとその出現位置に基づいて生成するステップを含み、
    テキスト分割処理ステップは、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその直前および直後のHTMLタグ情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    BIO判定処理ステップは、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報を入力とし、少なくともテキスト中の各文字の表記並びにその直前および直後のHTMLタグ情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項6に記載の顔文字検出方法。
  9. 前記に加え、
    顔部分抽出部が、HTMLタグが除去された前記テキストから顔部分辞書に登録されている顔文字を構成する文字列中の顔部分の文字列に対応する範囲を抽出するステップと、
    顔部分情報生成部が、HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字が顔部分であるか否かを示す顔部分情報を、抽出された前記テキストにおける顔部分の範囲に基づいて生成するステップとを含み、
    テキスト分割処理ステップは、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその顔部分情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    BIO判定処理ステップは、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその顔部分情報を入力とし、少なくともテキスト中の各文字の表記およびその顔部分情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項6に記載の顔文字検出方法。
  10. 前記に加え、
    左右対称文字列抽出部が、HTMLタグが除去された前記テキストから、2つの同一文字または一対の対称文字の少なくとも一方を含み、全体として左右対称性を有する左右対称文字列に対応する範囲を抽出するステップと、
    左右対称情報生成部が、HTMLタグが除去され、文字単位に分割された前記テキスト中の各文字が左右対称文字列に含まれるか否かを示す左右対称情報を、抽出された前記テキストにおける左右対称文字列の範囲に基づいて生成するステップとを含み、
    テキスト分割処理ステップは、HTMLタグが除去され、文字単位に分割され、更に各文字毎にその左右対称情報が付与された前記テキストを、前記HTMLタグ記憶部に記憶された前記テキスト中のHTMLタグの出現位置で複数の系列に分割し、
    BIO判定処理ステップは、HTMLタグが除去され、文字単位に分割され、更に複数の系列に分割された前記テキスト中の各文字の表記およびその左右対称情報を入力とし、少なくともテキスト中の各文字の表記およびその左右対称情報を素性として、当該テキスト中の各文字が顔文字を構成する文字列の最初の文字を意味する“B”、顔文字を構成する文字列の2番目以降の文字を意味する“I”、顔文字以外の文字を意味する“O”のいずれに当たるかを判定するためのモデルを用いて、前記テキスト中の各文字が前記“B”、“I”、“O”のいずれに当たるかを判定する
    ことを特徴とする請求項6に記載の顔文字検出方法。
  11. コンピュータを、請求項1乃至5のいずれかに記載の顔文字検出装置の各手段として機能させるためのプログラム。
  12. コンピュータに、請求項6乃至10のいずれかに記載の顔文字検出方法の各処理ステップを実行させるためのプログラム。
  13. 請求項11または12に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2008270559A 2008-10-21 2008-10-21 顔文字検出装置、その方法、プログラム及び記録媒体 Expired - Fee Related JP5013539B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008270559A JP5013539B2 (ja) 2008-10-21 2008-10-21 顔文字検出装置、その方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270559A JP5013539B2 (ja) 2008-10-21 2008-10-21 顔文字検出装置、その方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2010102371A JP2010102371A (ja) 2010-05-06
JP5013539B2 true JP5013539B2 (ja) 2012-08-29

Family

ID=42292996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270559A Expired - Fee Related JP5013539B2 (ja) 2008-10-21 2008-10-21 顔文字検出装置、その方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5013539B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413982B (zh) * 2018-04-27 2022-09-27 北京海马轻帆娱乐科技有限公司 一种文本处理方法及装置
CN111476037B (zh) * 2020-04-14 2023-03-31 腾讯科技(深圳)有限公司 文本处理方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133918A (ja) * 2002-09-18 2004-04-30 Matsushita Electric Ind Co Ltd 文字情報処理装置、通信端末装置、情報提供サーバ及び文字情報処理装置用プログラム
JP4523312B2 (ja) * 2004-03-30 2010-08-11 富士通株式会社 テキスト音声出力のための装置、方法、及びプログラム
JP2005301437A (ja) * 2004-04-07 2005-10-27 Hitachi Ins Software Ltd 適応型ウエブページデータ抽出装置および抽出プログラム
JP2007279964A (ja) * 2006-04-05 2007-10-25 Recruit Co Ltd 情報検索装置

Also Published As

Publication number Publication date
JP2010102371A (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
KR102540774B1 (ko) 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치
CN106534548B (zh) 语音纠错方法和装置
CN101133411B (zh) 非罗马字符的容错罗马化输入方法
JP2014145842A (ja) 発話解析装置、音声対話制御装置、方法、及びプログラム
Drovo et al. Named entity recognition in Bengali text using merged hidden Markov model and rule base approach
CN109145311B (zh) 处理方法、处理装置以及处理程序
Na Conditional random fields for Korean morpheme segmentation and POS tagging
CN110738997B (zh) 一种信息修正方法、装置、电子设备及存储介质
JPWO2007097208A1 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
CN104994000A (zh) 一种图像动态呈现的方法和装置
JP5323652B2 (ja) 類似語決定方法およびシステム
US10276150B2 (en) Correction system, method of correction, and computer program product
CN105373527B (zh) 一种省略恢复方法及问答系统
JP5013539B2 (ja) 顔文字検出装置、その方法、プログラム及び記録媒体
WO2015099418A1 (ko) 채팅 데이터 학습 및 서비스 방법 및 그에 따른 시스템
CN113934834A (zh) 一种问句匹配的方法、装置、设备和存储介质
JP5031713B2 (ja) 顔文字検出装置、その方法、プログラム及び記録媒体
KR102109858B1 (ko) 자모 및 음절 임베딩 결합을 이용하는 한국어 형태소 분석을 위한 장치 및 방법
JP5071986B2 (ja) 顔文字検出装置、その方法、プログラム及び記録媒体
JP5026385B2 (ja) 顔文字検出装置、その方法、プログラム及び記録媒体
JP5026384B2 (ja) 顔文字検出装置、その方法、プログラム及び記録媒体
Monga et al. Speech to Indian Sign Language Translator
JP6055267B2 (ja) 文字列分割装置、モデルファイル学習装置および文字列分割システム
Chaudhari et al. Indian Sign Language Generation–A Multi-modal Approach
KR100487716B1 (ko) 단어레벨의 통계적 방법을 이용한 번역문 생성 방법 및 그장치

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110613

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120524

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: 20120531

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: 20120601

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees