article
README
🚀 实体识别工具
实体识别工具提供了一种全面的方法来比较两组数据,评估其值在精确性和语义上的相等性。该工具利用文本规范化和语言模型技术,能够准确判断两组数据是否来自同一主体,在数据处理和分析领域具有重要价值。
🚀 快速开始
实体识别工具借助文本规范化和语言模型,为数据比较提供了全面的解决方案。它能准确评估两组数据的值在精确性和语义上的相等性,帮助用户判断数据是否来自同一主体。
✨ 主要特性
- 文本规范化:将文本转换为小写、移除标点符号并统一空白字符,使文本格式更加统一,便于后续处理。
- 数值比较:对数值进行精确和语义上的比较(对于列表,忽略顺序),确保数据比较的准确性和灵活性。
- JSON遍历:逐个键地遍历每个JSON对象,并使用
compare_values函数比较对应的值,实现对JSON数据的细致分析。 - 语言模型整合:利用生成式语言模型评估语义相似性并最终判断数据是否来自同一主体,提升了数据判断的智能性。
📦 安装指南
要使用此工具,请确保安装了必要的依赖项。您可以通过pip进行安装:
pip install genai
💻 使用示例
基础用法
import json
import genai
import re
# 定义您的JSON对象
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"]
}
# 比较JSON对象
comparison_results = compare_json(json1, json2)
# 生成最终匹配结果
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)
函数介绍
- normalize_text(text):
- 对输入文本进行规范化处理,包括转小写、去标点符号和统一空白字符。
- compare_values(val1, val2):
- 从精确和语义上比较两个值。
- 如果是列表类型,则在语义比较时忽略元素顺序。
- compare_json(json1, json2):
- 比较两个JSON对象的每个键。
- 使用
compare_values函数评估每个键的值。 - 整合生成式语言模型来评估语义相似性并提供最终判断结果。
📚 详细文档
函数详细说明
- normalize_text(text):
- 功能:对输入文本进行规范化处理,包括转小写、去标点符号和统一空白字符。
- 参数:
text:需要进行规范化处理的文本。
- 返回值:经过规范化处理后的文本。
- compare_values(val1, val2):
- 功能:从精确和语义上比较两个值。如果是列表类型,则在语义比较时忽略元素顺序。
- 参数:
val1:需要比较的第一个值。val2:需要比较的第二个值。
- 返回值:比较结果。
- compare_json(json1, json2):
- 功能:比较两个JSON对象的每个键,使用
compare_values函数评估每个键的值,并整合生成式语言模型来评估语义相似性并提供最终判断结果。 - 参数:
json1:需要比较的第一个JSON对象。json2:需要比较的第二个JSON对象。
- 返回值:比较结果。
- 功能:比较两个JSON对象的每个键,使用
📄 许可证
此项目使用MIT许可证。有关详细信息,请参阅LICENSE文件。
📞 联系方式
如果您有任何问题或建议,请随时联系我:
- 邮箱:u3588064@connect.hku.hk
- GitHub:u3588064@connect.hku.hk
微信
微信扫一扫