如何在 Keras 中输入我的 JSON 数据集以进行字符级文本分类

数据挖掘 分类 数据集 喀拉斯 文本挖掘 美国有线电视新闻网
2022-02-18 08:40:48

我有一个 JSON 数据集,例如:

{"candidate00001": "graceful ones."
 "candidate00002":"One more,Marvelous said, sounding royally bored from his seat."
 "candidate00003":"She tired,Joe said, though not unkindly."
}

其中,candidate00001是我的第一堂课,candidate00002是第二堂课,以此类推。

我是 python 新手,所以我想使用教程通过Keras实现字符级分类。

我的问题是我现在不知道如何将我的 JSON 文件转换为x_trainy_train

2个回答

正如@Frankstr 所提到的,你想要一个关于“字符级分类”的教程,而不是你链接的手写数字识别。

字符级分类通常使用RNN或 1D CNN完成。例如,参见用于文本分类字符级卷积网络的实现

为了将您的 json 数据转换为 Kerasx_trainy_train提供给 Keras,您可以将其读入字典,分别提取键和值,并对类标签进行二值化:

import json
from sklearn.preprocessing import LabelBinarizer

with open('data.json', 'r') as f:
    train = json.load(f)

y_train = list(train.values())

lb = LabelBinarizer()
x_train = lb.fit_transform(list(train.keys()))

确保您的 json 格式正确。您给出的示例在每个值后都缺少逗号。它应该是:

{"candidate00001": "graceful ones.",
 "candidate00002":"One more,Marvelous said, sounding royally bored from his seat.",
 "candidate00003":"She tired,Joe said, though not unkindly."
}

查看您所指的教程,它似乎是用于手写字母和数字的字符识别,取自 MNIST 数据库。本教程中的字符分类是指:取一张图像并将其分类为某个 Unicode 或 Asci 定义的字符的表示。

您要处理的候选项是字符串、定义明确的字符,根本不需要识别。所以本教程不符合您的兴趣。

你能定义你的兴趣吗,你想从这些候选人中得到什么,这对这三个样本来说是一个很好的分类?如果你有这个,我建议将它作为一个新问题提出。