fc2ブログ

猛暑日続く・・

 最近、猛暑日が続いていますね。平日は通勤するだけで、汗だくになり、ネッククーラーで涼む毎日です。土日は自宅でクーラーをつけてゆっくりしたい所ですが、日々の生活からの現実逃避目的で、昨日(7/29)、名古屋へ遊びに行きました。よく京都へ遊びに行くこともありますが、自宅近辺よりも気温が高くなる予想だったので止めました。

 名古屋へは在来線が時間がかかって不便(岐阜を通り抜けるのが鬼門?)なので「新幹線」で。というのも、Express予約のポイントが6/30に消失する前に、こだまのグリーン特典のチケットを購入していたので・・(セコセコです)。
 Express予約のポイントって、消化できずに消えることがよくあります。維持できる期間も短いですし・・。最近はコロナのこともあり、関東方面の出張もあまりなく、実家の九州帰省の際に新幹線を利用するぐらいです。

 名古屋で15時頃まで遊んで、自宅への帰路途中、車のエンジンをかけて、温度計を見てびっくり。44℃です!Car_thermometer230729.png直射日光が当たっていたのでしょう。車内もサウナ状態だったので、しばらく冷やした後に自宅に戻りました。
 今日も1日猛暑日のようです。今日は外出せずに自宅で大人しくしておこうと思います。
スポンサーサイト



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

前回の続きです。今回は手書きの情報が書かれた画像ファイルを用いて、Bingチャットに質問をしました。

先日Google Bardに質問した同じ内容を同じ文言でBingチャットに聞いてみました。
   1. 手書き文字の認識
   2. 角度を求める算数の問題
   3. 化学反応の問題
   4. 論理回路の問題

1. 手書き文字の認識
 英文の認識は問題なく、Google Bardの時と同じように文法の間違い(不定冠詞のaがなかったこと)も修正してくれました。Sentence1_230722.png しかしながら、日本文は誤認識でした。全く意味不明の文が返ってきました。Google Bardは認識していましたので、差がでました。Sentence2_230722.png
2. 角度を求める算数の問題
angle_230722.pngやはり、図の形や特徴を読み取ることが難しいのでしょうね。四角形の内角なのか、外角なのかが区別できません。Google Bardもこの問題解けませんでした。それにしてもマイナスの角度をプラスの角度に強引に持って行くのはいかがなものかと・・。

3. 化学反応の問題
Reaction1_230722.pngGoogle Bardの時と同じように化学式の文字部分は認識するが、全体が掴めていません。返答もいい加減な感じがします。ベンゼン環について省略形ではなく、二重結合を明記した形にしてもダメですね。回答にもやる気のなさ?が伝わってきます。回答の途中で打ち切られました・・。Reaction2_230722.png
4. 論理回路の問題
LogicCircuit1_230722.png結果が合っていたので、一瞬、完全な答えかと思いましたが、黄線で引いた所が間違いですね。第二のANDゲートの一つの入力(この場合はORゲート)が0と回答しています。もう一つの入力が第一のANDゲートの出力の0と言っているので。ただし、Google Bardではここまでの認識ができていませんでした。

回路図上にAND、ORを抜いた図で同じ質問をすると、LogicCircuit2_230722.png急に解けなくなりました。やはり、図の特徴を捉えにくいのでしょうね。

以上の結果を表にまとめました。前回のブログの結果も合わせてみても、Google Bardの方がBingよりも優秀な感じがします。Comparison_Result2_230722.png
また、いろいろな案件で調査していこうと思います。

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

 先日のブログでGoogle Bardで7/13に画像入力ができるようになったので味見をした内容をお話しました。生成AIの競争は熾烈ですね。Bingチャットの方も7/18(現地時間)から画像入力ができるとのネット記事を見つけました。

 早速、先日Google Bardに質問した同じ内容を同じ文言でBingチャットに聞いてみましたので結果をお話しします。
  1. フローチャートの問題 (ブログ参照)
  2. 角度を求める算数の問題 (ブログ参照)
  3. 化学反応の問題 (ブログ参照)

ちなみに、画像の添付は、テキストボックスの右側のマークをクリックし、bing_image_input1_230722.png「画像を追加」ウィンドウから行います。bing_image_input2_230722.png
1. フローチャートの問題
Q_flowchart_230722.png回答(日本語訳)は以下の通り。
添付ファイルは、1 から N までのすべての整数の合計を計算する手順を示すフローチャートです。
フローチャートは、上部に「開始」ブロックがあり、下部に「停止」ブロックがあります。
フローチャートには合計 8 つのブロックがあり、矢印がそれらを接続してプロセスの流れを示しています。
ブロックは次の手順でラベル付けされています:

