はじめに
Foudinge ScrubはGitHubでホストされているオープンソースのウェブツールで、開発者のThéophile Cantelobreによって作成された。複雑なテキストデータから抽出されたナレッジグラフエンティティのクリーニングと編集を支援するように設計されており、特にレストランのレビューサイトLeFooding.comからクロールされたデータを対象としている。Flaskフレームワークと純粋なJavaScriptを使用して構築されたこのツールは、重複データやコーディングの問題に対処する必要があるユーザーのために、全文検索などの機能をサポートしています。大規模言語モデル(LLM)の構造化生成技術を取り入れることで、Foudinge Scrubは、データの構造的完全性を維持しながら、抽出結果を効率的に最適化できる直感的なインターフェースを提供します。プロジェクトのコードと関連リソースはGitHubで公開されており、開発者は再利用や改良が可能です。
機能一覧
- データクレンジングと重複排除テキストデータから抽出された重複エンティティやエラー項目を特定し、修復する。
- 全文検索:: 編集インターフェイスで特定のエンティティやキーワードのクイック検索をサポート。
- 構造化された編集:: データ構造の一貫性を保ちながら、ナレッジグラフのエンティティを手動で調整するための視覚的インタフェースを提供する。
- コーディングの問題を修正SQLite やその他の原因で発生した文字エンコードエラーを解決します。
- オープンソース・サポート:: プロジェクトのコードは公開されており、ユーザーはコードをダウンロード、修正、貢献することができます。
ヘルプの使用
取得と設置
Foudinge ScrubはGitHubに基づくオープンソースプロジェクトであり、ユーザーは最初にコードをダウンロードし、ローカルで実行する必要があります。以下は詳しいインストール手順です:
1.前提条件
- オペレーティングシステムWindows、MacOS、またはLinux。
- ソフトウェア依存Python 3.7+、Git、コードエディター(VS Codeなど)が必要です。
- ネットワーク環境GitHubにアクセスできることを確認し、依存関係に必要なPyPIをインストールする。
2.プロジェクトのダウンロード
- ターミナルまたはコマンドラインツールを開く。
- 以下のコマンドを入力して、リポジトリをクローンする:
git clone https://github.com/theophilec/foudinge-scrub.git
- プロジェクト・カタログにアクセスする:
cd foudinge-scrub
3.依存関係のインストール
- このプロジェクトはFlaskとJavaScript開発に基づいており、Pythonの依存関係をインストールする必要がある。以下のコマンドを実行してください:
pip install -r requirements.txt
- 万が一
要件.txt
ドキュメントは提供されず、コアの依存関係は手動でインストールできる:pip install flask
- JavaScript部分はJinjaテンプレートを使用しており、追加のインストールは必要ありませんが、最新のブラウザ(ChromeやFirefoxなど)がローカルにあることを確認してください。
4.アプリケーションの実行
- プロジェクトのルートディレクトリでFlaskアプリケーションを実行します:
python app.py
- 起動に成功すると、ターミナルには次のように表示される。
http://127.0.0.1:5000/
ヒント - ブラウザを開き、次のように入力する。
http://127.0.0.1:5000/
フーディンゲ・スクラブのインターフェースにアクセスするには、ここをクリックしてください。
5.トラブルシューティング
- 遭遇したら
ModuleNotFoundError
依存関係がインストールされていないかチェックする。 - ポートが占有されている場合は
app.py
ポート番号を5000
に変える5001
.
主な機能
データクレンジングと重複排除
- データの準備: Foudinge Scrubは、デフォルトでLeFooding.comのレストランレビューデータを処理します。カスタマイズされたデータについては
テオフィレック
リポジトリ内のコードをクロールし(SQLite、asyncio、aiohttpを使用)、互換性のあるナレッジグラフファイルを生成する。 - インポートデータプロジェクトの指定されたディレクトリ(通常はルート・ディレクトリか、設定ファイルで指定されたパス)にデータ・ファイルを置きます。
- 清掃を開始するウェブインターフェースを開くと、自動的にデータがロードされ、ビジュアルマッピングが表示されます。重複または不正確なエンティティはハイライトまたはマークされます。
- 手動調整重複するエンティティをクリックし、"Merge "または "Delete "を選択し、確定して変更を保存します。
- 結果の検証洗浄後、アトラスはリアルタイムで更新され、記入漏れがないことを確認する。
全文検索
- 検索モードに入るインターフェイスの上部にある検索ボックス(通常は虫眼鏡のアイコンの隣にある入力フィールド)を見つけてください。
- キーワードを入力検索するエンティティ名(レストラン名、人名など)またはキーワードを入力します。
- 結果を見る一致するものをリストアップし、クリックすると対応するエンティティの場所にジャンプします。
- 高度な使用法例えば、"Gren "と入力すると "Grenat "に一致する。
構造化された編集
- 編集画面を開く例:レストランの「シェフ」フィールド)。
- 修正内容例えば、"La Brasserie Communale "から "Neil Mahatsry "の前のレストラン名を他の名前に変更します。
- 変更を保存する保存 "ボタンをクリックすると、システムはデータ形式をチェックし、構造が一貫していることを確認します。
- 元に戻すもし間違えた場合は、"Undo"(元に戻す)ボタンをクリックすれば、前の状態に戻すことができます。
コーディングの問題を修正
- 問題の特定:: インターフェースが文字化けしている場合(例:「アントワーヌ・ジョアニエ」が「アントワーヌ・ジョアニエ」になる)、コーディングエラーです。
- 自動修理Setupメニューで "Fix encoding "を選択すると、システムはUTF-8または他のエンコーディング形式での標準化を試みます。
- 手入力自動修正に失敗した場合は、文字化けしたフィールドを手動で編集し、正しい文字を入力してください。
注目の機能
LLMと連携した知識グラフ最適化
Foudinge Scrubの中核機能は、大規模言語モデル(LLM)を使用して、手動編集によってさらに最適化できる構造化データを生成することである。例えば、レストランのレビューから「Antoine Joannierは、Grenatで働く前にLa Brasserie Communaleで働いていた」を抽出する場合、LLMはJSONを生成する:
{
"Person": {
"name": "Antoine Joannier", "role".
"role": "ホスト", "previous_restaurants".
"previous_restaurants": ["La Brasserie Communale"].
}
}
例えば、以下のように新しいフィールド "current_restaurant "を追加し、"Grenat "で埋めることで、インターフェイス上でこの構造を調整することができる:
- JSON表示用のノードをチェックする。
- Add Field "をクリックし、キーと値のペアを入力する。
- 保存するとマッピングが更新され、新しいリレーションシップが反映されます。
オープンソース・コラボレーション
- コードを投稿する例えば、新しい検索アルゴリズムの追加やインターフェースの最適化など。
- ドキュメントを見るプロジェクトのルート・ディレクトリにあるREADMEファイルに基本的な説明があります。
app.py
およびJavaScriptファイル。
使用上の推奨事項
- 初期使用インターフェイスのレイアウトや操作ロジックに慣れるために、まずサンプルデータを実行してください。
- 大規模データ大量のコメントを扱う場合は、ブラウザのタイムラグを避けるため、まとめてインポートすることをお勧めします。
- 地域支援GitHub Issuesページで質問すれば、開発者やコミュニティが助けてくれるかもしれません。
これらのステップにより、ユーザーはFoudinge Scrubをすぐに使い始めることができ、データクレンジングとナレッジグラフの最適化タスクを効率的に完了することができます。