THUMGY Data 機能説明書

キーワード抽出

更新日 2025/02/27

機能

《キーワード抽出》は、開いているテーブルの「検索対象フィールド」の値の中からキーワードを探し、フィールドごとに見つかったキーワードの数とキーワードを追加した、新しいテーブルを作成する機能です。キーワードは複数指定でき、値の一部に含まれていれば一致します(部分一致)。元のテーブルは変更されません。

売上日商品No摘要
2024/04/10A01東京本社 売上
2024/04/12B02大阪支店
2024/05/20A01東京と大阪と東京
2024/05/25C03tokyo office
元のテーブル

→

摘要キーワード数_摘要キーワード_摘要商品No検索文字列
東京本社 売上1東京A01東京,大阪
大阪支店1大阪B02東京,大阪
東京と大阪と東京2東京,大阪A01東京,大阪
tokyo office0C03東京,大阪
作成したテーブル(キーワード:東京,大阪)
  • 例は、「検索対象フィールド」が「摘要」、「その他出力フィールド」が「商品No」の場合です。
  • キーワードが見つからないレコードも出力されます(キーワードの数は「0」、キーワードは空欄)。レコードは元のテーブルの順のままです。
  • 「キーワード数_フィールド名」は、見つかったキーワードの種類の数です。同じキーワードが何回あっても1と数えます。
  • 「キーワード_フィールド名」には、見つかったキーワードが「,」区切りで出力されます。
  • 「検索文字列」には、入力したキーワードがそのまま出力されます(「文字列」の場合)。

メニュー

《加工》-《キーワード抽出》

  • テーブルを開いている場合に使用できます。開いているテーブルがキーワードを探すテーブルになります。
  • テーブルの画面で条件式を設定している場合は、その条件式が「条件式」に入力された状態で開きます。
  • 操作ログからキーワード抽出のコマンドを修正することもできます(「■ 操作ログからコマンドを修正する場合」参照)。

操作ログからコマンドを修正する場合

操作ログでキーワード抽出のコマンドを修正すると、コマンドの内容が設定された状態で画面が開きます。

  • 「検索対象フィールド」「その他出力フィールド」は、コマンドに記述された順に選択されます。テーブルにないフィールドは選択されません。
  • 「検索する文字列」は、キーワードの場合は「文字列」に、フィールドの場合は「フィールド」に設定されます。フィールドがテーブルにない場合は空欄になるので、選択し直してください。
  • 「大小文字区別」、条件式、保存先は、コマンドのとおりに設定されます。保存先には、「04_table」フォルダからの「フォルダ名¥テーブル名.hdf5」が表示されます。

設定内容

