@Abstract (式言語)

次の方法でフィールドの内容を省略します。

注: この関数を使用すると、選択されたキーワードに関わらず、すべての改行が削除されます。

この関数は、シングルバイト文字セットでのみ使用できます。

構文

@Abstract( [ keywords ] ; size ; beginText ; bodyFields )

パラメータ

[ keywords ]

文字列を省略してソートする方法を指定するキーワードをいくつでも指定できます (「キーワード」参照)。キーワードは指定した順序で実行されます。各キーワードは角カッコで囲み、複数指定するときは次のようにコロンで区切ります。[DROPVOWELS]:[NOTRIMWHITE]:[ABBREV]。

size

数値。要約文字列の最大サイズを指定します。必ず 64,994 バイト以下で指定します。要約文字列に使用できるバイト数は、size から 1 を引いたバイト数です。1 バイトは内部使用のために予約されています。

beginText

文字列。返される文字列の先頭に挿入されるコメントで、10 文字以下で指定します。beginText のサイズは要約文字列の合計の size に数えられますが、内容は @Abstract コマンドの処理対象ではありません。コメントが必要ないときは空の文字列 ("") を指定します。

bodyFields

文字列または文字列リスト。要約対象の文字列を含むフィールドで、いくつでも指定できます。テキストフィールド、リッチテキストフィールド、キーワードフィールドを指定します。各フィールド内の文字列は指定した順序で空白を使用して結び付けられます。指定した名前のフィールドが見つからないときは、代わりに文字列リテラルが使用されます。各フィールド名は引用符で囲み、フィールド名が複数あるときは、各フィールド名をコロンで次のように区切ります。"Sales":"Figures"。

注意:
リッチテキストフィールドは、保存されるまでは文書の一部ではありません。@Abstract で現在の文書に対する追加や変更も処理したいときは、必ず文書を保存してから再計算します。@Abstract では、ビュー列のリッチテキストをテキストに変換できません。

戻り値

abstractedText

文字列。各本文フィールドに含まれている文字列で、commands で指定したとおりに省略されソートされています。

キーワード

以下のキーワードを @Abstract で使用できます。

[TEXTONLY]

文字列からメールヘッダーと分離記号のチャンクを削除します。

[COUNTWORDS]

文字列内の各単語の重要度を計算します。単語の重要度は、文字列に現れる頻度で決まります。重要語ファイル (「ファイル」参照) に含まれている単語は、その重要度が増します。非重要語ファイル (「ファイル」参照) に含まれている単語は、重要度がありません。

[SAVE]

文字列を現在の状態で保存します。保存された文字列を復元するには、[RESTORE] キーワードを使用します。

[RESTORE]

現在の文字列を破棄し、直前に保存された文字列を復元します。保存されている文字列を復元できるのは一度だけです。これまでに保存されている文字列がなければ、このキーワードは無効です。

[TRYFIT]

現在の文字列を調べ、指定されているサイズに収まる長さまで短くなったかどうかを判定します。短くなっていれば、その時点での変更が反映された現在の文字列を返して処理を中止します。残りのコマンドは無視されます。短くなっていなければ、次のキーワードの処理に進みます。

[SORTCHUNKS]

文字列を重要度に従ってソートします。文字列は、テキスト、メールヘッダー、分離記号の 3 種類のチャンクに分割されます。

チャンクの重要度は、そのチャンク内の単語の重要度、チャンク内の単語数、チャンクの種類と位置で決まります。[SORTCHUNKS] を使用するときは、必ず [COUNTWORDS] も使用します。

[ABBREV]

文字列を省略します。@Abstract は、省略辞書を使用して文字列内の単語を省略語で置換します (「ファイル」参照)。次のコマンドを使用して、短縮処理を他の方法で制御できます。これらのコマンドは、[ABBREV] キーワードの前以外の場所では無効です。

[USEDICT]

省略辞書を使用するよう指定します。これはデフォルトです。

[NODICT]

省略辞書を使用しないよう指定します。

[KEEPVOWELS]

単語の母音を残します。これはデフォルトです。

[DROPVOWELS]

