Weedle: コード実行Notebookにおけるデータ中心のNLPのためのコンポーザブルダッシュボード

NLPの研究者や実務者が自身のデータを理解し改善できるよう支援するために、私たちはデータ中心のNLPのための探索的テキスト分析ツール「Weedle」、そしてのその強みを紹介します。

現実世界のアプリケーション向けに機械学習(ML)モデルを構築する際には、高品質なデータを持つことが、優れたモデルを持つことと同じくらい重要です。NLP研究者や実務者がデータを理解し改善するために、私たちはデータ中心のNLPのための探索的テキスト分析ツールであるWeedleを紹介します。Weedleの主な強みは次のとおりです:

  • Weedleの設計は、公開されているNLP関連のNotebookを分析した結果に基づいています。
  • WeedleはPythonパッケージとして実装されており、Jupyterウィジェットを含んでいます。これにより、既存のMLワークフローにシームレスに統合でき、MLプロセスのあらゆる段階でデータを探索することが可能です。
  • Weedleは、組み込みのテキストサポートと統合されたコンポーザブルダッシュボードを備えています。

Weedleの詳細に入る前に、「データ中心」の意味を説明します。

データ中心AIとは?

従来、研究者が機械学習(ML)モデルを構築する方法は、公開されているベンチマークデータセットでのパフォーマンスを向上させるためにモデルを調整することが中心でした。しかし、BERTのような汎用モデルがさまざまなタスクで非常に良いパフォーマンスを示すようになると、ML実務者の関心は、より優れたモデルを構築することではなく、データの質を向上させることへとシフトしています。このアプローチをデータ中心AIと呼びます。

データ中心AIでは、まずデータを理解することが重要です。つまり、MLライフサイクル全体を通じて、基盤となるデータを慎重に調査し診断する必要があります。たとえば、トレーニングの前後には、十分なデータがあるか、ラベルが一貫して適切に分布しているか、ノイズやバイアスがないかなどを確認する必要があります。モデリング中には、パフォーマンスが低いデータサブセットが存在するかどうかを特定する必要があります。デプロイ後には、データが大きく変化していないことを監視する必要があります。これらの分析から得られる洞察や発見は、データの整形、デバッグ、収集、アノテーション、または拡張の追加ラウンドにつながり、データの改善を促進します。

探索的データ分析(EDA)は、これらの問題に対処するための重要なツールです。EDAは、パターンの特定、外れ値の検出、仮定のテストを支援します。EDAツールは通常、初期のデータ分析ステップで使用されますが、EDAの原則と技術は、MLライフサイクルの他のステップでもデータ、ラベル、モデル出力の洞察を明らかにするのに役立ちます。しかし、現存するEDAツールは、そのままではデータ中心のNLPをサポートするには不十分です。

なぜ既存のデータ探索ツールを使えないのか?

まず、既存のツールはNLPツール群とは分離しているため、複数のツールを切り替える必要があります。スプレッドシート、プログラミング言語、可視化ツール間で頻繁にデータをインポートおよびエクスポートするのは手間がかかります。そのため、既存のモデル開発ツールや環境とシームレスに統合できる探索ツールが必要です。

次に、ほとんどのEDAツールは表形式データのような構造化データ向けに設計されています。その結果、ユーザーはしばしばデータを新しい形式(例: テキスト → 単語頻度、埋め込み、トピックモデリング)に変換したり、サンプルの一部を確認する必要があります(Wongsuphasawat et al. 2019で説明されています)。これには、専用のデータモデル、操作、インターフェースを備えた、組み込みのテキストサポートを持つツールが求められます。

最近では、B2DataPrep.EDAAltairSymphony、Leamのようなツールがコードと可視化を統合することで、これらの課題に対処しようとしています。しかし、これらのツールは、組み込みのテキストサポートが欠如している、カスタマイズ性や構成可能性が不足している、または環境の切り替えを必要とする専用ツールである、といった問題を抱えています。さらに、これらのツールは、人気のあるEDAツールでサポートされているような豊富なインタラクティブ可視化機能を提供していません。

これらの課題に対処するためには、まずNLP研究者や実務者がプロジェクトでデータをどのように調査しているかを理解し、データ中心のNLPにおけるEDAの主要な要件を特定する必要があります。

NLP Notebookの分析: データ探索の実践を理解する

NLPにおける現在のデータ探索の実践を理解するために、KaggleやGitHubから5,000以上の公開されたNotebookを分析しました。

Kaggleから2022年7月時点で最も投票数が多かったNLP Notebook30件を手動で調査し、頻繁に使用されるテキスト変換関数を収集しました。その結果、テキストデータはしばしば構造化形式に変換されることが分かりました(例: 単語頻度分布、n-gramカウント、文書長、ラベル別の分布、埋め込みなど)。これにより、表1に示されているように、さまざまな可視化を使用してさらに分析を進めることが可能になります。

また、コードスニペットの多くが繰り返されていることにも気付きました。たとえば、異なるデータスライスに対して同じ可視化を作成することがよく行われていました。これは、使用されている可視化ライブラリが静的であることが原因である可能性があり、データ中心のNLPにおけるEDAでは、豊富なインタラクション機能が求められる理由の1つです。

