Databricksは、社会的影響をもたらすための無償の専門サービスを提供する草の根的な取り組みであるDatabricks for Goodを通じて、Virtue Foundationと提携しました。このパートナーシップを通じて、Virtue Foundationは、最先端のデータインフラストラクチャを最適化することで、世界中に質の高い医療を提供するという使命を推進します。
Virtue Foundationは、静的および動的なデータソースを利用して、医師をボランティアの機会とつなげます。データが最新の状態を保つために、組織のデータチームはAPIベースのデータ取得パイプラインを実装しました。組織名、ウェブサイト、電話番号、住所などの基本情報の抽出は自動化されていますが、医療専門分野や活動地域などの特殊な詳細は大幅な手作業を必要とします。この手動プロセスへの依存は、スケーラビリティを制限し、更新の頻度を減らします。さらに、データセットの表形式は、財団の主要なユーザーである医師や学術研究者にとって使い勝手の問題を提起します。
簡単に言うと、Virtue Foundationは、その主要なデータセットが常に最新で、正確で、容易にアクセス可能であることを確保することを目指しています。このビジョンを実現するために、Databricksの専門サービスは以下のコンポーネントを設計し、構築しました。
上記の図で示されているように、私たちはクラシックなメダリオンアーキテクチャを使用してデータを構造化し、処理します。私たちのデータソースには、APIやウェブベースの入力が含まれており、これらをまずバッチSparkプロセスを通じてブロンズのランディングゾーンに取り込みます。この生データは、シルバーレイヤーで洗練され、通常は構造化ストリーミングで実装される増分的なSparkプロセスを通じてメタデータをクリーンアップし、抽出します。
処理が完了すると、データは2つのプロダクションシステムに送信されます。最初のシステムでは、病院、NGO、関連団体に関する重要な情報を含む堅牢な表形式のデータセットを作成します。これには、その場所、連絡先情報、医療専門分野などが含まれます。二つ目のシステムでは、LangChainベースの取り込みパイプラインを実装し、生のテキストデータをDatabricks Vector Searchにインクリメンタルにチャンク化し、インデックス化します。
ユーザーの視点から見ると、これらの処理されたデータセットはvfmatch.orgを通じてアクセス可能であり、Databricks AI PlaygroundでホストされるRetrieval-Augmented Generation (RAG) チャットボットに統合され、ユーザーに強力な対話型データ探索ツールを提供します。
このプロジェクトの大部分は標準的なETL技術を活用していますが、この実装において有用だった中級および上級の技術もいくつかありました。
Virtue Foundationは、ウェブサイトのサービングレイヤーとしてMongoDBを使用しています。DatabricksをMongoDBのような外部データベースに接続することは、互換性の制限のために複雑になることがあります。特定のDatabricksの操作がMongoDBで完全にサポートされていない場合やその逆の場合、プラットフォーム間でのデータ変換の流れが複雑になる可能性があります。
これに対処するために、私たちは双方向の同期を実装し、シルバーレイヤーからのデータがMongoDBにどのようにマージされるかを完全に制御することができます。この同期はデータの二重コピーを維持し、一方のプラットフォームでの変更が同期トリガーの頻度に基づいて他方のプラットフォームに反映されます。高レベルでは、2つのコンポーネントがあります:
forEachBatch()
内でmerge
ステートメントを適用し、これらの変更をDatabricksのテーブルに反映させます。この双方向のセットアップにより、DatabricksとMongoDBの間でデータがシームレスに流れ、両システムが最新の状態を保つことができ、データの孤立を排除します。
この部分を担当してくれたAlan Reeseに感謝します!
データ統合を効率化するために、ウェブサイトのテキストブロックから病院情報を抽出し、統合するためのGenAIベースのアプローチを実装しました。このプロセスには2つの主要なステップが含まれます:
伝統的には、これにはファジーマッチング技術と複雑なルールセットが必要でした。しかし、埋め込み距離とシンプルな決定的なルール、例えば、国の完全一致を組み合わせることで、効果的でありながら比較的簡単に構築・維持できるソリューションを作り出すことができました。
現在の製品のイテレーションでは、以下のマッチング基準を使用しています:
素晴らしいデザインアイデアと最初から最後まで実装してくれたPatrick Leaheyに感謝します。
前述の通り、広範なインフラストラクチャは標準的なDatabricksのアーキテクチャと実践に従っています。主要なコンポーネントとそれを可能にしたチームメンバーの概要は次のとおりです:
Virtue Foundationとの協力を通じて、データとAIが医療分野で持続的なグローバルな影響を生み出す可能性を示しています。データの取り込みからエンティティの抽出、検索補強生成まで、このプロジェクトの各フェーズは、豊かで自動化され、対話型のデータマーケットプレイスを作り出す一歩となっています。私たちの共同努力は、医療の洞察が最も必要とする人々にアクセス可能となるデータ駆動型の未来の舞台を設定しています。
他のグローバル非営利団体との同様のエンゲージメントについてのアイデアがあれば、dataforgood@databricks.comでお知らせください。