キーワード抽出 の画面
  • 1元のテーブル:キーワードを探すテーブルの、フォルダ名とテーブル名が表示されます。
  • 2《フィールド選択》ボタン:「フィールド選択」画面で、「検索対象フィールド」をまとめて選択・解除できます。
  • 3検索対象フィールド(必須):キーワードを探すフィールドの行をクリックして選択します(もう一度クリックで解除)。数値型・日付型のフィールドも選択できます。
    • 左端の番号は選択した順番です。この順に、作成するテーブルのフィールドが並びます。
    • 選択したフィールドごとに、「キーワード数_フィールド名」「キーワード_フィールド名」が追加されます。
    • 見出しのチェックボックス(またはCtrl+A)で、すべてのフィールドを選択・解除します。すべてのフィールドを選択した場合は、選択した順に関係なく、テーブルのフィールドの順になります。
  • 4《フィールド選択》ボタン:「フィールド選択」画面で、「その他出力フィールド」をまとめて選択・解除できます。
  • 5その他出力フィールド(任意):キーワードを探さずに、そのまま出力するフィールドを選択します。選択方法は3と同じです。
    • 選択した順に、「検索対象フィールド」の後ろに並びます。
    • 「検索対象フィールド」と同じフィールドを選択しても、1回だけ出力されます。
  • 6検索する文字列(必須):キーワードの指定方法を選択します。初期値は「文字列」です。
    • 「文字列」:入力したキーワードを、すべてのレコードで探します(7)。
    • 「フィールド」:選択したフィールドの値をキーワードにして、レコードごとに探します(8。「◇キーワード抽出の結果」参照)。
    • 切り替えても、もう一方の入力内容は残ります。
  • 7キーワード(文字列):探すキーワードを入力します。下に入力方法の説明が表示されます。
    • 複数のキーワードは、半角の「,」で区切ります(例:「東京,大阪」)。
    • 空白もキーワードの一部です(「東京, 大阪」では、先頭に空白がある「 大阪」を探します)。
    • 「”」は使用できません。キーワードは「,」も含めて64文字までです(超えると実行時にエラーになります)。
  • 8キーワードのフィールド(フィールド):キーワードが入っているフィールドを選択します(「フィールド」を選択すると表示されます。下図参照)。
    • 各レコードの、このフィールドの値(「,」区切り)が、そのレコードのキーワードになります。
    • このフィールドは、作成するテーブルの最後に出力されます(ほかの設定で出力される場合を除きます)。
  • 9大小文字区別(必須):大文字・小文字を区別するかを選択します。初期値は「区別しない」です。
    • 「区別しない」:「tokyo」で「Tokyo」「TOKYO」も一致します。
    • 全角・半角は、どちらの場合も区別されます(「TOKYO」と「TOKYO」は一致しません)。
  • 10《式ビルダー》ボタン:「式ビルダー」画面を開き、フィールドや関数を選んで条件式を作成できます。
  • 11条件式(任意):出力するレコードの条件を入力します。空欄の場合は、すべてのレコードが出力されます。
    • 入力中に、関数やフィールドの候補が表示されます(Ctrl+Spaceで表示、Escで閉じます)。
    • 「×」で入力内容を消去します。正しい条件式であることを確認すると、緑の「✓」が表示されます。
  • 12《検証》ボタン:条件式が正しいかを確認します(Ctrl+Enter)。誤りがある場合は、メッセージが表示されます。
  • 13ファイル保存先(必須):作成するテーブルの名前を入力します。結果は必ずテーブルに保存されます。
    • テーブル名だけの場合は「04_table」フォルダに、「フォルダ名¥テーブル名」の場合はそのフォルダに作成されます。フォルダがない場合は作成されます。
    • 拡張子(.hdf5)は省略できます。「04_table」フォルダ以外の場所には保存できません。
    • テーブル名の長さは、64文字までです。
    • 記号(「-」「.」「#」など)や全角スペースは使用できません。名前の最後に「¥」「/」、途中に「..」は入力できません。
    • 元のテーブルと同じ名前は使用できません(大文字・小文字やフォルダが違っても同じ名前とみなされます)。
    • 同じ名前のテーブルがすでにある場合は、上書きしてよいかの確認メッセージが表示されます。「いいえ」を選択すると、実行せずに画面に戻ります。
  • 14《参照》ボタン:保存画面を開き、保存先を選択できます。
  • 15コマンド:現在の設定で実行されるコマンドが表示されます(「◇操作ログ」参照)。「検索対象フィールド」を選択すると表示されます。
  • 16《コピー》ボタン:コマンドをクリップボードにコピーします。
  • 17《キャンセル》ボタン:実行せずに画面を閉じます(Escキー)。確認メッセージで「はい」を選択すると閉じます。
  • 18《実行》ボタン:実行します(Enterキー)。テーブルが作成されると、画面が閉じ、作成したテーブルが開きます。

「検索する文字列」で「フィールド」を選択した場合

キーワードの入力欄の代わりに、フィールドの一覧(8)が表示されます。一覧には、テーブルのすべてのフィールドがテーブルの順に表示されます。

キーワード抽出 の画面

キーワード抽出の結果

設定によって、結果は次のようになります。

「大小文字区別」の違い

「区別しない」の場合は、英字の大文字・小文字の違いを無視して探します。例は、キーワード「tokyo」の場合です。

摘要
tokyo office
Tokyo-Branch
TOKYO 店
元のテーブル

→

摘要キーワード数_摘要キーワード_摘要検索文字列
tokyo office1tokyotokyo
Tokyo-Branch1tokyotokyo
TOKYO 店0tokyo
作成したテーブル(区別しない)
  • 「区別する」の場合は、「tokyo office」だけが一致します(「Tokyo-Branch」のキーワードの数は「0」)。
  • 「キーワード_摘要」には、データの文字ではなく、入力したキーワードの文字(「tokyo」)が出力されます。
  • 全角の「TOKYO」は、どちらの場合も一致しません。

「フィールド」を選択した場合

各レコードの「検索語」の値をキーワードにして、同じレコードの「摘要」を探します。「検索語」は最後に出力されます。

摘要検索語
東京本社 売上東京,大阪
大阪支店東京
東京と大阪と東京
tokyo officeTOKYO
Tokyo-Branchtokyo,福岡
元のテーブル

→

摘要キーワード数_摘要キーワード_摘要検索語
東京本社 売上1東京東京,大阪
大阪支店0東京
東京と大阪と東京0
tokyo office1TOKYOTOKYO
Tokyo-Branch1tokyotokyo,福岡
作成したテーブル(フィールド:検索語、区別しない)
  • 「検索文字列」は出力されません。
  • キーワードのフィールドが空欄のレコードは、キーワードの数が「0」になります。

「検索対象フィールド」を複数選択した場合

選択したフィールドごとに、別々にキーワードを探します。例は、「摘要」「検索語」を選択し、キーワード「東京」の場合です。

摘要キーワード数_摘要キーワード_摘要検索語キーワード数_検索語キーワード_検索語検索文字列
東京本社 売上1東京東京,大阪1東京東京
大阪支店0東京1東京東京
東京と大阪と東京1東京0東京
  • フィールドは、「検索対象フィールド」(選択した順。それぞれの後ろにキーワードの数とキーワード)、「その他出力フィールド」(選択した順)、「検索文字列」またはキーワードのフィールドの順に並びます。

「条件式」を入力した場合

条件に合うレコードだけが出力されます。条件に合うレコードは、キーワードが見つからなくても出力されます。例は、キーワード「東京,大阪」、条件式「[商品No] = “A01″」の場合です。

売上日商品No摘要
2024/04/10A01東京本社 売上
2024/04/12B02大阪支店
2024/05/20A01東京と大阪と東京
2024/05/25C03tokyo office
元のテーブル

→

摘要キーワード数_摘要キーワード_摘要商品No検索文字列
東京本社 売上1東京A01東京,大阪
東京と大阪と東京2東京,大阪A01東京,大阪
作成したテーブル(その他出力フィールド:商品No)

キーワードの一致のしかた

キーワードは、フィールドの値の一部に含まれていれば一致します。値とキーワードは、次のように比べられます。

キーワードフィールドの値結果
「東京」東京本社 売上一致します(値の一部)
「東京」東 京駅一致しません(値の中の空白も区別)
「 大阪」(先頭が空白)大阪支店一致しません(キーワードの空白も区別)
「tokyo」TOKYO 店一致しません(全角・半角は区別)
「100」1000.50(数値型)一致します(数値は文字として比較)
「2024/01」2024/01/05(日付型)一致します(日付は「yyyy/mm/dd」の文字)
  • 「,東京,,」のように「,」の間が空の部分は無視されます。同じキーワードを2回入力しても、1つとして数えます。
  • キーワードが「,」だけの場合は、エラーにはならず、すべてのレコードのキーワードの数が「0」になります。

入力内容に誤りがある場合

《実行》ボタンをクリックしたときに、保存先が空欄、「検索対象フィールド」が選択されていない、キーワードが空欄または「”」を含むなどの誤りがあると、画面の左下にメッセージが表示され、該当する項目が赤枠で示されます。項目を修正するとメッセージは消え、《実行》ボタンが使用できるようになります。

キーワード抽出 の画面
  • 条件式に誤りがある場合(フィールドがない、文字と数値を比較しているなど)は、実行時に誤りの内容を示す画面が表示されます。画面は閉じないので、条件式を修正してもう一度実行してください。
  • キーワードが64文字を超える場合も、実行時にエラーの内容を示す画面が表示されます。

操作ログ

OPEN "元のテーブル"
KEYWORDEXTRACT "キーワード" 0 SEARCH FIELDS [フィールド1] ・・・ OTHER FIELDS [フィールド2] ・・・ IF 条件式 TO "保存先" OPEN

各キーワードの意味は、次のとおりです。

キーワード内容設定内容
OPEN “元のテーブル”キーワードを探すテーブルを開きます1
KEYWORDEXTRACT “キーワード”探すキーワード(「文字列」の場合)7
KEYWORDEXTRACT [フィールド]キーワードのフィールド(「フィールド」の場合)8
0 / 1大小文字区別。0:区別しない、1:区別する9
SEARCH FIELDS [フィールド1] ・・・検索対象フィールド。選択した順に記述します3
SEARCH ALLFIELDSすべてのフィールドでキーワードを探します3
OTHER FIELDS [フィールド2] ・・・その他出力フィールド。選択した順に記述します5
OTHER ALLFIELDSすべてのフィールドを出力します5
IF 条件式出力するレコードの条件11
TO “保存先”作成するテーブルの名前(保存先)13
OPEN(最後)作成したテーブルを開きます―
  • 「フィールド」の場合は、「”キーワード”」の代わりに「[フィールド]」と記述されます。
  • すべてのフィールドを選択した場合は、「FIELDS [ ] ・・・」の代わりに「ALLFIELDS」と記述されます。
  • 下線部は、「その他出力フィールド」を選択した場合、条件式を入力した場合に記述されます。

コマンドを直接記述する場合(スクリプトなど)

  • キーワードとテーブル名は「”」で、フィールド名は「[ ]」で囲んで記述します。キーワードの中に「”」は記述できません。
  • キーワードは空にできません(「””」はエラーになります)。「,」も含めて64文字までです。
  • 「大小文字区別」は「0」または「1」で記述します。ほかの値はエラーになります。
  • 「SEARCH」と「TO “保存先” OPEN」は省略できません。最後の「OPEN」がない場合や、「TO SCREEN」(画面に表示)はエラーになります。
  • テーブルにないフィールドを記述したり、保存先を元のテーブルと同じ名前(大文字・小文字の違いを含む)にしたりするとエラーになります。

オプションの例(「◇キーワード抽出の結果」と同じテーブル。「TO “保存先” OPEN」は省略)

コマンドの記述結果
KEYWORDEXTRACT “東京,大阪” 0 SEARCH FIELDS [摘要] OTHER FIELDS [商品No]「◇機能」の例
KEYWORDEXTRACT “tokyo” 0 SEARCH FIELDS [摘要]「Tokyo-Branch」も一致します
KEYWORDEXTRACT “tokyo” 1 SEARCH FIELDS [摘要]「tokyo office」だけが一致します
KEYWORDEXTRACT [検索語] 0 SEARCH FIELDS [摘要]各レコードの「検索語」の値で探します
KEYWORDEXTRACT “東京” 0 SEARCH FIELDS [摘要] [検索語]「摘要」「検索語」の両方で探します
… IF [商品No] = “A01”「商品No」が「A01」のレコードだけ

例

OPEN "売上¥売上明細"
KEYWORDEXTRACT "東京,大阪" 0 SEARCH FIELDS [摘要] OTHER FIELDS [売上日] [商品No] TO "売上¥売上明細_キーワード" OPEN
KEYWORDEXTRACT [検索語] 1 SEARCH ALLFIELDS IF [売上日] >= `20240401` TO "売上¥売上明細_検索語" OPEN