有没有人能帮忙找到IAM手写字体数据集3.0之前的版本,500个作者的那个,有偿
22条回答 默认 最新
专家-司宇[在线] 2023-11-07 20:18关注获得1.00元问题酬金 引自强大而免费的微信小程序:皆我工具箱。
IAM数据集是一个手写文本识别的数据集,包含了来自不同作者的手写文本图像,以及对应的转录文本。
在IAM数据集中,IV-S、IV-U、OOV-S和OOV-U的设置可以通过对每个样本的转录文本进行统计和分析来完成。
IV-S(In Vocabulary-Seen)指的是出现在转录文本中且属于已知词汇的样本。
- 首先,需要建立词汇表,包含所有可能的转录文本中的词汇。可以将所有的转录文本进行分词,得到不同的单词,然后将其放入词汇表中。
- 对于每个样本的转录文本,遍历其中的单词,如果单词在词汇表中存在,则该样本属于IV-S。
IV-U(In Vocabulary-Unseen)指的是出现在转录文本中但属于未知词汇的样本。
- 对于每个样本的转录文本,遍历其中的单词,如果单词不在词汇表中存在,则该样本属于IV-U。
OOV-S(Out of Vocabulary-Seen)指的是未出现在转录文本中但属于已知词汇的样本。
- 对于每个样本的转录文本,遍历词汇表中的单词,如果单词不在转录文本中存在,则该样本属于OOV-S。
OOV-U(Out of Vocabulary-Unseen)指的是未出现在转录文本中且属于未知词汇的样本。
- 对于每个样本的转录文本,遍历词汇表中的单词,如果单词不在转录文本中存在,则该样本属于OOV-U。
可以使用以下代码来对IAM数据集进行上述设置:
# 建立词汇表 vocab = set() for transcription in iam_dataset.transcriptions: words = transcription.split() vocab.update(words) # 遍历样本并进行设置 for sample in iam_dataset.samples: words = sample.transcription.split() # IV-S if all(word in vocab for word in words): sample.set_category("IV-S") # IV-U elif any(word in vocab for word in words): sample.set_category("IV-U") # OOV-S elif any(word not in words for word in vocab): sample.set_category("OOV-S") # OOV-U else: sample.set_category("OOV-U")通过上述代码,可以根据转录文本中的单词是否属于词汇表的情况,将每个样本设置为IV-S、IV-U、OOV-S或OOV-U中的一个。
评论 打赏 举报 编辑记录解决 1无用