説明

文書マークアップ支援装置、方法、及びプログラム

【課題】効率的なマークアップが可能となる。
【解決手段】本実施形態に係る文書マークアップ支援装置は、取得部、第1計算部、検出部および提示部を含む。取得部は、文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第1類似度を定義するために用いる特徴量を取得する。第1計算部は、文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する。検出部は、前記分散が第1閾値以上となる文字列を、タグを修正すべき第1候補として検出する。提示部は、前記第1候補を提示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、テキストに対してマークアップを行なう文書マークアップ支援装置、方法、及びプログラムに関する。
【背景技術】
【0002】
近年、電子書籍配信サービスが普及している。このサービスを利用することで、ユーザはデジタル化された書籍をサーバからダウンロードし、いわゆるスマートフォンやタブレットなどの携帯情報端末を用いて文書を読むことができる。電子書籍の利点の一つとして、音声合成技術を用いてテキストを読み上げられる点がある。一般に、音声合成の読み上げを制御するために、SSML(Speech Synthesis Markup Language)と呼ばれるマークアップ言語が用いられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3664475号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
電子書籍のような構造化されていない大規模なテキスト全体に対して手動でマークアップすることは困難である。機械学習技術を使えばマークアップを自動化できるが、自動マークアップ処理を誤りなく行うことは困難である。特に、読み上げ制御に用いられるタグ(韻律、感情、話者など)は、ユーザによって異なることが一般的であるので唯一の正解が存在しない。よって、ユーザの主観や好みによって判断が揺れるためマークアップ処理の負荷がより高くなる。
【0005】
本開示は、上述の課題を解決するためになされたものであり、ユーザごとに最適なマークアップを効率よく支援することができる文書マークアップ支援装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本実施形態に係る文書マークアップ支援装置は、取得部、第1計算部、検出部および提示部を含む。取得部は、文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第1類似度を定義するために用いる特徴量を取得する。第1計算部は、文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する。検出部は、前記分散が第1閾値以上となる文字列を、タグを修正すべき第1候補として検出する。提示部は、前記第1候補を提示する。
【図面の簡単な説明】
【0007】
【図1】電子書籍朗読サービスシステムを示す概念図。
【図2】本実施形態に係る文書マークアップ支援装置を示すブロック図。
【図3】共有マークアップテキスト格納部に格納される共有マークアップテキストの一例を示す図。
【図4】本実施形態に係る文書マークアップ支援システムの動作を示すフローチャート。
【図5】本実施形態に係る修正候補及びタグ候補の提示処理を示すフローチャート。
【図6】(a)タグ間の距離の概念図と、(b)タグと対応する特徴量を示すテーブル。
【図7】分散算出後の共有マークアップテキストの一例を示す図。
【図8】文章IDごとの分散の一例を示す図。
【図9】修正情報提示部の表示の第1例を示す図。
【図10】タグ候補の提示処理を示すフローチャート。
【図11】新規ユーザがタグを付与している場合の共有マークアップテキストの一例を示す図。
【図12】タグ候補計算部におけるユーザ間の距離計算処理の一例を示す図。
【図13】修正情報提示部の表示の第2例を示す図。
【図14】本実施形態に係る管理サーバおよびユーザ端末のハードウェア構成を示すブロック図。
【発明を実施するための形態】
【0008】
文書の自動読み上げでは、上述したマークアップ言語SSML(Speech Synthesis Markup Language)を用いてテキストをマークアップすることで、読み上げ時のピッチ、話す速度、ボリュームなどを調整できる。ここで、マークアップとは、テキストの一部をタグと呼ばれる文字列で囲むことを意味する。タグは、SSMLに代表されるマークアップ言語で定義されるピッチ、話す速度、ボリューム、発話スタイル、感情および話者など文章の読み上げを制御する文字列を含む記号である。たとえば、「お前は<emphasis>優秀</emphasis>だから、一発合格だろうな。」というマークアップでは、<emphasis>タグ(強調)で囲んだ「優秀」という部分が強調して読まれることになる。なお、タグで囲まれる文字列は単語に限らず、語、句、および文といった文字列でもよく、本実施形態では、タグを付与する基本単位として「文章」にタグを付与するとして説明する。
さらに、SSMLは、マークアップした箇所を会話調や警告調など発話スタイルを変えて読み上げる機能、喜怒哀楽といった感情を込めて読み上げる機能、話者(声質)を変えて読み上げる機能を有する。これによって、臨場感を高めて読み上げることができるので、音声合成の自動朗読への応用が試みられる。
マークアップを支援する手法として、たとえば、人手でテキストの一部に対してマークアップした学習用コーパスから機械学習手法でモデルを学習し、未知のテキストに対して自動でマークアップする技術が一般的に知られている。具体的には、テキストから感情を推定して感情タグを自動で付与する感情推定技術がある。また、音声読み上げのマークアップに限らず、単語の品詞をマークアップする品詞マークアップや、見出し、本文および広告などテキストの構造をマークアップする構造マークアップなどが知られている。この構造マークアップに対して、テキストの内容やレイアウトの類似性を元にマークアップを支援する技術もある。しかし、上述の従来技術では、人手でテキストをマークアップするには労力がかかり、逆に自動でマークアップするとユーザの主観や好みに応じてマークアップすることができない。
【0009】
以下、図面を参照しながら本実施形態に係る文書マークアップ支援装置、方法、及びプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
本実施形態に係る文書マークアップ支援装置を用いる文書マークアップ支援システムの利用例について図1を参照して説明する。
図1では、文書マークアップ支援システムとして電子書籍朗読サービスシステムを提供する例を示す。
文書マークアップ支援システム100は、管理サーバ101、ユーザ端末A102−1、ユーザ端末B102−2およびユーザ端末C102−3を含む。
管理サーバ101は、電子書籍151の文章にタグを付与して、マークアップ文書152(以下、マークアップテキスト152)を作成する。タグは、図1の例では、<angry>タグ(怒り)や<fear>タグ(怖れ)を用いており、タグで囲まれた語または文章が、怒りの感情や怖れの感情を込めた音声で読み上げられることを意味する。ここで、タグが付与されたテキストをマークアップテキストと呼ぶ。
ユーザ端末A102−1からユーザ端末C102−3は、マークアップテキスト152をダウンロードするため、要求信号を管理サーバ101へ送信する。管理サーバ101は、要求信号を受け取り、要求信号を送信してきたユーザ端末102に対してマークアップテキストを配信する。
【0010】
ユーザは、受信したマークアップテキストを自動推定によるタグに基づいてテキストを読み上げさせることも可能である。しかし、自動推定によって付与されたタグは誤りが多く、また、他のユーザが付与したタグは好みに合わず気に入らないといった場合が生じる可能性がある。そこでユーザは、気に入らないタグを自分の主観や好みに合わせて修正し、修正したマークアップテキスト153(修正マークアップテキストともいう)を作成してもよい。具体的には、ユーザ端末A102−1は、管理サーバ101で付与された<fear>タグを<exited>タグ(興奮)に変更し、ユーザ端末C102−3は、<angry>タグを<shame>タグ(恥)に変更している。
修正マークアップテキスト153は、ユーザ端末102から管理サーバ101に送信され、他のユーザと共有される。ここで、共有とは、他のユーザがマークアップしたマークアップテキストの閲覧およびダウンロードができることを意味し、さらにマークアップテキストがタグの付与や後述するマークアップの修正候補提示の際の基礎データとして用いられることも意味する。
【0011】
次に、本実施形態に係る文書マークアップ支援装置について図2のブロック図を参照して説明する。
本実施形態に係る文書マークアップ支援装置200は、共有マークアップテキスト格納部201、マークアップテキスト共有部202、タグ格納部203、タグ付与部204、特徴量取得部205、マークアップテキスト変換部206、修正候補検出部207、タグ分散計算部208、タグ候補計算部209および修正情報表示部210を含む。
【0012】
共有マークアップテキスト格納部201は、テキストにデフォルトタグが付与されたマークアップテキスト、およびユーザが付与および修正したマークアップテキストを書籍IDと関連づけて格納する。デフォルトタグは、文書マークアップ支援装置200がテキストに最初に自動で付与するタグを意味する。書籍IDは、たとえば書籍タイトルに一意に振られた数値である。共有マークアップテキスト格納部201に格納されるマークアップテキストを共有マークアップテキストともいう。共有マークアップテキストについては、図3を参照して後述する。
【0013】
マークアップテキスト共有部202は、新たなタグを付与するために共有マークアップテキスト格納部201に格納されるマークアップテキストを抽出し、新たなマークアップテキストを共有マークアップテキスト格納部201に格納するといった、マークアップテキストの管理を行う。
【0014】
タグ格納部203は、テキストに付与するタグを複数格納する。たとえば、SSMLで定義されているピッチ、話す速度、ボリュームを制御するタグや感情、発話スタイル、話者を指定するタグである。なお、本実施形態では、タグ間の距離(又はタグ間の類似度)が定義できるという条件を満たせばどのようなタグの種類でもよい。以下、本実施形態では、感情タグを例にとって説明する。
【0015】
タグ付与部204は、マークアップテキスト共有部202を介して共有マークアップテキストを受け取り、タグ格納部203からタグを受け取る。タグ付与部204は、共有マークアップテキストを参照して、テキストにタグを付与する。
【0016】
特徴量取得部205は、タグ格納部203からタグを受け取り、タグごとに、タグに対応するタグ間の距離を定義するために用いる特徴量を取得する。特徴量は、たとえば多次元ベクトルである。多次元ベクトル間の距離は、ユークリッド距離またはコサイン距離で定義できる。なお、タグごとの特徴量は、特徴量取得部205が、タグと特徴量との関係が予め定義されたテーブルを保有して適宜参照してもよいし、外部にあるテーブルを適宜参照するようにしてもよい。また、ある関数を用いて特徴量を算出してもよい。
【0017】
マークアップテキスト変換部206は、タグ付与部204からマークアップテキストを、特徴量取得部205から特徴量をそれぞれ受け取り、マークアップテキスト中の各タグを特徴量に置き換え、マークアップテキストを特徴量の時系列データに変換する。時系列データに変換することでタグ間の距離を考慮したタグの分散やユーザ間の距離が定義できる。
【0018】
修正候補検出部207は、マークアップテキスト変換部206から特徴量の時系列データを、マークアップテキスト共有部202からマークアップテキストを、後述のタグ分散計算部208からタグの分散をそれぞれ受け取る。修正候補検出部207は、特徴量の時系列データに基づき、ユーザがタグを修正する可能性が高い箇所を修正候補として抽出する。
【0019】
タグ分散計算部208は、修正候補検出部207から特徴量の時系列データを受け取り、タグの分散を計算する。
【0020】
タグ候補計算部209は、修正候補検出部207からマークアップテキスト、特徴量の時系列データおよび修正候補を受け取り、修正候補においてどのタグに置き換えればよいかを計算し、新たなタグの候補を示すタグ候補を選択する。
【0021】
修正情報表示部210は、タグ候補計算部209から候補タグと、マークアップテキストとをそれぞれ受け取り、ユーザに対してテキストのどの箇所のタグを修正するべきか、また、どのようなタグを付与するべきかを提示する。
【0022】
次に、共有マークアップテキスト格納部201に格納される共有マークアップテキストの一例について図3を参照して説明する。
図3に示すように、テキストが文章単位に分割され、文章ID301、デフォルトタグ302、ユーザタグ303、及び文章304がそれぞれ対応付けられて、共有マークアップテキストとしてテーブルに格納される。ここでは、機械学習による自動推定結果で付与されたデフォルトタグ302と、ユーザAからユーザCが各文章ID301に対してユーザ好みのタグを付与したユーザタグ303とが文章304に関連づけられる。デフォルトタグ302も1人のユーザとして扱ってもよい。具体的には、文章ID301「7」、文章304「何言ってるんだよ。」という文章に対して、デフォルトタグ302として「怒」が付与され、ユーザタグ303としてユーザAは「喜」、ユーザBは「恥」、ユーザCは「怒」を付与する。読み上げ時には、付与したタグの感情を込めて各文章の読み上げを行なう。
なお、電子書籍のテキストとタグとは、別々に管理してもよい。また、文章をマークアップの基本単位としているが、文字、単語、パラグラフなど別の単位を基準にマークアップを行ってもよい。
【0023】
文章ID 7「何言ってるんだよ。」という文章のみからは、文章に込められた感情としては怒りと感じられる可能性が高いが、前の文章(文章ID 6「おまえは優秀だから、一発合格だろうな。」)で褒められていることに対する返答なので喜んでいる、恥ずかしがっているなど別の解釈も想定され、一部のユーザ(ユーザA及びユーザB)がそのようにマークアップする。このように、感情タグなどのタグは一意に決まらず、ユーザの主観や好みによっていろいろな解釈が可能である。さらに、読み上げに用いるその他のタグ(ピッチ、話す速度、ボリューム、発話スタイル、話者など)も同様の性質を有する。
【0024】
次に、文書マークアップ支援装置を用いる文書マークアップ支援システムの動作について図4のフローチャートを参照して説明する。
ここでは、共有マークアップテキスト格納部201、マークアップテキスト共有部202、タグ格納部203およびタグ付与部204が図1に示す管理サーバ101に含まれるとする。また、特徴量取得部205、マークアップテキスト変換部206、修正候補検出部207、タグ分散計算部208、タグ候補計算部209および修正情報表示部210が図1に示すユーザ端末102に含まれるとする。なお、文書マークアップ支援装置200に含まれる各部は、管理サーバ101及びユーザ端末102にどのように含まれていてもよい。
ステップS401では、タグ付与部204が、テキストに対してデフォルトタグを付与する。デフォルトタグの付与方法としては、たとえば、既存の機械学習を用いた自動推定による方法、共有マークアップテキストから最大数のタグを付与する方法、共有マークアップテキストから他のユーザに最も支持されたタグを付与する方法を用いればよい。
【0025】
ステップS402では、管理サーバ101が、デフォルトタグが付与されたマークアップテキストをユーザ端末102へ配信する。
ステップS403では、ユーザ端末102において、修正候補検出部207が、マークアップテキストからタグを修正すべき文章である修正候補を検出し、タグ候補計算部209が、タグを修正する際のタグ候補を計算する。その後、修正情報表示部210が、修正候補とタグ候補とをユーザに表示する。
ステップS404では、修正候補とタグ候補とを参照して、ユーザが修正候補にタグを追加したり、修正候補におけるタグを修正したりと言った、タグの編集を行なう。
ステップS405では、ユーザ端末102が、タグが追加または修正されたマークアップテキストを管理サーバ101に送る。管理サーバ101は、ユーザ端末102から送られた修正されたマークアップテキストを収集し、共有マークアップテキスト格納部201に格納する。多数のユーザによりマークアップテキストのタグが編集(追加及び修正)されることによって、共有マークアップテキストを用いたデフォルトタグの付与精度を向上させることができる。デフォルトタグの付与精度が向上すれば、ユーザがタグを修正する箇所が減少すると考えられ、より効率のよいマークアップを行なうことができる。
【0026】
次に、ステップS403に示すタグ候補の提示処理について図5のフローチャートを参照して説明する。
ステップS501では、特徴量取得部205が、共有マークアップテキスト中の各タグについて、特徴量を取得する。
ステップS502では、マークアップテキスト変換部206が、共有マークアップテキストのタグをステップS501で定義した特徴量に変換し、特徴量の時系列データを得る。
ステップS503では、タグ分散計算部208が、タグを付与する基本単位ごとに分散を計算する。なお、ユーザが付与したタグのばらつき度合いが定義できれば分散でなくても構わない。ここでは、分散に準じた値も含めてばらつきを意味する語として分散を用いる。
ステップS504では、修正候補検出部207が、分散が閾値以上であるタグを、修正する可能性が高い修正候補として検出し、修正情報表示部210が修正候補を表示する。
ステップS505では、タグ候補計算部209が、修正候補においてどのようなタグ候補を提示するかを決定し、修正情報表示部210がユーザに対してタグ候補を提示する。
【0027】
次に、ステップS501の特徴量取得部205における特徴量取得処理について図6を参照して説明する。
図6(a)はタグ間の距離の概念図を表し、図6(b)はタグと対応する座標値とを示すテーブルである。
【0028】
ここで、修正される可能性が高いタグの特徴について説明する。図3のような共有マークアップテキスト集合が与えられたとする。まず、文章ID 1のように、全員がまったく同じタグ(安)を付与した、またはデフォルトタグから変更しておらず、ばらつきがまったくない場合、このタグの信頼性は高いため新規ユーザが修正する可能性は低いと考えられる。一方、文章ID 7のようにユーザが付与したタグがばらついている場合、ユーザの主観や好みによってタグがばらついていると考えられる。このようにタグのばらつきが多い文章は、新規ユーザがタグを修正する可能性が高いと考えられる。しかし、文章ID 22や文章ID 23のようにたとえタグがばらついていたとしても類似度が高い感情(たとえば、好と安、喜と好)でばらついている場合は、感情を込めた読み上げ効果が比較的近いため新規ユーザがタグを修正する可能性は低いと考えられる。
以上のことから、読み上げ効果が大きく異なるタグで、ばらつきがある箇所は、修正の可能性が高いためユーザに修正候補として提示する。付与されるタグにばらつきがまったくない、もしくは読み上げ効果が近いタグでばらついている箇所は、修正の可能性が低いのでユーザには修正候補として提示しない。このように修正箇所を絞り込むことで、ユーザのマークアップ修正効率を大幅に高めることができる。
【0029】
図6(a)は、タグを2次元座標平面601に配置した例を示す。好、安、喜、怒および恥などはそれぞれ感情タグである。配置の際に、読み上げ効果が類似するタグは互いに近くなるように配置する。たとえば、好と安は、距離が近い(類似度が高い)が、好と怒は距離が遠い(類似度が低い)ことを意味する。このようにタグを配置すると、各タグは2次元ベクトルの特徴量として表され、タグ間の距離は、たとえば、ユークリッド距離で計算できる。
図6では、感情タグの例のみを示すが、ピッチ、話す速度、ボリューム、発話スタイル、話者など任意のタグでもよい。たとえば、話者の場合は、男声と女声とでは距離が遠く(類似度が低く)、声のスペクトルを比較して距離を求めるなどの手法でタグ間の距離を定義してもよい。また、本実施例ではタグ間の距離の定義はあらかじめ固定されているが、2次元座標平面601上へのタグの配置や距離の定義をユーザが自由に変更できるインタフェースを用意してもよい。たとえば、ユーザがインタフェースを介して指示信号を特徴量取得部205に入力し、特徴量取得部205は、指示信号に応じてタグの配置および距離の定義を変更すればよい。さらに、特徴量を2次元ベクトルで表現したが、タグ間の距離が定義できればどのような特徴量でもよい。
【0030】
図6(b)は、原点を基準とした第1軸604および第2軸605のそれぞれの座標値と感情タグ603とを関連づけたテーブル602である。ここでは、第1軸(横軸)604は喜びの度合いの大きさを表し、第2軸(縦軸)605は覚醒の度合いの大きさを表すが、各軸に意味を割り当てなくてもよい。
【0031】
次に、タグを特徴量で置き換えた共有マークアップテキストの一例について図7を参照して説明する。
図7に示す共有マークアップテキストのテーブルは、図3に示す共有マークアップテキストのタグが特徴量701に変換され、さらに特徴量の分散702がそれぞれ対応付けられて追加される。具体的には、例えば、文章ID301「7」、デフォルトタグ302の特徴量701「(−0.5,0.5)」、ユーザタグとして、ユーザAが付与したタグの特徴量「(0.9,0.2)」、ユーザBが付与したタグの特徴量「(−1.0,−0.1)」、ユーザCが付与したタグの特徴量「(−0.5,0.5)」、分散702「0.75」および文章304「何言ってるんだよ。」がそれぞれ対応付けられる。このようにマークアップテキストが特徴量の時系列データとして表せる。
【0032】
次に、ステップS503におけるタグ分散計算部208の分散の計算方法について説明する。
タグの分散の計算は、本実施形態では、図7の特徴量の次元ごとに分散を計算してから足し合わせている。たとえば、文章ID 7の文章の分散は、式(1)のように計算できる。
【数1】

