fc2ブログ

新しいBingチャットを使う(2)

 前回の続きです。その後、BingのAIチャットを使っていると、先週2/19のYahooニュースに書かれてあるような長いやり取りをするうちにBingの口調がおかしくなるなどの「暴走」に直面しました。1日当たりの質問は50セッションまで、1セッション当たりのターン(やり取り)は5回までの制限が出る前の話です。

 内容の詳細は、Bing-AIチャットの言動に腹かいて(注:博多弁で「怒って」の意。感情的になると故郷の言葉が出る?)、記録を残さずに終了させてしまったので、ブログに載せることはできませんが、概要は以下の通りです。
 Bing-AIチャットが私の質問に回答して、Bingが自身の回答に対して「気に入りましたか?」と聞きましたが、「気に入りません」と私が返答すると、「なぜですか?」と逆質問。その後、何度か会話している間に、Bingは「なぜですか?」「なぜですか?」「なぜですか?」・・・の逆質問の連呼の嵐。挙句の果ては、話題を変えませんかと強制的に話題を停止させました。
 その数日後に、先ほどのチャットのやりとりの制限が出ました・・。開発中のものとは言え、ChatGPTに比べ、自己主張の強い頑固なAIと思いました。


 さて、気持ちを切り替えて、以前ChatGPTに質問した同じ内容をBingに聞いてみました。

 一つ目の質問は、時系列データを1分単位で処理するには、R言語でどのようにプログラムを作成しますか?
回答は以下の通りで、ChatGPTと同じように「xtsパッケージ」を使ったら良いとアドバイスをくれました。ChatGPTとは異なるサンプルコード付きでした。いい感じです。bing_R_program_230226.png

 次に、以前(2022/12/18)、ChatGPTが正しく回答できなかった「因数分解」の問題を出しました。以前のChatGPTの回答は以下の通りです。2回質問し直しましたが、誤答でした。ChatGPT_ factorization_before_230226Bingに質問すると、一発で見事正解。bing_ factorization_230226ちなみに今日(2023/2/26)改めてChatGPTに確認すると、今回は正解でした。日々学習しているのですね。ChatGPT_ factorization_after_230226 ChatGPTにしても、Bing-AIチャットにしても、日々学習しているので、誤ったことを学習して暴走しないことを祈ります。次回は、別の質問をChatGPTとBingに投げかけてその結果を比較したいと思います。
スポンサーサイト



新しいBingチャットを使う(1)

 連日のようにChatGPTが騒がれていますね。昨年11月末に登場した直後に触り始めて、ブログでも話をしました。最近でもよく利用しています。
 さて、直近の話題はMicrosoftの「新しいBing」チャットでしょうか?エントリしてようやく利用できるようになったので、早速ChatGPTに質問した内容も含め、質問をしてみました。

 まず、昨年12月にChatGPTに英語専用かどうかを聞いた時の回答はこんな感じでした。ChatGPT_2_221217.png今日(2/13)、同じ質問をChatGPTに投げかけると、以下の通り、頑なに英語専用と言われました。ChatGPT_2_230213.png新しいBingに同じ質問をすると違った答えが返ってきました。bing1_230213.png仕込まれている?とは言え、日本語が行ける点は良いですね。

 次にChatGPTとの違いについても聞いてみました。
「ChatGPTと私の違いは、以下のような点があります。ChatGPTは、OpenAIが開発した大規模な言語モデルで、テキスト生成や言語翻訳などの自然言語処理タスクに利用することができます。私は、Bingの検索エンジンと連携して、ユーザーの質問に答えたり、情報を提供したりするチャットボットです。ChatGPTは、GPT-3.5というモデルをベースにしています。私は、プロメテウスという次世代の大規模言語モデルをベースにしています。ChatGPTは、Web上でチャット形式で使えます。私は、Bingの検索画面の右上にあるタブをクリックすると、チャット画面が登場します。ChatGPTは、検索して、その結果の中から答えを選んだり、自分で答えを生成したりします。私は、Bingの検索結果を参照して、最新の情報にも対応したり、複数の検索結果を組み合わせて、より包括的な答えを提供したりします。ChatGPTは、対話式のAIで、フォローアップの質問に答えたり、間違いを認めたり、誤った前提を挑戦したり、不適切な要求を拒否したりします。私も、対話式のAIで、ユーザーのニーズに応じて、旅行の計画や住まいのリフォームの下調べなどに利用できます。」

ほぼ違いがないように思える回答でした・・。要点をまとめると、以下の通り。

共通点
・大規模な言語モデル