SUM = 0
X = 1
X < N
SUM = SUM + X
X = X + 1
DISPLAY SUM
フローチャートには、2 つの矢印が外に出ている「X <= N」という decision ブロックがあります。
これは、X が N より大きいまでプロセスが続くことを示しています。

 これに続いてプログラムも書いてもらいましょう。
【プロンプト】Draw a program in Python to process this flowchart, giving the value of N as 100.
以下は、Nの値を100に設定し、あなたが提供したフローチャートのステップに従ったPythonプログラムです:

N = 100
SUM = 0
X = 1
while X <= N:
SUM = SUM + X
X = X + 1

print(SUM)

このプログラムは、1 から N までのすべての整数の合計を計算します。
まず、変数 N を 100 に設定します。次に、変数 SUM を 0 に設定し、変数 X を 1 に設定します。
その後、while ループを開始します。
このループは、X が N より小さい限り実行されます。
ループの各回で、SUM の値を X で加算し、X の値を 1 増加させます。
ループが終了すると、SUM の値が表示されます。
 Google Bardと同様に解釈は問題なくでき、サンプルプログラムも正常に動作しました。

2. 角度を求める算数の問題
Q_angle_230722.png回答は以下の通り。
画像に記載された情報に基づいて、Xと書かれた角度を計算することはできない。
画像は77度の鋭角と124度の鈍角を持つ不等辺三角形を示している。
他の2つの角度から3つ目の角度は31度であると推測できる。
しかし、X印の辺は三角形の最も長い辺であり、鈍角の反対側にある。
この辺の長さを計算するには、辺の長さや面積など、三角形に関するより多くの情報が必要である。
より多くの情報を提供するか、質問を明確にしてください。
Google Bardと同様に図形問題は解けませんでした。

3. 化学反応の問題
Q_reaction_230722.png
提供された画像は、エチレングリコールとエチレンジアミンとの反応の化学式を示しています。
しかし、画像の説明にはこの反応の生成物に関する情報がありません。
もっと情報を提供するか、質問を明確にしてもらえますか?
Google Bardは完璧な回答をしましたが、Bingは物質名も間違えるという大変お粗末な回答でした。

結果を表にまとめました。Google Bardの方が今回の問題では優れていました。Comparison_Result_230722.png
次回は、手書きの画像ファイルでのGoogle BardとBingの比較を行います。

Google Bardを使う(4)

 前回の続きです。前回のブログで、Bardに画像入力したファイルはGoogleのサイトから入手したもので、画像のみならずサイトの文面も取得している可能性があると疑われたので、今回は「手書きの画像」を使って検証しました。

 以下の内容を試しました。
   1. 手書き文字の認識
   2. 角度を求める算数の問題
   3. 化学反応の問題
   4. 論理回路の問題

1. 手書き文字の認識
 まず、手書きで英文を書いて、その画像に書かれてある文字をBardが認識しているか、確認しました。SentenceRead1_230718.png私が書いた英文の文法間違い(不定冠詞のaがないこと)も修正して、正しく認識できました。
また、Bardで画像入力モードが利用できるのは、現時点(7/18)で優先言語が「英語」の場合ですが、日本語の文も正しく認識できるのか、確認しました。SentenceRead2_230718.png日本語も問題なく認識できるようですね。OCRが当たり前の世界なので「生成AI」としては「序の口」なのでしょう。ただ、猛暑日の解説をしてくれている所はAIだからなのでしょうね。

2. 角度を求める算数の問題
 以下の問題について、確認しました。今回は四角形です。CalcAngle1_230718.png回答は以下の通りです。CalcAngle2_230718.pngまず、四角形を三角形と誤解していますね。また46度という記載されていない数字が出てきました。その後の記載内容は全く関係がなく、意味不明です。
次に、四角形であることを教えてあげると、以下の通り、強行策?に出てきました。答えはたまたま正解なのですが・・。CalcAngle3_230718.png図形問題(角度算出問題)は、生成AIにとって難しいんですね。小学生か中学生の時に頑張って解いていましたが・・。

3. 化学反応の問題
 以下の問題を出してみました。フェノールとホルムアルデヒドを原料としたフェノール樹脂の化学反応なのですが、どのように回答するのでしょうか?Reaction1_230718.png回答を日本語に翻訳すると以下の通りです。
図で説明されている化学反応は、ヒドロキシル(OH)ラジカルとホルムアルデヒド(CH2O)の反応である。
この反応の生成物はHCO(ヒドロキシメチルラジカル)とH2Oである。

