キーワード・要約・リンクの自動生成 (Keywordsプラグイン)

Keywords プラグインを利用することで、記事やページの自動タグ付け、概要の自動作成、自動リンクなどを実現できます。これらの機能は、形態素解析など、自然言語処理の技術を活用しています。

以下のブログ記事で、活用方法の一例を紹介していますので、こちらも参考にしてください。

概要やキーワードを自動作成

 

登録済みのタグと一致する部分を自動リンク

設置とインストール

  • pluginsディレクトリに Keywordsディレクトリを設置します。
  • システムのプラグインの管理画面で、Keywordsにチェックを入れて有効化します。
  • スキーマ管理画面から「keyword」モデルを選択してアップグレードします。

環境変数と初期値

keywords_use_mecab を trueに設定すると、キーワードの判別に形態素解析器 MeCab を利用します。
例えば「京都」をキーワードに指定した時「東京都」を対象外とすることができます。

    "keywords_use_mecab" : false,
    "keywords_mecab_path" : "/usr/local/bin/mecab",
    "keywords_estcmd_path" : "/usr/local/bin/estcmd",
    "keywords_mecab_dict_index_path" : "/usr/local/libexec/mecab/mecab-dict-index",
    "keywords_mecab_dic_path" : "/usr/local/lib/mecab/dic/ipadic"

プラグイン設定

  • 自動的にタグをセット : 同一スコープに登録されたキーワードと一致する文字列を含む時、オブジェクトの保存時に自動的にタグをセットします。
  • 自動的にキーワードをセット : 同一スコープに登録されたキーワードと一致する文字列を含む時、オブジェクトの保存時に自動的にキーワードをセットします。
  • 自動的に概要を生成 : text(本文) と excerpt(概要)カラムのあるモデルを対象に、text から excerpt を自動生成します。
  • 追加文字列 : 作成された概要が設定文字数を超えていた時、指定の文字列を追加します(例 : ...)。

※ タグ、キーワード、概要の自動生成は管理画面からの保存のみに対応しています。データ移行やインポート時には自動でセットされません。
※ 自動的に概要を生成には、Hyper Estraier と MeCab がサーバーにインストールされている必要があります。
※ モデルがタグ付けに対応していない時、モデルにキーワードカラムがない時、そのモデルに対しては設定できません。
※ キーワードの抽出については、大文字小文字を区別しません。

テンプレート・タグ

ブロックタグ

mt:autokeywords (mt:keyword2link)

ブロック内に出現するタグやキーワードに自動的にリンクをセットします。

<mt:setvarblock name="enclosure"><span class="separator">&nbsp;&nbsp;</span></mt:setvarblock>
<mt:autokeywords replace_once="1" model="tag" min_length="2" enclosure="$enclosure">
  <mt:entrybody convert_breaks="auto">
</mt:autokeywords>

タグ属性

  • case_sensitive : 指定のある時、キーワードの大文字小文字を区別します。
  • model : keywordモデル以外のモデルを利用する時にそのモデル名を指定します。
  • name : (keywordモデル以外のモデルを利用する時)keywordモデルの「name」にあたるカラム名を指定します。
  • url : (keywordモデル以外のモデルを利用する時)keywordモデルの「url」にあたるカラム名を指定します。
  • title : (keywordモデル以外のモデルを利用する時)keywordモデルの「title」にあたるカラム名を指定します。
  • class : (keywordモデル以外のモデルを利用する時)classカラムのある時その値でフィルタします。
  • tag : urlカラム、permalinkを利用せずに指定したテンプレート・タグをビルドします。
  • no_title : 指定のある時、title属性を追加しません。
  • target_blank : 指定のある、時リンクに'target="_blank"'を追加します。
  • add_attr : a要素に追加する属性を指定します。
  • replace_once : 指定のある時、最初に出現した箇所のみをリンクに置き換えます。
  • word_boundary : 指定のある時、単語境界と隣接するキーワードのみを置き換えます(※)。
  • min_length : 指定した文字数以上のワードのみをリンクに置き換えます。
  • enclosure : 指定した文字列でタグを囲います。
  • prefix : タグの前に指定した文字を追加します。
  • postfix : タグの後に指定した文字を追加します。
  • include_workspaces : 指定のスコープのキーワードを対象にします(カンマ区切りの数字または'this'または'children')。
  • exclude_workspaces : 指定のスコープのキーワードを除外します(カンマ区切りの数字)。
  • workspace_id : 特定のworkspaceのキーワードを対象にします。
  • workspace_ids : 'include_workspaces'のエイリアスです。

※ word_boundary 指定のある時「PowerCMS X 」「PowerCMS X!」「PowerCMS X?」は対象になりますが「PowerCMS XX」は対象になりません。日本語キーワードについては影響はありません。