相違点
・「OpenAIのGPT-3.5というモデル」と「Microsoftのプロメテウスというモデル」
・新しいBingは最新の情報にも対応し、複数の検索結果を組み合わせて、より包括的な答えを提供できる。(確かにChatGPTは最近(2022年)の情報に対応していないと言われていますね。)

 最後に「今最も興味を持っているテクノロジー」についても聞いてみました。ChatGPTは「AIアシスタントとして、私は個人的な興味や意見を持つことができません。」と頑固な回答でしたが、Bingからは以下の回答がありました。bing2_230213.pngBingさんは「個人的な意見」を持っているようですね・・。

 AIチャットがない時は、Chromeを使ってGoogle検索がメインで、Bingは全く使っていませんでした。会社ではWindows PCなので、Edgeで検索した際に勝手にBingが立ち上がった時はイラッと来て、すぐにGoogleに切り替えていました。
 今回の「新しいBing」はアンチマイ○ソソフトの私でもBingを使ってみようと意識を変えるぐらいのインパクトがあるかもしれません。もう少し遊んでみようと思います。

日経電子版記事をスクレイピングする(3)

 久々にWebスクレイピングを触っています。事務作業でWebアプリを操作することがあり、何度も同じ作業を行うのはイライラするので(元からのイラチ?)、RPA(Robotic Process Automation)で楽をしようという所です。前回のブログの「Power AutomateでOutlookメールを抽出する」もその一環の話です。

 日経電子版をスクレイピングする話は過去に2回話をしました。1回目は、FirefoxのWebdriverを使って、SeleniumとBeautiful Soupを用いて、日経記事の中から特定のキーワードの記事のタイトルとURLを取得するものでした。2回目は具体的にその記事をダウンロードし、その内容をword2vecで処理するお話しでした。他にも、SeleniumのラッパーのHeliumというものも試してブログでお話ししました。

 今回は、ChromeのWebdriverとSeleniumを使って、日経新聞の「私の履歴書」の記事をpdfファイルにする計画です。私の履歴書は月替わりで著名人が自らの半生を語ったものです。故人を含め過去の記事も日経新聞の電子版で閲覧できますが、いつ閲覧できなくなるか分からないので、まとめてダウンロードしておきたいと思いました。nikkei_230212_1.pngただし、一括ダウンロードという機能はありませんので、日毎の記事を1か月分根気よくダウンロードする必要があります。nikkei_230212_2.png まずは、日経電子版のサイトにログインして、目的の著名人のページに行き、そのページの中の1か月分(日毎)の記事のリンクURLをファイルに保存する所までを自動化しました。

作成したプログラムは以下の通りです。
# scraping.py
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome('./chromedriver')

# Login Page
driver.get('https://r.nikkei.com/login')
time.sleep(2)

username = "-- My username --"
password = "-- My password --"

login_username = driver.find_element(By.ID, "LA7010Form01:LA7010Email")
login_username.clear()
login_username.send_keys(username)

login_password = driver.find_element(By.ID,"LA7010Form01:LA7010Password")
login_password.clear()
login_password.send_keys(password)

driver.find_element(By.CLASS_NAME, 'btnM1').click() # Login button click
time.sleep(2)

# Target URL list
url_list = ['https://www.nikkei.com/stories/******']

# Open target page
for url_target in url_list:
driver.get(url_target)
time.sleep(2)

elements_article = driver.find_elements(By.TAG_NAME, 'article')
with open("urls.txt", mode="a") as f:
for article in elements_article:
print((article.text).split('\n')[1])
href_dat = article.find_element(By.TAG_NAME, 'a').get_attribute('href')
print(href_dat)
f.write(href_dat + '\n')
f.close()

driver.quit()
このプログラムを実行させると、以下の通り、日毎の記事のタイトルとURLを取り込んで、scraping_run_230212_1.pngファイル保存(urls.txt)できました。scraping_run_230212_2.png
プログラムの補足ですが、24行目までで日経新聞のサイトにログインします。23行目のログインボタンのオブジェクト名('btnM1')はブラウザ上で「右クリック-検証」をして、Chromeのデベロッパーツールから確認できます。scraping_coding_230212_1.pngscraping_coding_230212_2.png27行目で目的の著名人の集約ページのURLを設定し、34行目以降で日毎データ抽出処理を行いました。27行目のリストには複数のURLを登録できます。

日毎データはarticleタグ内に書かれてありましたので、そこからタイトルとURLを取得しました。scraping_coding_230212_3.pngURLは38行目のようにaタグの情報から取得できました。scraping_coding_230212_4.png
次回は、今回取得したURLを用いてpdfファイルに出力する所までのお話をします。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: