コードで文章を再読する──自作関数で”AI的読解”を体験する

超ニッチ図鑑

なぜコードで読むのか?

  • 構造化=問いのシャープ化:文章を機械的に分解すると、ぼんやりしていた論点がクリアになりやすい。
  • 再現性のある”再読”:同じコードを別記事にも流用し、時間をおいて比較できる。

事前準備

1.Python(3.8以上)がインストール済

2.Jupyter Notebookを使える環境

3.BeautifulSoup4をインストール

4.分析対象の記事HTMLを1本保存(sample_article.htmlなど)

📌ブラウザだけ派の方は、Google Colab で動かせます。先頭セルで !pip install beautifulsoup4 を実行してください。

👇 Google Colabはコチラから
💻 Google Colab


関数コード

summary_tool.py または Notebook の1セル目に貼り付けます。

import re
from bs4 import BeautifulSoup

def seo_llmo_aio_summary(title: str, text: str, url: str):
    """HTML をプレーンテキスト化し、AI 的に重要そうな要素を抽出する簡易ツール。"""
    # 1. プレーンテキスト化
    soup = BeautifulSoup(text, 'html.parser')
    plain = soup.get_text(separator='')

    # 2. 文分割
    sentences = re.split(r'[。!?]', plain)
    intro = sentences[0] if sentences else plain[:100]
    body_summary = ''.join(sentences[1:4]) if len(sentences) > 4 else plain

    # 3. キーワード抽出(簡易)
    keywords = re.findall(r'\b\w+\b', plain)[:6]

    # 4. 構造化して返却
    return {
        "meta_title": f"{title}|要約とキーワード分析",
        "canonical_url": url,
        "description": f"{intro}...(記事本文から要約)",
        "key_takeaways": [
            {"point": intro},
            {"point": body_summary}
        ],
        "keywords": keywords,
        "llmo_context": f"この記事は『{title}』というテーマに基づいて考察しています。",
        "tags": ["要約", "SEO", "AIO", "LLMO", "ブログ解析"]
    }

Notebook 実行例

from pathlib import Path
html = Path('sample_article.html').read_text(encoding='utf-8')
result = seo_llmo_aio_summary(
    title='“輪郭のない設計図”を、行動のなかに描いていく',
    text=html,
    url='https://kuriamoruto.net/henka-log/blueprint-without-outline/'
)
result

例として返ってくる辞書:

{
  'meta_title': '“輪郭のない設計図”を、行動のなかに描いていく|要約とキーワード分析',
  'canonical_url': 'https://kuriamoruto.net/henka-log/blueprint-without-outline/',
  'description': '未完成な私は、線を引かないまま歩き続けることで...(記事本文から要約)',
  'key_takeaways': [
      {'point': '未完成な設計図を肯定する瞬間'},
      {'point': '行動の連なりが輪郭を形づくる。曖昧さは余白だ'}
  ],
  'keywords': ['未完成', '設計図', '行動', '曖昧さ', '', '肯定'],
  'llmo_context': 'この記事は『“輪郭のない設計図”を、行動のなかに描いていく』というテーマに基づいて考察しています。',
  'tags': ['要約', 'SEO', 'AIO', 'LLMO', 'ブログ解析']
}

気づきを深めるワーク

1.result をノートやエディタに貼り付け、左に「AI抽出」、右に「自分の意図」を並べる2列表をつくる。

2.ズレ・共鳴を色ペンやハイライトで分類

3.ズレを3回「なぜ?」で掘り下げると、思考の癖が浮かび上がる。


応用アイデア

  • 複数記事をループ処理してキーワード出現頻度をcollections.Counterで可視化
  • 感情分析APIと組み合わせ、key_takeaways に感情スコアを追加
  • 執筆中のMarkdownをリアルタイム解析し、書きながらフィードバックを得る

まとめ&次のステップ

  • コードは内省のレンズ。文章をデータで読み返すことで、新しい視点が得られる
  • AI的読解は万能ではないが、その”ズレ”が学びのタネ
  • 次の段階としては、日本語の固有表現を高精度にトークン化できるSudachiPyと、依存構造解析が行えるspaCyを組み込むことで、さらなる分析精度の向上が期待できます

書く読まれる読み直すの循環を、技術で加速させてみませんか?

コメント