テクニカルディレクターの菊池です。
この記事では、OpenAIにWeb記事を要約してもらう方法を紹介します。
翻訳ツールの精度は年々向上しているものの、「英語で書かれた技術文書」の中からすばやく知りたいことを見つけるには時間がかかります。難解な用語や情報も多く、初学者にとってはなかなか理解が難しいでしょう。
当記事で紹介する方法が、開発者が知りたいことに対するアプローチ速度の向上や、初学者による自己学習の向上につながれば幸いです。
Web記事を要約する方法
環境
Python(v3.11.4)のライブラリを使ってWeb記事の取得を実施します。また生成AIについては、2023年7月現在最新であるGPT-4モデルを活用しています。
※プラグインとの違い
「Link Reader」など、ChatGPTのプラグインにはWebページを要約する有料サービスが複数存在します。ChatGPT上でしか使わない場合は、プラグインのほうが手間を省けるためおすすめです。ただし同様のことを別システムやアプリでおこないたい場合は、GPTのAPIを使う必要があります。以下に紹介する手順をぜひ参考にしてください。
手順
以下のとおり、Beautiful Soupを使いWeb記事の内容を取得します。
Beautiful Soup は、HTMLおよびXMLを解析するPythonのライブラリです。Webのスクレイピングやデータ抽出によく使用されます。またWebから記事を取得する必要があるため、requestsもインストールしておきましょう。
console
pip3 install requests beautifulsoup4
実際のソースコードは以下のように定義します。
python
import requests
import re
from bs4 import BeautifulSoup
# ウェブページのURL(適宜URL設定する)
url = "https:xxxx"
# ウェブページの取得
response = requests.get(url)
# レスポンスのテキストをBeautiful Soupで解析
soup = BeautifulSoup(response.text, "html.parser")
# テキストの抽出
text = soup.get_text()
text_without_spaces = re.sub(r'\s+', '', text)
print(text_without_spaces)
なお、ページ全体が露出しておらず、「アコーディオンをクリックしたら開く」などの仕様が含まれる場合、全テキストを取得できません。ご注意ください。
要約してみた結果
例1:stackoverflowに関する海外記事
試しにStack Overflowの海外記事を要約してもらいました。
結果は以下のように出力されました。端的な日本語に翻訳されて、かなり読みやすくなりました。
例2:AWSとAzureに関する記事
続いて自分が書いたLIGブログの記事を要約してもらいました。
対象記事:AWSとAzureどちらを選ぶべき?具体的なケースと比較ポイントを解説
結果は以下のとおりです。
また、以下のように出力結果に対して質問を加えると、さらに深掘りしてくれます。
まとめ
英文を翻訳してくれるのはもちろんのこと、出力結果に対して追加質問もできるため、「知りたかった内容」がWeb記事に掲載されているかどうか即座に判断することが可能です。OpenAIは開発初学者の独学の味方といえるのではないでしょうか。ぜひ活用してみてください。
また、LIGでは生成AIコンサルティング事業をおこなっています。気軽にご相談ください。