最近搞文本分类,需要用到单词的释义。特此记录
这是啥数据集
我也不知道,就是有单词,还有单词意思,还有别的什么。
网站
链接: 总链接
链接: 我用的数据集
在这个网站下载好数据之后,你会看到这个文件很奇怪,打也打不开。
这是你就需要把文件后缀名改成== .json ==就ok了
提取单词信息的代码
凑活用吧,这数据集稍微怪怪的,拿到的数据里面可能有奇怪的东西,看到就删掉吧。
import re
def Get_word(data_path):
word_list = []
mean_list = []
with open(data_path,"r",encoding="utf-8") as f:
for line in f:
# "word": "abbotship", "lang": "English"
r_word = re.compile(r'"word": "(.+?)", "lang": "English"')
# "senses": [{"raw_glosses": ["One who, or that which, abases."]
r_mean = re.compile(r', "senses": .{".*?glosses": ."(.+?)".')
# print(f"word: {r_word.findall(str(line))}")
# print(f"mean: {r_mean.findall(str(line))}")
try:
file = open("word_mean_2.txt", "a")
if "]" in r_word.findall(str(line))[0] :
index = r_word.findall(str(line))[0].rindex("word")
file.write(r_word.findall(str(line))[0][index+8:] + '\t' + r_mean.findall(str(line))[0] + '\n')
else:
file.write(r_word.findall(str(line))[0] + '\t' + r_mean.findall(str(line))[0] + '\n')
file.close()
except IndexError:
pass
return word_list,mean_list
if __name__ == '__main__':
data_path = r"你的kaikki文件地址.json"
Get_word(data_path)
最后输出的是这样的,单词 单词释义