この反応の釣り合い化学方程式は次のとおりである:

OH + CH2O → HCO + H2O
ヒドロキシルラジカルは非常に反応性の高い化学種で、さまざまな化合物から水素原子を取り出すことができる。
この場合、ホルムアルデヒドから水素原子を取り出し、ヒドロキシメチルラジカルを生成する。
ヒドロキシメチルラジカルは不安定で、すぐに分解してHCOとH2Oを生成する。

HCOラジカルも反応種であるが、ヒドロキシルラジカルほど反応性は高くない。
HCOラジカルは他の化合物と反応し、アルコール、アルデヒド、ケトンなど様々な生成物を形成することができる。

送られてきた画像の文脈からすると、ヒドロキシルラジカルはオゾン(O3)と水蒸気(H2O)の反応によって生成されている可能性が高い。
オゾンと水蒸気の反応により、ヒドロキシルラジカルと酸素ガス(O2)が生成される。

ヒドロキシルラジカルは次にホルムアルデヒドと反応し、HCOとH2Oを生成する。
HCOラジカルはその後、他の化合物と反応して様々な生成物を形成する。

反応全体は複雑なものだが、ヒドロキシルラジカルがHCOや他の反応性種を生成する重要な中間体であることは重要である。
一番左の物質をフェノールと認識していないための回答かなと判断し、物質名を質問しました。
【プロンプト】What is the name of the substance on the far left side of the figure?
図の左端にある物質がヒドロキシルラジカル(OH)である。
反応性の高いフリーラジカルで、大気中ではオゾン(O3)と水蒸気(H2O)の反応によって生成される。
ヒドロキシルラジカルは、対流圏でも太陽光と二酸化窒素(NO2)との反応によって生成される。

ヒドロキシルラジカルは、スモッグやその他の大気汚染物質の生成に関与するため、大気中で非常に重要である。
また、成層圏のオゾン破壊にも一役買っている。

図では、ヒドロキシルラジカルがホルムアルデヒド(CH2O)と反応してヒドロキシメチルラジカル(HCO)とH2Oを生成している。
この反応は、ヒドロキシラジカルが起こしうる多くの反応の一つである。
案の定、フェノールと認識せずに、文字情報である「OH」のラジカル(-OH)のみを認識しているようです。フェノールの骨格であるベンゼン環を六角形を書いて、その中に○を書くという省略形のためなのかなと思い、二重結合(C=C)を反映させた形でも聞いてみました。Reaction2_230718.png結果はほぼ同じ内容だったので割愛します。Google Bardの画像入力ができるようになったとは言え、画像中の「文字情報」に特化して利用が可能な感じがしますね。図形の形状や特徴の認識は、まだまだこれからなのでしょう。

4. 論理回路の問題
 以下の論理回路の出力も聞いてみました。LogicCircuit1_230718.png結果は以下の通りです。
送られてきた画像の出力Xの値は不明です。
ANDゲートの入力値が不明だからである。
入力 "1 "と "OR "のANDゲートは、入力 "OR "が1なら1を出力し、入力 "OR "が0なら0を出力します。
入力 "0 "と "1 "のANDゲートは、入力 "1 "の値に関係なく0を出力します。
したがって、出力Xの値は入力 "OR "の値に依存するが、この値は不明である。

入力 "OR "が1であれば、出力Xの値は1になる。
入力「OR」が0の場合、出力Xの値は0になる。

出力Xの値を決定するには、入力「OR」の値を知る必要がある。
しかし、画像はこの情報を提供しない。したがって、出力Xの値は不明である。
論理回路にAND、ORの文字を記載していないパターンでも聞いてみました。LogicCircuit2_230718.pngその結果、
送信された画像の出力Xの値は不明です。
入力Aの値が与えられていないからである。
入力Aが0なら出力Xは0になるが、入力Aが1なら出力Xは1になる。

画像の回路は、ANDゲートとORゲートの組み合わせである。
両方の入力が1の場合、ANDゲートの出力は1になる。
ORゲートの出力は、どちらかの入力が1なら1になる。

入力Aが0の場合、ANDゲートの出力は0となり、ORゲートの出力は入力Bの値に関係なく0となる。

入力Aが1の場合、ANDゲートの出力は1になる。ORゲートの出力は、入力Bの値に関係なく1になる。

出力Xの実際の値を決定するには、入力Aの値を知る必要がある。
入力Aは図中に与えていないのですが、この図がAND、ORの論理回路であることは認識しているようです。