可視化 変換
テーブルビュー データのシンプルな概要 / 統計情報、クラス分布
棒グラフ / ヒストグラム クラス分布、単語数、N-gram の出現回数、マッチング条件ごとのデータ項目数、文書の長さ、句読点の分析、特徴の重要度、埋め込みの可視化
折れ線グラフ 文書の長さ、数値の時間的推移
散布図 t-SNE 分布、二変量の相関関係、データ項目の分布、クラスタリングを考慮したデータ項目の分布、数値の時間的推移
KDEプロット 単語数、文書の長さ
円グラフ クラス分布
ツリーマップ 単語数

表1:KaggleのNLPタグ付き最も投票数の多い30件のNotebookから得られた可視化タイプごとの変換関数

これらのKaggleの投票数の多いNotebookは、チュートリアルのように説明が丁寧で参考になるものでしたが、必ずしもタスクにおける最も実用的または高性能な解決策を示しているわけではありません。そこで、追加の分析として、これらの発見が現実の設定に一般化できるか、特に表1に示されるさまざまな可視化がNLP実務者によって積極的に使用されているかを調査しました。

GitHubNotebookデータセットから、最新の80,000件のNotebookをサンプリングし、よく知られたNLP専用パッケージを使用している5,000件のNotebookを抽出しました。その後、import文を調査し、どの可視化パッケージが頻繁に使用されているかを確認しました。上位2つのライブラリ(matplotlibとpandas dataframe)に焦点を当てたところ、ユーザーは棒グラフ、折れ線グラフ、散布図のような基本的な可視化と、洗練されたものではない単純な表をよく使用していることが分かりました。これらの可視化は、変数のパターンや、2つの変数の関係を見つけるために使用されています。

棒グラフと散布図の人気を踏まえ、単変量および二変量分析をサポートするために、これらを基本的な可視化タイプとして採用することを決定しました。

Weedle:データ中心のNLPのための探索的データ分析(EDA)

図1: (a) データ/ウィジェットインスタンスの初期化、変換、およびダッシュボードのロードの構文。(b) 相互接続されたチャートを持つダッシュボードウィジェット。これらはプログラム的またはインタラクティブに構成できます。ユーザーは、ビジュアルオブジェクトをブラッシングまたは選択することでデータ項目をフィルタリングまたはグループ化できます。フィルタービューには現在適用されているフィルターが表示され、テーブルビューには生データが表示されます。

Weedleはpipでインストール可能なPythonパッケージです。ウィジェットはipywidgetおよびSvelteを使用して実装されています。基盤となるデータ操作には、nltk、spacy、gensim、transformersといったNLPパッケージ、およびnumpyやpandasなどのデータ管理/分析ライブラリを利用しています。

テキストサポートのためのデータモデル

入力データは、各行がデータ項目、各列が特徴を表すDataFrameとして保存されます。ユーザーの操作に応じて、データはダッシュボードの可視化のためにフィルタリングおよび集約されます。フィルタリングされたデータや集約されたデータについては、Weedleが探索履歴を保持し、プロヴナンス管理を行います。

Weedleは、簡単なパラメータでトリガーできる組み込みのテキスト変換機能を提供しています(図1a参照)。文書長、単語数、単語埋め込み、固有表現認識、tf-idf、トピックモデリング、感情分析、品詞(POS)タグ付けなど、一般的な機能が含まれています。たとえば、カスタムのストップワードリストを渡してバッグオブワーズを作成するなど、オプションのパラメータを渡すことも可能です。任意のカスタム変換はPython関数としてプラグインできます。
各変換操作は新しい特徴列を追加します。追加された特徴は、記述統計や可視化を作成するために利用できます。

複数の連携チャートを備えたコンポーザブルダッシュボード

Weedleのコンポーザブルダッシュボードウィジェットは、コード実行Notebook内での探索的データ分析(EDA)を可能にします。各ダッシュボードには、チャートビュー、フィルタービュー、テーブルビュー、メニューバーが含まれています(図1b)。ユーザーは、ウィジェット内でプログラム的またはインタラクティブに設定を提供することで、必要に応じてダッシュボードを構築できます。

ダッシュボード内のすべてのコンポーネントはリンクされており、1つのコンポーネントでの選択やフィルタリングが他のコンポーネントに自動的に反映されます(図2)。ユーザーはウィジェットやそのビューコンポーネントのサイズを調整して、必要に応じてより多くのスペースを割り当てることができます。

図2: サブセット分析のためのインタラクティブなフィルタリング。すべてのチャートは共有フィルターによって相互接続されています。(b) ユーザーは、クリック(上)やブラッシング(下)を通じてバーやドットなどのビジュアルコンポーネントを選択し、フィルターを適用できます。(a) および (c) は、フィルタリング操作の前後のウィジェットの状態をそれぞれ示しています。

Weedleについてもっと知りたいですか? デモビデオをご覧ください。また、プロジェクトページで進捗を確認することもできます。

執筆者:Hannah Kim、Megagon Labs

[原文へ – 2023/4/20]

(翻訳:Megagon Labs東京オフィス

この記事をシェアする
13 Min Read
November 7, 2025
「混合シグナル(Mixed Signals)」は、視覚言語モデル(VLM)の隠れたバイアスを明らかにし、ヘルスケア、RAG システム、AI の安全性に対して重大な示唆を与えています。
13 Min Read
May 8, 2025
エージェントによるワークフローをサポートするために、企業システムはどのように進化できるでしょうか?本記事では、AIエージェントやデータ、サービスを、スケーラビリティと可観測性があり、制御可能なエンタープライズ・アプリケーションに統合するためにデザインされたフレームワークであるBlueの概念的基盤を探ります。