日本語に特化したAI OCR「YomiToku」の紹介
いいね : 106
タグ : python, ai, ocr, yomitoku
YomiTokuは日本語に特化したAI OCRソフトウェア。主な特徴は以下の通り。
- AIを活用した高精度な認識: 文字位置検知、文字列認識、レイアウト解析、表構造認識の4種類のAIモデルを搭載し、日本語データセットで学習しているため、複雑な表組みや縦書き文書にも対応。
- 日本語・英語対応: 7,000文字を超える大規模な日本語文書も処理可能。
- 多様な出力フォーマット: Markdown、JSON、HTML、CSV形式での出力が可能。システム連携や用途に合わせた利用が容易。
- 高いセキュリティ: クラウドサービスではないため、自社サーバー内で処理を行い、機密情報の保護が可能。
- GPU利用による高速処理: 8GB以内のVRAMで動作するため、比較的一般的なGPU環境でも高速処理を実現。
2025年 生成AIの新たな波「AI エージェント」の可能性
いいね : 93
タグ : agent, openai, 生成ai, chatgpt, llm
2025年の生成AIトレンドは「AIエージェント」である。2023-2024年はRAG(Retrieval Augmented Generation)が注目されたが、AIエージェントはRAGを包含し、より汎用性の高いソリューションとなる。従来の生成AIアプリはLLMへの質問応答が中心だったが、AIエージェントはLLMにタスクを実行させる点が異なる。旅行の手配や企業の売上分析と在庫管理など、複雑なタスクを自律的に実行できる。AIエージェントの要素技術はLLM初期から存在し、エージェントシステム、Function Calling、マルチエージェントが主要な技術である。エージェントシステムはLLMにより役割を与えられたプログラムが、ユーザーの代わりにタスクを計画・実行・応答する仕組みである。
新しい curl コマンドの使い方 完全ガイド(2025年版)
いいね : 127
タグ : shellscript, curl, http, json, シェル芸
- curlコマンドは多様な環境で動作し、長い歴史を持つが、古い情報も多い。
- 最新版では、
-X POST -H "Content-Type: application/json"
のような記述は不要になっている。 - curlの発音は「kurl」(カール)に近い。
- 以前は"see URL"と発音すると言われていたが、現在は否定されている。
- 記事で使用されているcurlのバージョンは8.12.1。
Azure 初学者必見!MVP が教える勉強方法🧑💻
いいね : 81
タグ : microsoft, azure, cloud, 勉強法, 初学者向け
Azure初学者の学習方法として、以下の方法が紹介されている。
- Microsoft Learnの活用: Microsoft公式の無料学習コンテンツ。Azureの基礎から特定のサービスまで幅広く学ぶことができる。
- クラウドデベロッパーちゃんねる: YouTubeチャンネルで、Azureに関する様々な技術情報を動画で提供。
- 資格取得(AZ-900): 学習の指針となる資格。Microsoft LearnやVirtual Training Daysで無料または割引価格で学習可能。クラウド概念、Azureアーキテクチャ、管理・ガバナンスの3分野をカバー。
- 技術コミュニティへの参加: JAZUG、すきやねんAzure!!、Code; Without Barriersなど、Azureを学ぶ仲間と繋がり、学習を促進できる。
携帯キャリアの解約予測に基づくLTV(ライフタイムバリュー)算出による優良顧客分析・マーケティング戦略立案
いいね : 21
タグ : 機械学習, #マーケティング, #データ分析, #datarobot, #ltv
・架空の携帯キャリアの顧客データを用いて、DataRobotとTableauを活用した顧客解約予測とLTV算出の事例を紹介。
・DataRobotで解約予測モデルを構築し、TableauでLTVの高い顧客の特徴を可視化することで、データドリブンなマーケティング戦略立案を支援。
・顧客ID、加入日、購入場所、性別、年齢、都道府県、シニアフラグ、パートナー有無、扶養家族有無、在職期間、契約期間、毎月の請求額、合計請求額、ブランド再購入意向、契約きっかけ、乗り換え頻度といった顧客属性データから解約予測を行う。
・本記事では、データ準備、モデル構築、可視化・分析といった一連の流れを簡略化して説明。
・LTVの高い顧客の特性を把握することで、マーケティング投資の最適化や顧客維持戦略の強化といった施策に繋げることが可能。
【🔰初心者向け】Git入門 [log, diff, reset, reflog]
いいね : 15
この記事はGit初心者向けに、log
、diff
、reset
、reflog
コマンドの使い方を解説している。git log
コマンドでコミット履歴を確認できる。git diff
コマンドでファイルの変更差分を確認できる。git reset
コマンドで特定のコミットまで変更を取り消せる。git reflog
コマンドはreset
を含む全ての操作履歴を表示し、誤った操作から復帰するのに役立つ。これらのコマンドはGit操作において変更履歴の確認と修正を行う上で必須である。
AWS SDK for JavaでS3メタデータを扱う
いいね : 9
AWS SDK for Java v2を用いたS3メタデータ操作方法について解説している。S3へのファイルアップロード時に、メタデータを付与する方法を紹介。メタデータはMap<String, String>
型で指定し、putObject
メソッドのmetadata
引数に渡す。uploadFileToS3
メソッドのサンプルコードでは、ファイルデータ、バケット名、キー、メタデータを受け取り、S3クライアントを使ってアップロード処理を実行する。例外処理も含まれている。
次世代のサーバー見えなくなる。
いいね : 16
タグ : actor, swift, distributedsystems, serversideswift
Swift 6.0 の Resolve DistributedActor Protocols により、サーバーは抽象的なアクターとして扱われ、内部実装が隠蔽される。クライアントはプロトコルで定義されたインターフェースを通してサーバーと通信し、複雑な内部実装を意識する必要がない。全てのAPIはインターフェース(プロトコル)として定義され、クライアントはサーバーの実装の詳細を知る必要がない。@Resolvable マクロにより、分散プロトコルに対してスタブ型が自動生成され、クライアントはこれを介してリモート参照を解決し、サーバー実装に依存しないAPI呼び出しが可能になる。
【kintone】Chobiit(外部公開)フォームから入力され、レコードが追加されたときの通知をメールで受け取りたい
いいね : 6
kintoneでChobiit外部公開フォームからのレコード追加時にメール通知を受け取る方法について解説。
- Chobiitフォームからの入力はREST API経由のため、標準の通知設定ではメールが送信されない。
- メール通知を受け取るには、kintoneシステム管理の「利用する機能の選択」で「REST APIの通知をメールで送信」を有効にする必要がある。
- この設定変更により、REST API経由の全ての操作がメール通知対象となるため、大量のメール送信に注意が必要。
- アプリの条件通知設定は必要だが、これだけではChobiitフォームからのレコード追加では通知されない。
- kintoneの個人設定でメール通知を有効にしておくことが前提。
【IBM Cloud】Virtual Server for VPC上のPrivate Path機能を使ってサービスを公開する流れ
いいね : 8
タグ : 初心者, vpc, service, ibmcloud, publisher
IBM CloudのVPC Private Path機能を利用したサービス公開の流れを検証した記事の要約です。
- Private Pathを使うと、インターネットを経由せずIBM Cloud経由でサービスにアクセスできるため、セキュリティが向上する。
- プロバイダーとコンシューマー両方のリソースをホストするIBM Cloudの有料アカウントと、VSI接続用のSSH Keyが必要。
- サービス作成とアクセスには、TerraformベースのIBM Cloud Schematicsを利用し、Private Pathを含む環境を自動構築する。
- Schematicsのリージョンはダラス、ワシントンD.C.、フランクフルト、ロンドンの4箇所で、今回の検証はフランクフルトで実施。
- サービスにはnginxベースのWebアプリサーバーを使用し、SSH KeyとVSIインスタンスは同一リージョンに配置する必要がある。
AWSアップデートに溺れない!ツイート数で見る、本当に重要な情報とは?
いいね : 16
タグ : aws, twitterapi, 可用性, コスト, opensearch
AWSのアップデート情報を効率的に収集・管理するためのシステムと、その構築における失敗談を紹介している。
-
X(旧Twitter)のツイート数に基づいてアップデートの重要度を可視化: AWS公式RSSフィードから取得したアップデート情報をDynamoDBに保存し、XのSearch Tweets APIでツイート数を取得。OpenSearch Serviceに連携してツイート数順に表示することで、注目度の高いアップデートを容易に把握できる。
-
DynamoDBとOpenSearch Service間のゼロETL連携における課題: ゼロETL設定にはDynamoDB Streamsとポイントインタイムリカバリの有効化が必須。また、パイプライン実行IAMロールにOpenSearch Serviceへの適切な権限付与が必要。CloudWatch Logsでエラー監視も重要。
-
OpenSearch ServiceのServerlessオプションは高コストになる可能性: 最小構成ではマネージド型クラスターより高コスト。可用性を考慮した構成でもコスト差は縮小するが、依然としてServerlessの方が高価な場合があるため、要件に応じた選択が重要。
-
OpenSearch Serviceの1台構成運用はデータロストのリスク: ノード障害時にデータ復旧が不可能になるため、最低3台構成での運用が推奨される。また、t系インスタンスはメモリ不足で不安定になりやすいため、より上位のインスタンスを検討すべき。
伝わる説明を書くスキル
いいね : 19
・説明には前提条件を省略せず、過去の修正やチーム内での共通認識であっても明記する。省略すると、後から見た人が理解に苦しみ、調査に余計な工数がかかるため。
・説明対象は統一し、別の事柄について言及する場合は明示的に区別する。時系列が異なる修正内容をまとめて説明すると、誤解を招く可能性がある。
・結論を最初に書く。結論を「これから説明する内容のトピック」と「そのトピックに対する回答」で構成し、その後、根拠となる詳細説明を続ける。
・不用意に長くて難しい語彙の使用は避ける。簡潔で分かりやすい言葉を選ぶことで、誤解を防ぐ。
Scikit-Learnが遅いので、C++製の超高速機械学習ライブラリを作った話
いいね : 9
タグ : python, cpp, 機械学習, ライブラリ, ai
Scikit-learnの速度不足を解消するため、C++製の機械学習ライブラリVeloxMLが開発された。VeloxMLは、C++による実装、OpenMP/TBBによる並列処理、BLAS/LAPACKを用いた最適化により高速化を実現している。Python APIを提供し、Scikit-learnのように使いやすい。線形回帰、ロジスティック回帰、決定木、ランダムフォレスト、SVMなど主要なアルゴリズムを実装済み。将来はAutoMLやGPU対応も計画されている。
Raggle第2回コンペ 1位解法 – 製薬企業向けRAGの精度改善
いいね : 5
タグ : 自然言語処理, rag, chatgpt, llm, rag精度向上
・Raggle第2回(ロート製薬協賛)でLong-Context(LC)を使ったRAGにより1位を獲得。
・GraphRAGやベクトル検索は利用不可、LCは全文入力のため、2段階処理を採用。1段階目で回答に必要な文書を絞り込み、2段階目で絞り込んだ文書から回答生成。
・過学習を避けるため、回答生成後の評価・修正処理は行わず、質問への直接回答生成方式を採用。
・画像データはgpt-4o-miniのVision機能でテキスト抽出。API制限と安定性から、EasyOCRのようなローカル処理が有効な可能性。
・API使用回数制限下でのRAG設計の難しさを実感。gpt-4oやo1、複数要約からの統合、プロンプトエンジニアリングの改良で更なる精度向上が期待できる。
M5Stack Module LLMでFunction Callingを実行~StackFlow編
いいね : 4
タグ : m5stack, module-llm, ax630c
M5Stack CoreでFunction Calling対応の軽量LLMモデルをシリアル通信経由で利用できるよう、Module LLMのフレームワークStackFlowにモデルを組み込む方法が紹介されている。手順は以下の通り。Hugging Faceから取得したモデルファイル一式を/opt/m5stack/data
に配置する。容量が大きいため、SDカードに保存しシンボリックリンクを作成する方法が推奨されている。StackFlowの修正・ビルドは不要。M5Stack Core側のライブラリ(M5ModuleLLM)の修正が必要となる場合がある。
エンジニアとクリエイターの壁をなくす!思考法の違いと共創の実践
いいね : 4
タグ : エンジニア, #チーム開発, #勉強法, chatgpt, #クリエイター
エンジニアとクリエイターの思考様式の違いを理解し、協働を円滑にするための方法が述べられている。
- エンジニアは減点法(実現可能性から検証)、クリエイターは加点法(理想から発想)で考える傾向があるため、相互理解が重要。
- チーム開発では、まず加点法でアイデアを広げ、実現性を検証する段階で減点法を取り入れると効果的。
- コミュニケーションギャップを減らすには、双方の思考法を意識し、共通言語を用いることが重要。
- ChatGPTのようなAIツールは、アイデア出しや情報整理に役立ち、円滑な開発を促進する。
- 本記事は、エンジニア、デザイナー、ディレクターなど、チーム開発に関わる全ての人にとって有益な情報源となる。
Linux学習 4日目
いいね : 10
タグ : linux
UNIX系OSのカーネルアーキテクチャとして、モノリシックカーネルとマイクロカーネルが挙げられる。モノリシックカーネルは高速だがモジュール化が難しく、マイクロカーネルはモジュール化しやすいがプロセス間通信のオーバーヘッドがある。カーネルモジュールは、モノリシックカーネルの性能を維持しつつマイクロカーネルの利点である拡張性を実現する仕組みである。モジュールは実行時に動的にロード・アンロードでき、メモリ効率が良い。また、カーネル空間で実行されるため、マイクロカーネルのようなオーバーヘッドが発生しない。
エンジニアがヨガを取り入れると生活の質が向上する理由 姿勢改善&集中力アップ!
いいね : 10
・長時間のデスクワークを行うエンジニアは、姿勢の崩れや運動不足による健康問題を抱えやすい。ヨガはこれらの問題解決に効果的。
・ヨガの効果として、姿勢改善、肩こり・腰痛改善、集中力・生産性向上、ストレス軽減、柔軟性向上などが挙げられる。
・筆者自身もヨガで体の不調が改善し、生活の質が向上した経験から、エンジニア向けのヨガ講座を企画中。
・講座内容は、短時間でできるヨガポーズ、集中力を高める呼吸法、肩こり・腰痛・疲労改善ヨガなどを予定。
PostgreSQLのプリペアドステートメント、6回目で実行計画が変わる件についての備忘録
いいね : 5
タグ : postgresql, preparedstatement
PostgreSQLのプリペアドステートメントは、実行回数によってクエリプランが変化する。1〜5回目は、実行時のパラメータを考慮した「カスタムプラン」が使用される。しかし、6回目以降は「汎用プラン」が使用される可能性がある。これは、PostgreSQLがカスタムプラン作成のコストと汎用プラン使用のコストを比較し、汎用プランの方が効率的だと判断した場合に起こる。極端なデータ分布の場合、このプラン変更によりパフォーマンスが低下する可能性がある。
Pythonで作成した物体検出アプリをC++、C#でWindowsネイティブアプリに作り直した話
いいね : 8
タグ : python, csharp, vc++, ポエム, 生成ai
FF14のユーザー名を動画から自動で黒塗りするアプリをPythonからC++/C#でWindowsネイティブアプリとして再開発し、Microsoftストアで公開した。
当初、Python版はPyInstallerでEXE化していたが、処理速度の低下、PyInstallerのセキュリティ警告、FletのGUIバグといった問題を抱えていた。C++/C#ネイティブ化によってこれらの問題解決と処理速度向上を目指した。
開発においては、C++でのONNX物体検出時に検出漏れが発生する問題や、CUDA推論がPyInstaller版より遅い問題、ffmpeg.exeのコンソール画面表示と処理速度の遅さ、Microsoftストアの審査リジェクトといった困難に直面した。
最終的に、起動速度向上、DirectML対応による動作環境拡大、OpenCV処理の高速化、ストア公開によるセキュリティ向上、アフィリエイト広告導入といった成果を得た。しかし、期待していた処理速度向上やファイルサイズ縮小は実現できなかった。
また、生成AIによるコード生成の限界も認識した。既存コードの組み合わせは得意だが、新規性のあるコード生成は難しく、開発者の深い理解とスキルが依然として重要であることを実感した。
どうしてもWPFのWindows10OCRがフォームで使いたい
いいね : 3
クリップボードの画像からOCRでテキストを抽出するC#コードを紹介している。Windows 10のOCR機能を利用し、Windows.Media.Ocr名前空間を使用。クリップボードに画像がない場合はエラーメッセージを表示。取得した画像はMemoryStreamに保存後、Windows Runtimeで扱えるよう変換し、デコード処理を行う。最後にOCRエンジンでテキスト認識を行い、結果をラベルに表示する。
DataRobot CodeSpaceでLLMを活用した名寄せ処理をやってみた
いいね : 5
タグ : datarobot, llm,, codespace,, 名寄せ,, 前処理,
DataRobot CodeSpace上でLLMを用いた名寄せ処理の実装例を紹介している。Azure OpenAIのGPTモデルを活用し、表記ゆれのある会社名を名寄せするPythonコードが提供されている。DataRobot CodeSpaceはJupyter Notebook形式に対応し、GPU環境も利用可能。コードの再現性も高く、DataRobotの他機能との連携も容易。名寄せ処理はAPIトークンによるコストが発生するため、要件に応じた利用判断が必要。
MusicKitを使ってiOSの音楽再生アプリを作ってみる
いいね : 8
タグ : ios, 音楽再生, musickit, swiftui, applemusicapi
iOSアプリでApple Musicを操作するMusicKitの使い方を解説した記事。
- MusicKitはApple Musicとアプリを連携させるためのライブラリ。Apple Musicのカタログにアクセスし、音楽の再生、停止などを制御できる。
- 作成するサンプルアプリでは、ライブラリの曲情報、オススメのアルバム、プレイリスト、ステーションを表示。アートワークタップで音楽再生、再生/一時停止操作も実装。
- 事前準備として、Apple DeveloperサイトでApp ServiceのMusicKitを有効化し、開発者トークンを自動生成する設定を行う。
- アプリのinfo.plistに
NSAppleMusicUsageDescription
キーを追加し、音楽ライブラリへのアクセス許可を求めるメッセージを設定する必要がある。
AIで英単語を漫画化するけど、つまらない内容なので人間が面白くする「コミ単」開発事例
いいね : 2
タグ : firebase, #nextjs, #stablediffusion, #gpt4, #生成ai
「コミ単」は、AIが生成した漫画で英単語を学習するWebアプリ。当初AIが生成する漫画が面白くなかったため、ユーザーがそれを編集できる機能を追加した。この機能は好評で、AI生成コンテンツをベースにすることで想像しやすくなったという意見が出ている。開発にはNext.js、Firebase Functions、GCP/Firebase、Stable Diffusion、GPT-4を採用。当初DALL-E 3を使用していたが、アメコミ風の画風になることからStable Diffusionに変更した。Firebaseのサーバーレス構成により少人数での開発を実現した。
VSCodeでCopilotを使ってみた感想
いいね : 2
タグ : python, github, vscode, copilot, githubcopilot
筆者はVSCodeの拡張機能GitHub Copilot (GPT-4o)をPython学習教材「30DaysOfPython」で試用した。Copilotは問題文と解答を記述していくと、次の問題文と解答を予測し、Tabキーで入力補完してくれる。驚くべきことに、教材にない問題も自動生成した。Copilotは優秀なプログラミングパートナーとなる一方、コードを自分で書かないため学習効果が薄れる可能性も示唆。今後はCopilotにコードを書かせ、人間は思考に集中する役割分担が進むと予測している。
Laravel大量データ処理の最適化
いいね : 3
Laravelの大量データ処理におけるEloquentモデル、チャンク処理、バルク処理の比較とEloquentモデルの処理方法について解説されている。
-
Eloquentモデルは、レコードごとにクエリが発行されるため、大量データ処理には非効率でメモリ消費量も高く、処理速度も遅い。ただし、モデルイベントやトランザクション、タイムスタンプの自動処理などの利点がある。
-
チャンク処理は、データを分割して処理するため、メモリ使用量を制御できるが、クエリ数は依然として多く、処理速度は中程度。モデルイベントは動作する。
-
バルク処理は、一度に大量のデータを処理するため、クエリ数が少なく、メモリ消費量も低く、処理速度が非常に速い。しかし、モデルイベントは動作しない。
-
1000件のユーザーデータ挿入をEloquentモデルで行うと、1000回のクエリが発行され、処理速度が遅いことがClockWorkで確認できる。
「目的を持った資格取得には価値がある」と信じたい。
いいね : 8
筆者はITコンサル企業に転職後、Azure、Power Platform、Azure AI の3つのMicrosoft認定資格を入社1ヶ月で取得した。資格取得の難易度は低いが、転職先への行動力のアピールを目的としており、実際に社内での認知度向上に繋がったと感じている。資格取得の真の価値は今後のキャリアで明らかになるものの、目的を持って行動した経験は将来役立つと信じている。また、資格不要論者は資格取得していない自分を正当化しているだけで、資格取得者と同じように自己正当化していると分析している。
NeurlPS2024 論文可視化マップと注目論文
いいね : 3
タグ : 機械学習, deeplearning, 論文, neurips2024
NeurIPS2024の論文可視化マップと注目論文を紹介する。可視化マップは多数の論文をクラスタリングし、ML Optimization、LLM、RLHF、Distribution Generalization、Text-to-Image、Adversarial Attacks、Multimodal LMといった主要分野を明らかにしている。注目論文として、グラフニューラルネットワークにおける表現の散乱、微分可能な論理ゲートネットワーク、LSTMの拡張、球面拡散を用いた気候モデルのエミュレーション、ヒューマノイド移動制御のトークン予測問題としてのモデル化、LLMの事前学習効率向上のための選択的言語モデリング、多数の例を活用するMany-Shot In-Context Learning、視覚中心マルチモーダルLLM Cambrian-1、次スケール予測による画像生成手法VAR、推論タスク最適化手法IRPOが紹介されている。さらに、日本ディープラーニング協会による技術報告会で紹介されたその他の論文タイトルも列挙されている。
AWSで音声解析 〜Kinesisに音声を流し込んだら、Transcribeがなんとかしてくれるらしい〜
いいね : 5
タグ : aws, ffmpeg, 初心者, kinesis, transcribe
FFmpeg、Kinesis、Transcribe、Lambda、S3を用いてリアルタイム音声解析システムを構築する方法が紹介されている。まず、FFmpegでマイク等の音声をキャプチャし、WAV形式でKinesis Data Streamsにストリーミング送信する。Kinesisのペイロードサイズ制限(1MB)に対応するため、データ分割が必要となる。次に、LambdaがKinesisのデータを受け取りS3へ一時保存する。最後に、TranscribeがS3の音声ファイルを解析しテキスト化、結果をS3に保存する。
Virtuozzo Hybrid Infrastructure VHIインストール手順
いいね : 2
タグ : vmware, cloud, virtualmachine, virtuozzo, vhi
Virtuozzo Hybrid Infrastructure (VHI) のインストール手順は以下の通り。
- ブート設定:サーバーのBIOS設定で起動順序をUSBメモリを最優先にする。RAID 1構成も確認する。
- インストール開始:USBメモリから起動し、「Install Virtuozzo Hybrid Infrastructure」を選択してインストールを開始する。ライセンス契約に同意する。
- ネットワーク設定:Public、Privateネットワーク共に静的IPアドレスを設定する。DHCPは非推奨。ホスト名も設定。
- クラスター設定:最初のノードでは新規クラスターを作成、Private IPを内部管理ネットワークに、Public IPを管理パネル用に設定する。管理パネルのパスワードも設定。
- インストール先とルートパスワード:インストール先のディスクを選択し、必要であれば領域を初期化する。ルートユーザーのパスワードを設定し、インストールを開始、完了後に再起動する。管理パネルには"admin"ユーザーと設定したパスワードでログインできる。
2025-02-23 5:20:47 AM 時点の情報です。