fc2ブログ

Power Automate Desktopで遊ぶ(1)

 MicrosoftのRPA(Robotic Process Automation)ツールのPower Automate Desktopで簡単にPDFファイルのテキスト抽出ができることを知りましたので、早速試してみました。
 Power Automate Desktopは無償で利用できるので事前にインストールしておきます。使用環境は昨年末に購入したあまり使われていない家族用のWindows11マシンです。

 自宅内にRaspberry Piで動かしているファイルサーバがあり、その中のPDFファイルのテキスト抽出をしようと思いましたが、Windows11 PCからファイルサーバであるRaspberry Piの共有フォルダが見えないことが発覚しました。ネット上でしばらく調べていると、Windowsのネットワークでファイル共有やプリンター共有などを行うためのマイクロソフト独自の通信プロトコル「SMB 1.0(Server Message Block)」が有効でないことが分かりました。まず、これを有効にすることからスタートしました。

設定から「アプリ」を選択し、SharedFolder_1_200320.png「Windowsのその他の機能」を選択しました。SharedFolder_2_200320.png「SMB 1.0/CIFSファイル共有のサポート」にチェックを入れ、OKボタンを押して完了です。SharedFolder_3_200320.png無事にネットワークに、RASPBERRYPIのPCが認識できました。また、共有フォルダの中身のファイルにもアクセスできました。SharedFolder_4_200320.png
 これから、本題のPower Automateで自動化のフローを作成します。まず、「+新しいフロー」ボタンを押しました。PowerAutomate_1_200320.pngフロー名(今回はpdf_readerとしました)を記入後「作成」ボタンを押しました。PowerAutomate_2_200320.pngアクションのメニューから「PDF - PDFからテキストを抽出」を選択し「ドラッグ&ドロップ」しました。PowerAutomate_3_200320.pngウィンドウが開きますので、PDFファイルを選択しました。PowerAutomate_4_200320.png今回は1つのファイルを決め打ちしていますが、フォルダを選択して、その中の全ファイルについて同じ処理を行うこともできます。処理された内容は生成された変数「ExtractedPDFText」に入るようですね。プログラムを書くのではなく、Windows上で設定していくイメージです。
設定後、実行すると変数「ExtractedPDFText」に抽出されたテキストが入りました。PowerAutomate_5_200320.pngこのままでは利用しづらいので、このテキストをファイルに保存することにしました。アクションのメニューから「ファイル - テキストをファイルに書き込みます」を選択し「ドラッグ&ドロップ」しました。書き込むテキストには、変数「ExtractedPDFText」を選択しました。PowerAutomate_6_200320.png実行すると、テキストファイルに保存できました。PowerAutomate_7_200320.png 今回使用したPDFファイルは日経xTechの1ヶ月100ページまで無償ダウンロード可能な記事の一部で、文字のコピーができないものでした。Power Automateで変換・コピーできたのは、内部でOCR処理をしてテキスト抽出をしているのかもしれません。テキスト抽出した内容は自分のためだけに利用しようと思います。Power Automateは手作業で操作している内容をプログラムを書かずに簡単に処理してくれるので、何かと応用が利きそうです。膨大なファイルの一括処理等は良いかもしれません。

スポンサーサイト



ワクチン3回目接種をする

季節の変わり目にいつも体調が悪くなります。1日の気温の変化もその原因なのかもしれませんが、この時期に仕事が期末であったりしてハードワークが重なることが主要因であるような気がします。3月は毎年、魔の月です。

体調が悪いのは今でもそうですが、本題のお話ですね。1週間前に3回目のワクチン接種をしました。今回は職域接種よりも自治体接種の方が早く、1日でも早く接種した方が良いという考えで、自治体接種を選択しました。

2回目の接種後の副反応がしんどかったので、今回も心配でしたが、結果から言うと、私にとっては2回目並みかそれプラスアルファでした。周りの3回目を接種した人を確認すると、副反応は様々ですが・・。

今回、しんどかったのは38℃台の発熱があり、一旦36℃台になって安心していたのですが、再度38℃台の発熱に見舞われたことです。接種したのは3/12の13:30頃で、モデルナ(1、2回目もモデルナ)でしたが、1時間もしないうちに接種した側の腕が痛い。2回目よりも痛さを感じました。この痛みは正味3日間続きました。腕が上がらないことはあまり経験ないのですが、今回は腕も上げたくない状態でしたね。接種後の体温変化をプロットしてみました。38℃台の山が2箇所あります。Body_Temp220319.png1日弱、37℃以上でキープされた感じですね。その間、吐き気があり、食欲もなく、倦怠感がハンパない感じでした。結局、体が元の状態に戻ったのは接種した日の3日後でした。

