知识图谱(七)之数据处理

一数据标注回顾

1.1整体思路

  1. 现在我们有txt和txtroiginal.

txt里面是标注数据,txtoriginal里面是原始数据,数据如下:

txt:

txtoriginal:

  1. 根据标注数据和标签类型构建字典

这是标签类型:

  1. 遍历原始数据,通过索引和标签的字典,给想引得位置打上标签.通过索引查字典,如果能查到则将对应的value作为标签,否则打上o的标签.

二代码实现

2.1使用路径拼接读取数据

python 复制代码
import os
import json

cur = os.getcwd()
print(cur)

os.chdir('..')
cur = os.getcwd()
print(f'修改以后的目录{cur}')

path=os.path.join(cur,'data/labels.json')
print(f'拼接后的路径{path}')

labels=json.load(open(path,'r',encoding='utf-8'))
print(f'labels->{labels}')

2.1.1补充os.getcwd()方法:这个方法的缺陷是其他包在导入使用这个方法的包后,获取到的是其他包的路径,会导致读取数据出现错误

报错的原因是路径输出的是当前文件夹的路径,因为输出的不是导入的包的路径,所以找不到相关文件.

2.2.2使用os.path.abspath()的方法可以避免这个问题

复制代码
python 复制代码
import os
import json

# 如何设计,让这个代码在调用时,相对路径不随着调用位置变化而变化
file_path = os.path.abspath(__file__)
print(f'file_path-->{file_path}')
base_dir = os.path.dirname(file_path)
print(f'base_dir-->{base_dir}')
# 路径拼接
path = os.path.join(base_dir, '../data/labels.json')
print(f'拼接之后的路径2-->{path}')
# 读取json文件
labels = json.load(open(path, 'r', encoding='utf-8'))
print(f'labels-->{labels}')

拼接好路径以后,使用os.walk()读取路径下的文件

这个方法返回的是可迭代对象,用循环的方法遍历,分别返回的是:文件夹路径,文件夹列表,文件列表

复制代码
python 复制代码
results = os.walk(os.path.join(base_dir, '../data_origin'))
print(f'results-->{results}')
for dir_path, dirs, files in results:  # 路径、文件夹(列表)、文件(列表)
    print('*'*50)
    print(f'dir_path-->{dir_path}')
    print(f'dirs-->{dirs}')
    print(f'files-->{files}')

2.2数据处理

先获取实体的英文名,然后用B-英文名或者I-英文名拼接,,得到每实体里面每个字的标签.

遍历原始文本,通过标签数据的索引给原始文本里面的字打标签,如果没有这个字的标签,就打O

2.2.1拼接的方法

拼接结果:

2.2.2遍历原始文本,给实体打标签

找到索引提取value,找不到索引打O

2.2.3最终结果

相关推荐
qq_348231854 小时前
个人知识图谱
人工智能·知识图谱
高洁016 小时前
大模型Prompt实战:精准生成专业技术文档
人工智能·python·数据挖掘·transformer·知识图谱
千桐科技1 天前
qKnow 专业版架构全新升级:从知识平台到全链路行业深度 AI 能力构建平台
大模型·知识图谱·工作流·ai应用·qknow·智能体构建·白盒化开发
人工智能培训2 天前
样本效率与安全探索的矛盾解析及平衡路径
大数据·人工智能·深度学习·算法·机器学习·知识图谱·故障诊断
青梅煮酒与君饮3 天前
深度刨析RAG检索增强
数据库·人工智能·深度学习·语言模型·知识图谱
高洁013 天前
什么是AI智能体(AI Agent)?
人工智能·数据挖掘·transformer·知识图谱
华农DrLai3 天前
什么是远程监督?怎么自动生成训练数据?
人工智能·算法·llm·prompt·知识图谱
renhongxia13 天前
TrustTrade:人类启发的选择性共识降低大型语言模型交易代理的决策不确定性
人工智能·微服务·语言模型·自然语言处理·架构·机器人·知识图谱
高洁015 天前
【无标题】如何利用知识图谱实现推理和计算
人工智能·机器学习·数据挖掘·transformer·知识图谱