ブログのパーマリンクをNotionAIに自動生成させてみた

先日からブログ投稿時のパーマリンク考案をNotionAIに任せてみました。パーマリンクの存在を投稿するタイミングになるまで毎回忘れていたのですが、たまたまパーマリンクの設定を先に思い出したのでした。実際に任せてみると中々骨が折れました。
2023.11.01

ブログ記事を投稿する際、いくつかの設定項目が求められます。その中で、未だに都度考えていた唯一の箇所がありました。それはパーマリンクです。

DevIOでは筆者各位に英語での設定をルールとして採用しています。日本語のパーマリンクはエンコード後の文字列数が長くなりやすく、貼り付ける際に途切れやすいなどの問題が発生しやすいためです。

結果、タイトルの日本語とは別に英語表記も必要になりますが、記事の概要と一致させつつ文字数も検討する必要があります。また、パーマリンクの重複はできません。スペルミスしていないかのチェックなど、正直なところ本文を考えるよりも面倒ですね。

思考を減らしつつ手軽に設定する方法について考えていましたが、結局はAIに任せることにしました。以前、Notion AIプロパティを使ってブログ記事を投稿した経験がありますが、今回もそれと同様のアプローチになります。

実際の設定内容とその解説を併せて説明します。

Notionのプロパティ指定

都合上、2つのプロパティを利用します。

  • NotionAIのカスタム自動入力
  • 関数

英文の自動生成

英文そのものは本文から抽出したキーワードを元に、英文を自動生成しています。文意が通るかどうかは確認していますが、言い回しを逐一調べる必要はなくなりました。

実際に指示した内容は以下の通り。

make most powerfull catchphrase from body overview by english

most powerfullの指定には理由があります。

指定しなかった場合、AIはキャッチフレーズの生成を繰り返し続けます。且つ、概要に全く触れていないものも生成していきます。one catchphrase等の言い換えも試してみましたが止まりませんでした。どうやら「1つのキャッチフレーズ」ではなく「とあるキャッチフレーズ」と解釈しているようで、キーワードでもないフレーズについてのキャッチフレーズだとしても、生成されたら羅列するようです。

パーマリンク用自動変換

パーマリンクは英文をすべて小文字にし、スペース部分はハイフンに置き換える必要があります。しかし、AIに指示したところ、厳密には精度を維持できませんでした。そのため、関数プロパティを活用することで対策しました。

prop("キャッチフレーズ").replaceAll("[\"\.:]","").replaceAll(" ", "-").lower() + "-" + prop("作成日時").formatDate("YYYY-MM-DD")

末尾に日付を入れているのは、同じキャッチフレーズが生成されたとしても利用できるようにするためです。

生成結果

以下のように生成されました。

日本語タイトル ブログのパーマリンクをNotionAIに自動生成させてみた
キャッチフレーズ "Unleash the Power: AI-Driven Blogging with NotionAI”
パーマリンク unleash-the-power-ai-driven-blogging-with-notionai-2023-11-01

ややニュアンスにズレがあります。別にブログ記事をAIに頼っているわけではなく、あくまでもパーマリンク生成をさせているのが現実です。そこで、少し書き換えます。

unleash-the-power-ai-driven-permalink-with-notionai-2023-11-01

あとがき

NotionAIによる自動生成テキストは、記述言語の指定をしないと日本語と英語を混合する傾向があります。また、必要に応じて個数などを明示的に指定する必要があります。

上手に制御できれば、手間を大幅に省くことができるので、NotionAIを利用できる場合はぜひ試してみることをおすすめします。