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

一数据标注回顾

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最终结果

相关推荐
程序员果子6 小时前
GraphRAG:让大模型在知识图谱中精准导航
人工智能·git·语言模型·aigc·知识图谱
田井中律.1 天前
知识图谱(六)之数据处理
知识图谱
B站计算机毕业设计超人1 天前
计算机毕业设计Python+百度千问大模型微博舆情分析预测 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hive·hadoop·python·毕业设计·知识图谱·课程设计
Blossom.1182 天前
AI Agent的长期记忆革命:基于向量遗忘曲线的动态压缩系统
运维·人工智能·python·深度学习·自动化·prompt·知识图谱
田井中律.2 天前
知识图谱(五)
知识图谱
高洁012 天前
AIGC技术与进展(1)
深度学习·算法·机器学习·transformer·知识图谱
高洁013 天前
AI智能体搭建(4)
python·深度学习·机器学习·transformer·知识图谱
人工智能培训3 天前
如何大幅降低大模型的训练和推理成本?
人工智能·深度学习·大模型·知识图谱·强化学习·智能体搭建·大模型工程师
阿坤带你走近大数据3 天前
Rag与RagFlow的区别
人工智能·知识图谱