【0033】
付与されたタグを特徴量の行列で表すと、
variance=sum(diag(cov(A)))
で計算できる。ここで、sum()は和を求める関数、diag()は対角線の要素を取得する関数、およびcov()は分散共分散行列を計算する関数である。同様の方法ですべての文章に対応付けられた特徴量について分散を計算する。
【0034】
次に、ステップS504における修正候補検出部207の検出処理について図8を参照して説明する。
図8は、図7の文章ID301および分散702の項目について、横軸に文章ID301および縦軸に分散702を取った文章IDごとの分散を表すグラフである。このグラフから、タグのばらつきが大きい箇所と小さい箇所とを認識することができる。なお、分散の値は、タグ間の距離も考慮して計算されているので、読み上げ効果が似ているタグ同士では分散が小さくなる。修正候補検出部207は、分散が閾値以上となる文章を修正候補として選択する。
具体的には、文章ID 7のように怒、喜および恥のように読み上げ効果が大きく異なるタグが付与される場合は、すなわちタグ間の距離が遠い(類似度が低い)場合は、分散は大きな値となる。一方、文章ID 1のように全員が同じタグ「安」を付与したり、文章ID 22および文章ID 23の「好」「安」および「喜」のように、付与されるタグは異なっていても読み上げ効果が似ている、すなわちタグ間の距離が近い(類似度が高い)場合は、分散は小さな値となる。よって、分散が大きければ文章ID 7ごとの分散を、ユーザによる主観や好みによって付与されるタグが異なっているためユーザに修正を促した方がよい箇所として修正候補を選択する。
【0035】
なお、閾値は、所定の値でも、ユーザによって変更可能な値としてもよい。また、分散が大きい順に、所定の数の文章を修正候補として選択するなどの方法を用いてもよい。
【0036】
次に、ステップS604における修正情報表示部210の表示例について図9を参照して説明する。
図9は、修正候補を表示するユーザインタフェースの一例であり、ユーザがテキスト901を読みながら、テキスト901に関する読み上げ音声を聞いている場合を想定する。
読み上げ中に修正候補が存在する場合、修正候補を強調してポップアップ903を表示し、ユーザに他の読み上げ候補が可能であることを提示する。具体的には、タグ分散計算部208における計算で分散が閾値以上である修正候補902(文章ID 7「何言ってるんだよ。」)を強調して表示し、ポップアップ903として「異なる読み上げ方が可能です。候補を提示しますか?」とユーザに他の候補の選択を促す。別の方法として、修正候補を読み上げ前に一覧で表示し、ユーザが事前にタグを一括修正してもよい。なお、図9では、修正候補をポップアップで表示させる例を示すが、別ウィンドウに修正候補を表示してもよく、ユーザが修正候補を認識できればどのような方法でもよい。
【0037】
次に、ステップS505におけるタグ候補の提示処理について、図10のフローチャートを参照してさらに詳細に説明する。以下では、図7に示すように、デフォルトタグも含めた4人のユーザのマークアップテキストが登録または共有されている状態で、新規ユーザが独自のマークアップテキストを作成することを想定する。
ステップS1001では、タグ候補計算部209が、共有マークアップテキスト格納部201に格納される共有マークアップテキストから、全ユーザがこれまでに修正した修正候補と修正したタグの情報とを収集する。
ステップS1002では、タグ候補計算部209が、新規ユーザと同様の傾向でタグを修正したユーザを、新規ユーザとの類似度に基づいて検索する。ここでは、新規ユーザとの類似度算出の一例として、タグ間の距離と同様に、ユーザ間の距離を算出する。まず、文章ごとにタグ間のユークリッド距離を計算し、全文章について計算されたユークリッド距離を加算し、値が閾値以下となるユーザを新規ユーザと類似度が高いユーザとして選択すればよい。具体例については、図12を参照して後述する。
ステップS1003では、新規ユーザと類似度が高いユーザが付与したタグに基づいてタグ候補を新規ユーザに提示する。
【0038】
次に、新規ユーザがタグを付与している場合の共有マークアップテキストの一例について図11を参照して説明する。
図11に示すテーブルは、図7に示したテーブルに新規ユーザ1101のタグの欄が追加されたテーブルであり、共有マークアップテキスト格納部201に格納されている。新規ユーザが修正した修正候補1102である文章ID 7、8、10、11および13に対してすでにタグが付与され、次の修正候補1103に対して、文章ID 15にタグを付与する場合を示す。
タグ候補計算部209は、新規ユーザのこれまでに修正した修正候補及び修正したタグの情報として、新規ユーザが文章に付与したタグの特徴量、文章ID 7(0.9,0.2)、文章ID 8(0.2,0.9)、文章ID 10(−0.9,0.1)、文章ID 11(−0.9,0.1)および文章ID 13(−0.9,0.8)の5つを収集する。
【0039】
次に、ステップS1002におけるユーザ間の距離の計算方法について図12を参照して説明する。
図12は、新規ユーザがタグを修正した文章IDにおけるタグの特徴量と、同一の文章IDにおけるデフォルトタグ及びユーザAからユーザCが付与したタグの特徴量とを抽出したテーブルである。上述の5個の修正候補の文章IDを基に、新規ユーザとの距離を計算する。具体的には、たとえば新規ユーザとユーザBとのユークリッド距離1201は、以下の式(2)で表される。
【数2】