単語から母音を削除します。母音で始まる単語の最初の母音は削除されません。[DROPVOWELS] を使用するとき、次のサブコマンドの 1 つを使用できます (オプション)。

[DROPFIRSTVOWEL]

単語の先頭の母音を削除します。

[KEEPFIRSTVOWEL]

単語の先頭にある母音は残します。これはデフォルトです。

[TRIMWHITE]

文字列から余分な空白を削除します。これはデフォルトです。

[NOTRIMWHITE]

文字列の余分な空白を残します。

[TRIMPUNCT]

分離記号を囲む余分な空白を削除します。

[NOTRIMPUNCT]

分離記号を囲む余分な空白を残します。

[NOSTOPLIST]

非重要語リスト (notestop.txt) を無効にします。

[NOSIGLIST]

重要語リスト (notesigl.txt) を無効にします。

規則

@Abstract で使用できる組み込みのプログラムには、[Rule1]、[Rule2]、[Rule3] の 3 種類があります。

[RULE1] は、次のコマンドで構成されていて、この順序で実行されます。

[TEXTONLY]:[TRYFIT]

メールヘッダーチャンクと分離記号チャンクをすべて削除します。文字列が指定サイズに収まれば関数の処理は終了します。そうでなければ、処理を続行します。

[TRIMPUNCT]:

分離記号を囲む空白を削除します。

[SAVE]:

文字列を現在の状態で保存します。

[ABBREV]:[TRYFIT]:

文字列を省略します。文字列が指定サイズに収まれば関数の処理は終了します。そうでなければ、処理を続行します。

[RESTORE]:

文字列を省略する前の状態に復元します。

[SAVE]:

文字列を現在の状態で保存します。

[DROPVOWELS]:[ABBREV]:[TRYFIT]:

文字列を母音を削除して省略します。文字列が指定サイズに収まれば関数の処理は終了します。そうでなければ、処理を続行します。

[RESTORE]:

文字列を省略する前の状態に復元します。

[COUNTWORDS]:[SORTCHUNKS]:[ABBREV]

単語を数えてチャンクをソートします。文字列を省略して返します。

メールヘッダーと分離記号を削除して文字列が希望サイズに収まったら、文字列はその状態で返されます。最初の省略処理によって文字列が希望サイズに収まったときは、返される文字列の先頭にはマイナス記号 (-) が付きます。2 番目の省略処理で文字列が希望サイズに収まったときは、返される文字列の先頭にはプラス記号 (+) が付きます。単語を数えてチャンクをソートしたときは、文字列の先頭にはアスタリスク記号 (*) が付き、文の間は並び替えを示す記号 (|) で区切られます。

[RULE2] では、次のコマンドが発行されます。

[TRIMPUNCT]:[ABBREV]

[RULE3] では、次のコマンドが発行されます。

[TEXTONLY]:[TRYFIT]:

メールヘッダーチャンクと分離記号チャンクをすべて削除します。文字列が指定サイズに収まれば関数は終了します。そうでなければ、処理を続行します。

[TRIMPUNCT]:

分離記号を囲む空白を削除します。

[SAVE]:

文字列を現在の状態で保存します。

[ABBREV]:[TRYFIT]:

文字列を省略します。文字列が指定サイズに収まれば関数は終了します。そうでなければ、処理を続行します。

[RESTORE]:

文字列を省略する前の状態に復元します。

[DROPVOWELS]:

文字列を母音を削除して省略します。

[SAVE]:

文字列を現在の状態で保存します。

[ABBREV]:[TRYFIT]:

文字列が指定サイズに収まれば関数は終了します。そうでなければ、処理を続行します。

[RESTORE]:

文字列を省略する前の状態に復元します。

[COUNTWORDS]:[SORTCHUNKS]:[ABBREV]

単語を数えてチャンクをソートします。文字列を省略して返します。

単語を数えてチャンクをソートしたときは、返される文字列の先頭にはアスタリスク記号 (*) が付き、文の間は並び替えを示す記号 (|) で区切られます。

ファイル

@Abstract では、次のファイルが使用されます。@Abstract の使い方に応じて、これらのテキストファイルをすべてまたは一部作成します。まったく作成しないこともあります。ファイルを作成する場合は、指定に従って名前を付け、ソフトウェアを起動する前に Notes/Data ファイルパスに置く必要があります。