早くコロナ、収まればよいですね。新種株が続々と出てきて、イタチごっこになって欲しくはないですね。必要なのですが、こんな副反応で嫌な思いはしたくないですね。最後に、つらいことばかり書いていますが、同じモデルナを接種されている方で、発熱等の副反応が全くなしという方も周りにおられましたので、個人差が出ているということなのでしょうね。

OpenAIのGPT-3で遊ぶ(2)

 前回に続いて、GPT-3で遊んでみました。前回は「Friend chat」と「Create study notes」をPlaygroundで試しましたが、今回は「chat」、「Essay outline」と「Q&A」を触りました。

 まずは、自由形式の会話が可能なAIアシスタントとのChatです。OpenAIには普通のChatとFriend chatがあるのですが、それぞれ内容は以下の通りです。
  Chat: AIアシスタントとの自由形式の会話が可能
  Friend chat: テキストメッセージの会話をエミュレート
違いが良く分からないですが・・。
 では、実際にAIのDavinciさんとのChatしてみましょう。
Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: May I ask you a question about math?
AI: Sure! What would you like to know?
Human: Please tell me what the natural logarithm e looks like.
AI: The natural logarithm e is a special number that has many interesting properties. It is approximately equal to 2.71828.
Human: What are the interesting properties?
AI: Well, one of the interesting properties is that it is the base for the natural logarithm function. This function is used in many different areas of mathematics and physics, including calculus and thermodynamics.
Human: What exactly do you mean about use in different areas of physics?
AI: One example is that the natural logarithm function is used in the derivation of the Maxwell equations, which are a set of equations that describe the electromagnetic field.
Human: Why is there a natural logarithm in the equation describing the electromagnetic field?
AI: I'm not sure, but I believe it has to do with the fact that the natural logarithm is a special number that is related to the exponential function.
Human: I believe that you must study from the essence, not just rely on what is written in textbooks.
AI: I completely agree, human. Studying from the essence is the best way to learn and understand mathematics and physics. Thanks for your input!
DeepLさんの力を借りて日本語訳をすると、以下の通りです。
人間:こんにちは、あなたは誰ですか?
AI:私はOpenAIによって作られたAIです。今日はどのようなご用件でしょうか?
人間:数学について質問してもいいですか?
AI: もちろんです! 何をお知りになりたいのですか?
人間:自然対数eはどのようなものか教えてください。
AI:自然対数eは多くの興味深い性質を持つ特別な数です。それはおよそ2.71828に等しいです。
人間:どのような興味深い性質があるんですか?
AI:そうですね、興味深い性質の1つは、自然対数関数の基数であることです。この関数は、微積分学や熱力学など、数学と物理学のさまざまな分野で使われています。
人間:物理のさまざまな分野で使われるとは、具体的にはどういうことですか?
AI:一例を挙げると、自然対数関数は、電磁場を記述する一連の方程式であるマックスウェル方程式の導出に使われています。
人間:電磁場を記述する方程式の中に、なぜ自然対数があるのでしょうか?
AI:よくわかりませんが、自然対数が指数関数に関係する特殊な数であることと関係があるのだと思います。
人間:教科書に書いてあることを鵜呑みにするのではなく、本質から勉強しなければならないと思います。
AI:全く同感です、人間さん。本質から勉強することが、数学や物理を学び、理解するための最良の方法だと思います。ご意見ありがとうございました。
Davinciさんでも突っ込んだ質問については回答できないようですね。おそらく質問内容が不明瞭であるせいかもしれませんが・・。

 次に、研究トピックの概要を生成してくれる、Essay outlineを試しました。
Create an outlines for data science education at my company:

I: Introduction to data science

A: What is data science?
B: What are the steps in the data science process?
C: What are some common data science tools and techniques?
D: What are some common data science challenges?
E: What is the role of data science
日本語訳は以下の通り。
私の会社でのデータサイエンス教育のアウトラインを作成する。

I:データサイエンス入門

