(57)【要約】【課題】  電子メールの返信を繰り返すと、引用符の挿入等により文章レイアウトが崩れる。【解決手段】  整形対象となるオリジナル文章を入力し（Ｓ１０）、オリジナル文章に含まれる文字列毎に、その文字列の役割を特定する（Ｓ１２）。そして、その役割に応じて、オリジナル文章に含まれる文字列を再整形する（Ｓ１８）。これにより、文章を整形することができる。【選択図】  図２
2005196305.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字列を含む文章を受け付ける入力部と、
それぞれの文字列の前記文章における役割を、可視化されるべき文字列に基づいて特定する解析部と、
前記文章に含まれる文字列を、その役割に応じて可視化する整形部と、
を備えることを特徴とする文書整形装置。
【請求項２】
前記解析部は、所定の役割に応じた特徴が前記文字列に含まれているか否かに基づいて、前記文字列の役割を特定することを特徴とする請求項１に記載の文書整形装置。
【請求項３】
前記解析部は、それぞれの文字列の相互関係を特定し、相互に関係する文字列毎にグループ化することを特徴とする請求項１または２に記載の文書整形装置。
【請求項４】
前記整形部は、前記グループに含まれる文字列を、視覚的にグループ毎に区別できるように可視化することを特徴とする請求項３に記載の文書整形装置。
【請求項５】
前記入力部は、前記文章を電子メールとして受け付け、
前記解析部は、前記電子メールの本文に含まれる文章を対象に、その文章中の文字列の役割を特定することを特徴とする請求項３または４に記載の文書整形装置。
【請求項６】
前記解析部は、前記電子メール中の文字列に含まれる引用符に基づいて、前記相互関係を特定し、それぞれの文字列をグループ化することを特徴とする請求項５に記載の文書整形装置。
【請求項７】
前記整形部は、前記文字列からその文字列の位置調整に係るすべての文字情報を取り除き、その文字列の役割に応じて新たに位置調整に係る文字情報を付加することで前記文字列を可視化したときの配置を調整することを特徴とする請求項１から６のいずれかに記載の文書整形装置。
【請求項８】
前記解析部は、同一の引用符を含む文字列を同一のグループとして分別し、
前記整形部は、グループの可視化のために、そのグループに属する文字列に付加されていた引用符を利用することを特徴とする請求項６または７に記載の文書整形装置。
【請求項９】
前記所定の役割に応じた特徴に基づいて、文字列の役割を特定するための解析条件を保持する解析条件格納部を更に備え、
前記解析部は、それぞれの文字列に対して、前記解析条件が適合するか否かを判断することにより、それぞれの文字列の役割を特定することを特徴とする請求項１から８のいずれかに記載の文書整形装置。
【請求項１０】
前記解析条件は、前記所定の役割を有する文字列の自然文における特徴に基づいて定義されることを特徴とする請求項９に記載の文書整形装置。
【請求項１１】
前記解析条件が定義された役割に対応して、その役割を有する文字列の可視化方法を指定する可視化ルールを保持するルール格納部を更に備え、前記整形部は、それぞれの文字列の役割に対応する可視化ルールに基づいて可視化を行うことを特徴とする請求項９または１０に記載の文書整形装置。
【請求項１２】
ネットワークを介して電子メールを受け付ける受信部と、
前記電子メールの本文部分から複数の文字列を含む文章を取得し、それぞれの文字列の前記文章における役割を、可視化されるべき文字列に基づいて特定する解析部と、
前記文章に含まれる文字列を、その役割に応じて可視化して、前記文章を整形する整形部と、
整形した文章を前記電子メールの本文部分として表示させる表示処理部と、
を備えることを特徴とする電子メール装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文書を整形する装置に関し、とくに文書に含まれる文章を整形し直す技術およびその整形技術を備える電子メール装置に関する。
【背景技術】
【０００２】
ネットワーク環境の充実にともない、ビジネスやプライベートで電子メールを利用したコミュニケーションが頻繁に行われるようになった。一般に電子メールは、ＳＭＴＰ（Simple Mail Transfer Protocol）やＰＯＰ（Post Office Protocol）などの共通のプロトコルを利用して、ネットワークに接続された装置間でテキストデータを送受信することで実現される。共通のプロトコルを利用することにより、ネットワークに接続された様々な装置間での通信が実現されている。
【０００３】
通信対象の装置のスペックは様々であり、デスクトップコンピュータの様に、比較的大画面を表示手段とするものもあるし、ＰＤＡ（Personal Digital Assistance）の様に比較的小画面を表示手段とするものもある。こうしたことから、受信側の装置によっては、段落や改行の位置が換わり、読みにくくなることがある。
【０００４】
また、メーラーには、返信時に元の文章に引用符を付加する機能が搭載されていることが多い。このため、ひとつの電子メールに対して返信を繰り返すと、引用符が連なり、ユーザが意図しない部分で改行されることがある。こうしたことから、電子メールに含まれる文章を整形して表示する技術がある（特許文献１）。
【特許文献１】特開平１１−１８４７７５号公報
【特許文献２】特開平６−２８２５６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これらの技術は、ユーザが意図して挿入した改行と、ユーザが意図していない改行とを推測して、ユーザが意図していない改行を取り除くことで整形処理を行う。つまり、従来の整形処理は、最初の文章レイアウトに戻るように文章を整形する。例えば、引用符は電子メールの返信を重ねる度に付加されるので、引用符が付加されただけずれが生じる。このため、最初の文章レイアウトに戻すようにしても、必然的に文章レイアウトは崩れてしまう。
【０００６】
本発明はこうした点に鑑みてなされたもので、その目的は、文書に含まれる文章を適切に整形して、視認性を高めユーザの利便性を向上することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、文書に含まれる文章を整形する装置である。この文書整形装置は、複数の文字列を含む文章を受け付ける入力部と、それぞれの文字列の文章における役割を、可視化されるべき文字列に基づいて特定する解析部と、文章に含まれる文字列を、その役割に応じて可視化する整形部とを備える。この態様によれば、文章に含まれる個々の文字列の役割が特定され、役割に応じて文字列が可視化される。このため、与えられた文章が文章レイアウト的に崩れている場合でも適切に整形できる。
【０００８】
「文字列の役割」は、例えば見出し、飾り行など文章構造における表現手法であり、文章を構成する要素である。「可視化」とは、文字列の役割を実現するために視覚的な効果が生じる表現形態であり、例えば文字配置を変更したり、文字列に特定の文字を追加したり、文字列に修飾を施したりすることでよい。
【０００９】
解析部は、所定の役割に応じた特徴が文字列に含まれているか否かに基づいて、文字列の役割を特定してもよい。「所定の役割に応じた特徴」は、その役割を満たすように視覚的な効果をもたらす例えば文字配置、文字列の先頭に付加された特定の文字、それらの組み合わせ、前後の行との関連性などであってよい。
【００１０】
解析部は、それぞれの文字列の相互関係を特定し、相互に関係する文字列毎にグループ化してもよい。整形部は、グループに含まれる文字列を、視覚的にグループ毎に区別できるように可視化してもよい。これにより、ユーザは、文字列の相互関係を視覚的に把握できる。
【００１１】
入力部は、文章を電子メールとして受け付け、解析部は、電子メールの本文に含まれる文章を対象に、その文章中の文字列の役割を特定してもよい。これにより、電子メールの本文を整形できるので、返信が繰り返され文章レイアウトが崩れた電子メールを受信した場合でも、本文を見やすく整形できる。
【００１２】
解析部は、電子メール中の文字列に含まれる引用符に基づいて、相互関係を特定し、それぞれの文字列をグループ化してもよい。
【００１３】
整形部は、文字列からその文字列の位置調整に係るすべての文字情報を取り除き、その文字列の役割に応じて新たに位置調整に係る文字情報を付加することで文字列を可視化したときの配置を調整してもよい。「位置調整に係る文字情報」は、例えば改行コード、空白コードなど文字列の位置を調整できる文字の情報である。これにより、元の文章レイアウトとは無関係に文章を整形できる。
【００１４】
解析部は、同一の引用符を含む文字列を同一のグループとして分別し、整形部は、グループの可視化のために、そのグループに属する文字列に付加されていた引用符を利用してもよい。これにより、ユーザは、一般的な電子メールの表示フォーマットで電子メールを確認できるので、整形処理が行われていることを意識せずに当該装置を利用できる。
【００１５】
この装置は、所定の役割に応じた特徴に基づいて、文字列の役割を特定するための解析条件を保持する解析条件格納部を更に備え、解析部は、それぞれの文字列に対して、解析条件が適合するか否かを判断することにより、それぞれの文字列の役割を特定してもよい。これにより、解析条件を変えることで特定すべき文字列の役割、すなわち特定すべき文章の構成要素を変えることができる。解析条件は、所定の役割を有する文字列の自然文における特徴に基づいて定義されてよい。これにより、タグなどの非可視の情報が不要であり、自然文を取り扱う任意の装置で利用できる。
【００１６】
この装置は、解析条件が定義された役割に対応して、その役割を有する文字列の可視化方法を指定する可視化ルールを保持するルール格納部を更に備え、整形部は、それぞれの文字列の役割に対応する可視化ルールに基づいて可視化を行ってよい。
【００１７】
本発明の別の態様は、電子メールを取り扱う装置である。この装置は、ネットワークを介して電子メールを受け付ける受信部と、電子メールの本文部分から複数の文字列を含む文章を取得し、それぞれの文字列の文章における役割を、可視化されるべき文字列に基づいて特定する解析部と、文章に含まれる文字列を、その役割に応じて可視化して、文章を整形する整形部と、整形した文章を電子メールの本文部分として表示させる表示処理部とを備える。この態様によれば、電子メールの本文に含まれる文章が、その文章を構成する文字列の役割に応じて整形される。
【００１８】
なお、以上の構成要素の任意の組合せや、本発明の構成要素や表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体、データ構造などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１９】
本発明によれば、電子メールに含まれる文書の視認性を高め、ユーザの利便性を高めることができる。
【発明を実施するための最良の形態】
【００２０】
実施の形態に係る整形処理は、文章に含まれる個々の文字列の文章構成上の役割を特定し、その役割に応じて可視化を行う。文章における個々の文字列の役割を把握することにより、その役割に適した例えば文字配置や文字修飾などができるので、文章を適切に整形することができる。
【００２１】
図１（ａ）は、整形処理前の電子メールの本文部分の文章を示す図である。整形処理前の文章を、以下「オリジナル文章」という。このオリジナル文章は、第１グループａ、第２グループｂ、および第３グループｃの３つのグループを含む。それぞれのグループは、電子メールの返信タイミング毎にまとめられており、第１グループａは、直近の返信メッセージを示し、第２グループｂは２番目に新しい返信メッセージを示し、第３グループｃは３番目に新しい返信メッセージを示す。一般に、電子メールの返信文には、以前の電子メールの本文部分にある文章の行頭にオリジナル引用符３２が付加される。一行毎に、このオリジナル引用符３２を比べることで、どのタイミングにおける返信メッセージなのかが判断される。
【００２２】
オリジナル文章の第１グループａには、第１見出し行１０ａおよび第２見出し行１０ｂが箇条書きされており、それらの見出し行の直下に第１見出説明文１２ａならびに第２見出説明文１２ｂが記載されている。文字列の最後尾には、ユーザが意図的に付加した改行２６（以下、単に「オリジナル改行２６」という）が存在する。第１見出し行１０ａおよび第２見出し行１０ｂは、先頭部分に箇条書きの特徴のひとつである箇条書きマーク３０が付加されている。それぞれの箇条書きは、例えば「（１）」、「１．」、「ｉ」など序数詞とそれに続いた項目とを含む。箇条書きマーク３０は、そうした箇条書きの先頭に付加された箇条書きの各項目に付加される可能性のある文字または記号である。
【００２３】
オリジナル文章の第２グループｂには、第１飾り行１４ａ、第１段落説明文１６ａ、および第２飾り行１４ｂが記載されている。第１飾り行１４ａおよび第２飾り行１４ｂは、例えば「空白行」や「記号が連続した行」などの前後の文との区切りを役割としたものである。第３グループｃには、３行にわたり第２段落説明文１６ｂが記載されている。
【００２４】
このように、文章は単に文字が並んでいるだけではなく、文字の配置、表記方法など文章を形作る複数の構成要素が含まれている。そうした構成要素を適切に使うことにより、読みやすくなったり、内容を理解しやすくなったり、効果的な文章になったりといった様々な効果が得られる。つまり、文章を構成する文字列には、文章を構成する上での役割がある。そして、その役割に応じて、例えば箇条書きにされたり、改行されたり、空白が追加され他の文字列との位置関係が調整されたりする。本発明者は、この点に着目し、文字列が本来有する文章における役割を判断し、その役割を維持するように文章を整形することに思い至った。
【００２５】
図１（ｂ）は、図１（ａ）の文章を、整形処理した後の文章を示す図である。整形処理後の文章を、以下「整形文章」という。整形文章は、オリジナル文章におけるそれぞれの文字列の役割を維持するように、図１（ａ）の文章を整形したものである。整形文章は、オリジナル文章の第１グループａ、第２グループｂ、および第３グループｃに対応して、第１グループＡ、第２グループＢ、ならびに第３グループＣを有する。第１グループＡ、第２グループＢ、および第３グループＣは、対応するオリジナル文章のグループに属する文字列と同一の整形引用符３４により、視覚的に区別される。
【００２６】
整形文章の第１グループＡは、オリジナル文章の第１見出し行１０ａおよび第２見出し行１０ｂに対応して、第１見出し行２０ａならびに第２見出し行２０ｂを含む。第１見出し行２０ａおよび第２見出し行２０ｂは、見出しとしての役割を維持するように可視化される。整形文章の第１見出し行２０ａおよび第２見出し行２０ｂを、総称して「見出し行２０」という。また、第１グループＡは、オリジナル文章の第１見出説明文１２ａおよび第２見出説明文１２ｂに対応して、第１見出説明文２２ａならびに第２見出説明文２２ｂを含む。オリジナル文章の第１見出説明文１２ａおよび第２見出説明文１２ｂは、それぞれ第１見出し行１０ａならびに第２見出し行１０ｂに対する説明としての役割を持つため、整形文章においてもその役割を維持するように可視化される。整形文章の第１見出説明文２２ａおよび第２見出説明文２２ｂを、総称して「見出説明文２２」という。
【００２７】
具体的な可視化の方法はいろいろあるが、本図では、整形文章の見出説明文２２は、見出し行２０に揃えるように字下げスペース３６が追加され、かつ折り返し線Ｌの文字数で折り返されている。つまり、第２見出説明文２２ｂは、見出し行２０の説明であることが明確になるように配置される。詳細は後述するが、本実施の形態における整形処理では、各文字列のオリジナル文章における役割を特定した後、オリジナル文章中の文字列から例えば改行、引用符、行頭字下げのための空白などの位置調整に係るすべての文字情報が削除される。そして、文字列の役割に応じて、新たに位置調整に係る文字情報が適宜追加されて整形文章が生成される。整形改行２８は、整形処理により新たに追加された改行を示す。また、字下げスペース３６は、整形処理により新たに追加された空白を示す。
【００２８】
整形文章の第２グループＢは、オリジナル文章の第１飾り行１４ａ、第１段落説明文１６ａ、および第２飾り行１４ｂに対応して、第１飾り行２４ａ、第１段落説明文２５ａ、ならびに第２飾り行２４ｂを含む。整形文章の第３グループＣは、オリジナル文章の第２段落説明文１６ｂに対応して、第２段落説明文２５ｂを含む。オリジナル文章の第１段落説明文１６ａおよび第２段落説明文１６ｂは、通常のメッセージとしての役割を有するので、第１段落説明文２５ａおよび第２段落説明文２５ｂは、通常のメッセージとしての役割を維持するように可視化される。「通常のメッセージ」は、文章の中心となる文字列であり、例えば「見出し行」、「飾り行」などのオリジナル文章から検出すべき所定の役割として、予め登録された文字列の特徴に一致しない文字列として定義される。整形文章の第１段落説明文２５ａおよび第２段落説明文２５ｂを、総称して「段落説明文２５」という。
【００２９】
本図では、段落説明文２５は、行頭で１文字分の字下げをして、折り返し線Ｌの文字数で折り返されている。オリジナル文章の第１段落説明文１６ａと整形文章の第１段落説明文２５ａとを比較すると、第１段落説明文１６ａは字下げされていないが、第１段落説明文２５ａでは字下げされていることがわかる。これは、オリジナル文章からすべての位置調整に係る文字情報を削除し、文字列の役割に応じて新たに位置情報に係る文字情報を適宜付加することで実現される。このように、文字列の役割に応じて新たに位置情報に係る文字情報が付加されることにより、文字列の役割に応じて可視化できる。これにより、例えば引用符が付加されることで、オリジナル文章における各文字列の配置が換わる場合でも、各文字列は役割に応じて可視化され、文章全体が適切に整形される。また、オリジナル文章からすべての位置調整に係る文字情報を削除して、文字列の役割に応じて再整形するので、ユーザの主観が取り除かれ、客観的な基準に基づいて整形される。これにより、整形文章がオリジナル文章よりきれいに整形されることもある。
【００３０】
図２は、実施の形態に係る整形処理のフローチャートである。まず、整形対象となるオリジナル文章が入力される（Ｓ１０）。次に、入力された文章の文章構造が分析され、文字列毎の文章における役割が特定される（Ｓ１２）。本実施の形態では、文章構造を分析する際に、単に文章中の文字列の役割を特定するだけでなく、複数の文字列の相互関係を特定し、関連する文字列同士をグループとしてまとめる。そのため、ステップ１２は、文章中の文字列を関連する文字列毎にグループ化するステップ（Ｓ１４）と、文章の構成要素を識別する、つまり文字列の役割を特定するステップ（Ｓ１６）とを有する。その後、文字列の役割と文字列の属するグループとに基づいてオリジナル文章中の文字列が再整形される（Ｓ１８）。そして、整形文書が出力される（Ｓ２０）。
【００３１】
この整形処理の手順を、コンピュータに実行させることで文章を整形することができる。この一連の手順をコンピュータに実行させるためのプログラムを単独で利用してもよいし、文章を取り扱う各種のプログラムに組み込んで利用してもよい。組み込み対象となるプログラムは、例えば、電子メールを送受信する装置を実現するためのプログラムや、チャットを実現するためのプログラムや、掲示板を実現するためのプログラムや、ワードプロセッサを実現するためのプログラム等、文章を取り扱う装置をコンピュータで実現するためのプログラムであってよい。以下、電子メールを送受信するための装置をコンピュータで実現するためのプログラムに、上述の整形処理の手順を組み込んだ場合を一例として説明する。
【００３２】
図３は、実施の形態に係る整形処理機能を有する電子メール装置５０の構成図である。電子メール装置５０の各構成要素は、ハードウエアコンポーネントで言えば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インターフェース等を中心に実現されるが、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。これから説明する各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
【００３３】
受信部５２は、ネットワークを介して電子メールを受信する。電子メール格納部５４は、その電子メールを格納する。選択部５６は、例えばユーザの指示に応じて、電子メール格納部５４から電子メールを選択して、作成部５８または整形処理部１００に出力する。
【００３４】
整形処理部１００は、選択部５６から受け付けた電子メールの本文に含まれるオリジナル文章に対して、上述の整形処理を施して整形文章を表示処理部６２に出力する。また、整形処理部１００は、整形文章を作成部５８に返信用の電子メールのひな形として出力する。もちろん、他の例では、作成部５８は、整形文章を作成部５８に出力しなくてもよいし、ユーザの指示に応じて、整形文章を作成部５８に出力するか否かを決定してもよい。整形文章をどのように利用するかは、任意である。
【００３５】
表示処理部６２は、整形処理の施された電子メールを表示部に出力する。作成部５８は、ユーザから文章の入力を受け付け、電子メールを作成する。作成部５８は、電子メールを新規に生成してもよいし、整形処理部１００から供給された返信用のひな形に基づいて、作成してもよい。作成部５８は、新規および返信のいずれの電子メールを作成してもよい。要は、作成部５８は、送信部６０から送信する電子メールを作成すればよい。送信部６０は、作成部５８から供給された電子メールをネットワークに向けて出力する。
【００３６】
図４は、図３の整形処理部１００の内部構成図である。受付部１０２は、選択部５６から電子メールを受け付け、その電子メールを解析部１０４に出力する。解析部１０４は、受け付けた電子メールの本文部分に含まれるオリジナル文章に対して、図２のステップ１２に該当する分析を行う。解析部１０４は、オリジナル文章を一行毎、すなわち改行コードで区切られる文字列毎に分析を進める。以下、オリジナル文章の１行を「行文字列」といい、とくに行文字列として特定する必要が無い場合、複数の文字のまとまりを文字列という。
【００３７】
解析部１０４は、オリジナル文章に含まれるすべての行文字列を、行頭文字部と文章部とに分離する。「行頭文字部」は、行頭の引用符、空白および行頭字下げ空白文字を含み、電子メールの返信の際にメーラーにより自動的に付加された文字列である。「文章部」は、行文字列から行頭文字列と改行コードとを取り除いた残りの文字列である。解析部１０４は、行頭文字部が一致する行文字列をグループとしてまとめる。一般に、引用符は返信を繰り返すたびに一つずつ追加されるので、行頭文字部が一致することは同一のタイミングで作成された文字列であると判断できる。
【００３８】
また、解析部１０４は、文章部に含まれる文字列の役割を特定する。解析部１０４は、文章部に含まれる文字列の役割を特定するために、所定の役割を有する文字列が備えるべき基本の特徴（以下、単に「基本特徴」という）が、文章部に含まれる文字列にあるか否かを検査する。そして、解析部１０４は、文章部に含まれる文字列と基本特徴とが合致した場合、その基本特徴に対応する役割をその文字列が有するとして判断する。
【００３９】
解析条件格納部１０６は、文字列の役割の特定に利用する基本特徴に関する特徴情報を、文字列の役割に対応づけて保持する。例えば、「見出し行」としての役割を有する文字列の特徴情報は、「文章部の先頭に、箇条書きマーク、章番号などを含む」である。「飾り行」としての役割を有する文字列の特徴情報は、「文章部が空白、または特定の文字が連続している」である。「見出説明文」としての役割を有する文字列の特徴情報は、「見出し行の直近、すなわち次の行にある」である。本実施の形態では、オリジナル文章に含まれる文字列を「見出し行」、「飾り行」、「見出説明文」、および「通常のメッセージ」の４つの役割に分別する。すなわち、オリジナル文章に含まれる文字列を４つの構成要素に分別する。このため、「通常メッセージ」としての役割を有する文字列の特徴情報は、「見出し行、飾り行、見出し説明文のいずれにも適合しないもの」である。
【００４０】
解析部１０４は、解析条件格納部１０６に保持されている解析条件を参照して、文章部の役割を特定する。解析部１０４は、行文字列毎に、グループと役割とを対応づけて、文章構造情報として文章構造格納部１０８に格納する。また、解析部１０４は、グループの判別に利用した行頭文字部の文字列をグループ毎に文章データ格納部１１０に格納し、更に、行文字列毎の文章部を文章データ格納部１１０に格納する。これにより、例えば行番号など、行文字列を特定する情報をキーに各行文字列における文章構造情報と行頭文字部の文字列と文章部の文字列とを特定できる。
【００４１】
他の例では、解析部１０４は、文字列の役割を特定する度に、その役割を特定するタグをその文字列の前後に付加し、文章構造情報と文章部の文字列とを同一のファイルに格納するようにしてもよい。解析部１０４における分析結果である文章構造情報、行頭文字部および文章部の文字列を格納するための方法は色々とあり、プログラムのコーディングに応じて適切な方法をとることができる。つまり、解析部１０４は、行文字列毎の文章構造情報と行頭文字部と文章部とを参照できるように格納処理を行えばよい。
【００４２】
整形部１１２は、文章データ格納部１１０に保持されている文章部の文字列を、文章構造格納部１０８および整形ルール格納部１１６を参照して整形して整形文章を生成する。整形ルール格納部１１６は、所定の役割すなわち構成要素毎に可視化時のルールを定義する。例えば、「見出し行」の整形ルールは、「該当する文章部に保持されている文字列を出力し、出力した文字列の前後に改行を挿入する」として定義されている。「飾り行」の整形ルールは、「該当する文章部に空白が保持されている場合、すなわち空白飾り行の場合、改行を出力し、空白以外の文字列が保持されている場合、すなわち空白飾り行以外の場合、その文字列を出力し、その文字列の前後に改行を挿入する」として定義されている。「見出説明文」の整形ルールは、「見出し行の箇条書きマークまたは章番号などに会わせて、行頭字下げを行う」として定義されている。また、「通常メッセージ」の整形ルールは、「一行あたりの文字数が所定の数に達したら、折り返す。ワードラップの可否、禁則処理などにしたがって出力する。」として定義されている。
【００４３】
整形部１１２は、整形文書の各行の先頭部分に、グループを特定する情報を追加し、それに続けて、文章部の文字列を整形ルールにしたがって追加する。グループを特定する情報は、例えばグループ毎に対応づけられている行頭文字列でもよいし、別の文字列であってもよい。要は、整形部１１２は、視覚的にグループを区別できるように、文字列を追加すればよい。整形部１１２は、新たに生成した整形文章を出力部１１４に出力する。出力部１１４は、整形文章を作成部５８または表示処理部６２に出力する。
【００４４】
解析部１０４および整形部１１２の処理をプログラムする場合、解析条件格納部１０６ならびに整形ルール格納部１１６は、一連の処理手順としてコーディングされる。つまり、解析条件を保持する解析条件格納部１０６が別に用意される訳ではなく、プログラムコードとして表現されてよい。また、解析条件および整形ルールとして上述した形態がすべてではなく、例えば文字列の役割を特定するための解析条件を、更に精度よくすることも当然ながら当業者に理解されるところである。
【００４５】
図５は、図４の解析部１０４における行文字列を行頭文字部と文章部とに分離する処理のフローチャートの一例を示す図である。解析部１０４は、図４の受付部１０２から電子メールを受け付けると、その電子メールの本文分にあるオリジナル文章の一行を読み込み（Ｓ５０）、オリジナル文章のすべてを読み込んだか否かを判定する（Ｓ５２）。この処理を開始すると、解析部１０４は、オリジナル文章の先頭行から読み込みを開始して、最終行になるまで同一の分離処理を繰り返す。ステップ５２で、例えば最終行か否かの判定は、読み込んだ行に、ファイルの終端を示すＥＯＦが含まれているか否かに基づいて行う。
【００４６】
最終行の場合（Ｓ５２のＹ）、処理を終了する。最終行でない場合（Ｓ５２のＮ）、解析部１０４は、行文字列に含まれる改行コードを削除する（Ｓ５４）。次に、解析部１０４は、行文字列を行頭文字部と文章部とに分離する（Ｓ５６）。例えば、この分離処理は、引用符、空白などの行頭文字列を構成する文字として予め設定された文字（以下、単に「候補文字」という）の有無を、行文字列の先頭から順に判定し、候補文字が無くなったときにその直前までの文字列を行頭文字列、すなわち行頭文字部としてもよい。そして、行文字列から行頭文字列を除いた文字列を文章部としてもよい。
【００４７】
解析部１０４は、直前に処理した行文字列の行頭文字部と、現在処理した行文字列の行頭文字部とが一致するか否かを判定する（Ｓ５８）。一致しない場合（Ｓ５８のＮ）、解析部１０４は、新たなグループを生成し（Ｓ６０）、そのグループに行頭文字列が属性として対応づけられる。ステップ５８で、行頭文字部が一致する場合（Ｓ５８のＹ）、解析部１０４は、現在のグループの文章部の配列に追加する（Ｓ６２）。この処理を、オリジナル文章のすべての行について繰り返す。
【００４８】
図６は、図４の解析部１０４における文字列毎の役割を特定する処理のフローチャートの一例を示す図である。解析部１０４は、グループ毎の文書部の配列から、ひとつずつ文章部を取得し（Ｓ７０）、すべての文章部を読み込んだか否かを判定する（Ｓ７２）。すべての文章部を読み込んだ場合（Ｓ７２のＹ）、解析部１０４は処理を終了する。すべての文章部を読み込んでいない場合（Ｓ７２のＮ）、解析部１０４は文字列の役割を特定する処理、すなわち文章における構成要素を識別する処理を行う（Ｓ７４）。そして、解析部１０４は、識別した要素を属性として登録する（Ｓ９０）。そして、ステップ７０に戻り、すべてのグループの文章部を読み込むまで処理を続ける。すなわち、この一連の処理により、図４を用いて説明した文章構造情報が生成され、図４の文章構造格納部１０８に格納される。
【００４９】
ステップ７４の文字列の要素を識別する処理は、図４の解析条件格納部１０６に関連して説明した解析条件をプログラムに反映したものである。まず、解析部１０４は、文章部の先頭が箇条書き文字か否かを判定する（Ｓ７６）。箇条書き文字の場合（Ｓ７６のＹ）、解析部１０４は見出し行として識別する（Ｓ８４）。ステップ７６で箇条書き文字でない場合（Ｓ７６のＮ）、文章部が空または同一の文字が連続しているかを判定する（Ｓ７８）。文章部が空または同一の文字が連続している場合（Ｓ７８のＹ）、解析部１０４は飾り行として識別する（Ｓ８６）。ステップ７８で文章部が空または同一の文字が連続していない場合（Ｓ７８のＮ）、解析部１０４は直前の文章部が見出し行か否かを判定する（Ｓ８０）。見出し行の場合（Ｓ８０のＹ）、解析部１０４は見出説明行として識別する（Ｓ８８）。ステップ８０で見出し行でない場合（Ｓ８０のＮ）、解析部１０４は通常メッセージとして識別する（Ｓ８２）。こうして識別された文字列の役割が、ステップ９０で属性として登録される。
【００５０】
図７は、図４の整形部１１２における整形処理のフローチャートの一例を示す図である。整形部１１２は、グループ毎の文章部と文章構造情報を読み込み（Ｓ９０）、すべての文章部について読み込みを行ったか否かを判断する（Ｓ９２）。すべての文章部について読み込みを行った場合（Ｓ９２のＹ）、処理を終了する。すべての文章部について読み込みを行っていない場合（Ｓ９２のＮ）、整形部１１２は、グループを視覚的に区別するための行頭文字列を出力する（Ｓ９４）。そして、整形部１１２は、文章部の属性すなわち文字列の役割に応じた整形処理を行う（Ｓ９６）。これを、すべての文章部について行うことで、整形文章が生成される。
【００５１】
ステップ９６の整形処理は、図４を用いて説明した文字列の役割毎に対応づけられた整形ルールに基づいた処理をフローチャートにしたものである。この処理で、まず整形部１１２は、文章部の属性が見出し行か否かを判定する（Ｓ９８）。見出し行の場合（Ｓ９８のＹ）、整形部１１２は、文章部の前後に改行を追加してバッファに出力する（Ｓ１０４）。ステップ９８で、見出し行でない場合（Ｓ９８のＮ）、整形部１１２は、文章部の属性が見出説明行であるか否かを判定する（Ｓ１００）。見出説明行の場合（Ｓ１００のＹ）、整形部１１２は、直前の見出し行に対して、行頭の字下げを調整すべく空白を追加してバッファに出力する（Ｓ１０６）。ステップ１００で、見出説明行でない場合（Ｓ１００のＮ）、整形部１１２は文章部の属性が飾り行か否かを判定する（Ｓ１０２）。飾り行の場合（Ｓ１０２のＹ）、整形部１１２は文章部の前後に改行を追加してバッファに出力する（Ｓ１０８）。ステップ１０２で、飾り行でない場合（Ｓ１０２のＮ）、整形部１１２は通常メッセージとして判断し、文章部をそのままバッファに出力する（Ｓ１１０）。そして、整形部１１２はバッファ内の文字列を、１行あたりの文字数、ワードラップ、禁則処理などに応じて折り返して整形しながら出力する（Ｓ１１２）。
【００５２】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００５３】
【図１】図１（ａ）は、整形処理前の電子メールの本文部分の文章を示す図であり、図１（ｂ）は、図１（ａ）の文章を、整形処理した後の文章を示す図である。
【図２】実施の形態に係る整形処理のフローチャートである。
【図３】実施の形態に係る整形処理機能を有する電子メール装置の構成図である。
【図４】図３の整形処理部の内部構成図である。
【図５】図４の解析部における行文字列を行頭文字部と文章部とに分離する処理のフローチャートの一例を示す図である。
【図６】図４の解析部における文字列毎の役割を特定する処理のフローチャートの一例を示す図である。
【図７】図４の整形部における整形処理のフローチャートの一例を示す図である。
【符号の説明】
【００５４】
５０  電子メール装置、５２  受信部、５４  電子メール格納部、５６  選択部、５８  作成部、６０  送信部、６２  表示処理部、１００  整形処理部、１０２  受付部、１０４  解析部、１０６  解析条件格納部、１０８  文章構造格納部、１１０  文章データ格納部、１１２  整形部、１１４  出力部、１１６  整形ルール格納部。
【図１】
2005196305.tif 000003
【図２】
2005196305.tif 000004
【図３】
2005196305.tif 000005
【図４】
2005196305.tif 000006
【図５】
2005196305.tif 000007
【図６】
2005196305.tif 000008
【図７】
2005196305.tif 000009