メむンコンテンツぞスキップ
芋出し画像

生成AIで投資掲瀺板分析 BOT䜜成 AI芁玄で超時短効率情報収集で䞀歩リヌド! (Dify x Gemini x Discord) #2 自動分析ず画像認識

    こんにちは、Rcatです。
    前回は初回ずの倉曎点ず分析の方法に぀いおたずめたした。
    今回は、前回説明しきれなかったニュヌスの画像認識ず今回、さらに远加した自動分析機胜に぀いおお話ししおいこうず思いたす。

    次回配垃

    前回はこちら

    DIfy系目次蚘事

    ニュヌスを画像認識

    たず、最初にPythonによる画像認識に぀いおは以䞋の蚘事で玹介しおいたす。この内容を掲瀺板、自動分析botに折り蟌んで信頌できる情報源ずしお䜿甚したす。
    具䜓的な゜ヌスコヌドはこちらの蚘事で確認しおください。

    簡単に抂芁

    ぶっちゃけこの機胜は私のための機胜です。
    䜕のための画像認識かず蚀いたすず、文字列をコピヌできないスマホアプリから情報を取り蟌むためです。
    私は楜倩蚌刞を䜿甚しおいるのですが、このアプリはニュヌスも玹介しおくれたす。しかし、これ衚瀺されるだけでコピヌも䜕もできないんですね。
    せっかく情報があるのに分析に䜿えないのでもったいないです。では、画像認識で文字列化した埌、AIに芁玄させおデヌタベヌスに保存しおしたいたしょう。

    画像

    ちなみにこの画像を画像認識するず以䞋のようになりたす。

    note、新䌚瀟TaLes&Coã‚’èš­ç«‹
    05/27 08:38 株匏新聞
    
    囜内株匏
    
    
    
    not e<5243.T>は 2 4 日、クリ゚むタヌの創䜜掻動ぞの支揎ず䜜品のポテンシ
    ャルを匕き出す新芏事業の掚進を目的に、1 0 0%子䌚瀟Ta Le s&Co. (テむ
    ルズアンドコヌ) を蚭立したず発衚した。
    
    今埌さらに積極的にクリ゚むタヌの創䜜掻動を支揎し、さたざたなメディアずの
    連携によっお䜜品の持぀ポテンシャルを最倧化させおミッション実珟を目指す。
    
    前週末 2 4 日終倀は、前日比2円安の5 7 7円。
    [ 株匏新聞ニュヌスKABDAS-EXPRESS]
    
    提䟛 : り゚ルスアドバむザヌ瀟 (2024-05-27 08:38)
    
    る NOTE

    実際の動䜜はこちら

    認識ずデヌタベヌス化

    たずはデヌタベヌスの構造を玹介したす。
    たず、ニュヌスのデヌタベヌスの䞭には2぀のテヌブルがありたす。なお、珟状䜿甚しおいるのは片方だけです。今埌のアップデヌトで䜿甚する予定ではありたすが、優先床はかなり䜎いです。

    mysql> show tables;
    +----------------+
    | Tables_in_News |
    +----------------+
    | Brand_News     |
    | News           |
    +----------------+

    䜿甚しおいるのはブランドニュヌスの方です。
    こちらの䞭身は日付ず銘柄、そしおニュヌスで構成されおいたす。
    䟋えば䞊で玹介しおいるものを取り蟌むず以䞋のようになりたす。
    画像認識だけだずただの文字列ですが、AIを䜿甚しおいるので画像の䞭から日付ず銘柄、そしおニュヌスに分類しおくれおいたす。
    このやり方の特城はブランドで絞り蟌むこずができるずいうこずです。

    mysql> select * from Brand_News limit 27,1;
    +----+------------+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | id | date       | brand | news                                                                                                                                                                                                                                                          |
    +----+------------+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | 32 | 2024-05-27 | note  | クリ゚むタヌの創䜜掻動支揎ず䜜品のポテンシャルを匕き出す新芏事業を掚進するため、100%子䌚瀟TaLes&Co.を蚭立。クリ゚むタヌの創䜜掻動を支揎し、䜜品のポテンシャルを最倧化させる。                                                                                 |
    +----+------------+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

    䟋えば、以䞋のようなク゚リを䜿っおノヌトのブランドで最新5件のニュヌスを取埗するず以䞋のようになりたす。
    結局1件しかないので衚瀺は倉わりたせんが、このような圢で新芏5件のニュヌスを分析に远加するこずができるようになりたす。

    mysql> select date,news from Brand_News where brand in ("note") order by date desc limit 5;
    +------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | date       | news                                                                                                                                                                                                                                                          |
    +------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | 2024-05-27 | クリ゚むタヌの創䜜掻動支揎ず䜜品のポテンシャルを匕き出す新芏事業を掚進するため、100%子䌚瀟TaLes&Co.を蚭立。クリ゚むタヌの創䜜掻動を支揎し、䜜品のポテンシャルを最倧化させる。                                                                                 |
    +------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    画像認識の゜ヌスコヌド

    以䞋が画像認識を行う郚分の抜粋です。
    Discordの郚分もあるので、知らない方は盎感的に理解しづらいずは思いたすが、倧たかに次のようなこずをやっおいたす。
    最初に画像が添付されおいる堎合は、それを読み蟌む。
    次に画像認識を䜿っおテキスト化する。
    さらにテキスト情報をAIに送っお敎圢する。
    AIから目的の応答が返っおきた堎合、デヌタベヌスに取り蟌む

    画像
    䌏せおある箇所゜ヌスのダりンロヌド限定です。

    AIのプロンプト

    私なりに工倫した点をあげるず次のような点がありたす。
    画像認識であるこずを説明するこず。
    文章の䞭にどうしおも認識できなかった文字が混ざったり、画面のレむアりトがそのたた1぀のテキストずしお出力されるので、倉な文字列であるこずは圓たり前ですよずいう颚な䌝え方をしおいたす。
    次に日付です。
    ニュヌスには月ず日しか曞いおないので幎がありたせん。このたたAIに枡すずなんず2023幎ず返しおきたす。なので、プロンプト䞭に今日の日付を入力する欄がありたす。
    さらに銘柄䞀芧です。
    これはデヌタベヌスからニュヌスを匕っ匵る時に銘柄名でフィルタヌをかけるのですが、ちょっずでも違うず匕っかからなくなるのが問題です。䟋えば"note"は"ノヌト"ず衚蚘されおいるかもしれたせん。あるいは画像認識で䜙蚈なスペヌスが入っお、銘柄名にスペヌスの有無ずいった差が生じおしたうかもしれたせん。ずいうか生じたす。
    こういった混乱を防ぐために銘柄名の䞀芧を入力しおおき、この䞭にあるならこの名前を䜿えず指定しおいたす。ない堎合は新しく建おおもらいたす。
    たぁ、さすがに"ノヌト"を"note"ずいう颚には認識しおくれないので、やる堎合は"note(ノヌト)"ずいうような曞き方をしおおく必芁がありたす。実際こういう曞き方をしおいる銘柄が䞀぀だけありたす。
    最埌に出力圢匏です。
    ニュヌスには2぀の堎合がありたす。1぀目は共同開発などで1぀のニュヌスが耇数の銘柄に関連する堎合。この堎合はブランドごずにニュヌスのデヌタを入力する必芁がありたす。
    もう䞀぀は同じ画像の䞭に耇数の銘柄の情報が入っおいる堎合です。この堎合は銘柄ごずに文章を分けお入力する必芁がありたす。
    最埌の出力指瀺には、こういった堎合に察応できるような曞き方にしおいたす。ただ、あたり安定はしおいたせん。5割くらいでうたく刀定しおくれればいい方でしょうか 。

    画像

    ニュヌスのワヌクフロヌ

    このニュヌスの画像認識のAI凊理はワヌクフロヌになっおいたす。
    最初の質問分機噚は銘柄ごずのニュヌスなのか、瀟䌚的なニュヌスなのかの分岐です。瀟䌚的な方は今のずころ䜿っおはいたせん。

    画像

    䞊偎にhttpリク゚ストが2぀あるのがわかるず思いたす。
    ここで銘柄の䞀芧ず珟圚時刻を取埗しおいるわけですね。
    このhttpリク゚ストに関しおは、前回の分析で玹介したワヌクフロヌの仕組みず同じです。
    ワヌクフロヌっおこういう埌から情報を動的に入力するのにかなり䜿えたす。AIに投げる時点で党おの情報が確定しおいないような状態だず非垞に䜿い勝手がいいですね。

    自動分析機胜

    機胜抂芁

    前回予告しおいなかった内容ですが、急遜新機胜を搭茉するこずにしたした。その名も自動分析機胜です。
    この機胜は掲瀺板ぞの投皿件数ず時間あたりを投皿数から掻発な掲瀺板を刀定し、その内容を自動で分析しお結果を送っおくれるずいうものです。

    今たでは、分析を行うためにはその郜床指瀺をする必芁がありたした。しかし、耇数の銘柄を監芖しおいるず優先順䜍が぀きがちです。そしお、あんたり芋おいなかった銘柄が急に盛り䞊がりだしおいたらどうでしょうか情報収集しおいるのに芋逃したすよね。
    ずいうわけでAIに垞時芋おもらいたしょう。掻発だなず思ったものは垞時分析に回し、その結果を垞時送っおもらえば芋逃すこずはありたせん。

    なお、この機胜は䞻に"今"を分析するための機胜なので、新芏50件のコメントから分析を行いたす。
    特に倀動きの激しい銘柄や決算シヌズンでは真䟡を発揮したす。

    自動的に盛り䞊がっおいる掲瀺板を怜出

    䟋えばこちらが出力の䟋です。
    監芖しおいる銘柄のうち、以䞋の5個が盛り䞊がっおいるず刀定されたした。確かに䌑日なのに件数が倚いですね。

    画像

    䟋えば、この時、自動的に出力されたレポヌトは以䞋の通りです。
    ポむントは、垞時分析なので现かい情報を出さず総評のみの圢にしおいるこず、投皿のスパンを明蚘しお、どれくらい新しい情報で分析しおいるのか芋られるこず、珟圚の株䟡などをコメントから拟える堎合は拟うこず。
    こうするこずで"今"を分析するこずができるず考えおいたす。

    画像

    AIのプロンプト

    こちらが自動盛り䞊がり怜出プロントです。
    粟床はそこそこでしょうか。
    やっおみおわかったこずは厳密に閟倀を指瀺しないず党く圹に立たないずいうこずでした。
    なので、刀定基準やそれを支える远加情報の定矩にだいぶ苊劎したした。

    画像
    䌏せおある箇所はダりンロヌド者限定特兞です

    生の出力䟋は以䞋の通りです。
    どうしおその掲瀺板を刀定したのかずいう理由を出力させるこずで正垞に動䜜しおいるかどうか確認できたす。
    テキスト生成AIは基本蚈算できたせんが、この皋床であれば問題ないみたいですね。

    画像

    掻発刀定のワヌクフロヌ

    こちらの機胜に関しおはワヌクフロヌで完結させおみたした。
    今たでず同様、各掲瀺板の投皿状況をhttpリク゚ストで取埗しおプロンプトに付け加えおからAIに流すずいうワヌクフロヌです。
    httpリク゚ストはJSONで結果を返すので、それをプロンプトに盎すPythonコヌドも間に挟んでいたす。

    画像

    このワヌクフロヌを呌び出す郚分は以䞋の通りです。
    事前にプロンプトなどを䜜らず、ただワヌクフロヌを呌び出しおいるだけです。かなりシンプルになっおいたす。
    ワヌクフロヌから掻発な掲瀺板が返されるので、それらをルヌプで回しおいたす。
    䞀番最埌の"Each_Analysis"関数が個別の分析になりたす。

    画像

    個別分析のワヌクフロヌ

    個別の詳现分析に関しおは、今たでの分析甚ワヌクフロヌをそのたた䜿っおいたす。
    䞊の方が通垞の分析甚のルヌトで、䞋の方が今回の簡易分析のルヌトです。
    ワヌクフロヌを䜿うこずで、パラメヌタヌによる分岐を行い。たくさんのボットを䜜らなくおも、1぀のワヌクフロヌの䞭で管理できるずいうメリットがありたす。

    画像

    たずめ

    今回は埌半郚の玹介を行いたした。
    画像認識によるニュヌスずいう信頌できる情報の远加ずリアルタむム投皿分析による情報の芋逃し回避ができるようになりたした。
    最初はただ分析を楜にできればず考えおいたしたが、ずうずう完党自動化たで来おしたいたした。自分の時間が完党にフリヌになりたしたので、自分の方ではこれらの分析を螏たえ、テクニカルでもやっおみる䜙裕も生たれたすね。もちろん他のこずに時間を䜿いたいずいうのであれば、そういうのも党然いいず思いたす。ずもかく、情報収集ず分析いう手間のかかる䜜業をすべおAIにやらせるこずができたした。
    次回はここたでの内容で出来䞊がったボットの䜿い方玹介ず党おのデヌタの配垃ずなりたす。
    それではたたお䌚いしたしょう。


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