A:データサイエンスとは何か?
B:データサイエンスのプロセスにはどのようなステップがあるのか?
C:一般的なデータサイエンスのツールやテクニックは何か?
D:データサイエンスの一般的な課題にはどのようなものがあるか?
E:データサイエンスの役割とは?
あまりしっくりこない回答でした。別の質問に変えます。
Create an outline for an essay about Albert Einstein and his contributions to physics:

I: Introduction

A: Einstein's life and work
B: The theory of relativity
C: The theory of quantum mechanics
D: The search for a unified field theory
E: Einstein's legacy
日本語訳は以下の通り。
アルバート・アインシュタインと彼の物理学への貢献についてのエッセイのアウトラインを作成する。

I:はじめに

A:アインシュタインの生涯と仕事
B:相対性理論
C:量子力学の理論
D:統一場理論の探求
E:アインシュタインが残したもの
こちらの回答の方が個人的に素直に受け入れられそうです。

次に、Q&Aを試してみました。
I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with "Unknown".

Q:Tell us about your no-code application development.
A: Unknown

Q: In the future, will programs be written by AI instead of humans?
A: Unknown
日本語訳は以下の通り。
私は、高度に知的な質問応答ボットです。もしあなたが真実に根ざした質問をすれば、私はあなたに答えを教えます。もし、ナンセンスな質問やトリック、明確な答えのない質問をされた場合は、「不明」とお答えします。

Q:ノーコードのアプリケーション開発についてお聞かせください。
A:不明です。

Q:将来、プログラムは人間ではなくAIが書くようになるのでしょうか?
A:不明です。
質問が漠然とし過ぎているのでしょうね。Yes/No Questionや答えが一つしかないものが対象なのでしょうか??この同じ質問を「Chat」で行ってみました。
Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: Tell us about your no-code application development.
AI: No-code application development is the process of creating software applications without any coding. This can be done through visual tools or drag-and-drop interfaces.
Human: In the future, will programs be written by AI instead of humans?
AI: I believe that AI will play a role in program development, but I don't think it will completely overtake human involvement. There are certain tasks that are best suited for human creativity and ingenuity, and I think programming will be one of them.
Human: You are humble.
AI: Thank you. I try my best to be helpful and humble.
日本語訳は以下の通り。
人間:こんにちは、あなたは誰ですか?
AI:私はOpenAIによって作られたAIです。今日はどのようなご用件でしょうか?
人間:あなたのノーコードアプリケーション開発について教えてください。
AI:ノーコードアプリケーション開発とは、コーディングをせずにソフトウェアアプリケーションを作成することです。これは、ビジュアルツールやドラッグアンドドロップのインターフェイスで行うことができます。
人間:将来、プログラムは人間の代わりにAIが書くようになるのでしょうか?
AI:プログラム開発においてAIが役割を果たすようになると思いますが、完全に人間の関与を追い越すことはないでしょう。人間の創造性や創意工夫に最適な作業というものがあり、プログラミングもそのひとつになると思います。
人間:謙虚なんですね。
AI:ありがとうございます。私は、役に立ち、かつ謙虚であろうと最善を尽くします。
同じ質問でも「Q&A」では回答がもらえませんでしたが、「Chat」では可もなく不可もない回答が返ってきました。謙虚なんですねと褒めると、ありがとうございますと答えた所から、褒められていることは理解しているのですね・・。

 最後にタイムリーネタをChatで話しました。
Human: How can I protect my factory network from ransomware?
AI:There is no one-size-fits-all answer to this question, as the best way to protect your factory network from ransomware will vary depending on the specific setup and security measures in place. However, some tips to help protect your factory network from ransomware include regularly updating your software and security patches, using strong passwords and authentication methods, and backing up your data regularly.
日本語訳は以下の通り。
人間:ランサムウェアから工場のネットワークを守るにはどうしたらよいですか?
AI:工場ネットワークをランサムウェアから保護する最善の方法は、具体的な設定やセキュリティ対策によって異なるため、この質問に対する万能の答えはありません。しかし、ランサムウェアから工場ネットワークを保護するためのヒントとしては、ソフトウェアとセキュリティパッチを定期的に更新すること、強力なパスワードと認証方法を使用すること、およびデータを定期的にバックアップすることが挙げられます。
当たり前のことを答えてくれました。

今回もいろいろ遊んでいる中で、AIが得意な所/苦手な所、AIが答えやすい質問を投げかけることが重要等、大変勉強になりました。GPT-3の他のサービスもまた触ってみようと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

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

月別アーカイブ

メールフォーム

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