(57)【要約】【課題】文書上にユーザがマーキングを行うだけで、当該文書に含まれる所望の情報に対し、ユーザの意図に沿った処理の実行を行うことができる情報処理方法及び装置を提供する。【解決手段】表示された文書に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションが入力されると、入力されたアノテーションの種別及び当該文書中の当該アノテーションの適用範囲を認識し、当該アノテーションの種別及び当該適用範囲内の情報を基に、ユーザの意図を推定する。この推定された意図を基に、当該文書に対するアクションを選択し実行する。【選択図】      図１
2006065754.tif 000002
【特許請求の範囲】
【請求項１】
表示された文書に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションを入力する入力手段と、
前記入力手段から入力された前記アノテーションの種別及び前記文書中の当該アノテーションの適用範囲を認識するアノテーション認識手段と、
前記アノテーションの種別及び前記適用範囲内の情報を基に、ユーザの意図を推定する意図推定手段と、
前記意図推定手段により推定された意図を基に、前記文書に対するアクションを選択するアクション選択手段と、
前記アクション選択手段により選択された前記アクションを実行する実行手段と、
を具備したことを特徴とする情報処理装置。
【請求項２】
前記意図推定手段は、前記アノテーションの種別及び前記適用範囲内の情報の属性を基に、ユーザの意図を推定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記意図推定手段は、前記アノテーションの種別と、前記適用範囲内の情報の属性及び前記文書中の当該情報を含む構成要素のうちの少なくともつとを基に、ユーザの意図を推定することを特徴とする請求項１記載の情報処理装置。
【請求項４】
意図毎に、当該意図と推定されるアノテーションの種別と、当該アノテーションの適用範囲内の情報の属性及び前記文書中の当該情報を含む構成要素のうちの少なくとも１つとを示した複数の意図推定知識情報を記憶する第１の記憶手段をさらに具備し、
前記意図推定手段は、前記意図推定知識情報を用いて、ユーザの意図を推定することを特徴とする請求項２または３記載の情報処理装置。
【請求項５】
前記入力手段は、表示された文書に、前記アノテーションとともに、当該アノテーションの適用範囲を入力し、
前記アノテーション認識手段は、入力された前記アノテーションの適用範囲を認識することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記文書に含まれる各情報の属性を判定する判定手段をさらに具備したことを特徴とする請求項１記載の情報処理装置。
【請求項７】
属性毎に当該属性を有する情報がもつパタンを示した複数の知識情報を記憶する第２の記憶手段をさらに具備し、
前記判定手段は、前記知識情報を用いて、前記文書に含まれる各情報の属性を判定することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記アノテーション認識手段は、前記入力手段で入力されたアノテーションを文字認識する文字認識手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項９】
表示された文書に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションを入力する入力手段及び演算手段を備えたコンピュータにおける情報処理方法であって、
前記入力手段が、表示された文書に前記アノテーション及び当該アノテーションの適用範囲を入力するステップと、
前記演算手段が、
入力された前記アノテーションの種別及び前記文書中の当該アノテーションの適用範囲を認識するステップと、
前記アノテーションの種別及び前記適用範囲内の情報を基に、ユーザの意図を推定するステップと、
推定された意図を基に、前記文書に対するアクションを選択するアクションステップと、
選択された前記アクションを実行するステップと、
を有することを特徴とする情報処理方法。
【請求項１０】
コンピュータを
表示された文書に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションを入力する入力手段、
入力された前記アノテーションの種別及び前記文書中の当該アノテーションの適用範囲を認識するアノテーション認識手段、
前記アノテーションの種別及び前記適用範囲内の情報を基に、ユーザの意図を推定する意図推定手段、
前記意図推定手段により推定された意図を基に、前記文書に対するアクションを選択するアクション選択手段、及び
選択された前記アクションを実行する実行手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関する。
【背景技術】
【０００２】
ユーザに情報を提示し、この提示された情報に対するユーザのアクションを処理する従来技術としては、グラフィカルユーザインタフェース（ＧＵＩ）と呼ばれる方式が一般に普及している。ＧＵＩではマウスなどの指示装置によってユーザが画面上のオブジェクトを指し示し、このオブジェクトに対して施したいアクションをユーザがメニュー画面から選択するなどの方式がとられる。
【０００３】
特にＧＵＩにおけるコンテクストメニューと呼ばれる技術では、対象となるデータの形式によって選択可能な操作を限定してメニュー表示することで、ユーザによるアクションの指示を簡易にしている。
【０００４】
また電子メールを閲覧するアプリケーションにおいては、文章中のＵＲＬやメールアドレスとみなせる部分を自動的にハイパーリンク化して提示する技術が利用されている。
【０００５】
第１のドキュメントを表示する際に他の関連するドキュメントを示す技術がある（例えば、特許文献１参照）。
【０００６】
ユーザによりマーキングされたペーパー文書と、マーキングされていないオリジナル文書とからマークを抽出し、マーキングされたアイテムに関連する動作を行う技術もある（例えば、特許文献２参照）。
【０００７】
ペンなどによってユーザから入力されたアノテーションに基づいてアクションを実行する技術もある（例えば特許文献３参照）。
【特許文献１】特開２０００−１０９８１公報
【特許文献２】特開平１０−１４９４１０号公報
【特許文献３】特開平７−７８０５３号公報
【特許文献４】特開平８−１６３１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来は、形式的な手がかりに基づいて機械的に操作の限定を行うのみであり、形式のみならず文脈を含めたデータの内容によってユーザの所望する操作が異なるような高度な要求には対応できなかった。
【０００９】
また、ユーザが文書上に自然に行う操作の違い、例えばペンによる操作であれば丸印をつける、アンダーラインをひく、枠で囲う、文字列による書き込みを施す、などの違いを文書の内容と関連付けて操作の選択に反映することはできなかった。
【００１０】
そこで、本願発明は、文書上にユーザがアンダーライン、囲み、文字、記号などによるマーキングを行うだけで、当該文書に含まれる所望の情報に対し、ユーザの意図に沿った処理の実行を行うことができる情報処理方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、表示された文書に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションが入力されると、入力されたアノテーションの種別及び当該文書中の当該アノテーションの適用範囲を認識し、当該アノテーションの種別及び当該適用範囲内の情報を基に、ユーザの意図を推定する。この推定された意図を基に、当該文書に対するアクションを選択し実行する。
【００１２】
意図を推定する際には、アノテーションの種別、当該アノテーションの適用範囲内の情報の属性、及び前記文書中の当該情報を含む構成要素のうちの少なくとも１つを基にユーザの意図を推定する。
【発明の効果】
【００１３】
本発明によれば、文書上にユーザがアンダーライン、囲み、文字、記号などによるマーキングを行うことにより、当該文書に含まれる所望の情報に対し、ユーザの意図に沿った処理を実行することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
【００１５】
(第１の実施形態)
第１の実施形態は、インターネット上のコンテンツ、あるいはＨＴＭＬ形式を含む電子メールの内容を表示し、ペンによるユーザからの入力を受けて表示内容に関するアクションを実行する、ペン入力可能なノート型ＰＣあるいはＰＤＡによって実現される情報処理装置について説明したものである。
【００１６】
図１は、第１の実施形態に係る情報処理装置の構成例を示したものである。
【００１７】
文書情報入力部１０１は文書情報を入力するためのものである。この文書情報は、ＨＴＭＬ形式の文書、ＸＭＬ（Extensible markup language）で記述された文書、構造を持たない平文の文書、紙に印字された文書を既知のＯＣＲ技術によって電子的なテキストに変換した文書など、種々の形式の文書であってよい。文書情報入力部１０１にはこれら文書が記録媒体やネットを介して入力される。
【００１８】
また、文書情報入力部１０１は例えば、所定のディスプレイ装置の画面上に透明なタブレットを重ねて、ペン（スタイラス）などのポインティングデバイスを表示画面上（タブレット上）を動かすと、その座標を取得するような入力装置も備えている。
【００１９】
意味クラス解析知識記憶部１０２には、文書情報入力部１０１により入力された文書情報に含まれる文字列から、予め設定された意味クラスを表す部分を判別するための意味クラス解析知識情報が蓄積されている。意味クラス解析部１０３は、意味クラス解析知識記憶部１０２に蓄積された意味クラス解析知識情報に基づいて、文書情報入力部１０１で入力された文書を解析し、予め設定された意味クラスを表す部分を求めて、これを解析結果タグで囲んだ意味クラス解析結果を出力する。表示部１０４は、文書情報入力部１０１で入力された文書情報を表示する。
【００２０】
アノテーション入力部１２０は、表示部１０４で表示された文書情報に対し所望のアノテーションを例えばペン入力するためのものである。具体的には、ユーザは、表示部１０４で表示された文書上の所望の位置に所望のアノテーションをペンを用いて書き込むように入力する。入力される（ペンで書き込まれる）アノテーションはアンダーライン、囲み、文字、文字列、記号及び記号列などがあり、アノテーションとして予め定められたものであれば何でも良い。また、ペンで入力する場合に限らず、例えば、キーボード上から所定のキーを入力することで、所定のアノテーションを入力するようにしてもよい。
【００２１】
アノテーション部１０５は、アノテーション入力部１２０から入力されたアノテーションの種別や、文書中の当該アノテーションの適用範囲を認識する。アノテーション部１０５は、入力されたアノテーションの種別を文字認識により判定する場合には、アノテーションテンプレート記憶部１２１に記憶されているアノテーションテンプレートを参照するようになっている。アノテーションテンプレートには、アノテーションとして入力され得る文字や記号などを認識するために必要な特徴情報などである。
【００２２】
意図推定知識記憶部１０６には、文書情報入力部１０１で入力された文書情報、意味クラス解析部１０３の出力である意味クラス解析結果、アノテーション入力部１２０から入力されたアノテーションに対する認識結果などを基に、ユーザの意図を推定するための意図推定知識情報が記憶されている。
【００２３】
意図推定部１０７は、意図推定知識記憶部１０６に記憶された意図推定知識情報に従い、文書情報入力部１０１で入力された文書情報、意味クラス解析部１０３の出力である意味クラス解析結果、アノテーション入力部１２０から入力されたアノテーションに対する認識結果などを基に、ユーザの意図を推定する。
【００２４】
アクション選択知識記憶部１０８には、意図推定部１０７の出力である意図推定結果に基づき、文書情報入力部１０１から入力された文書情報に対するアクションを選択するためのアクション選択知識情報が記憶されている。
【００２５】
アクション選択部１０９は、アクション選択知識記憶部１０８に記憶されたアクション選択知識情報に従い、意図推定部１０７の出力である意図推定結果に基づいて、文書情報入力部１０１から入力された文書情報に対するアクションを選択する。
【００２６】
アクション実行部１１０は、アクション選択部１０９によって選択されたアクションを実行する。
【００２７】
以下、第１の実施形態に係る情報処理装置の動作を具体的な例をあげて詳細に説明する。
【００２８】
文書情報入力部１０１によって、例えば、図２に示すようなＨＴＭＬ形式のインターネット文書または電子メールが入力される場合を例にとり説明する。なお、図２は文書情報の一部を省略して示している。
【００２９】
文書情報入力部１０１により入力される文書情報は、図２に示したようなＨＴＭＬ形式の文書である必要はなく、ＸＭＬ（Extensible markup language）で記述された文書や、構造を持たない平文の文書、紙に印字された文書を既知のＯＣＲ技術によって電子的なテキストに変換した文書など、種々の形式の文書であってもよい。文書情報入力部１０１で入力された文書情報は意味クラス解析部１０３に渡される。
【００３０】
なお、処理対象とする文書がＸＭＬで記述されたＸＭＬ文書のように、任意の名称のタグにより囲まれた複数の要素からなる階層化構造を有し、既に、文書中の各情報がタグ名などにより各種意味クラスに分類されているような文書の場合には、意味クラス解析部１０３における意味クラス解析処理を行わずに（意味クラス解析部１０３での処理をスキップして）、そのまま表示部１０４で所定の表示画面上に表示し、次の処理を行うようにしてもよい。
【００３１】
図３は、意味クラス解析知識記憶部１０２に記憶された意味クラス解析知識情報の例を示したものである。意味クラス解析知識情報には、当該意味クラスに属する情報がもつパタン、例えば、文字列や記号などからなるパタンと、当該パタンにマッチする情報の種別や意味などの属性を表す意味クラスが含まれている。
【００３２】
意味クラス解析部１０３は図４に示したフローチャートに従って、文書情報の意味クラスを解析する。意味クラス解析部１０３での意味クラス解析手法は、例えば、公知の固有表現抽出方法（「質問応答と日本語固有表現抽出および固有表現体系の関係についての考察」、市村由美，他，情報処理学会研究報告，ＮＬ−１６１−３，２００４）を用いることができる。
【００３３】
まず、意味クラス解析部１０３は、文書情報入力部１０１から渡された文書情報を読み込む（ステップＳ１）。ここでは図２に示した文書情報が読み込まれたとする。次に、意味クラス解析知識記憶部１０２に記憶された意味クラス解析知識情報をひとつずつ読み込む（ステップＳ２）。ここでは例として、図３の意味クラス解析知識情報３０１が読み込まれたときを例として説明する。
【００３４】
意味クラス解析部１０３は、読み込んだ意味クラス解析知識情報３０１からパタン（パタンタグで囲まれた値）を取り出す。この例では「（株式会社［＾あ−ん］＋）」というパタンが取り出される。この例では、パタンとしてＰｅｒｌ言語（「プログラミングPerl」，Larry Wall，Tom Christiansen，Randal L. Schwartz著，近藤嘉雪訳，オライリージャパン，1997）の正規表現を利用している。
【００３５】
意味クラス解析知識情報３０１のパタンは、「株式会社」という文字列の直後に連続する１文字以上の平仮名以外の文字列があることを示し、このパタンにマッチする文字列は「ＣＯＭＰＡＮＹ」という意味クラスであると判定されるようになっている。
【００３６】
ステップＳ１で読み込まれた文書情報に対し、ステップＳ２で取り出された意味クラス解析知識情報のパタンを照合し、マッチするか否かを判定する（ステップＳ３）。この意味クラス解析知識情報３０１が読み込まれたときの例では、図２の文書情報中「株式会社ＴＳＢ」という文字列がマッチする（ステップＳ３のＹｅｓ）。なお、ここでは、説明の簡単なパタンを例にとり説明しているが、実際には、ステップＳ１で読み込んだ文書情報に対し形態素解析を施した後に、解析知識情報のパタンとの照合を行うことにより、より高精度に当該パタンに対応する文字列を得ることができる。ステップＳ３で、図２の文書情報中「株式会社ＴＳＢ」という文字列が意味クラス解析知識情報３０１のパタンにマッチするので、ステップＳ４へ進み、当該文字列の両端に意味クラス解析結果タグ（以下、簡単に解析結果タグ）が挿入される。この挿入されるタグには、その属性として、当該文字列の属する意味クラスが記述されている。すなわち、上記文字列「株式会社ＴＳＢ」の場合には、その両端に意味クラスが「ＣＯＭＰＡＮＹ」という属性である解析結果タグのＳＰＡＮタグが挿入されて、「＜ＳＰＡＮ ｃｌａｓｓ＝“ＣＯＭＰＡＮＹ”＞株式会社ＴＳＢ＜／ＳＰＡＮ＞」となる。すなわち、ある文字列を、開始タグ（例えば＜ＳＰＡＮ＞）と終了タグ（例えば＜／ＳＰＡＮ＞）で囲み、意味クラス解析結果の意味クラス属性を付与して、１つのＳＰＡＮ要素が生成される。
【００３７】
ステップＳ３において、当該文書情報中に当該意味クラス解析知識情報のパタンにマッチする文字列が存在しなかった場合（ステップＳ３のＮｏ）には、ステップＳ４をスキップしてステップＳ５へ進む。
【００３８】
ステップＳ３〜ステップＳ４の処理は意味クラス解析知識記憶部１０２に記憶された全ての意味クラス解析知識情報について繰り返し実行される（ステップＳ５）。ここでは例として図３の意味クラス解析知識情報３０１〜３０８について処理を行なったとする。全ての意味クラス解析知識情報について処理が終了すると、意味クラス解析部１０３は解析結果を出力する（ステップＳ６）。意味クラス解析部１０３による解析結果の例を図５に示す。
【００３９】
図５は、ＨＴＭＬタグのＳＰＡＮタグ（＜ＳＰＡＮ＞＜／ＳＰＡＮ＞で囲まれた範囲をひとかたまりとするタグ）を用いて、このＳＰＡＮタグの属性として意味クラスを記述したものを元の文書情報に埋め込む形で解析結果を出力した場合の例である。なお、解析結果の出力が図５に示したような形式である必要はなく、例えば、解析結果と対応する箇所の文書情報中の位置を、文書情報の先頭からの文字数あるいはバイト数で表現することにより、解析結果を文書情報とは別のデータとして出力してもよい。
【００４０】
意味クラス解析部１０３から出力された解析結果は表示部１０４へと送られる。表示部１０４による文書情報の表示例を図６に示す。表示部１０４は、既存のインターネットコンテンツ閲覧アプリケーションと同様に、ＨＴＭＬ文書をレンダリングして表示している。
【００４１】
図５に示した意味クラス解析結果は、解析結果タグがレンダリングに影響しないＨＴＭＬ形式で文書情報に埋め込まれているため、図６の解析結果の表示例では、解析結果タグ自体は表示されていない。しかし、この場合に限らず、意味クラス解析結果が表示されていてもよい。あるいはカスケーディングスタイルシート（ＣＳＳ）を用いて、意味クラス解析結果中のＳＰＡＮ要素に含まれる属性ｃｌａｓｓに対して表示方法の指定を行ない、表示部１０４による表示に意味クラス解析の結果を反映させてもよい。
【００４２】
表示部１０４によって表示された文書情報を閲覧した利用者は、アノテーション入力部１２０によって文書情報に関わるアノテーションを入力する。ここでは、アノテーション入力部１２０は、表示部１０４の画面上にペンによって直接アノテーションを入力するようになっている。このようなアノテーションの入力方法は、既存のＰＤＡもしくはタブレットＰＣと呼ばれるペン入力可能なノート型ＰＣによって実現されている技術を適用すればよい。本発明は入力方法の発明ではないため、その詳細については省略する。図６に示した表示画面上にユーザによって入力されるアノテーションの例を図７〜図９に示す。
【００４３】
図７は、表示部１０４によって表示された文書情報中の「４月９日」という文字列部分に対してアンダーライン（アノテーション４０１）がひかれている。図８は、表示部１０４によって表示された文書情報の第２段落部分が線で囲われている。ここでは、この囲みがアノテーション４０２である。図９は、表示部１０４によって表示された文書情報の「ＧＢ  Ｇ２１」という文字列の付近にクエスチョンマーク（アノテーション）４０３が書き込まれている。
【００４４】
アノテーション入力部１２０は、例えばアノテーションのパスが連続していること、あるいはパスが不連続であってもそれらの時間的な間隔が予め設定された時間よりも短いことによって、各アノテーションを区別し、入力された各アノテーションの開始点（ペンによる書き始め）や終了点（書き終わり）、筆順、線の方向や長さ（パスの長さ）、位置などの情報を、表示画面の左下を基準とし、画面を構成するピクセルを単位として検出するようになっている。
【００４５】
アノテーション部１０５は、図７〜図９に示したアノテーション４０１〜４０３の開始点や終了点の座標やパスの長さなどから、文書中の各アノテーションの適用範囲を認識して、当該文書中の当該適用範囲の先頭と終端に「ＡＮＮＯＴＡＴＩＯＮ」タグを挿入し、それぞれ図１０〜図１２に示したように内部表現として扱う。
【００４６】
図１０の例において、ｓｔａｒｔＸ、ｓｔａｒｔＹがアノテーション４０１の開始点のＸ座標とＹ座標を示し、ｅｎｄＸ、ｅｎｄＹがアノテーション４０１の終了点のＸ座標とＹ座標を示している。またｌｅｎｇｔｈはアノテーション４０１の開始から終了までの道のりとしてのパスの長さを示している。アノテーション４０１の開始点及び終了点の座標値及びパスの長さ等の情報は、アノテーション４０１の適用範囲である当該アノテーション４０１が書き込まれた文字列の両端に「ＡＮＮＯＴＡＴＩＯＮ」タグを用いて挿入されている。各座標の基準点及び単位は処理系毎に規定すればよい。例えば図１０では、画面の左下を基準とし、画面を構成するピクセルを単位とする。
【００４７】
アノテーション部１０５は、入力されたアノテーションが、予め定められた複数の種別のうちのいずれに属するかを判定する。ここではアノテーションが、図７〜図９に示した「アンダーライン」、「囲み」、「書き込み」の３種類であるとする。
【００４８】
また、アノテーション部１０５は、表示画面上に入力されたアノテーションが、表示画面上に表示された文書情報中のどの部分に対し入力されたのかを、例えば、文書情報の画面上の座標とアノテーションの座標とから判定する。
【００４９】
図１３は、アノテーション部１０５が入力されたアノテーションの種別の判定処理を説明するためのフローチャートである。
【００５０】
まずステップＳ１１で、入力されたアノテーションが読み込まれる。ステップＳ１２〜ステップＳ１４では、当該アノテーションの文書情報中の開始点ｓｔａｒｔＸ、ｓｔａｒｔＹ、終了点ｅｎｄＸ、ｅｎｄＹ、パスの長さｌｅｎｇｔｈの各値を用いて、当該アノテーションの種別を判定するようになっている。
【００５１】
ステップＳ１２では、アノテーションが「アンダーライン」であるための条件を満たすか否かをチェックしている。すなわち、開始点のＸ座標と終了点のＸ座標の差が所定値（ここでは例えば「１０」）より大きく、かつ開始点のＹ座標と終了点のＹ座標の差が所定値（ここでは例えば「５」）より小さく、かつ開始点と終了点の間の距離がパスの長さ（ｌｅｎｇｔｈ）の所定数（ここでは例えば「０.８」）倍よりも長い場合には、ステップＳ１３へ進み、当該アノテーションは「アンダーライン」と判定する。
【００５２】
図７のアノテーション４０１の場合、図１０に示したように、開始点はｓｔａｒｔＸ＝１０１、ｓｔａｒｔＹ＝５２、終了点はｅｎｄＸ＝１２３、ｅｎｄＹ＝５４、パスの長さはｌｅｎｇｔｈ＝２６であるから、
｜ｅｎｄＸ−ｓｔａｒｔＸ｜＝２２（＞１０）、
｜ｅｎｄＹ−ｓｔａｒｔＹ｜＝２（＜５）、
（ｅｎｄＸ−ｓｔａｒｔＸ）２＋（ｅｎｄＹ−ｓｔａｒｔＹ）２＝４８８
（ｌｅｎｇｔｈ×０．８）２＝４３２.６４
となり、「アンダ−ライン」であるための条件を満たすため、アノテーション４０１の種別は「アンダーライン」と判定される。
【００５３】
図８のアノテーション４０１の場合、図１１に示したように、開始点はｓｔａｒｔＸ＝１４、ｓｔａｒｔＹ＝４３、終了点はｅｎｄＸ＝１４、ｅｎｄＹ＝４２、パスの長さはｌｅｎｇｔｈ＝２２１であるから、
｜ｅｎｄＸ−ｓｔａｒｔＸ｜＝０（＜１０）、
となり、「アンダ−ライン」であるための条件を満たしていない。
【００５４】
図９のアノテーション４０３の場合、図１２に示したように、開始点はｓｔａｒｔＸ＝２４、ｓｔａｒｔＹ＝６２、終了点はｅｎｄＸ＝２５、ｅｎｄＹ＝５１、パスの長さはｌｅｎｇｔｈ＝２４であるから、
｜ｅｎｄＸ−ｓｔａｒｔＸ｜＝１（＜１０）、
となり、やはり、「アンダ−ライン」であるための条件を満たしていない。
【００５５】
ステップＳ１２において、「アンダーライン」であるための条件を満たしていないアノテーションについては、ステップＳ１４へ進み、当該アノテーションが「囲み」であるための条件を満たすか否かチェックする。すなわち、開始点のＸ座標と終了点のＸ座標の差が所定値（ここでは例えば「５」）より小さく、かつ開始点のＹ座標と終了点のＹ座標の差も所定値（ここでは例えば「５」）より小さく、かつ開始点と終了点の間の距離がパスの長さ（ｌｅｎｇｔｈ）の所定数（ここでは例えば「０.５」）倍よりも短い場合には、ステップＳ１５へ進み、当該アノテーションは「囲み」と判定する。
【００５６】
図８のアノテーション４０２の場合、
｜ｅｎｄＸ−ｓｔａｒｔＸ｜＝０（＜５）、
｜ｅｎｄＹ−ｓｔａｒｔＹ｜＝１（＜５）、
（ｅｎｄＸ−ｓｔａｒｔＸ）２＋（ｅｎｄＹ−ｓｔａｒｔＹ）２＝１
（ｌｅｎｇｔｈ×０．５）２＝１２２１０.２５
であるから、「囲み」であるための条件を満たすため、アノテーション４０２の種別は「囲み」と判定される。
【００５７】
一方、図９のアノテーション４０３の場合、
｜ｅｎｄＸ−ｓｔａｒｔＸ｜＝１（＜５）、
｜ｅｎｄＹ−ｓｔａｒｔＹ｜＝１１（＞５）、
であるから、「囲み」であるための条件を満たしていない。
【００５８】
「アンダーライン」であるための条件及び「囲み」であるための条件を満たさないアノテーションについては、ステップＳ１６へ進み、「書き込み」と判定される。従って、図９のアノテーション４０３は、ステップＳ１６において「書き込み」と判定されることになる。
【００５９】
「書き込み」と判定されると、ステップＳ１７へ進み、アノテーション４０３は、既知の文字認識技術（特に、入力されたストロークをリアルタイムで文字認識していくオンライン文字認識技術）を用いて、当該アノテーションがどのような書き込みであるか、すなわち、書き込みの種別（例えば、書き込まれた文字・記号等の種別等）を判定する。すなわち、アノテーション部１０５は、アノテーションテンプレート記憶部１２１に記憶されている各テンプレートと、「書き込み」と判定されたアノテーションとを照合して、当該アノテーションの線のベクトルまたは文字情報が、あらかじめアノテーションテンプレート記憶部１２１で記憶されている各テンプレートとどれだけ一致しているかを示すスコア（類似度）を求め、このなかから、最も類似度の高いテンプレートを求める。この類似度の最も高いテンプレートに対応する文字や記号等が当該アノテーションに対応する書き込みの種別であると判定する。例えば、アノテーション４０３の書き込みの種別は、「？」と判定される。
【００６０】
ステップＳ１８では、以上の判定処理の結果を出力する。すなわち、アノテーション部１０５によって判定された、文書中に入力された各アノテーションの種別は、図１４〜図１６に示すように、当該文書中の各アノテーションの適用範囲の先頭と終端に挿入された「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性として当該文書中に書き込まれる。また、「書き込み」と判定された場合には、この書き込みの種別が当該文書中の「ＡＮＮＯＴＡＴＩＯＮ」タグのｖａｌｕｅ属性として当該文書中に書き込まれる。
【００６１】
例えば、図７のアノテーション４０１の種別が「アンダーライン」と判定されると、図１４に示すように、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性として「アンダーライン」と書き込まれる。また、図８のアノテーション４０２の種別が「囲み」と判定されると、図１５に示すように、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性として「囲み」と書き込まれる。さらに、図９のアノテーション４０３の種別が「書き込み」と判定された場合には、図１６に示すように、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性として「書き込み」、ｖａｌｕｅ属性として「？」と書き込まれる。
【００６２】
このように、アノテーションの種別が「アンダーライン」や「囲み」である場合には、ｔｙｐｅ属性により当該アノテーションの種別が一意に特定され、アノテーションの種別が「書き込み」である場合には、ｔｙｐｅ属性とｖａｌｕｅ属性により、当該アノテーションの種別が一意に特定される。
【００６３】
次に、意図推定部１０７は、図１４〜図１６に示すような文書情報を基に、当該文書情報中の「ＡＮＮＯＴＡＴＩＯＮ」タグで囲まれた各アノテーション要素に対するユーザの意図を推定する。
【００６４】
図１７は、意図推定知識記憶部１０６に記憶された意図推定知識情報の例を示したものである。各意図推定知識情報は、推定されるユーザの各意図（ＩＮＴＥＮＴＩＯＮ）、「ＡＮＮＯＴＡＴＩＯＮ」タグで囲まれたアノテーション要素のｔｙｐｅ属性（ＡＮＮＯＴＡＴＩＯＮ＿ＴＹＰＥ）の値やｖａｌｕｅ属性（ＶＡＬＵＥ）の値、当該アノテーション要素に含まれる「ＳＰＡＮ」タグの意味クラス（ｃｌａｓｓ）属性（ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ）の値などを含み、ユーザの各意図（ＩＮＴＥＮＴＩＯＮ）を、アノテーション要素のｔｙｐｅ属性の値やｖａｌｕｅ属性の値、当該アノテーション要素に含まれる「ＳＰＡＮ」タグの意味クラス（ｃｌａｓｓ）属性の値により特定することができるようになっている。
【００６５】
例えば、図１７（ａ）に示す意図推定知識情報は、ｔｙｐｅ属性が「アンダーライン」のアノテーション要素に、意味クラスが「ＤＡＴＥ」であるようなＳＰＡＮ要素が含まれているときには、当該アノテーション要素に対するユーザの意図は「スケジュール追加」であることを示している。図１７（ｂ）に示す意図推定知識情報は、ｔｙｐｅ属性が「アンダーライン」のアノテーション要素に、「ＣＯＵＮＴ」「ＣＡＰＡＣＩＴＹ」「ＦＲＥＱＵＥＮＣＹ」「ＳＩＺＥ」「ＬＥＮＧＴＨ」のうちの少なくとも１つの意味クラスのＳＰＡＮ要素が含まれているときには、当該アノテーション要素に対するユーザの意図は「データベース追加」であることを示している。図１７（ｃ）に示す意図推定知識情報は、ｔｙｐｅ属性が「書き込み」、ｖａｌｕｅ属性が「？」のアノテーション要素に、「ＴＩＴＬＥ」「ＣＯＭＰＡＮＹ」「ＰＥＲＳＯＮ」「ＰＲＯＤＵＣＴ」「ＣＯＵＮＴＲＹ」「ＮＯＮＥ」のうちの少なくとも１つの意味クラスのＳＰＡＮ要素が含まれているときには、当該アノテーション要素に対するユーザの意図は「検索」であることを示している。
【００６６】
図１８は、意図推定部１０７の処理動作を説明するためのフローチャートである。ここでは、図１４〜図１６に示した、アノテーション部１０５におけるアノテーションの認識結果（アノテーションの種別（ｔｙｐｅ属性やｖａｌｕｅ属性）当該アノテーションの適用範囲）の書き込まれた文書情報を基に、各アノテーション要素からユーザの意図を推定する場合を例にとり説明する。
【００６７】
意図推定部１０７は、アノテ−ション部１０５からアノテーションの認識結果を含む文書情報を受け取ると、当該文書情報中に含まれる各アノテーション要素に対し、図１８に示す処理を行う。まず、アノテーション要素を１つ取出すと（ステップＳ２１）、次に、意図推定知識記憶部１０６から意図推定知識情報を１つ取り出す（ステップＳ２２）。
【００６８】
当該アノテーション要素のｔｙｐｅ属性の値が、当該意図推定知識情報の「ＡＮＮＯＴＡＴＩＯＮ＿ＴＹＰＥ」項目の値（あるいは、複数の値が記述され、そのうちのいずれか１つに一致すればよいという条件の場合には、そのうちの１つの値）に一致する場合（ステップＳ２３）、ステップＳ２４に進む。ステップＳ２４では、当該アノテーション要素に含まれるＳＰＡＮ要素のうちの１つの意味クラス（ｃｌａｓｓ属性の値）を取り出す。この取り出された意味クラスが、当該意図推定知識情報の「ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ」項目で指定されている１つまたは複数の意味クラスのうちの１つに一致する場合（ステップＳ２５）、意図推定知識情報の「ＩＮＴＥＮＴＩＯＮ」の項目に記述されている値を一時的に記憶する（ステップＳ２６）。
【００６９】
ステップＳ２４〜ステップＳ２６の処理は、当該アノテーション要素に含まれる全てのＳＰＡＮ要素の意味クラスに対して実行される（ステップＳ２７）。この時、ステップＳ２５で、１つのアノテーション要素に含まれる複数のＳＰＡＮ要素の各意味クラスが意図推定知識情報の「ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ」の項目に指定されている意味クラスに一致する場合には、その都度、意図推定知識情報の「ＩＮＴＥＮＴＩＯＮ」の項目に記述されている値を追記的に記憶していく。また、ステップＳ２２〜ステップＳ２７の処理は、意図推定知識記憶部１０６に記憶されている全ての意図推定知識情報に対して繰り返される（ステップＳ２８）。
【００７０】
当該アノテーション要素について、全ての意図推定知識情報との照合（ステップＳ２２〜ステップＳ２７）が終了すると（ステップＳ２８）、当該アノテーション要素について得られた（ステップＳ２６で一時記憶された）意図推定知識情報中の「ＩＮＴＥＮＴＩＯＮ」項目の値をリストを出力する（ステップＳ２９）。当該リストには、当該アノテーション要素に対し推定されたユーザの意図が列挙されている。
【００７１】
例えば、図１４のアノテーション要素の場合、ｔｙｐｅ属性が「アンダーライン」であり、当該アノテーション要素には意味クラスが「ＤＡＴＥ」であるＳＰＡＮ要素が含まれているので、これは図１７（ａ）の意図推定知識情報に合致する。従って、この「ＩＮＴＥＮＴＩＯＮ」項目に記述されている「スケジュール追加」が意図推定結果として出力される（図１８のステップＳ２９）。この意図推定結果は、例えば、図１９に示すように、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性として記述される。
【００７２】
同様に、図１５のアノテーション要素の場合、ｔｙｐｅ属性が「囲み」であり、当該アノテーション要素には意味クラスが「ＣＡＰＡＣＩＴＹ」「ＣＯＵＮＴ」といったＳＰＡＮ要素が含まれているから、これは図１７（ｂ）の意図推定知識情報に合致する。従って、この「ＩＮＴＥＮＴＩＯＮ」項目に記述されている「データベース追加」が、図２０に示すように、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性として記述される。
【００７３】
また、図１６のアノテーション要素の場合、ｔｙｐｅ属性が「書き込み」及びｖａｌｕｅ属性が「？」であり、当該アノテーション要素には意味クラスが「ＴＩＴＬＥ」というＳＰＡＮ要素が含まれているから、これは図１７（ｃ）の意図推定知識情報に合致する。従って、この「ＩＮＴＥＮＴＩＯＮ」項目に記述されている「検索」が図２１に示すように、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性として記述される。
【００７４】
次に、図１９〜図２１に示すような意図推定結果を基に、アクション選択部１０９は、各アノテーション要素に対し、アクションを選択する。
【００７５】
図２２は、アクション選択知識記憶部１０８に記憶されているアクション選択知識情報の例を示したものである。各アクション選択知識情報は、推定されるアクション（ＡＣＴＩＯＮ）、アノテーション要素のｔｙｐｅ属性（ＡＮＮＯＴＡＴＩＯＮ＿ＴＹＰＥ）の値やｖａｌｕｅ属性（ＶＡＬＵＥ）の値、ＩＮＴＥＮＴＩＯＮ属性の値、当該アノテーション要素に含まれる「ＳＰＡＮ」タグの意味クラス（ｃｌａｓｓ）属性（ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ）の値、などを含み、各アクションを、アノテーション要素のｔｙｐｅ属性の値、ｖａｌｕｅ属性の値、ＩＮＴＥＮＴＩＯＮ属性の値、当該アノテーション要素に含まれる「ＳＰＡＮ」タグの意味クラス（ｃｌａｓｓ）属性の値により特定することができるようになっている。
【００７６】
例えば、図２２（ａ）に示すアクション選択知識情報は、ＩＮＴＥＮＴＩＯＮ属性が「スケジュール追加」のアノテーション要素に、意味クラスが「ＤＡＴＥ」のＳＰＡＮ要素が含まれているとき、当該アノテーション要素に対するアクションは、意味クラスが「ＤＡＴＥ」のＳＰＡＮ要素の値をスケジュール追加のためのアクションであることを示している。
【００７７】
図２３は、アクション選択部１０９の処理動作を説明するためのフローチャートである。アクション選択部１０９は、意図推定部１０７から出力された図１９〜図２１に示すような意図推定結果を含む文書情報を受け取ると、当該文書情報に含まれる各アノテーション要素に対し、図２３に示す処理を行う。まず、アノテーション要素を１つ取り出すと（ステップＳ３１）、次に、アクション選択知識記憶部１０８からアクション選択知識情報を１つ取り出す（ステップＳ３２）。
【００７８】
当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性の値が、当該アクション選択知識情報の「ＩＮＴＥＮＴＩＯＮ」項目の値（あるいは、複数の値が記述され、そのうちのいずれか１つに一致すればよいという条件の場合には、そのうちの１つの値）に一致する場合（ステップＳ３３）、ステップＳ３４に進む。ステップＳ３４では、当該アノテーション要素に含まれるＳＰＡＮ要素のうちの１つの意味クラス（ｃｌａｓｓ属性の値）を取り出す。この取り出した意味クラスが、当該アクション選択知識情報の「ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ」項目で指定されている１つまたは複数の意味クラスのうちの１つに一致する場合（ステップＳ３５のＹｅｓ）、当該アクション選択知識情報の「ＡＣＴＩＯＮ」項目に記述されている値を一時的に記憶する（ステップＳ３６）。
【００７９】
なお、アクション選択知識情報によっては、アノテーション要素のｔｙｐｅ属性やｖａｌｕｅ属性などを指定しているが、この場合には、例えばステップＳ３３において、当該アノテーションのＩＮＴＥＮＴＩＯＮ属性の他に、ｔｙｐｅ属性やｖａｌｕｅ属性なども当該アクション選択知識情報と照合するようにする。
【００８０】
ステップＳ３４〜ステップＳ３６の処理は、当該アノテーション要素に含まれる全てのＳＰＡＮ要素の意味クラスに対して実行される（ステップＳ３７）。この時、ステップＳ３５で、１つのアノテーション要素に含まれる複数のＳＰＡＮ要素の各意味クラスがアクション選択知識情報の「ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ」の項目に指定されている意味クラスに一致する場合には、その都度、アクション選択知識情報の「ＡＣＴＩＯＮ」項目に記述されている値を追記的に記憶していく。また、ステップＳ３２〜ステップＳ３７の処理は、アクション選択知識記憶部１０８に記憶されている全てのアクション選択知識情報に対して繰り返される（ステップＳ３８）。
【００８１】
当該アノテーション要素について、全てのアクション選択知識情報との照合（ステップＳ３２〜ステップＳ３７）が終了すると（ステップＳ３８）、当該アノテーション要素について得られた（ステップＳ３６で一時記憶された）アクション選択知識情報中の「ＡＣＴＩＯＮ」項目の値のリストを出力する（ステップＳ３９）。当該リストには、当該アノテーション要素に対し選択されたアクションが列挙されている。アクション選択部１０９は、当該リストをアクション実行部１１０へ送る（ステップＳ３９）。
【００８２】
例えば、図１９のアノテーション要素の場合、意図推定結果のＩＮＴＥＮＴＩＯＮ属性の値が「スケジュール追加」であり、当該アノテーション要素は「ＤＡＴＥ」という意味クラスのＳＰＡＮ要素を含むので、これは図２２（ａ）のアクション選択知識情報に合致する。従って、この「ＡＣＴＩＯＮ」項目に記述されている「ａｄｄ＿ｓｃｈｅｄｕｌｅ（＜ＳＰＡＮ ｃｌａｓｓ＝“ＤＡＴＥ”＞、＜ｂｏｄｙ＞）」という値がアクション実行部１１０に送られる。
【００８３】
ここで、アクション選択知識情報の「ＡＣＴＩＯＮ」項目の値は、例えば、コンピュータに実行させるコマンドや処理手順をテキストで記述したもの、スクリプトなどであってもよい。
【００８４】
アクション実行部１１０は、アクション選択部１０９によって選択されたアクションを実行する。アクション実行部１１０がアクションを実行する機構は、例えば既存のスクリプト言語実行環境によって実現される。
【００８５】
ここでは、図２２（ａ）のアクション選択知識の「ＡＣＴＩＯＮ」項目の値である「ａｄｄ＿ｓｃｈｅｄｕｌｅ（＜ＳＰＡＮ ｃｌａｓｓ＝“ＤＡＴＥ”＞、＜ｂｏｄｙ＞）」というスクリプトが送られたとする。
【００８６】
ここで、「ａｄｄ＿ｓｃｈｅｄｕｌｅ（第１引数、第２引数）」というスクリプトの関数は、例えばスケジュール管理アプリケーションに対して、第１引数に指定した日付に第２引数に指定した情報を関連付ける、という処理が定義されているものとする。このスクリプトが実行されると、ユーザが日付にアンダーラインをひいた場合（種別が「アンダーライン」のアノテーション４０１を入力した場合）には、この日付のスケジュールに閲覧中の文書をリンク情報として追加する、ということが実現される。
【００８７】
同様に、図２０のアノテーション要素の場合、図２２（ｂ）のアクション選択知識情報に適合するため、その「ＡＣＴＩＯＮ」項目の値、すなわち、「ａｄｄ＿ｄａｔａｂａｓｅ（＜ＡＮＮＯＴＡＴＩＯＮ＞）」というスクリプトがアクション実行部１１０に入力される。「ａｄｄ＿ｄａｔａｂａｓｅ（引数）」というスクリプトの関数は、例えば、引数に与えられた情報をデータベースに登録しインデクシングを行う、という処理が定義されているものとする。このスクリプトがアクション実行部１１０で実行されると、ユーザが「数」「容量」「周波数」「サイズ」「長さ」などの意味クラスを含む情報を囲んだ場合（種別が「囲み」のアノテーション４０２を入力した場合）には、この囲んだところに含まれる情報をデータベースに登録しておく、ということが実現される。
【００８８】
図２１のアノテーション要素の場合、図２２（ｃ）のアクション選択知識情報に適合するため、この「ＡＣＴＩＯＮ」項目の値、すなわち、「ｓｅａｒｃｈ＿ｗｗｗ（＜ＡＮＮＯＴＡＴＩＯＮ＞）」というスクリプトがアクション実行部１１０に入力される。「ｓｅａｒｃｈ＿ｗｗｗ（引数）」というスクリプトの関数は、例えば引数に与えられた情報を検索語としてインターネット検索を実行するという処理が定義されているものとする。このスクリプトがアクション実行部１１０で実行されると、ユーザが「題名」または「不明」という意味クラスの語に対してクエスチョンマーク（？）を書き込んだ場合（種別が「書き込み」及び「？」であるアノテーション４０３を入力した場合）に、この書き込んだ語を検索キーとしてインターネットを検索する、ということが実現される。
【００８９】
図２２（ｄ）に示すアクション選択知識情報は、アノテーション要素のＩＮＴＥＮＴＩＯＮ属性が「検索」であり、当該アノテーション要素が、「ＣＯＭＰＡＮＹ（企業名）」、「ＰＥＲＳＯＮ（人名）」、「ＰＲＯＤＵＣＴ（製品名）」、「ＣＯＵＮＴＲＹ（国名）」のうちいずれかの意味クラスのＳＰＡＮ要素を少なくとも１つ含む場合には、「ｓｅａｒｃｈ＿ｄｂ（＜ＡＮＮＯＴＡＴＩＯＮ＞、＜ｂｏｄｙ＞）というスクリプトをアクション実行部１１０に入力する、ということを示している。「ｓｅａｒｃｈ＿ｄｂ（第１引数、第２引数）」というスクリプトの関数は、例えば第１引数に与えられた情報を検索語とし、第２引数に含まれる語をＯＲ条件として、ローカルのデータベースを検索するという処理が定義されている。このスクリプトがアクション実行部１１０で実行されると、ユーザが「ＣＯＭＰＡＮＹ」「ＰＥＲＳＯＮ」「ＰＲＯＤＵＣＴ］「ＣＯＵＮＴＲＹ」という意味クラスの語に対してクエスチョンマークを書き込んだ場合に、この書き込んだ語を検索キーとしてデータベースを検索する、ということが実現される。
【００９０】
このように、上記第１の実施形態によれば、アノテーション入力部１２０で、表示された文書の所望の箇所（アノテーションの適用範囲）に、アンダーライン、囲み、文字、文字列、記号及び記号列のうちの少なくとも１つのアノテーションを入力し（マーキングを行い）、あるいは、アノテーションを入力するとともに、当該文書中の当該アノテーションの適用範囲を指定する。アノテーション部１０５は、入力されたアノテーションの種別及び当該文書中の当該アノテーションの適用範囲を認識し、意図推定部１０７は、アノテーションの種別及び当該文書中の当該アノテーションの適用範囲内の各種情報を基に、ユーザの意図を推定する。この推定された意図を基に、アクション選択部１０９で当該文書に対するアクションを選択し、アクション実行部１１０で当該選択されたアクションを実行する。これにより、文書上にユーザがアンダーラインをひく、枠で囲む、文字や記号を書き込み等の自然な操作を行うだけで、当該文書に含まれる所望の情報に対し、ユーザの意図に沿った処理（アクション）の実行を行うことができる。
【００９１】
また、印刷された紙とペンで従来行ってきたのと同様の操作によって電子的な情報を扱うことができるので、ユーザは特別な操作方法を習得する必要がなくなる。また、情報やユーザによる書き込みの内容によって適切な操作が行われるので、ユーザは操作内容をシステムに指示する必要がなくなるか、あるいは手間が削減される。
【００９２】
以下、第２及び第３の実施形態では、上記第１の実施形態に係る情報処理装置の具体的な処理動作の例を示す。
【００９３】
（第２の実施形態）
ここでは、電子メールによる会議のスケジューリングを行う場合を例にとり、図１の情報処理装置の処理動作について具体的に説明する。
【００９４】
会議の主催者はまず、電子メールで会議に召集するメンバー（例えば、ここでは、佐藤、斉藤、岡田の３名）の電子メールアドレスリストを作成する。これは、メーラのアドレス帳やＬＤＡＰアプリケーションなどを利用して作成する。
【００９５】
主催者は、会議開催の候補日時、予定場所、議題、準備すべき項目、返信期限、メールタイトル、あいさつ文、結びの言葉ならびにシグネチャなどを含む、図２４に示すような文書を作成する。
【００９６】
文書情報入力部１０１は、図２４に示したような文書が入力されると、これを意味クラス解析部１０３に送る。
【００９７】
図２５は、図２４の文書に適用される意味クラス解析知識情報ｓｋ１〜ｓｋ８を示したものである。
【００９８】
意味クラス解析部１０３は、図４のフローチャートに示したように、図２４の文書中から意味クラス解析知識記憶部１０２に記憶された各意味クラス解析知識情報のパタンと一致する文字列を求めて、これを解析結果タグすなわちＳＰＡＮタグで囲み、図２６に示すような意味クラス解析結果を出力する。
【００９９】
図２６では、意味クラス解析知識情報ｓｋ１のパタンにマッチする文字列には、意味クラス「ＥＭＴＩＴＬＥ」をもつＳＰＡＮタグｓｔ１が付与されている。意味クラス解析知識情報ｓｋ２のパタンにマッチする文字列には、意味クラス「ＴＯ＿ＮＡＭＥ」をもつＳＰＡＮタグｓｔ２がそれぞれ付与されている。意味クラス解析知識情報ｓｋ３のパタンにマッチする文字列には、意味クラス「ＤＩＶ＿ＯＲ＿ＣＯ」をもつＳＰＡＮタグｓｔ３、意味クラス「ＳＥＮＤＥＲ」をもつＳＰＡＮタグｓｔ４、意味クラス「ＤＩＶ＿ＯＲ＿ＣＯ」をもつＳＰＡＮタグｓｔ９が付与されている。意味クラス解析知識情報ｓｋ４のパタンにマッチする文字列には、意味クラス「ＡＧＥＮＤＡ」をもつＳＰＡＮタグｓｔ５が付与されている。意味クラス解析知識情報ｓｋ５のパタンにマッチする文字列には、意味クラス「ＤＡＴＥＴＩＭＥ」をもつＳＰＡＮタグｓｔ６が付与されている。意味クラス解析知識情報ｓｋ６のパタンにマッチする文字列には、意味クラス「ＨＷ」をもつＳＰＡＮタグｓｔ７が付与されている。意味クラス解析知識情報ｓｋ７のパタンにマッチする文字列には、意味クラス「ＣＯＭＰＡＮＹ」をもつＳＰＡＮタグｓｔ８が付与されている。意味クラス解析知識情報ｓｋ８のパタンにマッチする文字列には、意味クラス「ＥＭＡＤＤＲＥＳＳ」をもつＳＰＡＮタグｓｔ１０が付与されている。
【０１００】
図２５の意味クラス解析知識情報ｓｋ２は、図２７に示すように、スクリプトが埋め込まれていてもよい。すなわち、意味クラス解析知識情報ｓｋ２には、与えられた文書中に「○○様」といったパタンの表現が連続して出現する場合には、この連続する各表現に、意味クラス「ＴＯ＿ＮＡＭＥ」をもつＳＰＡＮタグを連続して付与することができるように繰返し処理を行うようなスクリプトが埋め込まれているので、この意味クラス解析知識情報ｓｋ２と当該文書との１回の照合により、連続する各表現に、意味クラス「ＴＯ＿ＮＡＭＥ」をもつＳＰＡＮタグを付与することができるようになっている。
【０１０１】
図２６に示したような意味クラス解析結果を含む文書は、表示部１０４によってユーザに提示される。この際、第１の実施形態で説明したように、付与された意味クラスは表示されてもされていなくてもよい。
【０１０２】
ユーザは、意味クラス解析結果を含む文書が表示されている表示画面上に、図２８に示すように、アノテーション入力部１２０で、「Ｔ」という表記のアノテーション５０１をペン入力する。アノテーション入力部１２０は、ペン入力されたアノテーションの幾何情報を取得する。この幾何情報とは、たとえば、手書き文字の線の方向と長さをあらわすベクタや文字の特徴を表すベクトルのことである。
【０１０３】
なお、「書き込み」という種別のアノテーションを入力する場合には、まず、当該アノテーションの適用範囲をユーザが明示的に指示した後に、アノテーションを入力するようにしてもよい。例えば、図２８において、ユーザは、まず、表示画面上の文書の領域５０２の範囲を指定する。この後、当該領域５０２内に「Ｔ」という表記のアノテーション５０１を入力する。このように明示的に適用範囲を指定することで、意味クラスの誤認識を極力排除することが可能となる。
【０１０４】
アノテーション部１０５は、アノテーション入力部１２０で入力された上記アノテーション５０１に関する情報（アノテーション５０１の開始点及び終了点の座標、パスの長さなど）を取得すると、図１３のフローチャートに示したように、その種別を判定する。ここでは、アノテーション５０１の開始点及び終了点の座標、パスの長さから、「書き込み」と判定されるので、第１の実施形態で説明したように、公知公用の文字認識手法を用いて、当該アノテーション５０１の文字認識を行う。すなわち、アノテーションテンプレート記憶部１２１に記憶されている各テンプレートと、「書き込み」と判定されたアノテーション５０１とを照合して、最も類似度の高いテンプレートを求める。ここでは、「Ｔ」のテンプレートとアノテーション５０１との類似度が最も高くなるので、アノテーション５０１の書き込みの種別は「Ｔ」と判定される。
【０１０５】
ここで、アノテーションとテンプレートとの照合方法について説明する。アノテーションテンプレート記憶部１２１に記憶されているテンプレートの集合をＴ、各テンプレートｊのｉ個の各特徴ベクトルをＣｉｊ、入力されたアノテーションのｉ個の各特徴ベクトルＤｉとすると、アノテーション部１０５は、次式（１）により、入力されたアノテーションと各テンプレートとの類似度Ｓを求める。
【数１】
2006065754.tif 000003
【０１０６】
上記式（１）によれば、ｉ個からなる特徴ベクトルの値の誤差の二乗が最小になるテンプレートｊを当該アノテーションに最も類似するテンプレートとして選択することを意味している。類似度の算出手法は、画像認識、パターン認識で広く使われている最短距離法、相互相関法、フーリエ位相相関法などを用いても良いし、その他のパターン認識手法を用いても良い。
【０１０７】
以上のようにして、アノテーション入力部１２０から入力されたアノテーションの種別が「Ｔ」であると判定される。この判定時、当該アノテーションの種別が「書き込み」である場合には、書き込みの種別を含めてアノテーションの種別とする。アノテーション部１０５は、表示画面上の当該アノテーションの開始点や終了点の座標、パスの長さなどから、当該アノテーションが表画面上に表示された文書情報中のどの部分に対し入力されたのか、すなわち、文書中の当該アノテーションの適用範囲を判定し、あるいは、ユーザにより明示的に指示された当該アノテーションの適用範囲（図２８の領域５０２）の表示画面上の座標値を基に、当該適用範囲の先頭と終端に、「ＡＮＮＯＴＡＴＩＯＮ」タグをそれぞれ挿入する。そして、このアノテーションの種別が判定されると、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性を「書き込み」、ｖａｌｕｅ属性を「Ｔ」とする。
【０１０８】
図２９は、アノテーション部１０５から出力されるアノテーション部１０５での上記アノテーションの認識結果を含む文書の一例を示したものである。図２９に示す文書には、ｔｙｐｅ属性およびｖａｌｕｅ属性をもつアノテーション要素が含まれている。
【０１０９】
意図推定部１０７は、図１８に示したように、意図推定知識情報を用いて、当該文書情報中の「ＡＮＮＯＴＡＴＩＯＮ」タグで囲まれたアノテーション要素に対するユーザの意図を推定する。
【０１１０】
当該アノテーション要素のｔｙｐｅ属性は「書き込み」、ｖａｌｕｅ属性は「Ｔ」であり、当該アノテーション要素には、意味クラスが「ＴＯ＿ＮＡＭＥ」や「ＤＡＴＥＴＩＭＥ」であるＳＰＡＮ要素が含まれている。従って、このアノテーション要素は、図３０に示すような意図推定知識情報にマッチするから、意図推定部１０７は、当該アノテーション要素に対するユーザの意図は、図３０の意図推定知識情報の「ＩＮＴＥＮＴＩＯＮ」項目に記述されている「スケジュール表作成」であると判定する。
【０１１１】
意図推定結果の「スケジュール表作成」は、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性として記述される。
【０１１２】
次に、上記意図推定結果を含むアノテーション要素に対し、アクション選択部１０９は、図２３に示したように、アクション選択知識情報を用いてアクションを選択する。
【０１１３】
ここでは、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性は「スケジュール表作成」であり、当該アノテーション要素は「ＴＯ＿ＮＡＭＥ」や「ＤＡＴＥＴＩＭＥ」という意味クラスのＳＰＡＮ要素を含む。従って、当該アノテーション要素は、図３１（ａ）に示すアクション選択知識情報にマッチするから、アクション選択部１０９は、図３１（ａ）のアクション選択知識情報の「ＡＣＴＩＯＮ」項目に記述されている値をアクション実行部１１０へ渡す。
【０１１４】
図３１（ａ）のアクション選択知識情報の「ＡＣＴＩＯＮ」項目の値は、行の項目に「ＴＯ＿ＮＡＭＥ」という意味クラスをもつ各ＳＰＡＮ要素の値、列の項目に「ＤＡＴＥＴＩＭＥ」という意味クラスをもつ各ＳＰＡＮ要素の値を配置して、スケジュール表を作成するスクリプト「ｍａｋｅ＿ｓｃｈｅｄＴａｂｌｅ（＜ＳＰＡＮ  ｃｌａｓｓ＝“ＴＯ＿ＮＡＭＥ”＞，  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＤＡＴＥＴＩＭＥ”＞）」である。
【０１１５】
なお、この「ｍａｋｅ＿ｓｃｈｅｄＴａｂｌｅ」というアクションには、上記のスケジュール表を作成するスクリプト（第１のスクリプト）の他に、図３１（ｂ）に示すように、図２４に示したメールの送信先の各メンバーからの返信メールを基に、上記スケジュール表上の、当該返信メールに記述された当該メンバーの都合のよい日時に該当するセルに「○」を書き込むためのスクリプト（第２のスクリプト）が含まれている。
【０１１６】
アクション実行部１１０は、アクション選択部１０９で選択されたアクション「ｍａｋｅ＿ｓｃｈｅｄＴａｂｌｅ（＜ＳＰＡＮ  ｃｌａｓｓ＝“ＴＯ＿ＮＡＭＥ”＞、  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＤＡＴＥＴＩＭＥ”＞）」を実行する。すなわち、アクション実行部１１０は、このアクションを、例えば、電子メールのプラグインソフトウェアとして実装されたモジュールに渡す。この結果、図２９に示した文書に対する第１のスクリプトが実行されて、図３２に示すようなスケジュール表が作成され、表示部１０４により所定の表示装置に表示される。
【０１１７】
図３２に示すスケジュール表の各行の項目には、図２９に示すアノテーション要素内の「ＴＯ＿ＮＡＭＥ」という意味クラスをもつ各ＳＰＡＮ要素の値、すなわち、「佐藤」、「斉藤」、「岡田」が配置されている。また、各列の項目には、図２９に示すアノテーション要素内の「ＤＡＴＥＴＩＭＥ」という意味クラスをもつ各ＳＰＡＮ要素の値、すなわち、「第１候補日時：２００４．０７．０７  １３：３０−１５：３０」、「第２候補日時：２００４．０７．０８  １０：００−１２：００」が配置されている。
【０１１８】
なお、図３２に示したようなスケジュール表を作成するためのアクションを実行させるための手順としては、必ずしも上述の手順に従う必要はない。
【０１１９】
ここでは、図３２に示したようなスケジュール表を作成するためのアクションを実行させるための他の手順について説明する。
【０１２０】
ここでは、意味クラス解析部１０３での意味クラス解析結果を含む文書が、当該意味クラス解析結果とともに表示部１０４により所定の表示画面に表示される。すなわち、「ＳＰＡＮ」タグや、意味クラス属性も表示される。アノテーション入力部１２０からアノテーションを入力する際には、図３３に示すように、まず、スケジュール表の各行の項目に配置したい部分（図３３の領域５０３）をペンで囲む。次に、スケジュール表の各列の項目に配置したい部分（図３３の領域５０４）をペンで囲む。この後、前述同様、「Ｔ」という表記のアノテーション５０１を入力する。
【０１２１】
この場合、アノテーション部１０５は、図３４に示すように、領域５０３及び５０４を含む領域の先頭と終端部分に、前述のように、アノテーションの認識結果を含む「ＡＮＮＯＴＡＴＩＯＮ」タグを挿入するとともに、さらに、ユーザにより指定された文書中の各領域情報を保持する。例えば、ユーザにより指定された文書中の各領域の先頭と終端部分に、指定された順番を示す属性をもつタグを挿入するようにしてもよい。
【０１２２】
意図推定部１０７及びアクション選択部１０９での処理を経て、アクション実行部１１０は、アクション選択知識情報の「ＡＣＴＩＯＮ」項目の値として記述されているスクリプトを実行することにより、最初に指定された領域内の各ＳＰＡＮ要素の値をスケジュール表の各行の項目に配置し、次に指定された領域内の各ＳＰＡＮ要素の値をスケジュール表の各列の項目に配置して、図３２に示すようなスケジュール表を作成する。
【０１２３】
次に、図２８に示した内容のメールが、各メンバーに送信された後、主催者が当該メールの送信先の各メンバーから出欠に関する電子メールを受け取った際のシステムの動作を説明する。
【０１２４】
アクション実行部１１０で図３２に示すようなスケジュール表が作成されると、例えば、図３５に示すように、「ＡＣＴＩＶＥ」マークが当該スケジュール表の左上に表示される。この「ＡＣＴＩＶＥ」マークが表示されている状態（アクティブ状態）のとき、返信されてきたメールの文面が、文書情報入力部１０１から自動的に取り込まれて、当該スケジュール表への書き込みが行われる。なお、「ＡＣＴＩＶＥ」マークをダブルクリックすると、返信メールをもと当該スケジュール表へ書き込みを行う処理を停止することができる。
【０１２５】
いま、あるメンバーからの返信メールが主催者側へ届くと、当該返信メールは文書情報入力部１０１で取り込まれる。意味クラス解析部１０３は、図４のフローチャートに示したように、意味クラス解析知識記憶部１０２の意味クラス解析知識情報を利用し、当該返信メール中に、意味クラス属性をもつ「ＳＰＡＮ」タグを挿入する。
【０１２６】
図３６は、意味クラス解析部１０３から出力された意味解析結果を含む（意味クラス属性をもつ「ＳＰＡＮ」タグの挿入された）返信メールの一例を示したものである。
【０１２７】
図３７は、図３６の文書に適用された意味クラス解析知識情報ｓｋ９〜ｓｋ１１を示したものである。
【０１２８】
図３６において、図２５の意味クラス解析知識情報ｓｋ１、ｓｋ３、ｓｋ５等のパタンにそれぞれマッチする文字列には、それぞれの意味クラスをもつ「ＳＰＡＮ」タグｓｔ１１、ｓｔ１２とｓｔ１３、ｓｔ１６がそれぞれ付与されている。
【０１２９】
また、図３６において、当該返信メールの「ＴＩＴＬＥ」には「Ｒｅ：」が付されており、４行目の「佐藤」という文字列と、意味クラス「ＤＩＶ＿ＯＲ＿ＣＯ」をもつ「第二開発部」という文字列とは、図３７の意味クラス解析知識情報ｓｋ９のパタンにマッチするから、４行目の「佐藤」という文字列には、意味クラス「ＲＥＰＬＹ＿ＳＥＮＤＥＲ」をもつＳＰＡＮタグｓｔ１５が付与されている。
【０１３０】
同様に、２行目の「田中」という文字列は、図３７の意味クラス解析知識情報ｓｋ１０のパタンにマッチするから、意味クラス「ＳＥＮＤＥＲ」をもつＳＰＡＮタグｓｔ１３が付与されている。
【０１３１】
また、１０行目の文字列「第２候補」は、図２５の意味クラス解析知識情報ｓｋ５のパタンにマッチするから、意味クラス「ＤＡＴＥＴＩＭＥ」をもつＳＰＡＮタグｓｔ１６が付与されている。さらに、その後に、「だいじょうぶ」という文字列が続き、５行目及び６行目には、意味クラス「ＤＡＴＥＴＩＭＥ」のＳＰＡＮ要素が引用されているから、「第２候補…だいじょうぶです。」という文字列は、図３７の意味クラス解析知識情報ｓｋ１１のパタンにマッチし、従って、意味クラス「ＰＬＡＮ」をもつＳＰＡＮタグｓｔ１７が付与されている。返信者が「第２候補」と正確に記述することが難しければ、例えば、図３６の６行目のＤＡＴＥＴＩＭＥタグで囲まれた部分をクリックすると、１０行目に「第２候補」と自動的に書き込まれるようにしてもよい。
【０１３２】
意味クラス解析知識情報ｓｋ１１には、図３７（ｃ）に示すように、当該意味クラス解析知識情報ｓｋ１１のパタンに一致する、意味クラス「ＰＬＡＮ」をもつ文字列に対するアクションを実行するためのスクリプト「ｔａｂｌｅ（ＲＥＰＬＹ＿ＳＥＮＤＥＲ，ＰＬＡＮ）」が含まれている。従って、意味クラス「ＰＬＡＮ」をもつＳＰＡＮ要素には、このスクリプトが付加される。あるいは、当該ＳＰＡＮ要素の属性として当該スクリプトを付加するようにしてもよい。
【０１３３】
図３６に示したような意味クラス解析結果を含む返信メールは、表示部１０４によってユーザに提示されるが（その際、第１の実施形態で説明したように、付与された意味クラスは表示されてもされていなくてもよい。）、先に作成されたスケジュール表がアクティブ状態になっている場合（すなわち、図３５に示すように、「ＡＣＴＩＶＥ」マークが当該スケジュール表の左上に表示されている場合）に、さらに、当該返信メールに、意味クラスが「ＰＬＡＮ」というＳＰＡＮ要素が含まれているとき、図３６に示した意味クラス解析結果を含む返信メールは、そのままアクション実行部１１０に渡される。
【０１３４】
アクション実行部１１０では、スケジュール表がアクティブ状態になっている間は、先にアクション選択部１０９で選択された「ｍａｋｅ＿ｓｃｈｅｄＴａｂｌｅ」というアクションに含まれている図３１（ｂ）に示すような上記第２のスクリプトが待機している。一方、図３６の意味クラス解析結果を含む返信メールの「ＰＬＡＮ」という意味クラスをもつＳＰＡＮ要素には、スクリプト「ｔａｂｌｅ（ＲＥＰＬＹ＿ＳＥＮＤＥＲ，ＰＬＡＮ）」が付加されている。
【０１３５】
このような条件下においては、アクション実行部１１０は、まず、当該返信メール中の「ＰＬＡＮ」という意味クラスをもつＳＰＡＮ要素に付加されているスクリプトを実行する。このスクリプトを実行することにより、図３６の返信メールから「ＲＥＰＬＹ＿ＳＥＮＤＥＲ」という意味クラスのＳＰＡＮ要素と、「ＰＬＡＮ」という意味クラスのＳＰＡＮ要素が取り出される。次に、図３１（ｂ）に示すような、現在待機中の上記第２のスクリプトを実行する。この第２のスクリプトを実行することにより、まず、先に取り出された意味クラス「ＰＬＡＮ」のＳＰＡＮ要素からさらに、意味クラス「ＤＡＴＥＴＩＭＥ」のＳＰＡＮ要素の値（図３６の返信メールの場合には「佐藤」）を取出す。そして、図３５のスケジュール表の各行の項目（ＴＯ＿ＮＡＭＥ＿１〜ＴＯ＿ＮＡＭＥ＿ｎ）のうち、当該取り出された、意味クラス「ＤＡＴＥＴＩＭＥ」のＳＰＡＮ要素の値と一致する項目の行を選択する。但し、ここではＤＡＴＥＴＩＭＥのＳＰＡＮ要素の値のうち「第Ｘ候補」の部分だけに省略されている場合も一致とみなすこととする。また、図３５のスケジュール表の各列の項目（ＤＡＴＥＴＩＭＥ＿１からＤＡＴＥＴＩＭＥ＿ｍ）のうち、先に取り出された意味クラス「ＲＥＰＬＹ＿ＳＥＮＤＥＲ」のＳＰＡＮ要素の値（図３６の返信メールの場合「第２候補」）と一致する列を選択する。図３５のスケジュール表の当該選択された行と列とで特定されるセルに「○」を書き込み、図３８に示すような「○」の書き込まれたスケジュール表が表示部１０４により表示される。
【０１３６】
各メンバーからの返信メールが届くたびに、上記同様にして、当該返信メールから、「ＰＬＡＮ」という意味クラスのＳＰＡＮ要素が認識されると、スケジュール表の該当するセルに「○」を書き込んでいく。最終的に、図３９に示すようなスケジュール表が完成する。
【０１３７】
図３９に示すようなスケジュール表が表示部１０４で表示されると、ユーザは、このスケジュール表から、容易に、全員が参加できる日程を理解することができる。この場合、佐藤、斉藤、岡田の３名が会議に参加できるのは第２候補日時の２００４年７月８日１０：００−１２：００であることが分かる。
【０１３８】
上記第２の実施形態は、会議だけでなく、飲み会、旅行や様々な企画に対する参加者リストの作成ならびに管理に利用できる。
【０１３９】
なお、上記第２の実施形態では、意味クラス解析部１０３で、各返信メールから会議に参加できる候補日時を抽出するためのパタンをもつ意味クラス解析知識情報ｓｋ１１（図３７参照）を用いて、返信メール中に参加できる候補日時が記載されている場合には、この記載されている候補日時を意味クラス「ＰＬＡＮ」のＳＰＡＮ要素として抽出し、スケジュール表に「○」を書き込むアクションについて説明したが、この場合に限らず、例えば、意味クラス解析知識情報ｓｋ１１に、参加できない候補日時や「不参加」を抽出するためのパタンを追加して（あるいは、そのようなパタンをもつ別の意味クラス解析知識情報を用いて）、返信メール中に参加できない候補日時や「不参加」が記載されている場合には、この記載を意味クラス「ＰＬＡＮ」（あるいは別の意味クラスであってもよい）のＳＰＡＮ要素として抽出し、スケジュール表に「×」を書き込むスクリプトを当該アクション「ｍａｋｅ＿ｓｃｈｅｄＴａｂｌｅ」に追加するようにしてもよい。
【０１４０】
（第３の実施形態）
ここでは、電子メールを用いてアドレス帳を作成する場合を例にとり、図１の情報処理装置の処理動作について具体的に説明する。
【０１４１】
電子メールでやり取りした相手の氏名や所属、電子メールアドレスは、仕事、私事の別に関わらず、重要な情報である。多くのメールでは、電子メールの末端に署名としてこれらの情報がまとめて書かれている場合が多い。第３の実施形態にかかる情報処理装置によれば、電子メールの文面中に書かれた氏名、所属、電子メールアドレスなどの情報を取り出し、自動的にアドレス帳を作成することが可能となる。
【０１４２】
まず、図４０に示すようなアドレス帳のスキーマを用意する。これは、電子メールやアドレス帳のアプリケーションによって通常使われているスキーマをそのまま利用しても良い。ここでは、名前、電子メールアドレス、所属、ＴＥＬ、ＦＡＸの５種類の情報からアドレス帳が構成されているとする。
【０１４３】
たとえば、図４１に示すような電子メールがユーザの下に送られてきたとする。文書情報入力部１０１は、この電子メール（以下、文書と呼ぶ）を取り込む。意味クラス解析部１０３は、図４のフローチャートに示したように、取り込まれた文書から、意味クラス解析知識記憶部１０２に記憶された各意味クラス解析知識情報のパタンと一致する文字列を求めて、これを解析結果タグすなわちＳＰＡＮタグで囲み、図４５に示すような意味クラス解析結果を出力する。
【０１４４】
意味クラス解析部１０３では、図４１の文書に対し意味クラス解析を行う際に、図４３や図４４に示すような意味クラス解析知識情報を用いる。図４４に示す意味クラス解析知識情報は、拡張された意味クラス解析知識情報である。拡張された意味クラス解析知識情報では、通常の意味クラス解析知識情報に含まれるパタンが、論理演算子などを用いて拡張されていたり、同一パタンの文字列を探索するためのプログラムが含まれていたり、さらには、パタンの他に条件記述部分が含まれている。
【０１４５】
ここで、図４２及び図４５を参照して、意味クラス解析部１０３での処理動作について説明する。なお、図４２は、図４３に示す意味クラス解析知識情報を用いた意味クラス解析結果を示したもので、図４５は、図４２の意味クラス解析結果にさらに、図４４に示した拡張された意味クラス解析情報を用いて意味クラス解析を行った結果を示している。
【０１４６】
意味クラス解析部１０３は、図４３の意味クラス解析知識情報ａｋ１を用いて、図４２のＳＰＡＮ要素ａｔ１、ａｔ２、ａｔ６を生成する。同様に図４３の意味クラス解析知識情報ａｋ３を用いて、図４２のＳＰＡＮ要素ａｔ３を生成し、図４３の意味クラス解析知識情報ａｋ５やａｋ６を用いて、図４２のＳＰＡＮ要素ａｔ５を生成し、図４３の意味クラス解析知識情報ａｋ７、ａｋ８やａｋ２を用いて、図４２のＳＰＡＮ要素ａｔ７、ａｔ８を生成する。
【０１４７】
次に、意味クラス解析部１０３は、図４２の意味クラス解析結果に対し、図４４の拡張された意味クラス解析知識情報を用いて、意味クラス解析よりを行う。まず、図４２の文書には、ＳＰＡＮ要素ａｔ３〜ａｔ８が含まれている部分が意味クラス解析知識情報ａｋ１１で指定されているパタンにマッチするため、図４５の意味クラス「ＳＩＧＮＡＴＵＲＥ」のＳＰＡＮ要素ａｔ９を生成する。同様に、意味クラス解析知識情報ａｋ９を用いて図４５の意味クラス「ＦＵＬＬＮＡＭＥ」のＳＰＡＮ要素ａｔ１１を生成し、意味クラス解析知識情報ａｋ１０を用いて、図４５の意味クラス「ＡＦＦＩＬＩＡＴＩＯＮ」のＳＰＡＮ要素ａｔ１０を生成する。
【０１４８】
なお、図４５に示す文書において、ＳＰＡＮ要素ａｔ９は、差出人の氏名（意味クラス「ＳＥＮＤＥＲ」）と電子メールアドレス（意味クラス「ＥＭＡＤＤＲＥＳＳ」）がともに含まれ、会社名（意味クラス「ＣＯＭＰＡＮＹ」）や部署名（意味クラス「ＤＩＶ＿ＯＲ＿ＣＯ」）、電話番号（意味クラス「ＴＥＬ」）、ファックス番号（意味クラス「ＦＡＸ」）などが含まれている部分が、いわゆる署名部分として、意味クラス「ＳＩＧＮＡＴＵＲＥ」のＳＰＡＮタグで囲まれている。
【０１４９】
上記のように、文書中の署名部分あるいはアドレスに登録した情報の記載されている部分を、意味クラス解析知識情報を用いて抽出することができた。
【０１５０】
意味クラス解析部１０３から出力された、図４５に示した意味クラス解析結果を含む文書が表示部１０４で表示されると、ユーザは、アノテーション入力部１２０から、例えば、「Ａ」という表記の（アドレス帳への登録を指示するという意味を含む）アノテーション６０１をペンで入力する（図４６）。アノテーション部１０５は、第１及び第２の実施形態で説明したように、アノテーション入力部１２０で入力された上記アノテーション６０１に関する情報（アノテーション５０１の開始点及び終了点の座標、パスの長さなど）を取得すると、図１３のフローチャートに示したように、その種別を判定する。ここでは、アノテーション６０１の開始点及び終了点の座標、パスの長さから、「書き込み」と判定されるので、次に当該アノテーション６０１の文字認識を行う。すなわち、アノテーションテンプレート記憶部１２１に記憶されている各テンプレートと、「書き込み」と判定されたアノテーション６０１とを照合して、最も類似度の高いテンプレートを求める。ここでは、「Ａ」のテンプレートとアノテーション６０１との類似度が最も高くなるので、アノテーション６０１の書き込みの種別は「Ａ」と判定される。
【０１５１】
アノテーション部１０５は、表示画面上のアノテーション６０１の開始点や終了点の座標、パスの長さなどから、ここでは例えば、アノテーション６０１が表画面上に表示された文書全体に対し入力されたものと判定し、当該文書の先頭と終端に、「ＡＮＮＯＴＡＴＩＯＮ」タグをそれぞれ挿入する。そして、このアノテーション６０１の種別が判定されると、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性を「書き込み」、ｖａｌｕｅ属性を「Ａ」とする。
【０１５２】
意図推定部１０７は、図１８に示したように、意図推定知識情報を用いて、当該文書中の「ＡＮＮＯＴＡＴＩＯＮ」タグで囲まれたアノテーション要素に対するユーザの意図を推定する。
【０１５３】
当該アノテーション要素のｔｙｐｅ属性は「書き込み」、ｖａｌｕｅ属性は「Ａ」であり、当該アノテーション要素には、意味クラス「ＳＩＧＮＡＴＵＲＥ」のＳＰＡＮ要素内に、意味クラスが「ＦＵＬＬＮＡＭＥ」や「ＥＭＡＤＤＲＥＳＳ」「ＡＦＦＩＬＩＡＴＩＯＮ」「ＴＥＬ」「ＦＡＸ」といったＳＰＡＮ要素が含まれている。従って、このアノテーション要素は、図４７に示すような意図推定知識情報にマッチするから、意図推定部１０７は、当該アノテーション要素に対するユーザの意図は、図４７の意図推定知識情報の「ＩＮＴＥＮＴＩＯＮ」項目に記述されている「アドレス帳への追加」であると判定する。
【０１５４】
なお、図４７の意図推定知識情報は、「ＷＨＥＲＥ」項目にて指定された範囲、すなわち、意味クラスが「ＳＩＧＮＡＴＵＲＥ」のＳＰＡＮ要素内に、意味クラスが「ＦＵＬＬＮＡＭＥ」「ＥＭＡＤＤＲＥＳＳ」「ＡＦＦＩＬＩＡＴＩＯＮ」「ＴＥＬ」「ＦＡＸ」のいずれかであるＳＰＡＮ要素が含まれていることを指定している。
【０１５５】
意図推定結果の「アドレス帳への追加」は、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性として記述される。
【０１５６】
次に、上記意図推定結果を含むアノテーション要素に対し、アクション選択部１０９は、図２３に示したように、アクション選択知識情報を用いてアクションを選択する。
【０１５７】
ここでは、当該アノテーション要素のＩＮＴＥＮＴＩＯＮ属性は「アドレス帳への追加」であり、当該アノテーション要素は、意味クラスが「ＦＵＬＬＮＡＭＥ」や「ＥＭＡＤＤＲＥＳＳ」「ＡＦＦＩＬＩＡＴＩＯＮ」「ＴＥＬ」「ＦＡＸ」といったＳＰＡＮ要素が含まれている。従って、当該アノテーション要素は、図４８に示すアクション選択知識情報にマッチするから、アクション選択部１０９は、図４８のアクション選択知識情報の「ＡＣＴＩＯＮ」項目に記述されている値をアクション実行部１１０へ渡す。
【０１５８】
図４８のアクション選択知識情報の「ＡＣＴＩＯＮ」項目の値には、意味クラスが「ＦＵＬＬＮＡＭＥ」、「ＥＭＡＤＤＲＥＳＳ」、「ＡＦＦＩＬＩＡＴＩＯＮ」、「ＴＥＬ」、「ＦＡＸ」であるようなＳＰＡＮ要素の値をアドレス帳へ追加するためのスクリプト「ａｄｄ＿ＡｄｄｒｅｓｓＢｏｏｋ（＜ＳＰＡＮ  ｃｌａｓｓ＝“ＦＵＬＬＮＡＭＥ”＞、  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＥＭＡＤＤＲＥＳＳ”＞、  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＡＦＦＩＬＩＡＴＩＯＮ”＞）、  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＴＥＬ”＞、  ＜ＳＰＡＮ  ｃｌａｓｓ＝“ＦＡＸ”＞」と、図４９に示すようなアドレス帳への登録規則が含まれている。
【０１５９】
図４９のアドレス帳への登録規則は、意味クラスと当該意味クラスに対応するアドレス帳の各項目との対応を示しており、意味クラスが「ＦＵＬＬＮＡＭＥ」、「ＥＭＡＤＤＲＥＳＳ」、「ＡＦＦＩＬＩＡＴＩＯＮ」、「ＴＥＬ」、「ＦＡＸ」である各ＳＰＡＮ要素の値は、アドレス帳の「名前」項目、「電子メールアドレス」項目、「所属」項目、「ＴＥＬ」項目、「ＦＡＸ」項目にそれぞれに登録できるような規則を示している。
【０１６０】
アクション実行部１１０は、アクション選択部１０９で選択されたアクション「ａｄｄ＿ＡｄｄｒｅｓｓＢｏｏｋ」を実行する。すなわち、アクション実行部１１０は、上記スクリプトを、電子メールのプラグインプログラムなどで実装されたアドレス帳作成プログラムに渡す。当該プログラムが実行されることにより、上記アドレス帳への登録規則に従って、文書中の署名部分に対応する、上記意味クラス「ＳＩＧＮＡＴＵＲＥ」のＳＰＡＮ要素内の各意味クラスのＳＰＡＮ要素の値が、図５０に示すように、アドレス帳に登録される。
【０１６１】
アクション実行部１１０で、上記スクリプトが一旦実行されると、アドレス帳の左上には、図５０に示すように「ＡＣＴＩＶＥ」マークが表示される。ユーザは、この「ＡＣＴＩＶＥ」マークをダブルクリックすることで自動的にアドレス帳に追加するアクションを中止するよう指示することができる。
【０１６２】
このような、ユーザからの特別な中止指示がない限り、自動的に文面をタグ付けし、アドレス帳に情報を追加していく。
【０１６３】
なお、上記説明では、文書中の署名部分あるいはアドレスに登録した情報の記載されている部分を、意味クラス解析知識情報を用いて抽出する場合を説明したが、文書中の署名部分を抽出する方法は、上記のように、意味クラス解析知識情報を用いて抽出する方法の他にも、ペンによる範囲指定を行うことで、より確実に署名部分、あるいは、アドレス帳に登録したい情報の記載されている部分を抽出することができる。
【０１６４】
例えば、意味クラス解析部１０３で、図４３に示した意味クラス解析知識情報を用いて、図４２に示したような意味クラス解析結果を得られた時点で、これを表示部１０４で表示する。このとき、意味クラス属性も表示するようにしてもよい。ユーザは、アノテーション入力部１２０により、図５１に示すように、表示画面上に、ペンで、文書中の署名部分あるいは、アドレス帳に登録したい情報の記載されている部分（領域６０２）を囲む。署名部分あるいはアドレス帳に登録した情報の記載されている部分を明示的に指定することで、誤った部分を抽出することを防ぐことができる。その後、前述同様、「Ａ」という表記のアノテーション６０３を入力する。
【０１６５】
この場合、アノテーション部１０５は、ユーザにより指定された文書中の領域６０２の先頭と終端部分に、「ＡＮＮＯＴＡＴＩＯＮ」タグをそれぞれ挿入する。そして、このアノテーション６０３の種別が判定されると、「ＡＮＮＯＴＡＴＩＯＮ」タグのｔｙｐｅ属性、ｖａｌｕｅ属性を、それぞれ「書き込み」、「Ａ」とする。
【０１６６】
意図推定部１０７は、前述同様に、意図推定知識情報を用いて、当該文書中の「ＡＮＮＯＴＡＴＩＯＮ」タグで囲まれたアノテーション要素に対するユーザの意図を推定する。その後の処理動作は前述同様である。
【０１６７】
このように、各種アノテーションを入力する前に、アノテーションの適用範囲を文書中で明示的に指定することで、より正確に、アクションを実行することができる。
【０１６８】
上記第３の実施形態によれば、任意の文書中にペンによりアノテーションを入力するだけで自動的にアドレス帳への情報を追加することができる。また、メール文面からのアドレス帳作成だけでなく、スキャナなどで入力した名刺情報やレシートなどの文書も同様に、所望の情報がアドレス帳に登録することができる。このような機能をユーザに提供することで、人的情報が分散して管理が困難になる問題を解決し、人的情報の一元管理に役立つものと考えられる。
【０１６９】
なお、上記第１〜第３の実施形態では、ユーザにより入力されたアノテーションの種別（ｔｙｐｅ属性やｖａｌｕｅ属性）、当該アノテーションの適用範囲、当該適用範囲内（アノテーション要素内）の各種情報の属する意味クラスなどから、意図推定知識を用いてユーザの意図を推定するようになっている。
【０１７０】
各意図推定知識情報では、ユーザの意図を推定するために、アノテーションの種別、アノテーション要素内の情報に含まれる意味クラスなどが指定されているが、ＨＴＭＬやＸＭＬで記述された文書を対象としている場合には、さらに、当該文書の構成要素、すなわち、任意のタグで囲まれた要素を指定することにより、より正確にユーザの意図を推定することが可能となる。また、意図推定知識情報との照合を行う際に文書中の探索範囲を指定された範囲（構成要素）内に絞り込むことができるため、より高速にユーザの意図を推定することができる。たとえば、単にアノーテーション要素内に含まれる意味クラスを指定することで、その意味クラスを含むタグに囲まれた該当部分をアノーテーション適用範囲として指定するのではなく、該当部分を挟む他のタグを指定することでアノーテーション適用範囲を指定するのでもよい。また、ＸＭＬで記述された文書を対象にしている場合には、任意のタグや、複数の任意のタグにより部分構造が指定さていてもよい。
【０１７１】
図５２は、文書中の構成要素を指定する「ＤＯＣＵＭＥＮＴ＿ＳＴＲＵＣＴＵＲＥ」項目を含む意図推定知識情報の一例を示したものである。図５２に示す意図推定知識情報では、アノテーションの種別が「アンダーライン」であるアノテーション要素に含まれる情報のうち、タグ＜Ｐ＞で囲まれている各段落の中に意味クラスが「ＤＡＴＥ」であるＳＰＡＮ要素が含まれている場合に、ユーザの意図が「スケジュール追加」であるというを示している。
【０１７２】
意図推定部１０７は、対象とする文書中のアノテーション要素が、図５２の意図推定知識情報にマッチするか否かを調べる際には、当該アノテーション要素のｔｙｐｅ属性が「アンダーライン」であり、当該アノテーション要素にタグ＜ｐ＞で囲まれている要素が存在し、この中に意味クラス属性が「ＤＡＴＥ」のＳＰＡＮ要素が存在するかを調べる。
【０１７３】
なお、図４７に示した意図推定知識情報のように、アノテーションの種別の他に、「ＷＨＥＲＥ」項目で、意味クラス解析結果である各情報の属する意味クラスを指定し、「ＳＥＭＡＮＴＩＣ＿ＣＬＡＳＳ」項目で、当該意味クラスに属する情報に含まれる情報の意味クラスを指定することにより、ユーザの意図を推定するといった意図推定知識情報もある。
【０１７４】
以上説明したように、上記第１乃至第３の実施形態によれば、文書上にユーザがアンダーラインをひく、枠で囲む、文字や記号を書き込み等の自然な操作を行うだけで、当該文書に含まれる所望の情報に対し、ユーザの意図に沿った処理（アクション）の実行を行うことができる。
【０１７５】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。例えば、図１の文書情報入力部１０１、意味クラス解析部１０３，表示部１０４，アノテーション部１０５、意図認識部１０７、アクション選択部１０９、アクション実行部１１０の各構成部のそれぞれの機能を実現するためのプログラムをコンピュータの記憶装置に記憶して、コンピュータの演算手段（ＣＰＵ等）により上記各プログラムを実行させることにより、当該コンピュータを上記第１乃至第３の実施形態に係る情報処理装置として機能させることができる。
【０１７６】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１７７】
【図１】第１乃至第３の実施形態に係る情報処理装置の構成例を示した図。
【図２】文書の一例を示した図。
【図３】意味クラス解析知識情報の例を示した図。
【図４】意味クラス解析部における意味クラス解析処理動作を説明するためのフローチャート。
【図５】意味クラス解析部から出力される意味クラス解析結果を含む文書の例を示した図。
【図６】図５の文書の表示部での表示例を示した図。
【図７】表示された文書に対し入力されたアノテーション（アンダーライン）の一例を示した図。
【図８】表示された文書に対し入力されたアノテーション（囲み）の一例を示した図。
【図９】表示された文書に対し入力されたアノテーション（書き込み「？」）の一例を示した図。
【図１０】ＡＮＮＯＴＡＴＩＯＮタグの挿入された文書の一例を示した図。
【図１１】ＡＮＮＯＴＡＴＩＯＮタグの挿入された文書の一例を示した図。
【図１２】ＡＮＮＯＴＡＴＩＯＮタグの挿入された文書の一例を示した図。
【図１３】アノテーション部のおけるアノテーションの種別の判定処理を説明するためのフローチャート。
【図１４】アノテーション部から出力されるアノテーション認識結果を含む文書の一例を示した図。
【図１５】アノテーション部から出力されるアノテーション認識結果を含む文書の一例を示した図。
【図１６】アノテーション部から出力されるアノテーション認識結果を含む文書の一例を示した図。
【図１７】意図推定結果知識情報の例を示した図。
【図１８】意図推定部の処理操作を説明するためのフローチャート。
【図１９】意図推定部から出力される意図推定結果を含む文書の例を示した図。
【図２０】意図推定部から出力される意図推定結果を含む文書の例を示した図。
【図２１】意図推定部から出力される意図推定結果を含む文書の例を示した図。
【図２２】アクション選択知識情報の例を示した図。
【図２３】アクション選択部の処理動作を説明するためのフローチャート。
【図２４】第２の実施形態に係る情報処理装置の処理動作を説明するための文書の他の例を示した図。
【図２５】図２４の文書に適用される意味クラス解析知識情報の例を示した図。
【図２６】意味クラス解析部から出力される意味クラス解析結果を含む文書の例を示した図。
【図２７】スクリプトの埋め込まれている意味クラス解析知識情報の例を示した図。
【図２８】表示画面上でのアノテーションの入力例を示した図。
【図２９】アノテーション部から出力されるアノテーション認識結果を含む文書の他の例を示した図。
【図３０】図２８の文書に適用される意図推定知識情報の例を示した図。
【図３１】アクション選択知識情報の例を示した図。
【図３２】アクション実行部で選択されたアクションを実行することにより作成されたスケジュール表の例を示した図。
【図３３】表示画面上でのアノテーションの他の入力例を示した図。
【図３４】アノテーション部から出力されるアノテーション認識結果を含む文書のさらに他の例を示した図。
【図３５】アクション実行部で選択されたアクションを実行することにより作成されたスケジュール表の表示例を示した図。
【図３６】意味クラス解析部から出力された意味解析結果を含む返信メールの一例を示した図。
【図３７】返信メールの意味クラス解析処理で用いた意味クラス解析知識情報の例を示した図。
【図３８】返信メールに対し、アクションを実行した結果を示した図。
【図３９】返信メールに対し、アクションを実行した結果を示した図。
【図４０】第３の実施形態にかかる情報処理装置の処理動作を説明するためのもので、アドレス帳のスキーマの例を示した図。
【図４１】第３の実施形態にかかる情報処理装置の処理動作を説明するための文書の一例を示した図。
【図４２】図４１の文書に対し図４３の意味クラス解析知識情報を用いて意味クラス解析を行った結果を含む文書の例を示した図。
【図４３】意味クラス解析部で用いる意味クラス解析知識情報の例を示した図。
【図４４】意味クラス解析部で用いる、拡張された意味クラス解析知識情報の例を示した図。
【図４５】意味クラス解析部から出力された意味クラス解析結果を含む文書の例を示した図。
【図４６】表示画面上でのアノテーションの入力例を示した図。
【図４７】図４５の文書に適用される意図推定知識情報の例を示した図。
【図４８】図４５の文書に適用されるアクション選択知識情報の例を示した図。
【図４９】アクション実行時に用いるアドレス帳への登録規則の一例を示した図。
【図５０】アクションを実行した結果得られるアドレス帳の表示例を示した図。
【図５１】表示画面上でのアノテーションの他の入力例を示した図。
【図５２】意図推定知識情報の他の例を示した図。
【符号の説明】
【０１７８】
１０１…文書情報入力部
１０２…意味クラス解析知識記憶部
１０３…意味クラス解析部
１０４…表示部
１０５…アノテーション部
１０６…意図推定知識記憶部
１０７…意図推定部
１０８…アクション選択知識記憶部
１０９…アクション選択部
１１０…アクション実行部
１２０…アノテーション入力部
１２１…アノテーションテンプレート記憶部
【図１】
2006065754.tif 000004
【図２】
2006065754.tif 000005
【図３】
2006065754.tif 000006
【図４】
2006065754.tif 000007
【図５】
2006065754.tif 000008
【図６】
2006065754.tif 000009
【図７】
2006065754.tif 000010
【図８】
2006065754.tif 000011
【図９】
2006065754.tif 000012
【図１０】
2006065754.tif 000013
【図１１】
2006065754.tif 000014
【図１２】
2006065754.tif 000015
【図１３】
2006065754.tif 000016
【図１４】
2006065754.tif 000017
【図１５】
2006065754.tif 000018
【図１６】
2006065754.tif 000019
【図１７】
2006065754.tif 000020
【図１８】
2006065754.tif 000021
【図１９】
2006065754.tif 000022
【図２０】
2006065754.tif 000023
【図２１】
2006065754.tif 000024
【図２２】
2006065754.tif 000025
【図２３】
2006065754.tif 000026
【図２４】
2006065754.tif 000027
【図２５】
2006065754.tif 000028
【図２６】
2006065754.tif 000029
【図２７】
2006065754.tif 000030
【図２８】
2006065754.tif 000031
【図２９】
2006065754.tif 000032
【図３０】
2006065754.tif 000033
【図３１】
2006065754.tif 000034
【図３２】
2006065754.tif 000035
【図３３】
2006065754.tif 000036
【図３４】
2006065754.tif 000037
【図３５】
2006065754.tif 000038
【図３６】
2006065754.tif 000039
【図３７】
2006065754.tif 000040
【図３８】
2006065754.tif 000041
【図３９】
2006065754.tif 000042
【図４０】
2006065754.tif 000043
【図４１】
2006065754.tif 000044
【図４２】
2006065754.tif 000045
【図４３】
2006065754.tif 000046
【図４４】
2006065754.tif 000047
【図４５】
2006065754.tif 000048
【図４６】
2006065754.tif 000049
【図４７】
2006065754.tif 000050
【図４８】
2006065754.tif 000051
【図４９】
2006065754.tif 000052
【図５０】
2006065754.tif 000053
【図５１】
2006065754.tif 000054
【図５２】
2006065754.tif 000055