(57)【特許請求の範囲】
【請求項１】
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第１類似度を定義するために用いる特徴量を取得する取得部と、
文字列に付与された複数のタグの少なくとも１つが異なる、共有のマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する第１計算部と、
前記分散が第１閾値以上となる文字列を、タグを修正すべき第１候補として検出する検出部と、
前記第１候補を提示する提示部と、を具備することを特徴とする文書マークアップ支援装置。
【請求項２】
前記文字列に各ユーザが付与したタグの特徴量からユーザ間の類似度である第２類似度を計算し、前記第２類似度が第２閾値以上であるユーザが付与したタグに基づいて、前記第１候補に付与されるべきタグの候補を示す第２候補を選択する第２計算部をさらに具備し、
前記提示部は、前記第２候補をさらに提示することを特徴とする請求項１に記載の文書マークアップ支援装置。
【請求項３】
前記第２計算部は、複数の第２候補を融合して新しいタグを生成することを特徴とする請求項２に記載の文書マークアップ支援装置。
【請求項４】
１以上のユーザにより編集されたマークアップ文書に基づいて、前記文字列にタグを付与するタグ付与部をさらに具備することを特徴とする請求項１から請求項３のいずれか１項に記載の文書マークアップ支援装置。
【請求項５】
前記取得部は、指示信号に応じて前記第１類似度を変更することを特徴とする請求項１から請求項４のいずれか１項に記載の文書マークアップ支援装置。
【請求項６】
前記提示部は、前記第１候補に対する第２候補を関連づけて提示することを特徴とする請求項２から請求項５のいずれか１項に記載の文書マークアップ支援装置。
【請求項７】
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第１類似度を定義するために用いる特徴量を取得し、
文字列に付与された複数のタグの少なくとも１つが異なる、共有のマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算し、
前記分散が第１閾値以上となる文字列を、タグを修正すべき第１候補として検出し、
前記第１候補を提示することを具備することを特徴とする文書マークアップ支援方法。
【請求項８】
コンピュータを、
文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第１類似度を定義するために用いる特徴量を取得する取得手段と、
文字列に付与された複数のタグの少なくとも１つが異なる、共有のマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する計算手段と、
前記分散が第１閾値以上となる文字列を、タグを修正すべき第１候補として検出する検出手段と、
前記第１候補を提示する提示手段として機能させるための文書マークアップ支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テキストに対してマークアップを行なう文書マークアップ支援装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、電子書籍配信サービスが普及している。このサービスを利用することで、ユーザはデジタル化された書籍をサーバからダウンロードし、いわゆるスマートフォンやタブレットなどの携帯情報端末を用いて文書を読むことができる。電子書籍の利点の一つとして、音声合成技術を用いてテキストを読み上げられる点がある。一般に、音声合成の読み上げを制御するために、ＳＳＭＬ（Ｓｐｅｅｃｈ Ｓｙｎｔｈｅｓｉｓ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）と呼ばれるマークアップ言語が用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６６４４７５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電子書籍のような構造化されていない大規模なテキスト全体に対して手動でマークアップすることは困難である。機械学習技術を使えばマークアップを自動化できるが、自動マークアップ処理を誤りなく行うことは困難である。特に、読み上げ制御に用いられるタグ（韻律、感情、話者など）は、ユーザによって異なることが一般的であるので唯一の正解が存在しない。よって、ユーザの主観や好みによって判断が揺れるためマークアップ処理の負荷がより高くなる。
【０００５】
本開示は、上述の課題を解決するためになされたものであり、ユーザごとに最適なマークアップを効率よく支援することができる文書マークアップ支援装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本実施形態に係る文書マークアップ支援装置は、取得部、第１計算部、検出部および提示部を含む。取得部は、文章の読み上げを制御するタグごとに、他のタグとのタグ間の類似度である第１類似度を定義するために用いる特徴量を取得する。第１計算部は、文字列に前記タグが付与されたマークアップ文書について、前記文字列に付与された該タグの特徴量の分散を前記文字列ごとに計算する。検出部は、前記分散が第１閾値以上となる文字列を、タグを修正すべき第１候補として検出する。提示部は、前記第１候補を提示する。
【図面の簡単な説明】
【０００７】
【図１】電子書籍朗読サービスシステムを示す概念図。
【図２】本実施形態に係る文書マークアップ支援装置を示すブロック図。
【図３】共有マークアップテキスト格納部に格納される共有マークアップテキストの一例を示す図。
【図４】本実施形態に係る文書マークアップ支援システムの動作を示すフローチャート。
【図５】本実施形態に係る修正候補及びタグ候補の提示処理を示すフローチャート。
【図６】（ａ）タグ間の距離の概念図と、（ｂ）タグと対応する特徴量を示すテーブル。
【図７】分散算出後の共有マークアップテキストの一例を示す図。
【図８】文章ＩＤごとの分散の一例を示す図。
【図９】修正情報提示部の表示の第１例を示す図。
【図１０】タグ候補の提示処理を示すフローチャート。
【図１１】新規ユーザがタグを付与している場合の共有マークアップテキストの一例を示す図。
【図１２】タグ候補計算部におけるユーザ間の距離計算処理の一例を示す図。
【図１３】修正情報提示部の表示の第２例を示す図。
【図１４】本実施形態に係る管理サーバおよびユーザ端末のハードウェア構成を示すブロック図。
【発明を実施するための形態】
【０００８】
文書の自動読み上げでは、上述したマークアップ言語ＳＳＭＬ（Ｓｐｅｅｃｈ  Ｓｙｎｔｈｅｓｉｓ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いてテキストをマークアップすることで、読み上げ時のピッチ、話す速度、ボリュームなどを調整できる。ここで、マークアップとは、テキストの一部をタグと呼ばれる文字列で囲むことを意味する。タグは、ＳＳＭＬに代表されるマークアップ言語で定義されるピッチ、話す速度、ボリューム、発話スタイル、感情および話者など文章の読み上げを制御する文字列を含む記号である。たとえば、「お前は＜ｅｍｐｈａｓｉｓ＞優秀＜／ｅｍｐｈａｓｉｓ＞だから、一発合格だろうな。」というマークアップでは、＜ｅｍｐｈａｓｉｓ＞タグ（強調）で囲んだ「優秀」という部分が強調して読まれることになる。なお、タグで囲まれる文字列は単語に限らず、語、句、および文といった文字列でもよく、本実施形態では、タグを付与する基本単位として「文章」にタグを付与するとして説明する。  
さらに、ＳＳＭＬは、マークアップした箇所を会話調や警告調など発話スタイルを変えて読み上げる機能、喜怒哀楽といった感情を込めて読み上げる機能、話者（声質）を変えて読み上げる機能を有する。これによって、臨場感を高めて読み上げることができるので、音声合成の自動朗読への応用が試みられる。  
マークアップを支援する手法として、たとえば、人手でテキストの一部に対してマークアップした学習用コーパスから機械学習手法でモデルを学習し、未知のテキストに対して自動でマークアップする技術が一般的に知られている。具体的には、テキストから感情を推定して感情タグを自動で付与する感情推定技術がある。また、音声読み上げのマークアップに限らず、単語の品詞をマークアップする品詞マークアップや、見出し、本文および広告などテキストの構造をマークアップする構造マークアップなどが知られている。この構造マークアップに対して、テキストの内容やレイアウトの類似性を元にマークアップを支援する技術もある。しかし、上述の従来技術では、人手でテキストをマークアップするには労力がかかり、逆に自動でマークアップするとユーザの主観や好みに応じてマークアップすることができない。
【０００９】
以下、図面を参照しながら本実施形態に係る文書マークアップ支援装置、方法、及びプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。  
本実施形態に係る文書マークアップ支援装置を用いる文書マークアップ支援システムの利用例について図１を参照して説明する。  
図１では、文書マークアップ支援システムとして電子書籍朗読サービスシステムを提供する例を示す。  
文書マークアップ支援システム１００は、管理サーバ１０１、ユーザ端末Ａ１０２−１、ユーザ端末Ｂ１０２−２およびユーザ端末Ｃ１０２−３を含む。  
管理サーバ１０１は、電子書籍１５１の文章にタグを付与して、マークアップ文書１５２（以下、マークアップテキスト１５２）を作成する。タグは、図１の例では、＜ａｎｇｒｙ＞タグ（怒り）や＜ｆｅａｒ＞タグ（怖れ）を用いており、タグで囲まれた語または文章が、怒りの感情や怖れの感情を込めた音声で読み上げられることを意味する。ここで、タグが付与されたテキストをマークアップテキストと呼ぶ。  
ユーザ端末Ａ１０２−１からユーザ端末Ｃ１０２−３は、マークアップテキスト１５２をダウンロードするため、要求信号を管理サーバ１０１へ送信する。管理サーバ１０１は、要求信号を受け取り、要求信号を送信してきたユーザ端末１０２に対してマークアップテキストを配信する。
【００１０】
ユーザは、受信したマークアップテキストを自動推定によるタグに基づいてテキストを読み上げさせることも可能である。しかし、自動推定によって付与されたタグは誤りが多く、また、他のユーザが付与したタグは好みに合わず気に入らないといった場合が生じる可能性がある。そこでユーザは、気に入らないタグを自分の主観や好みに合わせて修正し、修正したマークアップテキスト１５３（修正マークアップテキストともいう）を作成してもよい。具体的には、ユーザ端末Ａ１０２−１は、管理サーバ１０１で付与された＜ｆｅａｒ＞タグを＜ｅｘｉｔｅｄ＞タグ（興奮）に変更し、ユーザ端末Ｃ１０２−３は、＜ａｎｇｒｙ＞タグを＜ｓｈａｍｅ＞タグ（恥）に変更している。  
修正マークアップテキスト１５３は、ユーザ端末１０２から管理サーバ１０１に送信され、他のユーザと共有される。ここで、共有とは、他のユーザがマークアップしたマークアップテキストの閲覧およびダウンロードができることを意味し、さらにマークアップテキストがタグの付与や後述するマークアップの修正候補提示の際の基礎データとして用いられることも意味する。
【００１１】
次に、本実施形態に係る文書マークアップ支援装置について図２のブロック図を参照して説明する。  
本実施形態に係る文書マークアップ支援装置２００は、共有マークアップテキスト格納部２０１、マークアップテキスト共有部２０２、タグ格納部２０３、タグ付与部２０４、特徴量取得部２０５、マークアップテキスト変換部２０６、修正候補検出部２０７、タグ分散計算部２０８、タグ候補計算部２０９および修正情報表示部２１０を含む。
【００１２】
共有マークアップテキスト格納部２０１は、テキストにデフォルトタグが付与されたマークアップテキスト、およびユーザが付与および修正したマークアップテキストを書籍ＩＤと関連づけて格納する。デフォルトタグは、文書マークアップ支援装置２００がテキストに最初に自動で付与するタグを意味する。書籍ＩＤは、たとえば書籍タイトルに一意に振られた数値である。共有マークアップテキスト格納部２０１に格納されるマークアップテキストを共有マークアップテキストともいう。共有マークアップテキストについては、図３を参照して後述する。
【００１３】
マークアップテキスト共有部２０２は、新たなタグを付与するために共有マークアップテキスト格納部２０１に格納されるマークアップテキストを抽出し、新たなマークアップテキストを共有マークアップテキスト格納部２０１に格納するといった、マークアップテキストの管理を行う。
【００１４】
タグ格納部２０３は、テキストに付与するタグを複数格納する。たとえば、ＳＳＭＬで定義されているピッチ、話す速度、ボリュームを制御するタグや感情、発話スタイル、話者を指定するタグである。なお、本実施形態では、タグ間の距離（又はタグ間の類似度）が定義できるという条件を満たせばどのようなタグの種類でもよい。以下、本実施形態では、感情タグを例にとって説明する。
【００１５】
タグ付与部２０４は、マークアップテキスト共有部２０２を介して共有マークアップテキストを受け取り、タグ格納部２０３からタグを受け取る。タグ付与部２０４は、共有マークアップテキストを参照して、テキストにタグを付与する。
【００１６】
特徴量取得部２０５は、タグ格納部２０３からタグを受け取り、タグごとに、タグに対応するタグ間の距離を定義するために用いる特徴量を取得する。特徴量は、たとえば多次元ベクトルである。多次元ベクトル間の距離は、ユークリッド距離またはコサイン距離で定義できる。なお、タグごとの特徴量は、特徴量取得部２０５が、タグと特徴量との関係が予め定義されたテーブルを保有して適宜参照してもよいし、外部にあるテーブルを適宜参照するようにしてもよい。また、ある関数を用いて特徴量を算出してもよい。
【００１７】
マークアップテキスト変換部２０６は、タグ付与部２０４からマークアップテキストを、特徴量取得部２０５から特徴量をそれぞれ受け取り、マークアップテキスト中の各タグを特徴量に置き換え、マークアップテキストを特徴量の時系列データに変換する。時系列データに変換することでタグ間の距離を考慮したタグの分散やユーザ間の距離が定義できる。
【００１８】
修正候補検出部２０７は、マークアップテキスト変換部２０６から特徴量の時系列データを、マークアップテキスト共有部２０２からマークアップテキストを、後述のタグ分散計算部２０８からタグの分散をそれぞれ受け取る。修正候補検出部２０７は、特徴量の時系列データに基づき、ユーザがタグを修正する可能性が高い箇所を修正候補として抽出する。
【００１９】
タグ分散計算部２０８は、修正候補検出部２０７から特徴量の時系列データを受け取り、タグの分散を計算する。
【００２０】
タグ候補計算部２０９は、修正候補検出部２０７からマークアップテキスト、特徴量の時系列データおよび修正候補を受け取り、修正候補においてどのタグに置き換えればよいかを計算し、新たなタグの候補を示すタグ候補を選択する。
【００２１】
修正情報表示部２１０は、タグ候補計算部２０９から候補タグと、マークアップテキストとをそれぞれ受け取り、ユーザに対してテキストのどの箇所のタグを修正するべきか、また、どのようなタグを付与するべきかを提示する。
【００２２】
次に、共有マークアップテキスト格納部２０１に格納される共有マークアップテキストの一例について図３を参照して説明する。  
図３に示すように、テキストが文章単位に分割され、文章ＩＤ３０１、デフォルトタグ３０２、ユーザタグ３０３、及び文章３０４がそれぞれ対応付けられて、共有マークアップテキストとしてテーブルに格納される。ここでは、機械学習による自動推定結果で付与されたデフォルトタグ３０２と、ユーザＡからユーザＣが各文章ＩＤ３０１に対してユーザ好みのタグを付与したユーザタグ３０３とが文章３０４に関連づけられる。デフォルトタグ３０２も１人のユーザとして扱ってもよい。具体的には、文章ＩＤ３０１「７」、文章３０４「何言ってるんだよ。」という文章に対して、デフォルトタグ３０２として「怒」が付与され、ユーザタグ３０３としてユーザＡは「喜」、ユーザＢは「恥」、ユーザＣは「怒」を付与する。読み上げ時には、付与したタグの感情を込めて各文章の読み上げを行なう。  
なお、電子書籍のテキストとタグとは、別々に管理してもよい。また、文章をマークアップの基本単位としているが、文字、単語、パラグラフなど別の単位を基準にマークアップを行ってもよい。
【００２３】
文章ＩＤ ７「何言ってるんだよ。」という文章のみからは、文章に込められた感情としては怒りと感じられる可能性が高いが、前の文章（文章ＩＤ ６「おまえは優秀だから、一発合格だろうな。」）で褒められていることに対する返答なので喜んでいる、恥ずかしがっているなど別の解釈も想定され、一部のユーザ（ユーザＡ及びユーザＢ）がそのようにマークアップする。このように、感情タグなどのタグは一意に決まらず、ユーザの主観や好みによっていろいろな解釈が可能である。さらに、読み上げに用いるその他のタグ（ピッチ、話す速度、ボリューム、発話スタイル、話者など）も同様の性質を有する。
【００２４】
次に、文書マークアップ支援装置を用いる文書マークアップ支援システムの動作について図４のフローチャートを参照して説明する。  
ここでは、共有マークアップテキスト格納部２０１、マークアップテキスト共有部２０２、タグ格納部２０３およびタグ付与部２０４が図１に示す管理サーバ１０１に含まれるとする。また、特徴量取得部２０５、マークアップテキスト変換部２０６、修正候補検出部２０７、タグ分散計算部２０８、タグ候補計算部２０９および修正情報表示部２１０が図１に示すユーザ端末１０２に含まれるとする。なお、文書マークアップ支援装置２００に含まれる各部は、管理サーバ１０１及びユーザ端末１０２にどのように含まれていてもよい。  
ステップＳ４０１では、タグ付与部２０４が、テキストに対してデフォルトタグを付与する。デフォルトタグの付与方法としては、たとえば、既存の機械学習を用いた自動推定による方法、共有マークアップテキストから最大数のタグを付与する方法、共有マークアップテキストから他のユーザに最も支持されたタグを付与する方法を用いればよい。
【００２５】
ステップＳ４０２では、管理サーバ１０１が、デフォルトタグが付与されたマークアップテキストをユーザ端末１０２へ配信する。  
ステップＳ４０３では、ユーザ端末１０２において、修正候補検出部２０７が、マークアップテキストからタグを修正すべき文章である修正候補を検出し、タグ候補計算部２０９が、タグを修正する際のタグ候補を計算する。その後、修正情報表示部２１０が、修正候補とタグ候補とをユーザに表示する。  
ステップＳ４０４では、修正候補とタグ候補とを参照して、ユーザが修正候補にタグを追加したり、修正候補におけるタグを修正したりと言った、タグの編集を行なう。  
ステップＳ４０５では、ユーザ端末１０２が、タグが追加または修正されたマークアップテキストを管理サーバ１０１に送る。管理サーバ１０１は、ユーザ端末１０２から送られた修正されたマークアップテキストを収集し、共有マークアップテキスト格納部２０１に格納する。多数のユーザによりマークアップテキストのタグが編集（追加及び修正）されることによって、共有マークアップテキストを用いたデフォルトタグの付与精度を向上させることができる。デフォルトタグの付与精度が向上すれば、ユーザがタグを修正する箇所が減少すると考えられ、より効率のよいマークアップを行なうことができる。
【００２６】
次に、ステップＳ４０３に示すタグ候補の提示処理について図５のフローチャートを参照して説明する。  
ステップＳ５０１では、特徴量取得部２０５が、共有マークアップテキスト中の各タグについて、特徴量を取得する。  
ステップＳ５０２では、マークアップテキスト変換部２０６が、共有マークアップテキストのタグをステップＳ５０１で定義した特徴量に変換し、特徴量の時系列データを得る。  
ステップＳ５０３では、タグ分散計算部２０８が、タグを付与する基本単位ごとに分散を計算する。なお、ユーザが付与したタグのばらつき度合いが定義できれば分散でなくても構わない。ここでは、分散に準じた値も含めてばらつきを意味する語として分散を用いる。  
ステップＳ５０４では、修正候補検出部２０７が、分散が閾値以上であるタグを、修正する可能性が高い修正候補として検出し、修正情報表示部２１０が修正候補を表示する。  
ステップＳ５０５では、タグ候補計算部２０９が、修正候補においてどのようなタグ候補を提示するかを決定し、修正情報表示部２１０がユーザに対してタグ候補を提示する。
【００２７】
次に、ステップＳ５０１の特徴量取得部２０５における特徴量取得処理について図６を参照して説明する。  
図６（ａ）はタグ間の距離の概念図を表し、図６（ｂ）はタグと対応する座標値とを示すテーブルである。
【００２８】
ここで、修正される可能性が高いタグの特徴について説明する。図３のような共有マークアップテキスト集合が与えられたとする。まず、文章ＩＤ １のように、全員がまったく同じタグ（安）を付与した、またはデフォルトタグから変更しておらず、ばらつきがまったくない場合、このタグの信頼性は高いため新規ユーザが修正する可能性は低いと考えられる。一方、文章ＩＤ ７のようにユーザが付与したタグがばらついている場合、ユーザの主観や好みによってタグがばらついていると考えられる。このようにタグのばらつきが多い文章は、新規ユーザがタグを修正する可能性が高いと考えられる。しかし、文章ＩＤ ２２や文章ＩＤ ２３のようにたとえタグがばらついていたとしても類似度が高い感情（たとえば、好と安、喜と好）でばらついている場合は、感情を込めた読み上げ効果が比較的近いため新規ユーザがタグを修正する可能性は低いと考えられる。  
以上のことから、読み上げ効果が大きく異なるタグで、ばらつきがある箇所は、修正の可能性が高いためユーザに修正候補として提示する。付与されるタグにばらつきがまったくない、もしくは読み上げ効果が近いタグでばらついている箇所は、修正の可能性が低いのでユーザには修正候補として提示しない。このように修正箇所を絞り込むことで、ユーザのマークアップ修正効率を大幅に高めることができる。
【００２９】
図６（ａ）は、タグを２次元座標平面６０１に配置した例を示す。好、安、喜、怒および恥などはそれぞれ感情タグである。配置の際に、読み上げ効果が類似するタグは互いに近くなるように配置する。たとえば、好と安は、距離が近い（類似度が高い）が、好と怒は距離が遠い（類似度が低い）ことを意味する。このようにタグを配置すると、各タグは２次元ベクトルの特徴量として表され、タグ間の距離は、たとえば、ユークリッド距離で計算できる。  
図６では、感情タグの例のみを示すが、ピッチ、話す速度、ボリューム、発話スタイル、話者など任意のタグでもよい。たとえば、話者の場合は、男声と女声とでは距離が遠く（類似度が低く）、声のスペクトルを比較して距離を求めるなどの手法でタグ間の距離を定義してもよい。また、本実施例ではタグ間の距離の定義はあらかじめ固定されているが、２次元座標平面６０１上へのタグの配置や距離の定義をユーザが自由に変更できるインタフェースを用意してもよい。たとえば、ユーザがインタフェースを介して指示信号を特徴量取得部２０５に入力し、特徴量取得部２０５は、指示信号に応じてタグの配置および距離の定義を変更すればよい。さらに、特徴量を２次元ベクトルで表現したが、タグ間の距離が定義できればどのような特徴量でもよい。
【００３０】
図６（ｂ）は、原点を基準とした第１軸６０４および第２軸６０５のそれぞれの座標値と感情タグ６０３とを関連づけたテーブル６０２である。ここでは、第１軸（横軸）６０４は喜びの度合いの大きさを表し、第２軸（縦軸）６０５は覚醒の度合いの大きさを表すが、各軸に意味を割り当てなくてもよい。
【００３１】
次に、タグを特徴量で置き換えた共有マークアップテキストの一例について図７を参照して説明する。  
図７に示す共有マークアップテキストのテーブルは、図３に示す共有マークアップテキストのタグが特徴量７０１に変換され、さらに特徴量の分散７０２がそれぞれ対応付けられて追加される。具体的には、例えば、文章ＩＤ３０１「７」、デフォルトタグ３０２の特徴量７０１「（−０．５，０．５）」、ユーザタグとして、ユーザＡが付与したタグの特徴量「（０．９，０．２）」、ユーザＢが付与したタグの特徴量「（−１．０，−０．１）」、ユーザＣが付与したタグの特徴量「（−０．５，０．５）」、分散７０２「０．７５」および文章３０４「何言ってるんだよ。」がそれぞれ対応付けられる。このようにマークアップテキストが特徴量の時系列データとして表せる。
【００３２】
次に、ステップＳ５０３におけるタグ分散計算部２０８の分散の計算方法について説明する。  
タグの分散の計算は、本実施形態では、図７の特徴量の次元ごとに分散を計算してから足し合わせている。たとえば、文章ＩＤ ７の文章の分散は、式（１）のように計算できる。
【数１】
0005596649.tif 000002
【００３３】
付与されたタグを特徴量の行列で表すと、  
ｖａｒｉａｎｃｅ＝ｓｕｍ（ｄｉａｇ（ｃｏｖ（Ａ）））  
で計算できる。ここで、ｓｕｍ（）は和を求める関数、ｄｉａｇ（）は対角線の要素を取得する関数、およびｃｏｖ（）は分散共分散行列を計算する関数である。同様の方法ですべての文章に対応付けられた特徴量について分散を計算する。
【００３４】
次に、ステップＳ５０４における修正候補検出部２０７の検出処理について図８を参照して説明する。  
図８は、図７の文章ＩＤ３０１および分散７０２の項目について、横軸に文章ＩＤ３０１および縦軸に分散７０２を取った文章ＩＤごとの分散を表すグラフである。このグラフから、タグのばらつきが大きい箇所と小さい箇所とを認識することができる。なお、分散の値は、タグ間の距離も考慮して計算されているので、読み上げ効果が似ているタグ同士では分散が小さくなる。修正候補検出部２０７は、分散が閾値以上となる文章を修正候補として選択する。  
具体的には、文章ＩＤ ７のように怒、喜および恥のように読み上げ効果が大きく異なるタグが付与される場合は、すなわちタグ間の距離が遠い（類似度が低い）場合は、分散は大きな値となる。一方、文章ＩＤ １のように全員が同じタグ「安」を付与したり、文章ＩＤ ２２および文章ＩＤ ２３の「好」「安」および「喜」のように、付与されるタグは異なっていても読み上げ効果が似ている、すなわちタグ間の距離が近い（類似度が高い）場合は、分散は小さな値となる。よって、分散が大きければ文章ＩＤ ７ごとの分散を、ユーザによる主観や好みによって付与されるタグが異なっているためユーザに修正を促した方がよい箇所として修正候補を選択する。
【００３５】
なお、閾値は、所定の値でも、ユーザによって変更可能な値としてもよい。また、分散が大きい順に、所定の数の文章を修正候補として選択するなどの方法を用いてもよい。
【００３６】
次に、ステップＳ６０４における修正情報表示部２１０の表示例について図９を参照して説明する。  
図９は、修正候補を表示するユーザインタフェースの一例であり、ユーザがテキスト９０１を読みながら、テキスト９０１に関する読み上げ音声を聞いている場合を想定する。  
読み上げ中に修正候補が存在する場合、修正候補を強調してポップアップ９０３を表示し、ユーザに他の読み上げ候補が可能であることを提示する。具体的には、タグ分散計算部２０８における計算で分散が閾値以上である修正候補９０２（文章ＩＤ ７「何言ってるんだよ。」）を強調して表示し、ポップアップ９０３として「異なる読み上げ方が可能です。候補を提示しますか？」とユーザに他の候補の選択を促す。別の方法として、修正候補を読み上げ前に一覧で表示し、ユーザが事前にタグを一括修正してもよい。なお、図９では、修正候補をポップアップで表示させる例を示すが、別ウィンドウに修正候補を表示してもよく、ユーザが修正候補を認識できればどのような方法でもよい。
【００３７】
次に、ステップＳ５０５におけるタグ候補の提示処理について、図１０のフローチャートを参照してさらに詳細に説明する。以下では、図７に示すように、デフォルトタグも含めた４人のユーザのマークアップテキストが登録または共有されている状態で、新規ユーザが独自のマークアップテキストを作成することを想定する。  
ステップＳ１００１では、タグ候補計算部２０９が、共有マークアップテキスト格納部２０１に格納される共有マークアップテキストから、全ユーザがこれまでに修正した修正候補と修正したタグの情報とを収集する。  
ステップＳ１００２では、タグ候補計算部２０９が、新規ユーザと同様の傾向でタグを修正したユーザを、新規ユーザとの類似度に基づいて検索する。ここでは、新規ユーザとの類似度算出の一例として、タグ間の距離と同様に、ユーザ間の距離を算出する。まず、文章ごとにタグ間のユークリッド距離を計算し、全文章について計算されたユークリッド距離を加算し、値が閾値以下となるユーザを新規ユーザと類似度が高いユーザとして選択すればよい。具体例については、図１２を参照して後述する。  
ステップＳ１００３では、新規ユーザと類似度が高いユーザが付与したタグに基づいてタグ候補を新規ユーザに提示する。
【００３８】
次に、新規ユーザがタグを付与している場合の共有マークアップテキストの一例について図１１を参照して説明する。  
図１１に示すテーブルは、図７に示したテーブルに新規ユーザ１１０１のタグの欄が追加されたテーブルであり、共有マークアップテキスト格納部２０１に格納されている。新規ユーザが修正した修正候補１１０２である文章ＩＤ ７、８、１０、１１および１３に対してすでにタグが付与され、次の修正候補１１０３に対して、文章ＩＤ １５にタグを付与する場合を示す。  
タグ候補計算部２０９は、新規ユーザのこれまでに修正した修正候補及び修正したタグの情報として、新規ユーザが文章に付与したタグの特徴量、文章ＩＤ ７（０．９，０．２）、文章ＩＤ ８（０．２，０．９）、文章ＩＤ １０（−０．９，０．１）、文章ＩＤ １１（−０．９，０．１）および文章ＩＤ １３（−０．９，０．８）の５つを収集する。
【００３９】
次に、ステップＳ１００２におけるユーザ間の距離の計算方法について図１２を参照して説明する。  
図１２は、新規ユーザがタグを修正した文章ＩＤにおけるタグの特徴量と、同一の文章ＩＤにおけるデフォルトタグ及びユーザＡからユーザＣが付与したタグの特徴量とを抽出したテーブルである。上述の５個の修正候補の文章ＩＤを基に、新規ユーザとの距離を計算する。具体的には、たとえば新規ユーザとユーザＢとのユークリッド距離１２０１は、以下の式（２）で表される。
【数２】
0005596649.tif 000003
【００４０】
同様の方法で、新規ユーザ１１０１と他のユーザとのユークリッド距離１２０１を計算すると、図１２に示すように、デフォルトタグとの距離（７．７５）、ユーザＡとの距離（１．３６）、ユーザＢとの距離（５．８２）およびユーザＣとの距離（３．９０）が得られる。  
よって、新規ユーザ１１０１とマークアップの類似度が高いのは、新規ユーザ１１０１と距離が近い順であるユーザＡ、ユーザＣ、ユーザＢおよびデフォルトタグの順番となる。すなわち、ユーザＡが新規ユーザ１１０１と最もマークアップの傾向が近く、主観や好みが似ていると判定することができる。  
なお、上述の例では、新規ユーザがタグを修正した文章に絞って距離を計算したが、マークアップテキスト全ての文章に基づいてユーザ間の距離を計算してもよい。この方法で計算したユーザ間の距離は、タグ間の距離を反映した距離となる。
【００４１】
次に、修正情報表示部２１０におけるタグ候補の提示例ついて図１３を参照して説明する。  
タグ候補の提示方法としては、たとえば、新規ユーザと距離が最も近いユーザのマークアップを参照して、新規ユーザと距離が最も近いユーザの、該当文章におけるタグをそのまま提示する。具体的には、図１２ではユーザＡが新規ユーザと最も距離が近いので、ユーザＡが文章ＩＤ １５に付けたタグである哀（特徴量：−０．９，−０．２）を、新規ユーザの文章ＩＤ １５に付与するタグ候補として提示する。また、図１３のように、付与されたタグの割合をポップアップ１３０１で表示してもよい。さらに、新規ユーザと距離が近いユーザを順に一定数選択し、その中で最も多く文書に付与されたタグのうち、最大数のタグを提示してもよいし、ランキングとして順に表示してもよい。
【００４２】
また、複数のタグ候補があった場合にタグ同士を融合し、新たなタグを生成することもできる。たとえば、図１３のようなポップアップ１３０１によるタグ候補の提示において、喜びが５０％、悲しみが５０％といった割合で提示された場合、ユーザが喜びと悲しみとの両方の捉え方ができる「うれし泣き」といった感情を表すと考えられる。その場合、感情モーフィングなどの技術を用いることで喜びと悲しみとの２つの感情を、それぞれの割合（ここでは、５０％ずつ）で融合した読み上げを行なうことができる。
【００４３】
また、上述の方法でユーザ間の距離を定義すれば、不適切なマークアップ（たとえば、内容とは関係なくランダムにマークアップするなど）を行ったユーザを検出することもできる。これは、距離を保ったまま２次元平面上にユーザをマッピングする多次元尺度法を用いると、不適切なマークアップを行ったユーザが外れ値となるからである。外れ値となったユーザは、修正候補およびタグ候補計算の対象から除外することにより、よりマークアップの効率及びユーザ間の距離の精度を向上させることができ、適切な対応を取ることができる。
【００４４】
本実施形態に係る管理サーバおよびユーザ端末のハードウェア構成について図１４のブロック図を参照して説明する。  
図１４は、本実施形態の管理サーバ１０１およびユーザ端末１０２のハードウェア構成を示すブロック図である。管理サーバ１０１およびユーザ端末１０２は、ＣＰＵ（Central Processing Unit）１４０１、ＲＯＭ（Read Only Memory）１４０２、ＲＡＭ（Random Access Memory）１４０３、ＨＤＤ（Hard Disk Drive）１４０４、表示部１４０５、送受信部１４０６および操作部１４０７を含み、それぞれがバス１４０８により相互に接続されている。
【００４５】
ＣＰＵ１４０１は、文書マークアップ支援装置２００全体の処理を制御する演算装置である。  
ＲＯＭ１４０２は、ＣＰＵによる各種処理を実現するプログラムなどを記憶する。たとえば、図２に示した各モジュールはプログラムとしてＲＯＭに格納される。  
ＲＡＭ１４０３は、ＣＰＵによる各種処理に必要なデータを記憶する。  
ＨＤＤ１４０４は、電子書籍などのテキスト、共有マークアップテキスト、タグなど大規模なデータを記憶する。  
表示部１４０５は、テキスト、タグ候補などを表示する。  
送受信部１４０６は、電子書籍やマークアップテキストに関する送受信を行う。  
操作部１４０７は、提示された情報に対してユーザが指示を入力する。
【００４６】
なお、本実施形態の文書マークアップ支援装置で実行されるプログラムは、上述した各部（マークアップテキスト共有部２０２、タグ付与部２０４、特徴量取得部２０５、マークアップテキスト変換部２０６、修正候補検出部２０７、タグ分散計算部２０８、タグ候補計算部２０９および修正情報表示部２１０）を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１４０１がＲＯＭ１４０２から各種プログラムを読み出して実行することにより、上述した各部がＲＡＭ１４０３上にロードされ、上述した機能構成がＲＡＭ１４０３上に生成されるようになっている。
【００４７】
また、本実施形態では、サーバおよびクライアント構成を取っているが、図２に示す各モジュールがサーバ、クライアントのどちらで実行されてもよい。さらに本実施形態では、テキストとして電子書籍、タグとして感情タグを例に説明したが、それに限らず、一般的なテキストと距離が定義できる任意のタグに適用してもよい。
【００４８】
以上に示した本実施形態に係る文書マークアップ支援装置によれば、電子書籍のような長大なテキストに対して、ユーザがタグを修正すべき箇所をタグ間の類似度に基づいて提示することで、修正すべき候補を絞り込むことができ、マークアップ作業を大幅に効率化できる。また、感情タグのようにユーザの主観や好みによってタグが揺れる場合でも、自分とマークアップが類似するユーザのタグを参照することができ、効率的なマークアップが可能となる。
【００４９】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した文書マークアップ支援装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の文書マークアップ支援装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００５０】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５２】
１００・・・文書マークアップ支援システム、１０１・・・管理サーバ、１０２−１〜１０２−３・・・ユーザ端末、１５１・・・電子書籍、１５２・・・マークアップテキスト、１５３・・・修正マークアップテキスト、２００・・・文書マークアップ支援装置、２０１・・・共有マークアップテキスト格納部、２０２・・・マークアップテキスト共有部、２０３・・・タグ格納部、２０４・・・タグ付与部、２０５・・・特徴量取得部、２０６・・・マークアップテキスト変換部、２０７・・・修正候補検出部、２０８・・・タグ分散計算部、２０９・・・タグ候補計算部、２１０・・・修正情報表示部、３０１・・・文章ＩＤ、３０２・・・デフォルトタグ、３０３・・・ユーザタグ、３０４・・・文章、６０１・・・２次元座標平面、６０２・・・テーブル、６０３・・・感情タグ、６０４・・・第１軸、６０５・・・第２軸、７０１・・・特徴量、７０２・・・分散、９０１・・・テキスト、９０２・・・修正候補、９０３，１３０１・・・ポップアップ、１１０１・・・新規ユーザ、１１０２，１１０３・・・修正候補、１２０１・・・距離、１４００・・・ハードウェア構成、１４０１・・・ＣＰＵ、１４０２・・・ＲＯＭ、１４０３・・・ＲＡＭ、１４０４・・・ＨＤＤ、１４０５・・・表示部、１４０６・・・送受信部、１４０７・・・操作部、１４０８・・・バス。
【図１】
0005596649.tif 000004
【図２】
0005596649.tif 000005
【図３】
0005596649.tif 000006
【図４】
0005596649.tif 000007
【図５】
0005596649.tif 000008
【図６】
0005596649.tif 000009
【図７】
0005596649.tif 000010
【図８】
0005596649.tif 000011
【図９】
0005596649.tif 000012
【図１０】
0005596649.tif 000013
【図１１】
0005596649.tif 000014
【図１２】
0005596649.tif 000015
【図１３】
0005596649.tif 000016
【図１４】
0005596649.tif 000017