【0040】
同様の方法で、新規ユーザ1101と他のユーザとのユークリッド距離1201を計算すると、図12に示すように、デフォルトタグとの距離(7.75)、ユーザAとの距離(1.36)、ユーザBとの距離(5.82)およびユーザCとの距離(3.90)が得られる。
よって、新規ユーザ1101とマークアップの類似度が高いのは、新規ユーザ1101と距離が近い順であるユーザA、ユーザC、ユーザBおよびデフォルトタグの順番となる。すなわち、ユーザAが新規ユーザ1101と最もマークアップの傾向が近く、主観や好みが似ていると判定することができる。
なお、上述の例では、新規ユーザがタグを修正した文章に絞って距離を計算したが、マークアップテキスト全ての文章に基づいてユーザ間の距離を計算してもよい。この方法で計算したユーザ間の距離は、タグ間の距離を反映した距離となる。
【0041】
次に、修正情報表示部210におけるタグ候補の提示例ついて図13を参照して説明する。
タグ候補の提示方法としては、たとえば、新規ユーザと距離が最も近いユーザのマークアップを参照して、新規ユーザと距離が最も近いユーザの、該当文章におけるタグをそのまま提示する。具体的には、図12ではユーザAが新規ユーザと最も距離が近いので、ユーザAが文章ID 15に付けたタグである哀(特徴量:−0.9,−0.2)を、新規ユーザの文章ID 15に付与するタグ候補として提示する。また、図13のように、付与されたタグの割合をポップアップ1301で表示してもよい。さらに、新規ユーザと距離が近いユーザを順に一定数選択し、その中で最も多く文書に付与されたタグのうち、最大数のタグを提示してもよいし、ランキングとして順に表示してもよい。
【0042】
また、複数のタグ候補があった場合にタグ同士を融合し、新たなタグを生成することもできる。たとえば、図13のようなポップアップ1301によるタグ候補の提示において、喜びが50%、悲しみが50%といった割合で提示された場合、ユーザが喜びと悲しみとの両方の捉え方ができる「うれし泣き」といった感情を表すと考えられる。その場合、感情モーフィングなどの技術を用いることで喜びと悲しみとの2つの感情を、それぞれの割合(ここでは、50%ずつ)で融合した読み上げを行なうことができる。
【0043】
また、上述の方法でユーザ間の距離を定義すれば、不適切なマークアップ(たとえば、内容とは関係なくランダムにマークアップするなど)を行ったユーザを検出することもできる。これは、距離を保ったまま2次元平面上にユーザをマッピングする多次元尺度法を用いると、不適切なマークアップを行ったユーザが外れ値となるからである。外れ値となったユーザは、修正候補およびタグ候補計算の対象から除外することにより、よりマークアップの効率及びユーザ間の距離の精度を向上させることができ、適切な対応を取ることができる。
【0044】
本実施形態に係る管理サーバおよびユーザ端末のハードウェア構成について図14のブロック図を参照して説明する。
図14は、本実施形態の管理サーバ101およびユーザ端末102のハードウェア構成を示すブロック図である。管理サーバ101およびユーザ端末102は、CPU(Central Processing Unit)1401、ROM(Read Only Memory)1402、RAM(Random Access Memory)1403、HDD(Hard Disk Drive)1404、表示部1405、送受信部1406および操作部1407を含み、それぞれがバス1408により相互に接続されている。
【0045】
CPU1401は、文書マークアップ支援装置200全体の処理を制御する演算装置である。
ROM1402は、CPUによる各種処理を実現するプログラムなどを記憶する。たとえば、図2に示した各モジュールはプログラムとしてROMに格納される。
RAM1403は、CPUによる各種処理に必要なデータを記憶する。
HDD1404は、電子書籍などのテキスト、共有マークアップテキスト、タグなど大規模なデータを記憶する。
表示部1405は、テキスト、タグ候補などを表示する。
送受信部1406は、電子書籍やマークアップテキストに関する送受信を行う。
操作部1407は、提示された情報に対してユーザが指示を入力する。
【0046】
なお、本実施形態の文書マークアップ支援装置で実行されるプログラムは、上述した各部(マークアップテキスト共有部202、タグ付与部204、特徴量取得部205、マークアップテキスト変換部206、修正候補検出部207、タグ分散計算部208、タグ候補計算部209および修正情報表示部210)を含むモジュール構成となっている。実際のハードウェアとしては、CPU1401がROM1402から各種プログラムを読み出して実行することにより、上述した各部がRAM1403上にロードされ、上述した機能構成がRAM1403上に生成されるようになっている。
【0047】
また、本実施形態では、サーバおよびクライアント構成を取っているが、図2に示す各モジュールがサーバ、クライアントのどちらで実行されてもよい。さらに本実施形態では、テキストとして電子書籍、タグとして感情タグを例に説明したが、それに限らず、一般的なテキストと距離が定義できる任意のタグに適用してもよい。
【0048】
以上に示した本実施形態に係る文書マークアップ支援装置によれば、電子書籍のような長大なテキストに対して、ユーザがタグを修正すべき箇所をタグ間の類似度に基づいて提示することで、修正すべき候補を絞り込むことができ、マークアップ作業を大幅に効率化できる。また、感情タグのようにユーザの主観や好みによってタグが揺れる場合でも、自分とマークアップが類似するユーザのタグを参照することができ、効率的なマークアップが可能となる。
【0049】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した文書マークアップ支援装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の文書マークアップ支援装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0050】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0051】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0052】
100・・・文書マークアップ支援システム、101・・・管理サーバ、102−1〜102−3・・・ユーザ端末、151・・・電子書籍、152・・・マークアップテキスト、153・・・修正マークアップテキスト、200・・・文書マークアップ支援装置、201・・・共有マークアップテキスト格納部、202・・・マークアップテキスト共有部、203・・・タグ格納部、204・・・タグ付与部、205・・・特徴量取得部、206・・・マークアップテキスト変換部、207・・・修正候補検出部、208・・・タグ分散計算部、209・・・タグ候補計算部、210・・・修正情報表示部、301・・・文章ID、302・・・デフォルトタグ、303・・・ユーザタグ、304・・・文章、601・・・2次元座標平面、602・・・テーブル、603・・・感情タグ、604・・・第1軸、605・・・第2軸、701・・・特徴量、702・・・分散、901・・・テキスト、902・・・修正候補、903,1301・・・ポップアップ、1101・・・新規ユーザ、1102,1103・・・修正候補、1201・・・距離、1400・・・ハードウェア構成、1401・・・CPU、1402・・・ROM、1403・・・RAM、1404・・・HDD、1405・・・表示部、1406・・・送受信部、1407・・・操作部、1408・・・バス。

