【エンジニア向け】AIを使ってアフィリエイト紹介文を自動生成する方法

概要

アフィリエイターのみなさん、こんにちは。

商材をブログやTwitterで紹介する際にアフィリエイトリンクや画像だけだとなかなかクリックされないですよね。
そう思ってみなさんは、商材ページから文章をコピペしたり、自分の感想を入れて記事を投稿していると思います。

しかし、意外と時間取られますよね。
1つならいいけど、2つ、3つとなるとさらに時間が消費されます。

そこで現役エンジニアの筆者がマイクロソフト社のAIを使って自動的に、商材紹介文を生成する方法について解説します。

提案方法

マイクロソフト社のAIの中には文章をいい感じに要約してくれるものが存在します。
例えば「1000文字の長い文章を100文字に要約する」ようなイメージです。

元の文章は複数あっても良いので以下のような文章を合わせて、1つの文章に要約することができます。

  • タイトル

  • 商品紹介文

  • ユーザレビュー

これらを組み合わせて、媒体(Twitterやブログなど)に適した文字数に変更することで楽に文章を生成することができます。

準備

本記事ではAzureのCognitive Servicesを使いますので、Azureのアカウント設定は事前に済ませてください。
また、Python3系で実装しますので、Python3系を動かす環境もご準備ください。

エンドポイント作成

Azureポータル画面からCognitive Services -> 言語サービスに移動し、リソースを作成してください。作成すると以下のような画面になります。

リソース画面

次に実行に必要なクレデンシャルを控えておきます。キー1とエンドポイントの情報は後ほどコードに埋め込みます。

キーとエンドポイント

ライブラリのインストール

AzureのPython用クライアントライブラリをインストールする

pip install azure-ai-textanalytics==5.3.0b1

動作

サンプルプログラムの実行

サンプルプログラムを以下に示します。一番上の「キー1」と「エンドポイント」の部分を先ほどのクレデンシャルに置き換えてください。

key = "キー1"
endpoint = "エンドポイント"

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example method for summarizing text
def sample_extractive_summarization(client):
    from azure.core.credentials import AzureKeyCredential
    from azure.ai.textanalytics import (
        TextAnalyticsClient,
        ExtractSummaryAction
    ) 

    document = [
             "人工知能(じんこうちのう)またはアーティフィシャル・インテリジェンス(英: artificial intelligence)、AI(エーアイ)とは、「『計算(computation)』という概念と『コンピュータ(computer)』という道具を用いて『知能』を研究する計算機科学(computer science)の一分野」を指す語[1]。「言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術」[2]、または、「計算機(コンピュータ)による知的な情報処理システムの設計や実現に関する研究分野」ともされる[3]。大学でAI教育研究は、情報工学科[4][5][6]や情報理工学科コンピュータ科学専攻などの組織で行われている[4][7](工学〔エンジニアリング〕とは、数学・化学・物理学などの基礎科学を工業生産に応用する学問[8][注釈 1])。『日本大百科全書(ニッポニカ)』の解説で、情報工学者・通信工学者の佐藤理史は次のように述べている[1]。「	誤解を恐れず平易にいいかえるならば、「これまで人間にしかできなかった知的な行為(認識、推論、言語運用、創造など)を、どのような手順(アルゴリズム)とどのようなデータ(事前情報や知識)を準備すれば、それを機械的に実行できるか」を研究する分野である[1]。」ビル・ゲイツやイーロン・マスク、スティーブン・ホーキングなどの専門家や著名人の多くが人類滅亡の可能性を含む、人工知能の将来的な危険性を指摘している[10]。"
    ]

    poller = client.begin_analyze_actions(
        document,
        actions=[
            ExtractSummaryAction(max_sentence_count=4)
        ],
    )

    document_results = poller.result()
    for result in document_results:
        extract_summary_result = result[0]  # first document, first result
        if extract_summary_result.is_error:
            print("...Is an error with code '{}' and message '{}'".format(
                extract_summary_result.code, extract_summary_result.message
            ))
        else:
            print("Summary extracted: \n{}".format(
                " ".join([sentence.text for sentence in extract_summary_result.sentences]))
            )

sample_extractive_summarization(client)

今回はWikipediaの人工知能ページの冒頭部分を要約してみます。(約650文字)
このプログラムを実行すると以下のように出力されました。

人工知能(じんこうちのう)またはアーティフィシャル・インテリジェンス(英: artificial intelligence)、AI(エーアイ)とは、「『計算(computation)』という概念と『コンピュータ(computer)』という道具を用いて『知能』を研究する計算機科学(computer science)の一分野」を指す語[1]

こちら約170文字なので、1/4に圧縮することができました。

どうでしょうか、イメージつかめたでしょうか。ではここからが本番です。

実用プログラムの実行

ここから先は

2,940字

¥ 100

この記事が気に入ったらサポートをしてみませんか?