見出し画像

Notion AIを使って自分の記事を要約してみた

こんにちは。分析屋の桜井です。
先日正式にNotion AI全ユーザーが利用できるようになりましたので爆速で無料枠を使い切り無事サブスクリプションに登録してみました。

その利便性から何かと話題になるチャットAIですが、Notion AIは従来のものに比べNotionとの親和性が高いために記事の作成、記事や論文などの要約を行い自分向けにナレッジを蓄積する際に非常に役に立つのではと思い実際に使用し、本記事にまとめてみました。

▼Notoin AIを早速触ってみる

Notionとは何か?を説明するのが記事としての筋ではあると思うのですがかなり有名なアプリケーションですし面倒なのでまず手始めに全てAI説明していただきましょう。

#入力
Notionで何ができるかを機能とやれることに整理し表形式で説明してください

これが事実かどうかの精査は必要になるものの、待ち時間もほぼなく勝手にここまでやってくれるのは非常に便利です。早速文章の改善についても行ってみたいので冒頭の文章を推敲させてみました。

こんにちは、分析屋の桜井です。
先日、Notion AIが全ユーザーに利用可能になりましたので、爆速で無料枠を使い切り、無事サブスクリプションに登録しました。
Notion AIは、従来のチャットAIに比べ、Notionとの親和性が高いため、記事の作成や、論文などの要約を行い、自分向けにナレッジを蓄積するのに非常に役立つと思います。本記事では、その利便性について詳しく説明します。

とこのような感じで修正をしてくれます。
私の文章は読点を入れる場所がおかしい事が多いので少し見やすくなっているかと思います。
文章の前後関係についても整理してくれているようです。

また「続きを書く」という機能もありまして、上記の文章に対し実行をしてみたところ以下の結果を出力してくれました。

Notion AIは、文章の自動生成や、タスク管理、スケジュール調整など、様々な機能があります。中でも、文章の自動生成は、特に助かっています。短時間で、自然な文章を生成してくれるため、仕事の効率が上がりました。
また、Notion AIは、他のAIアシスタントと比べても、個人情報を収集しない点が安心です。プライバシー保護に配慮している点が、私にとっては大きな利点です。
今後もNotion AIの利用を続け、業務効率を上げていきたいと思います。

実際に記事にするにあたってこのような冗長な文章を書くことはありませんが、筆が止まった際に続きをどう書くか?のとっかかりくらいにはなりそうです。

また、Notion AIは、他のAIアシスタントと比べても、個人情報を収集しない点が安心です。プライバシー保護に配慮している点が、私にとっては大きな利点です。

との事ですが利用規約を確認したところ、本当のようです。セキュリティの要件によっては業務使用できる場合も発生してきそうな感じですね。

▼ブログ記事の要約

では実際にこちらのNotion AIを利用して実際に以前私が書いた記事を要約してみたいと思います。
https://note.com/bunsekiya_tech/n/ndbca9a0bec00

以下の感じでお願いしてみました。

#入力
https://note.com/bunsekiya_tech/n/ndbca9a0bec00を要約してください。実行するコマンドの詳細については不要です。

返ってきた結果は以下です。

この記事は、Pythonを使ってGitHubから情報をスクレイピングし、分析する方法について説明しています。GitHubは、オープンソースのソフトウェア開発プラットフォームであり、プログラマーがソフトウェア開発に必要なツールを提供しています。この記事では、PythonのBeautifulSoupライブラリを使用して、GitHubから情報をスクレイピングする方法について説明しています。具体的には、Pythonを使ってGitHubのユーザー情報、リポジトリ情報、コミット情報を取得し、それらの情報を分析する方法について説明しています。

お????企画倒れか?という感じの物が返ってきました。
読み込ませ方に工夫がいるかもしれません。

要求を以下に変えてみました。

#入力
https://note.com/bunsekiya_tech/n/ndbca9a0bec00を1000時程度で要約してください。

返ってきた結果は以下です。

