数据主体识别工具

该工具通过文本标准化和语言模型评估两组数据的精确和语义相似性,判断是否来自同一主体。

  • by u3588064
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 u3588064/entityidentification

使用说明

实体标识

Identify whether two sets of data are from the same entity. 识别两组数据是否来自同一主体

This is a MCP (Model Context Protocol) server. 这是一个支持MCP协议的服务器。

数据比较工具

该工具提供了一种全面的方法来比较两组数据,评估其值的精确和语义相等性。它利用文本规范化和语言模型来确定数据是否来自同一实体。

特性

  • 文本标准化:将文本转换为小写,删除标点符号,并规范空白。
  • 值比较:直接和语义上比较值(忽略列表的顺序)。
  • JSON遍历:遍历JSON对象中的每个键并比较相应的值。
  • 语言模型集成:使用生成语言模型来评估语义相似性,并最终判断数据是否来自同一实体。

安装

要使用此工具,请确保安装了必要的依赖项。您可以使用pip安装它们:

pip install genai

用法

函数

  1. normalize_text(文本):

    • 通过将输入文本转换为小写、删除标点符号和规范空白来规范化输入文本。
  2. 比较值(val1,val2):

    • 精确地和语义地比较两个值。
    • 如果值是列表,则忽略语义比较的元素顺序。
  3. compare.json(json1、json2):

    • 逐键比较两个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许可证获得许可。请参阅 许可证 文件以获取详细信息。

联系

如果您有任何问题或建议,请联系我:

微信