Notion AIを使って自分の記事を要約してみた
こんにちは。分析屋の桜井です。
先日正式にNotion AI全ユーザーが利用できるようになりましたので爆速で無料枠を使い切り無事サブスクリプションに登録してみました。
その利便性から何かと話題になるチャットAIですが、Notion AIは従来のものに比べNotionとの親和性が高いために記事の作成、記事や論文などの要約を行い自分向けにナレッジを蓄積する際に非常に役に立つのではと思い実際に使用し、本記事にまとめてみました。
▼Notoin AIを早速触ってみる
Notionとは何か?を説明するのが記事としての筋ではあると思うのですがかなり有名なアプリケーションですし面倒なのでまず手始めに全てAI説明していただきましょう。
これが事実かどうかの精査は必要になるものの、待ち時間もほぼなく勝手にここまでやってくれるのは非常に便利です。早速文章の改善についても行ってみたいので冒頭の文章を推敲させてみました。
とこのような感じで修正をしてくれます。
私の文章は読点を入れる場所がおかしい事が多いので少し見やすくなっているかと思います。
文章の前後関係についても整理してくれているようです。
また「続きを書く」という機能もありまして、上記の文章に対し実行をしてみたところ以下の結果を出力してくれました。
実際に記事にするにあたってこのような冗長な文章を書くことはありませんが、筆が止まった際に続きをどう書くか?のとっかかりくらいにはなりそうです。
との事ですが利用規約を確認したところ、本当のようです。セキュリティの要件によっては業務使用できる場合も発生してきそうな感じですね。
▼ブログ記事の要約
では実際にこちらのNotion AIを利用して実際に以前私が書いた記事を要約してみたいと思います。
https://note.com/bunsekiya_tech/n/ndbca9a0bec00
以下の感じでお願いしてみました。
返ってきた結果は以下です。
お????企画倒れか?という感じの物が返ってきました。
読み込ませ方に工夫がいるかもしれません。
要求を以下に変えてみました。
返ってきた結果は以下です。
当たらずとも遠からず。先ほどよりはましになりましたが少しずれているようですね。
文章自体の要約がどの程度できるか知りたいので元のブログの文章を丸ごと入れてみます。
要求は以下のようにしてみました。
返ってきた結果は以下です。
ようやく望んだ形の物がでてきた感じですね!
5000字程ある中で最後にスキを押して欲しい旨が述べられてる部分が拾われてしまうのはちょっと面白ポイントですね。
今のところ要約記事をNotionに貯め込む場合は丸ごと文章を入れてしまった方が良さそうな結果になりました。
▼余談
他チャットAI同様、コードを作成するようお願いすると作ってくれます。
ただこちらも少しコツが必要で、ただ単純にスクレイピングをするコードを書いてほしいなどと頼むと規約や法律の問題があると断られたりします。
これまで取り上げたように伝え方で結果が変わるので色々工夫をしてみると良いかもしれません。
以下は適当に頼んで見てまぁまぁ綺麗に結果が出た例です。
一見綺麗に書いてくれているようで、何度も頼むと毎回違うものが出てくるのでやはりこちらも便利ではありますが用心深く使うのが丁度良さそうです。
import numpy as np
# シグモイド関数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# ニューラルネットワークの定義
class NeuralNetwork:
def __init__(self):
# 重みの初期化
self.weights1 = np.random.randn(4, 3) # 入力層から隠れ層への重み
self.weights2 = np.random.randn(3, 2) # 隠れ層から出力層への重み
def forward(self, X):
# 入力層から隠れ層への計算
self.layer1 = sigmoid(np.dot(X, self.weights1))
# 隠れ層から出力層への計算
self.output = sigmoid(np.dot(self.layer1, self.weights2))
def backward(self, X, y, learning_rate=0.1):
# 出力層の誤差
output_error = y - self.output
# 出力層の勾配
output_gradient = output_error * sigmoid(self.output) * (1 - sigmoid(self.output))
# 隠れ層の誤差
layer1_error = np.dot(output_gradient, self.weights2.T)
# 隠れ層の勾配
layer1_gradient = layer1_error * sigmoid(self.layer1) * (1 - sigmoid(self.layer1))
# 重みの更新
self.weights2 += learning_rate * np.dot(self.layer1.T, output_gradient)
self.weights1 += learning_rate * np.dot(X.T, layer1_gradient)
# ニューラルネットワークの実行
X = np.array([[0, 1, 0, 1]])
y = np.array([[0, 1]])
nn = NeuralNetwork()
nn.forward(X)
nn.backward(X, y)
print(nn.output)
▼まとめ
普段から個人用のタスクはNotionで管理していたのでこのようなサービスは嬉しいですね。
また改めてコードの生成は別記事に実際どこまでできるかをまとめて見たいですし、もう少し使い込んでみようかと思っております。
ここまで読んでくださりありがとうございました。
この記事が参考になりましたら「スキ」を押していただければと思います。
株式会社分析屋について
ホームページはこちら。
noteでの会社紹介記事はこちら。
【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。