WordPressと人工知能(AI)にどんな関係が?(後編)

2017年10月04日Z LOG, 井上研一先生コラム

WordPressと人工知能(AI)にどんな関係が?(前編)ではConversationでチャットボットを作るところまでお話しました。後編ではチャットボットをWordPressに組み込む方法について説明をします。

●チャットボットをWordPressに組み込む

Conversationで作ったチャットボットをWordPressに組み込むには、まずWordPressのプラグインを導入します。これはIBM Cognitive Classが提供しているもので、IBMの公式プラグインと言って問題ないでしょう。

プラグインはWordPressの公式プラグインライブラリに登録されています。プラグインの追加で「Watson Conversation」と入力して検索すると、プラグインが見つかるでしょう。プラグインを導入し、有効化しましょう。

 

image018

 

 

最後に導入したプラグインにConversationのチャットボットを設定します。

 

image020

 

UsernamePasswordは、BluemixのダッシュボードからConversationのサービス資格情報を参照します。

 

image022

 

Workspace IDは、ConversationのワークスペースのView detailsを選択すると表示されます。

 

image024

 

プラグインの設定画面では、APIの呼び出し回数の上限や、WordPressサイトのどのページでチャット画面を表示するか、チャット画面の表示までに何秒待つか、チャット画面をどこに表示するかといった細かい設定も行うことができます。

 

早速、サイトを見てみるとチャット画面が表示されることが分かります。話しかけてみると、Conversationのワークスペースで試したのと同じように会話できることが分かります。

 

image026

 

いかがでしょうか?このように簡単にチャットボットをWordPressサイトに組み込むことができました。あなたが企業やお店のWebサイトを運営しているなら、使ってみると良いのではないでしょうか?

 

●関連記事の抽出に人工知能を活用する!

もう一つ、WordPressサイトでの人工知能の活用法をご紹介しましょう。ただ、これはチャットボットの例とは違ってプラグインなどが提供されているわけではありません。

また、技術的にも少し高度なので、誰でもすぐに試せるというわけではないのですが、これからの方向性といった捉え方で見ていただければと思います。

 

ブログなどを見ていると、記事の下あたりに関連記事の一覧が表示されていることがあります。いま見ている記事以外の記事も参照してもらうことでページビューを増やそうという施策です。ただ、その関連記事はどうやって抽出しているでしょうか。内容のまったく違う記事を紹介しても仕方ないので(だから「関連」記事なのですが)、カテゴリーやタグといった記事の付属情報を活用して、同じカテゴリーの記事や、同じタグが付けられている記事を関連記事として抽出することが多いでしょう。ただ、同じカテゴリーやタグに記事が大量にある場合は、それ以上に詳しい抽出を行うことは難しく、結局のところあまり関連のなさそうな記事が関連記事の一覧に並んでしまうことは少なくありません。

 

ここに人工知能を使おうではないかというわけです。これについてはWatsonではなく、オープンソースのライブラリを活用します。人工知能分野では、WordPressで使われているPHPではなく、Pythonというプログラミング言語が使われることが多いので、それを使うことにしましょう。

 

使用するライブラリはgensimで、Tomas Mikolv氏が発表した論文にあるWord2Vec、Doc2Vecという技術を簡単に使うことができます。Word2VecやDoc2Vecは単語(Word)や文章(Doc)を、数値(ベクトル:Vec)で表現するという技術で、それにより単語と単語、文章と文章の類似度を判定することができます。

 

image028

 

まだ私のサイトの表示には組み込んでいないのですが、類似度が高い記事を取り出すところまではやってみたので、その結果を見てみましょう。

 

image030

 

Pythonで実験的なプログラムを作る際に良く使用されるJupyter Notebooksを使って、WordPressで使用しているデータベース(MySQL)に入っている記事の文章データを取り出し、MeCabというライブラリを使って分かち書き(例:「今日は良い天気です」→「今日 は 良い 天気 です」)した上で、Doc2Vecを行っています。

 

そして、表示されている記事(の文章)との類似度が高い記事(の文章)を取り出せば、それを関連記事として使えるというわけです。

 

image032

 

ここでは、「必要なのはモノとコトのサービス化」というタイトルの記事を取り出し、それと類似度の高い記事のタイトルを表示しています。例えば「CIO育成にITスクールとITコーディネータができること」という記事が、類似度が高いようです。類似度はタイトルの横に出ている数値(0.898・・・)で示されています。

 

ということで、今回はいつもと少し違った記事になりましたが、WordPressサイトでも、人工知能の活用法がいろいろ考えられることがお分かりいただけたのではないでしょうか。次回はまた通常運転に戻って、SEOについて取り上げたいと思います。

inoue井上研一(いのうえ けんいち)

東京都中野区に住むITコーディネータ、ITエンジニア。
1979年福岡県北九州市生まれ。

1996年頃よりWebサイトの構築、アプリ開発を開始し、多くの雑誌が掲載。国内中堅SI会社やコンサルティング会社等を経て、2013年にアルティザンエッジ合同会社を立ち上げ代表社員・CEOに就任。 技術そのものよりも、技術が社会にもたらす影響に興味を持ち、ITとビジネスが交わるところで活動中。クライアント企業のプロジェクトに参画するほか、イベント登壇や執筆活動にも積極的に取り組み、ブログにもいろいろ書き連ねています。
2013年より超初心者専門ITスクール「TECH GARDEN SCHOOL」で講師を務めるほか、最近はこどもたちにプログラミングを教える活動も始めました。 2016年10月に書籍「初めてのWatson APIの用例と実践プログラミング」をリックテレコムより刊行!

この記事が気に入ったらいいね!しよう

ZLOGからWordPress運用に
役立つ情報をお届けします。