以上、今回は手書きの画像ファイルを用いてBardに質問をしましたが、現時点で、
  ① 画像中に文字情報があれば、認識度が上がる。
  ② 画像中の図形の形や特徴を捉えることが難しい。
ことがよく分かりました。これからの進化を楽しみに期待したいと思います。

Google Bardを使う(3)

 前回に引き続き、Google Bardの画像入力で以下の問題を解いてもらいました。
   2. 角度を求める算数の問題
   3. 化学反応の問題

2. 角度を求める算数の問題
【プロンプト】Calculate the angle X.angle_230716.png回答は以下の通り。answer1_230716.png124度は三角形の外角なのですが、内角と勘違いしています・・。三角形の内角の和が180度であることは理解していますが、そもそも内角を77度と124度と認識して、77+124=201度で180度の内角和を超えているという自己矛盾に気付いていませんね。こちらから「助け舟」を出してみましょう。

【プロンプト】124 degrees is not an interior angle of a triangle.answer2_230716.pngこの回答はこんな感じでした。こちらからのアドバイスを聴いてくれていませんね。同じ計算式なのですが、答えも79度で変わってしまっています。

最後にもう一度以下の質問すると、
【プロンプト】After all, what is the angle X?
頑なに124度を内角と認識して改めません。最後に弱音を吐いて終了です・・。answer3_230716.png図形問題や計算関係はまだ苦手なのでしょうね。今後の進化に期待したいと思います。

3. 化学反応の問題
【プロンプト】Describe the substances produced in the chemical synthesis in the attached diagram.synthesis_230716.png回答を日本語で書くと以下の通り。
画像はナイロン-6,6の合成化学式を示す。
この反応で生成する物質はアジピン酸: 式HO2CCH2CH2CH2CO2Hのジカルボン酸。
ナイロン-6,6の原料モノマーのひとつ。
ヘキサメチレンジアミン: 式H2N(CH2)6NH2で表される有機化合物。
ナイロン-6,6の原料モノマーの一つ。
ナイロン-6,6:式(NH2(CH2)6NHCO(CH2)4CO)nで表される合成ポリマー。
強度、耐久性、耐熱性に優れ、衣料、繊維、エンジニアリングプラスチックなど様々な用途に使用されている。
画像の化学反応は縮合反応である。
縮合反応では、2つの分子が水のような小さな分子の脱離によって結合する。
この場合、結合する2つの分子はアジピン酸とヘキサメチレンジアミンである。
消去される低分子は水である。

ナイロン-6,6の合成は多段階プロセスである。
最初のステップは、アジピン酸とヘキサメチレンジアミンを反応させてジアミドを形成することである。
次に、このジアミドを加熱してナイロン-6,6を形成する。

ナイロン-6,6は多用途で重要な素材である。
以下のような幅広い用途に使用されている:
衣料
繊維製品
エンジニアリング・プラスチック
自動車部品
電気部品
医療機器
ナイロン-6,6の合成は複雑なプロセスだが、この貴重な素材を製造する上で重要なステップである。
この回答はバッチリですね。有名な化学合成の事例で学習できているんですね。

ともあれ、今回の画像ファイルはGoogleのサイトから入手したものなので、画像のみならずサイトの文面も取得している可能性がありますね。次回は手書きの画像を使って何か試してみようと思います。

Google Bardを使う(2)

 2か月前のブログでGoogle Bardを味見して以来、久々に触りました。というのも、最近(7/13)、ChatGPT4に先行する形で、Bardで画像入力ができるようになったからです。Update230713.pngChatGPT4のマルチモーダル利用を待ち続けていたのですが、結局Googleの方が先に無償版のBardで対応したということですね。素晴らしい!

 取り急ぎ、Bard自身に確認してみましたが、マルチモーダル対応との回答。multimodal1_230716.pngただし、以前のブログでBingチャット(ChatGPT4)で可能であった画像生成はまだ対応できていないようです。multimodal2_230716.png
 また、今回の対応は英語版のBardのみ先行ということで、準備として、対応言語を「英語」にする必要がありました。手順は以下の通り。
 Bardを起動して、Window右上の「Googleアカウント」のボタン(個人の名前)をクリックし、「Googleアカウントを管理」を選択。Setting1_230716.png「個人情報」の「言語」を選択すると、Setting2_230716.png優先言語が「日本語」になっているので、他の言語の「↑」を押してSetting3_230716.png優先言語を「English」に変更しました。Setting4_230716.png
準備ができましたので、今回、以下の3種類の画像を準備し、問題を解いてもらいました。
 1. フローチャートの問題
 2. 角度を求める算数の問題
 3. 化学反応の問題