【特許請求の範囲】
【請求項1】
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第1類似度を定義するために用いる特徴量を取得する取得部と、
文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する第1計算部と、
前記分散が第1閾値以上となる文字列を、タグを修正すべき第1候補として検出する検出部と、
前記第1候補を提示する提示部と、を具備することを特徴とする文書マークアップ支援装置。
【請求項2】
前記文字列に各ユーザが付与したタグの特徴量からユーザ間の類似度である第2類似度を計算し、前記第2類似度が第2閾値以上であるユーザが付与したタグに基づいて、前記第1候補に付与されるべきタグの候補を示す第2候補を選択する第2計算部をさらに具備し、
前記提示部は、前記第2候補をさらに提示することを特徴とする請求項1に記載の文書マークアップ支援装置。
【請求項3】
1以上のユーザにより編集されたマークアップ文書に基づいて、前記文字列にタグを付与するタグ付与部をさらに具備することを特徴とする請求項1または請求項2に記載の文書マークアップ支援装置。
【請求項4】
前記取得部は、指示信号に応じて前記第1類似度を変更することを特徴とする請求項1から請求項3のいずれか1項に記載の文書マークアップ支援装置。
【請求項5】
前記提示部は、前記第1候補に対する第2候補を関連づけて提示することを特徴とする請求項2から請求項4のいずれか1項に記載の文書マークアップ支援装置。
【請求項6】
前記第2計算部は、複数の第2候補を融合して新しいタグを生成することを特徴とする請求項2から請求項5のいずれか1項に記載の文書マークアップ支援装置。
【請求項7】
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第1類似度を定義するために用いる特徴量を取得し、
文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算し、
前記分散が第1閾値以上となる文字列を、タグを修正すべき第1候補として検出し、
前記第1候補を提示することを具備することを特徴とする文書マークアップ支援方法。
【請求項8】
コンピュータを、
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第1類似度を定義するために用いる特徴量を取得する取得手段と、
文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する計算手段と、
前記分散が第1閾値以上となる文字列を、タグを修正すべき第1候補として検出する検出手段と、
前記第1候補を提示する提示手段として機能させるための文書マークアップ支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−73275(P2013−73275A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209849(P2011−209849)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】