资源简介
共8400多对中英语句,已预处理,中文用jieba分了词,标点符号没问题,保存于en-zh.csv,分隔符是制表符\t(不是默认逗号)。
句粒度,但有不少长句,裁剪后5w对也够用。
原始数据集也在包中,其中en-zh_News.tmx有一部分句子有问题,(en-zh.csv丢弃了有问题的句子),如果必要建议不要直接使用该文件。
另外附赠我对语料的预处理文件(propressor.py),以及数据集(pytorch的Dataset)等相关的实现(LangData.py)。
如果又可以改善的地方,欢迎留言
代码片段和文件信息
import torch
from torch.utils.data.dataset import Dataset
import torch.utils.data.dataloader
# import pandas as pd
import csv
PAD_token = 0
SOS_token = 1
EOS_token = 2
UKN_token = 3
class Lang:
def __init__(self name):
self.name = name
self.word2index = {}
self.word2count = {}
self.index2word = {PAD_token: “PAD“ SOS_token: “SOS“ EOS_token: “EOS“ UKN_token: ‘UKN‘}
self.n_words = 4
def add_sentence(self sentence):
if self.name == ‘cn‘:
for word in sentence:
self.add_word(word)
else:
for word in sentence.split(‘ ‘):
self.add_word(word)
def add_word(self word):
if word not in self.word2index:
self.word2index[word] = self.n_words
self.word2count[word] = 1
self.index2word[self.n_words] = word
self.n_words += 1
else:
self.word2count[word] += 1
def trim(self min_count=2):
keep = []
for k v in self.word2count.items():
if v >= min_count:
keep.append(k)
print(‘total‘ len(self.word2index))
print(‘keep‘ len(keep))
print(‘keep {:.4%}‘.format(len(keep) / len(self.word2index)))
self.word2index = {}
self.word2count = {}
self.index2word = {PAD_token: “PAD“ SOS_token: “SOS“ EOS_token: “EOS“ UKN_token: ‘UKN‘}
self.n_words = 4
for word in keep:
self.add_word(word)
# 小写,修剪和删除非字符字符
def normalizeString(s):
s = s.lower().strip()
# s = re.sub(r“([.!?])“ r“ \1“ s)
# s = re.sub(r“[^a-zA-Z.!?]+“ r“ “ s)
# s = re.sub(“\b{2}“ “\b“ s)
return s
def filter_pair(p min_length max_length):
return len(p[0].split(‘ ‘)) <= max_length and \
len(p[1].split(‘ ‘)) <= max_length and \
len(p[0].split(‘ ‘)) >= min_length and \
len(p[1].split(‘ ‘)) >= min_length
def filter_pairs(pairs min_length max_length):
return [pair for pair in pairs if filter_pair(pair min_length max_length)]
class LangDataset(Dataset):
def __init__(self lang1 lang2 root_path reverse=False transform=None
min_length=1 max_length=None lower=True trim_count=None):
self.transform = transform
print(“Reading lines...“)
with open(root_path + ‘%s-%s.csv‘ % (lang1 lang2) encoding=‘utf-8-sig‘) as f:
reader = csv.reader(f delimiter=‘\t‘)
if lower:
data = [[normalizeString(s) for s in l] for l in reader]
else:
data = [l for l in reader]
f.close()
print(“Read %s sentence pairs“ % len(data))
if min_length > 1 or max_length is not None:
data = filter_pairs(data min_length max_length)
self.data = data
self.min_length = min_length
self.m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-08-11 18:12 data\
文件 1315138 2019-07-21 00:01 data\en-cn.txt
文件 11876774 2019-07-21 00:01 data\en-fra.txt
文件 20299270 2019-08-06 17:57 data\en-zh.csv
文件 903387 2019-07-31 16:49 data\en-zh_HIT.txt
文件 53605933 2019-06-29 13:14 data\en-zh_News.tmx
文件 4678577 2019-06-29 03:31 data\en-zh_News2.tmx
文件 1479544 2019-08-02 21:58 data\en-zh_simple.csv
文件 4951 2019-08-07 22:44 LangData.py
文件 3637 2019-08-06 16:11 preprocessor.py
- 上一篇:电机实用设计计算手册
- 下一篇:ELM algorithm
相关资源
- COAE2014语料
- CASIA汉语情感语料库.rar
- 百度百科百万级问答语料集
- 复旦新闻语料库测试集
- 中国古诗词语料
- 汉语语音情感语料库.rar
- 中文文本分类语料复旦完整版
- 复旦完整版语料库+停用词+精选10类每
- CASIA汉语情感语料库
- 稀缺资源CASIA汉语情感语料库.zip
- casia 汉语情感语料库
- 中文文本分类语料库复旦大学训练与
- 复旦大学中文文本分类数据集-训练
- 中文文本分类语料复旦-训练集
- 语料库wordsmith6.0软件最新英文版
- 微信机器人知识库语料库
- 中文自然语言处理中文分词训练语料
- 搜狐新闻中文语料已分类整理
- 复旦文本分类语料数据集 包含训练集
- 中文文本分类语料复旦-测试集
- 复旦大学文本分类新闻语料测试集+训
- 搜狐2012新闻语料已分类,utf8格式
- 机器人对话语料库
- 英语词频表COCA60000.xlsx
- 中文文本分类语料复旦训练集+测试集
- 中文二十几个行业的语料库.zip
- 中文短文本情感分析语料 外卖评价
- 搜狗互联网语料库2.0
- 图灵机器人知识库语料库
- 图灵机器人语料库导入模板
评论
共有 条评论