省略辞書 (noteabbr.txt)

ファイルの各行には 2 つの単語が必要です。最初の単語は元の単語、2 つ目の単語はその省略語です。 省略語は、元の単語よりも短くなければなりません。以下に例を示します。

telephone ph
number no

大文字への変換は次のように行われます。

省略語が小文字に変換されることはありませんが、大文字に変換されることはあります。

指定した省略語

元の単語

結果の省略語

説明

Phone

telephone

Phone

元の単語が小文字であるため、省略語の大文字と小文字は指定した通りとなります。

Phone

TElephone

PHONE

省略語の大文字と小文字は元の単語の大文字と小文字に基づいて変換されます。

Phone

Telephone

Phone

省略語の大文字と小文字は元の単語の大文字と小文字に基づいて変換されます。

PHONE

Telephone

PHONE

省略語は大文字で指定されているため、常に大文字となります。

Phone

tElephone

PHONE

省略語の最初の文字は大文字だったのでそのままになります。省略語の残りの文字は元の単語の 2 つ目の文字に合わせて大文字に変換されます。

重要語 (notesigl.txt)

このファイルには、「urgent」や「immediately」などの重要な単語を自由形式でリストします。@Abstract が文字列の重要度を計算するときは、重要語リストに含まれている単語の重要度が高くなります。以下に例を示します。

client


boss


chocolate

非重要語 (notestop.txt)

このファイルには、「the」、「and」、「of」などの常に重要ではない単語を自由形式でリストします。@Abstract が文字列の重要度を計算するとき、このファイルに含まれている単語はすべて無視されます。以下に例を示します。

the


and


of

メールヘッダー (notehead.txt)

このファイルには、「Subject」、「From」、「To」などメールヘッダーを表す単語を自由形式でリストします。@Abstract でチャンクがメールヘッダーと見なされるには、チャンクがこのファイルで指定されている単語のいずれかで始まり、そのすぐ後ろにコロンと空白がある必要があります。メールヘッダーが重要と見なされるようにするには、その単語の後ろにアスタリスクを付けます。以下に例を示します。

Subject*


From

  1. 次の式は、[description] フィールドの内容を母音を削除して省略します。
    @Abstract( [DROPVOWELS]:[ABBREV]; 200; ""; "description" )

    [description] フィールドの内容が次のとおりだとします。The kickoff meeting for our capital campaign is tomorrow.

    この式では、次のように返されます。 Th kckff mtng fr r cptl cmpgn is tmrrw.

  2. 次の式は、省略辞書を使用し、単語の最初の文字である母音も含め母音を削除することで、[description] フィールドの内容を省略します。
    @Abstract([USEDICT]:[DROPVOWELS]:[DROPFIRSTVOWEL]:[ABBREV]; 200; ""; "description" )

    省略辞書に次のような項目が含まれているとします。

    capital cap meeting mtg tomorrow tom

    この式では、次のように返されます。Th kckff mtg fr r cap cmpgn s tom.

  3. 次の式は、@Abstract の誤った使い方を示したものです。この式では、[ABBREV] キーワードが誤って [DROPVOWELS] の前に記述されているため、[description] フィールドの内容は変更されず、そのまま返されてしまいます。
    @Abstract( [ABBREV]:[DROPVOWELS]; 200; ""; "description" )
  4. この式は、noteabbr.txt ファイルに従ってすべての分離記号の前後の空白を削除し、[opinion] フィールドの文字列を省略します。ファイルの内容は次の通りです。

    following flwg punctuation punc

    @Abstract([RULE2];300;"Result:";"opinion")

    [opinion] フィールドの内容が次のとおりだとします。The FOllowing is a list of punctuation marks: ! , ; :.

    この式では、次のように返されます。Result:The FLWG is a list of punc marks:!<;:.

クロスリファレンス

LotusScript® NotesItem クラスの Abstract メソッド

Java™ Item クラスの abstractText メソッド

LotusScript NotesRichTextItem クラスの GetFormattedText メソッド

Java RichTextItem クラスの getFormattedText メソッド