エンティティ識別
2 つのデータセットが同じエンティティからのものであるかどうかを識別します。 2 つのグループのデータが同じ本体からのものかどうかを確認する
これは、MCP (Model Context Protocol) サーバーです。 これは、MCP プロトコルをサポートするサーバーです。
データ比較ツール
このツールは、2つのデータセットを比較する包括的な方法を提供し、値の正確性と意味的等価性の両方を評価します。テキスト正規化と言語モデルを活用して、データが同じエンティティに由来するかどうかを判断します。
特徴
- テキストの正規化: テキストを小文字に変換し、句読点を削除し、空白を正規化します。
- 値の比較: 値を直接かつ意味的に比較します (リストの順序は無視されます)。
- JSON トラバーサル: JSON オブジェクト内の各キーを反復処理し、対応する値を比較します。
- 言語モデルの統合: 生成言語モデルを使用して意味の類似性を評価し、データが同じエンティティからのものであるかどうかの最終的な判断を提供します。
インストール
このツールを使用するには、必要な依存関係がインストールされていることを確認してください。pipを使ってインストールできます。
使用法
機能
- normalize_text(テキスト) :
- 入力テキストを小文字に変換し、句読点を削除し、空白を正規化することで正規化します。
- compare_values(val1, val2) :
- 2 つの値を正確に、また意味的に比較します。
- 値がリストの場合、意味的な比較では要素の順序は無視されます。
- compare_json(json1, json2) :
- 2 つの JSON オブジェクトをキーごとに比較します。
compare_values
を使用して各キーの値を評価します。- 言語モデルを統合して意味の類似性を評価し、最終的な判断を下します。
例
import json
import genai
import re
# Define your JSON objects
json1 = {
"name": "John Doe",
"address": "123 Main St, Anytown, USA",
"hobbies": ["reading", "hiking", "coding"]
}
json2 = {
"name": "john doe",
"address": "123 Main Street, Anytown, USA",
"hobbies": ["coding", "hiking", "reading"]
}
# Compare the JSON objects
comparison_results = compare_json(json1, json2)
# Generate final matching result
model1 = genai.GenerativeModel("gemini-2.0-flash-thinking-exp")
result_matching = model1.generate_content("综合这些信息,你认为可以判断两个数据来自同一主体吗?"+json.dumps(comparison_results, ensure_ascii=False, indent=4))
print(result_matching.text)
貢献
貢献を歓迎します!問題を報告したり、プルリクエストを送信してください。
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。
接触
ご質問やご提案がございましたら、下記までご連絡ください。
微信