Bardで画像ファイルをUploadする方法は、①プロンプトを入力するテキストボックスの左横の「+」ボタンをクリックした後に、②Upload fileボタンを押すと、ファイル読み込みのダイアログが出てくるので目的のファイルを選択します。ちなみにこの「+」ボタンは優先言語が日本語の場合は表示されません(7/16現在)。Image_input_230716.png
1. フローチャートの問題
【プロンプト】Please explain what is written in the attached file.flowchart_230716.png回答を日本語で書くと以下の通り。
添付ファイルは、2つの数値の和を計算する方法を示したフローチャートである。
フローチャートはSTARTボックスから始まる。
次のボックスでは、変数SUMが0に初期化され、変数Xが1に初期化される。
ループでは、以下のステップが実行される:

Xの値がNと比較される。
XがN以下であれば、SUMの値がSUM + Xに更新される。
Xの値が1インクリメントされる。
フローチャートはループの先頭に戻る。
X が N より大きくなると、フローチャートはループを終了し、DISPLAY SUM ボックスに移動する。
DISPLAY SUMボックスでは、SUMの値が表示される。
その後、フローチャートはプログラムの終了を示すSTOPボックスに進む。

以下は、フローチャートのより詳細な説明である:

START:このボックスはフローチャートの開始を示す。
SUM = 0: このボックスは変数SUMを0に初期化する。
X = 1: このボックスは変数Xを1に初期化する。
X <= N: このボックスはXの値とNの値を比較する。
XがN以下であれば、フローチャートは次のボックスに進む。
そうでない場合、フローチャートはSTOPボックスに進む。
SUM = SUM + X: このボックスは、SUMの値をSUM + Xに更新する。
X = X + 1: このボックスはXの値を1増やす。
DISPLAY SUM:このボックスは SUM の値を表示します。
停止: このボックスはフローチャートの終わりを示す。
この説明がお役に立てば幸いです。他に質問があれば教えてください。
完璧ですね。内容を完全に理解しています。驚きました。

 これに続いてプログラムも書いてもらいましょう。
【プロンプト】Draw a program in Python to process this flowchart, giving the value of N as 100.
 出力は以下の通りで、Program_answer1_230716.png詳しい解説が付いていました。
このプログラムでは、まずsum_of_numbersという関数を定義する。
この関数は整数nを入力とし、最初のn個の自然数の和を返す。
この関数は変数sumを0に初期化し、ループに入る。
ループの中では、xの値が1ずつ増加し、sumに加えられる。
ループが終了すると、sumの値が返される。

プログラム本体は、100を入力としてsum_of_numbers関数を呼び出す。
そして、関数呼び出しの結果を表示します。

プログラムを実行するには、.py ファイルとして保存し、コマンドラインから実行します。
例えば、プログラムをsum_of_numbers.pyとして保存した場合、コマンドラインに以下のコマンドを入力して実行します:

python sum_of_numbers.py
これは最初の100個の自然数の和、5050を表示します。
丁寧なプログラムの解説でした。実際に手直しはなく、プログラムは動きました。Program_answer2_230716.pngいい感じですね。プログラムを生成AIに書いてもらう場合に、プロンプトを書くよりもフローチャートの方が書きやすく、全体の流れも分かりやすくなるので、良いと思いました。
 長くなりましたので、2.と3.については次回お話しします。

実家で庭木を剪定する

 連休を利用して実家に帰省しています。昨日(7/15)は昼前に博多に着いて、ラーメンを食べた後に実家へ。最近仕事が忙しく睡眠不足気味だったので、一服して夕方まで昼寝をしていました。新幹線でも気づかないうちに寝ていました・・。
 今回の帰省目的の一つは、実家の庭木の剪定です。高枝の剪定は年寄りにとって重労働なので、私が代わりに実施しました。今回のために高枝切り鋏をネット購入し、実家に配達してもらっていました。 今日(7/16)の福岡地方は熱中症リスクがあるくらい暑くなる予定とのことで、暑くなる前の、朝7時半から2時間程度行いました。

成果は以下の通り。
【剪定箇所1:Before】GardenTree_before1_230716.png【剪定箇所1:After】GardenTree_after1_230716.png【剪定箇所2:Before】GardenTree_before2_230716.png【剪定箇所2:After】GardenTree_after2_230716.png
素人の剪定ですが、スッキリはしたのではないかと思いました。帰省の間、肉体労働を継続したいともいます。筋肉痛が心配・・。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

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

月別アーカイブ

メールフォーム

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