メインコンテンツへスキップ
見出し画像

テキスト画像認識 x Gemini x Pythonで情報を楽々ストック ~崩れたテキストをAIに整理してもらう~

    こんにちは、Rcatです。
    突然ですが画像の文字列認識やります。
    本記事は100%無料です。とある理由で有料化しています(カッテクレテモイイヨ)。

    DIfy系目次記事

    なぜやりたいのか

    別途やっている掲示板要約AIの情報源です。
    ちゃんとしたニュースの情報や銘柄のデータを、スマホアプリのスクショをアップロードするだけでデータベース化することが最終目的です。

    インストール

    適当に調べてインストールしました
    ライブラリはpyocrですが、これはtesseractをpythonで使うための橋渡し役みたいなので、tesseractもプラットフォームごとにインストールが必要です。
    今回はLinuxなので下記コマンドで行います

    $本体
    sudo apt -y install tesseract-ocr libtesseract-dev
    $日本語モデル
    sudo apt -y install tesseract-ocr-jpn tesseract-ocr-jpn-vert
    $スクリプト?
    sudo apt install tesseract-ocr-script-jpan tesseract-ocr-script-jpan$vert
    
    $インストールを確認
    rcat@rcat-Green-G5:~$ tesseract  --list-langs
    List of available languages (6):
    Japanese
    Japanese_vert
    eng
    jpn
    jpn_vert
    osd
    
    $Pythonライブラリ
    pip install pyocr

    実行する

    適当にコードを調べて自分なりに組み立てて実行します

    例コード

    フォルダ内全ての画像をテキスト認識させる例。
    画像はグレースケール化後にコントラストをアホみたいに上げて文字通り白黒つけています。
    こうすると色付きの文字などがあっても関係なく完全な白黒になります。
    もちろん事前に確認して、消える方にならないようにしてください。

    from PIL import Image,ImageEnhance
    import pyocr
    
    #オリジナリティが無いのでwithwithwithにしてみた。for内だしちょうどいいはず…。
    def Main():
    	OCR = pyocr.get_available_tools()[0]
    	for f in glob.glob("*.png"):
    		with Image.open(f) as img:
    			with img.convert('L') as Gimg:
    				enh = ImageEnhance.Contrast(Gimg)
    				with enh.enhance(10.0) as Cimg:
    					txt = OCR.image_to_string(Cimg,lang="jpn")
    					print(txt)
    Main()

    使用画像

    今回使う画像がこちら。ISPEEDのニュース画面です。
    配信されたニュースをテキスト化します。

    画像

    結果

    非常に素晴らしい結果ですね。
    ISPEEDは文字のコピーができないので、要約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

    Geminiで処理する

    次に出来上がったテキストをGeminiで整理してみます

    プロンプト

    とりあえず形式を整えてもらう感じにしてみました

    画像
    ず->づ

    実行結果

    完ぺきでは…?

    note、新会社TaLes&Coを設立
    
    note<5243.T>は24日、クリエイターの創作活動への支援と作品のポテンシャルを引き出す新規事業の推進を目的に、100%子会社TaLes&Co.(テイルズアンドコー)を設立したと発表した。
    
    今後さらに積極的にクリエイターの創作活動を支援し、さまざまなメディアとの連携によって作品の持つポテンシャルを最大化させてミッション実現を目指す。
    
    前週末24日終値は、前日比2円安の577円。

    実行結果2

    次回予告になりますが、こんな感じの出力をさせて活用予定です。
    具体的なプロンプトなどはそちらで紹介予定。

    [
      {
        "name": "note",
        "news": "クリエイターの創作活動支援と作品のポテンシャルを引き出す新規事業推進のため、100%子会社Ta Les&Co.を設立。クリエイターの創作活動を支援し、メディアとの連携で作品のポテンシャルを最大化を目指す。"
      }
    ]

    まとめ

    今回は寄り道して画像認識をしてみました。
    現在作成中の株式掲示板要約BOTは掲示板情報しかないため、真偽不明であるなどと回答されることもあるので、こういった信頼できる筋からの情報も交えることで回答精度を上げられそうです。
    次の段階は、目標株価やレーティング情報などを画像を貼るだけでデータベース化するあたりでしょうか。
    それではまたメインの記事でお会いしましょう

     
     
    モノづくりが趣味。 "売ってないなら自分で作ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワーク 全部やります。 記事執筆はAI不使用。 ご連絡や利用規約はプロフィール記事参照。

    あなたへのおすすめ