数据集:
deutsche-telekom/ger-backtrans-paraphrase
这是一个包含超过2100万个德语选词复述的数据集。这些是具有相同含义但用不同词语表达的文本对。选词复述的来源是不同的德语/英文平行文本语料库。英文文本被机器翻译回德语以获得选词复述。
例如,可以使用 SentenceTransformers 和 MultipleNegativesRankingLoss 来训练语义文本嵌入。
该数据集是由 Philip May 开源,并由 One Conversation 团队的 Deutsche Telekom AG 维护。
除了反向翻译之外,我们还添加了更多列(详见下文)。我们进行了以下预处理和筛选:
你可能不想直接使用数据集,而是进一步筛选。数据集的附加列就是为此而设的。对我们来说,删除以下句子对非常有用:
明显的是, OpenSubtitles 文本有奇怪的破折号前缀。具体情况如下:
- Hast du was draufgetan?
你可以应用以下函数来去除它们:
import re def clean_text(text): text = re.sub("^[-\s]*", "", text) text = re.sub("[-\s]*$", "", text) return text df["de"] = df["de"].apply(clean_text) df["en_de"] = df["en_de"].apply(clean_text)
Corpus name & link | Number of paraphrases |
---|---|
12320321 | 18,764,810 |
12321321 | 1,569,231 |
12322321 | 313,105 |
12323321 | 289,374 |
12324321 | 285,722 |
12325321 | 70,547 |
sum | . 21,292,789 |
我们通过 Fairseq 的帮助从英语翻译回德语。我们使用transformer.wmt19.en-de模型来实现这个目的:
en2de = torch.hub.load( "pytorch/fairseq", "transformer.wmt19.en-de", checkpoint_file="model1.pt:model2.pt:model3.pt:model4.pt", tokenizer="moses", bpe="fastbpe", )
为了计算Jaccard相似度,我们使用 SoMaJo tokenizer 将文本拆分为标记。然后,我们使用lower()对标记进行处理,使得大小写字母不再有差别。下面是一段代码片段,详细说明了这个过程:
from somajo import SoMaJo LANGUAGE = "de_CMC" somajo_tokenizer = SoMaJo(LANGUAGE) def get_token_set(text, somajo_tokenizer): sentences = somajo_tokenizer.tokenize_text([text]) tokens = [t.text.lower() for sentence in sentences for t in sentence] token_set = set(tokens) return token_set def jaccard_similarity(text1, text2, somajo_tokenizer): token_set1 = get_token_set(text1, somajo_tokenizer=somajo_tokenizer) token_set2 = get_token_set(text2, somajo_tokenizer=somajo_tokenizer) intersection = token_set1.intersection(token_set2) union = token_set1.union(token_set2) jaccard_similarity = float(len(intersection)) / len(union) return jaccard_similarity
# pip install datasets from datasets import load_dataset dataset = load_dataset("deutsche-telekom/ger-backtrans-paraphrase") train_dataset = dataset["train"]
如果你想下载csv文件,然后使用Pandas加载它,可以像这样操作:
df = pd.read_csv("train.csv")
OpenSubtitles
WikiMatrix v1
Tatoeba v2022-03-03
TED2020 v1
News-Commentary v16
GlobalVoices v2018q4
@misc{ger-backtrans-paraphrase, title={Deutsche-Telekom/ger-backtrans-paraphrase - dataset at Hugging Face}, url={https://huggingface.co/datasets/deutsche-telekom/ger-backtrans-paraphrase}, year={2022}, author={May, Philip} }
版权所有 2022 Philip May , Deutsche Telekom AG
本作品在 CC-BY-SA 4.0 下获得许可。