ライティングラボ by Shodo

執筆・ライティングについてのノウハウを共有するブログです。 ブログや本の執筆、コンテンツマーケティングにお役立てください!

Shodoの校正APIでブログのRSSを校正してみよう

Shodoの校正APIと Pythonのshodoライブラリー を使って、RSSから記事を校正してみましょう。たとえばブログや、Zennなどのサービスが配信しているRSSフィード中の文章を校正します。

今回はPythonで行うので、RSSのパースには feedparser を使い、Shodoの校正APIへのアクセスは shodo を使います。

RSSの記事をAIで校正するプログラム

まずパッケージをインストールしましょう。

$ pip install feedparser shodo

事前にShodoにログインしておきましょう。詳しくはShodoの開発者ドキュメントをご確認ください

$ shodo login

RSSフィードの取得

Pythonインタプリターを起動するかPythonのコードを書いて、RSSフィードを取得しましょう。
事前に必要なライブラリーをインポートします。

import feedparser
import shodo

最初に feedparser を使ってRSSを取得します。

URL = "https://blog.shodo.ink/rss"
rss_feed = feedparser.parse(URL)

feedparser.parse(...) に直接URLを指定すると、パースされた結果が辞書で取得できます。各文章は entries に入っているので、ここから5件を取得してループします。

for entry in rss_feed[:5]:
    print(entry["title"])
    print(entry["link"])

これで記事のタイトルとリンクを表示しました。最後に本文を shodo.lint(...) で校正して表示します。

for entry in rss_feed[:5]:
    print(entry["title"])
    print(entry["link"])

    body = entry["summary"]
    # ShodoでAI校正を実行(本文をHTMLと解釈)
    result = lint(body, is_html=True)

    # 信頼度が高いメッセージのみ取得
    messages = [m for m in result.messages if m.score >= 0.8]
    print(f"校正結果: {len(messages)}件")

    for message in messages:
        # 本文の一部を .index と .index_to で取り出し
        sliced = body[max(0, message.index-5):message.index_to+5]
        # 校正メッセージの表示
        print(f"* {message.from_}: {message.message}")
        print(f"  {message.before} -> {message.after} --- {sliced}")

    print()

実行すると以下のように表示されます。

Shodoの校正APIがHTML形式の入力に対応しました
https://blog.shodo.ink/entry/shodo-api-html?utm_source=feed
校正結果: 0件

Shodo開発者ドキュメントリリースのお知らせ
https://blog.shodo.ink/entry/2024/11/15/090000?utm_source=feed
校正結果: 1件
* 1:19 もしかして:タイプミス
  を -> が --- 終的にこれを必要となり
...

今回のプログラムではRSSの summary に入ったHTMLを shodo.lint(body, is_html=True) で校正し、結果を result に受け取っています。result.messages に校正エラーとなるメッセージが含まれているためこれを順に表示する処理を書いています。校正結果のメッセージについては こちらのAPIドキュメントをご覧ください

おわりに

Pythonのfeedparser とShodoのライブラリーを使えば簡単にRSSフィードのAI校正が可能です。とくにShodoはHTMLの校正にも対応しているので、HTMLを取得できるRSSとの相性が良いでしょう。今後もShodoはより開発しやすいようコマンドやCLIツール、校正APIの改善を続けていきます。ぜひご要望があればShodoのサイトにてご連絡ください。

また現在、Shodoではアドベントカレンダー応援クーポンを配布しております。80%オフでShodoを最長3ヶ月間使えるクーポンです。以下のクーポンコードをご購入時に入力して、このアドベントカレンダーの季節にShodoのAI校正をブログの執筆にお役立てください。

XMAS2024

執筆:@hirokiky
Shodoで執筆されました