この記事は、データ分析のツールである「Pandas」の基本的な使い方について解説しています。Pandasは、Pythonで利用できるライブラリの一つであり、データ分析に必要な機能を提供しています。この記事では、Pandasの概要や、データの読み込み・加工・分析の方法、そしてデータの出力方法について詳しく説明されています。また、具体的なコード例を交えながら解説が進められており、初心者でもわかりやすく書かれています。
まず、Pandasの基本的な機能であるデータフレームとシリーズについて説明されています。データフレームは、行と列からなる2次元の表形式のデータ構造であり、シリーズは、1次元のラベル付きの配列のようなデータ構造です。その後、Pandasでデータを読み込む方法について説明されています。CSVファイルやExcelファイル、SQLデータベースからデータを読み込む方法が解説されています。
次に、データの加工方法について解説されています。データの選択や抽出、欠損値の処理、データの結合やグループ化など、よく使われる加工方法が紹介されています。また、Pandasを使ったデータの分析方法についても説明されています。データの要約統計量の計算や、データの可視化方法について解説されています。
最後に、Pandasで加工したデータを出力する方法について説明されています。CSVファイルやExcelファイル、SQLデータベースへの書き込み方法が解説されています。また、Jupyter NotebookやGoogle Colaboratoryでのデータの可視化方法についても解説されています。

当たらずとも遠からず。先ほどよりはましになりましたが少しずれているようですね。

文章自体の要約がどの程度できるか知りたいので元のブログの文章を丸ごと入れてみます。
要求は以下のようにしてみました。

#入力
入力された文章を要約してください。

返ってきた結果は以下です。

この記事では、Windows Subsystem for Linux(WSL)を使用して、データサイエンス100本ノック(構造化データ加工編)を実行する方法について説明しています。WSLをインストールし、Dockerを使用して環境を構築し、ブラウザでアクセスしてJupyter Labを実行する方法を説明しています。また、Google Colaboratoryを使用して環境を構築する方法についても言及しています。最後に、記事を参考にした場合は、スキを押してほしい旨が述べられています。

ようやく望んだ形の物がでてきた感じですね!

5000字程ある中で最後にスキを押して欲しい旨が述べられてる部分が拾われてしまうのはちょっと面白ポイントですね。

今のところ要約記事をNotionに貯め込む場合は丸ごと文章を入れてしまった方が良さそうな結果になりました。

▼余談

他チャットAI同様、コードを作成するようお願いすると作ってくれます。

ただこちらも少しコツが必要で、ただ単純にスクレイピングをするコードを書いてほしいなどと頼むと規約や法律の問題があると断られたりします。

これまで取り上げたように伝え方で結果が変わるので色々工夫をしてみると良いかもしれません。

以下は適当に頼んで見てまぁまぁ綺麗に結果が出た例です。

一見綺麗に書いてくれているようで、何度も頼むと毎回違うものが出てくるのでやはりこちらも便利ではありますが用心深く使うのが丁度良さそうです。

#入力
numpyのみを使ってシンプルなニューラルネットワークを構築してください。

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)

# 入力
現在話題のニュースを取得し、記事名、要約、URLのがヘッダーのCSVを作成するプログラムをpythonで作成してください。

Pythonでのニュース取得には、Beautiful SoupやRequestsなどのライブラリが使用されます。これらのライブラリを使用して、ニュースサイトからニュースをスクレイピングし、CSV形式で出力することができます。最終的には、Pandasライブラリを使用して、データを分析することができます。
以下は、Pythonを使用してニュースをスクレイピングするための基本的な手順です。

1.必要なライブラリをインポートします。
import requests
from bs4 import BeautifulSoup
import pandas as pd

2.ニュースサイトのURLを取得します。
url = '<https://newswebsite.com>'

3.リクエストを送信して、HTMLコードを取得します。
r = requests.get(url)
html = r.content

4.Beautiful Soupを使用して、ニュース記事の要素を取得します。
soup = BeautifulSoup(html, 'html.parser')
articles = soup.find_all('div', class_='article')

5.必要な情報を抽出し、CSVファイルに書き込みます。
records = []
for article in articles:
    title = article.find('h2').text
    summary = article.find('p').text
    url = article.find('a')['href']
    records.append((title, summary, url))

df = pd.DataFrame(records, columns=['Title', 'Summary', 'URL'])
df.to_csv('news.csv', index=False)

以上が、基本的なニューススクレイピングプログラムの例です。必要に応じて、より詳細な情報を取得したり、データを整形したりすることができます。

▼まとめ

普段から個人用のタスクはNotionで管理していたのでこのようなサービスは嬉しいですね。
また改めてコードの生成は別記事に実際どこまでできるかをまとめて見たいですし、もう少し使い込んでみようかと思っております。

ここまで読んでくださりありがとうございました。
この記事が参考になりましたら「スキ」を押していただければと思います。

株式会社分析屋について

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。

この記事が参加している募集