CorpLink-AI データ処理 WEB APP
https://yotenra.com Github: https://github.com/shiameyeung/CorpLink-AI 技術スタック: Python (FastAPI, Pandas, spaCy), OpenAI API (gpt-4o-mini), MySQL, HTML/JS, Nginx, PM2 【開発の背景】 「LexisNexis・Factivaなどの非構造化ニュースデータ」と「Gephi等の社会ネットワーク分析ツール」の間に存在するギャップを埋めることを目的として開発。当初はローカルのPythonスクリプトとして実装していたが、複雑な環境構築や依存関係のインストールが非技術系の研究室メンバーにとって大きな障壁となっていたため、即座に使えるWebアプリケーションとして全面的に作り直した。また、従来の手作業による企業ネットワークデータのクレンジングはコストが高く、品質基準も不均一という課題があった。ChatGPTで1件ずつ処理する方法も、作業者の時間と注意力を大量に消費するうえ、会話の進行に伴うコンテキストのハルシネーションやレスポンス低下・ウィンドウ切り替えの手間が生じるという問題を抱えていた。 【コアアーキテクチャと実装】 ハイブリッドNLP抽出によるコスト削減パイプライン:フルテキストをLLMに投入するコスト高なアプローチを排除。第一層に軽量なローカルNLPフレームワーク(spaCy/GiNZA)とキーワードマッチングを組み合わせ、ビジネス提携のセマンティクスを含む文や非標準のエンティティ名のみを選択的に抽出。その後、ローカルDBで重複排除・照合を行い、APIのトークン消費を最小限に抑えた。 LLMによるエンティティ名寄せとデータフライホイール:ローカルDBで未ヒットの複雑な別名・略称を持つ新規エンティティに対してのみ、OpenAI API(gpt-4o-mini)を自動呼び出しして高精度なエンティティ正規化を実行。統一されたモデルとプロンプトエンジニアリングによりクレンジング基準の一貫性を担保した。正規化結果はDBに書き戻す「キャッシュ閉ループ」を構築し、同一エンティティへの重複トークン消費を防ぐとともに、データ蓄積に比例してAPIコストが継続的に低減する仕組みを実現した。 構造的ノイズ除去とプロダクション環境へのデプロイ:エンティティへの業界タグ付けにより、PR Newswireなどのメディア配信会社といったネットワーク分析上のノイズをワンクリックで除外できる「Tag First, Filter Later」アーキテクチャを独自に設計。バックエンドにはFastAPIを採用して高性能な非同期処理を実装し、長時間タスクのタイムアウト問題を解消。NginxとPM2を用いてLinuxサーバー上での本番環境デプロイとプロセス監視を完了した。 【定量的成果】 コスト・工数の大幅削減:シングルvCPU / 2GBメモリのインスタンス上で、3,786万文字のテキストを解析し、60,595件のエンティティ名の抽出・クレンジングをわずか3時間4分で完了。全文をLLMに直接入力した場合に想定される$900以上のAPIコストを、$0.25まで圧縮(削減率99.97%)した。 成果の転換:従来は純粋な人手による確認作業だけで数ヶ月・1,000人時超を要していたプロセスを、数時間のバックエンド処理に短縮。社会ネットワーク分析に直接使用できる高純度・低ノイズの隣接行列データの出力に成功した。これにより学術研究・ビジネスインテリジェンス分析の生産性を大幅に向上させ、研究室メンバーが反復作業から解放されより創造的な研究に集中できる環境を実現した。