{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Transformer翻译项目" ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n", "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#一.-建立Transformer模型的直观认识\" data-toc-modified-id=\"一.-建立Transformer模型的直观认识-1\">一. 建立Transformer模型的直观认识</a></span></li><li><span><a href=\"#二.-编码器部分(Encoder)\" data-toc-modified-id=\"二.-编码器部分(Encoder)-2\">二. 编码器部分(Encoder)</a></span><ul class=\"toc-item\"><li><span><a href=\"#0.-先准备好输入的数据\" data-toc-modified-id=\"0.-先准备好输入的数据-2.1\">0. 先准备好输入的数据</a></span></li><li><span><a href=\"#1.-positional-encoding(即位置嵌入或位置编码)\" data-toc-modified-id=\"1.-positional-encoding(即位置嵌入或位置编码)-2.2\">1. positional encoding(即位置嵌入或位置编码)</a></span></li><li><span><a href=\"#2.-self-attention(自注意力机制)\" data-toc-modified-id=\"2.-self-attention(自注意力机制)-2.3\">2. self attention(自注意力机制)</a></span></li><li><span><a href=\"#3.-Attention-Mask\" data-toc-modified-id=\"3.-Attention-Mask-2.4\">3. Attention Mask</a></span></li><li><span><a href=\"#4.-Layer-Normalization-和残差连接\" data-toc-modified-id=\"4.-Layer-Normalization-和残差连接-2.5\">4. Layer Normalization 和残差连接</a></span></li><li><span><a href=\"#5.-Transformer-Encoder-整体结构\" data-toc-modified-id=\"5.-Transformer-Encoder-整体结构-2.6\">5. Transformer Encoder 整体结构</a></span></li></ul></li><li><span><a href=\"#三.-解码器部分(Decoder)\" data-toc-modified-id=\"三.-解码器部分(Decoder)-3\">三. 解码器部分(Decoder)</a></span></li><li><span><a href=\"#四.-Transformer模型\" data-toc-modified-id=\"四.-Transformer模型-4\">四. Transformer模型</a></span></li><li><span><a href=\"#五.-模型训练\" data-toc-modified-id=\"五.-模型训练-5\">五. 模型训练</a></span></li><li><span><a href=\"#六.-模型预测\" data-toc-modified-id=\"六.-模型预测-6\">六. 模型预测</a></span></li></ul></div>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在这份notebook当中,我们会(尽可能)实现 $Transformer$ 模型来完成翻译任务。 \n", "(参考论文:$Attention\\; Is\\; All\\; You\\; Need$ https://arxiv.org/pdf/1706.03762.pdf )\n", "> **其中的`TODO`内容即为待完成的部分**\n", "\n", "我们的数据集非常小,只有一万多个句子的训练数据,从结果来看训练出来的模型在测试集上的表现其实已经算还可以了。 \n", "如果想得到更好的效果,则需要更大的数据量并进行更多的训练迭代次数,感兴趣(并且有硬件条件)的同学可以进行尝试。 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 一. 建立Transformer模型的直观认识\n", " \n", "首先来说一下**Transformer**和**LSTM**的最大区别,就是LSTM的训练是迭代(自回归)的,是一个接一个字的来,当前这个字过完LSTM单元,才可以进下一个字,而 $Transformer$ 的训练是并行了,就是所有字是全部同时训练的,这样就大大加快了计算效率,$Transformer$ 使用了位置嵌入$(positional \\ encoding)$来理解语言的顺序,使用自注意力机制和全连接层来进行计算,这些后面都会详细讲解。 \n", " \n", "$Transformer$ 模型主要分为**两大部分**,分别是**编码器($Encoder$)**和**解码器($Decoder$)**: \n", "- **编码器($Encoder$)**负责把自然语言序列映射成为**隐藏层**(下图中**第2步**用九宫格比喻的部分),含有自然语言序列的数学表达\n", "- **解码器($Decoder$)**再把隐藏层映射为自然语言序列,从而使我们可以解决各种问题,如情感分类、命名实体识别、语义关系抽取、摘要生成、机器翻译等等。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"./imgs/intuition.jpg\", width=650>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 二. 编码器部分(Encoder)\n", " \n", " \n", "我们会**重点介绍编码器的结构**,因为理解了编码器中的结构, 理解解码器就非常简单了。而且我们用编码器就能够完成一些自然语言处理中比较主流的任务, 如情感分类, 语义关系分析, 命名实体识别等。 \n", " \n", "**编码器($Encoder$)**部分, 即把**自然语言序列映射为隐藏层的数学表达的过程**。 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "** 以下为一个Transformer Encoder Block结构示意图**\n", "> 注意: 为方便查看, 下面各部分的内容分别对应着图中第1, 2, 3, 4个方框的序号:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"./imgs/encoder.jpg\", width=550>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 0. 先准备好输入的数据" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import os\n", "import math\n", "import copy\n", "import time\n", "import numpy as np\n", "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "\n", "from nltk import word_tokenize\n", "from collections import Counter\n", "from torch.autograd import Variable" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# 初始化参数设置\n", "UNK = 0 # 未登录词的标识符对应的词典id\n", "PAD = 1 # padding占位符对应的词典id\n", "BATCH_SIZE = 64 # 每批次训练数据数量\n", "EPOCHS = 20 # 训练轮数\n", "LAYERS = 6 # transformer中堆叠的encoder和decoder block层数\n", "H_NUM = 8 # multihead attention hidden个数\n", "D_MODEL = 256 # embedding维数\n", "D_FF = 1024 # feed forward第一个全连接层维数\n", "DROPOUT = 0.1 # dropout比例\n", "MAX_LENGTH = 60 # 最大句子长度\n", "\n", "TRAIN_FILE = 'nmt/en-cn/train.txt' # 训练集数据文件\n", "DEV_FILE = \"nmt/en-cn/dev.txt\" # 验证(开发)集数据文件\n", "SAVE_FILE = 'save/model.pt' # 模型保存路径(注意如当前目录无save文件夹需要自己创建)\n", "DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "def seq_padding(X, padding=0):\n", " \"\"\"\n", " 对一个batch批次(以单词id表示)的数据进行padding填充对齐长度\n", " \"\"\"\n", " # 计算该批次数据各条数据句子长度\n", " L = [len(x) for x in X]\n", " # 获取该批次数据最大句子长度\n", " ML = max(L)\n", " # 对X中各条数据x进行遍历,如果长度短于该批次数据最大长度ML,则以padding id填充缺失长度ML-len(x)\n", " return np.array([\n", " np.concatenate([x, [padding] * (ML - len(x))]) if len(x) < ML else x for x in X\n", " ])\n", "\n", "\n", "class PrepareData:\n", " def __init__(self, train_file, dev_file):\n", " \n", " # 读取数据 并分词\n", " self.train_en, self.train_cn = self.load_data(train_file)\n", " self.dev_en, self.dev_cn = self.load_data(dev_file)\n", "\n", " # 构建单词表\n", " self.en_word_dict, self.en_total_words, self.en_index_dict = self.build_dict(self.train_en)\n", " self.cn_word_dict, self.cn_total_words, self.cn_index_dict = self.build_dict(self.train_cn)\n", "\n", " # id化\n", " self.train_en, self.train_cn = self.wordToID(self.train_en, self.train_cn, self.en_word_dict, self.cn_word_dict)\n", " self.dev_en, self.dev_cn = self.wordToID(self.dev_en, self.dev_cn, self.en_word_dict, self.cn_word_dict)\n", "\n", " # 划分batch + padding + mask\n", " self.train_data = self.splitBatch(self.train_en, self.train_cn, BATCH_SIZE)\n", " self.dev_data = self.splitBatch(self.dev_en, self.dev_cn, BATCH_SIZE)\n", "\n", " def load_data(self, path):\n", " \"\"\"\n", " 读取翻译前(英文)和翻译后(中文)的数据文件\n", " 每条数据都进行分词,然后构建成包含起始符(BOS)和终止符(EOS)的单词(中文为字符)列表\n", " 形式如:en = [['BOS', 'i', 'love', 'you', 'EOS'], ['BOS', 'me', 'too', 'EOS'], ...]\n", " cn = [['BOS', '我', '爱', '你', 'EOS'], ['BOS', '我', '也', '是', 'EOS'], ...]\n", " \"\"\"\n", " en = []\n", " cn = []\n", " # TODO ...\n", " with open(path,'r') as f:\n", " for line in f:\n", " [enline, chline] = line.strip('\\n').split('\\t')\n", " en.append(['BOS'] + word_tokenize(enline)+['EOS'])\n", " cn.append(['BOS'] + word_tokenize(\" \".join([w for w in chline])) + ['EOS'])\n", " return en, cn\n", " \n", " def build_dict(self, sentences, max_words = 50000):\n", " \"\"\"\n", " 传入load_data构造的分词后的列表数据\n", " 构建词典(key为单词,value为id值)\n", " \"\"\"\n", " # 对数据中所有单词进行计数\n", " word_count = Counter()\n", "\n", " for sentence in sentences:\n", " for s in sentence:\n", " word_count[s] += 1\n", " # 只保留最高频的前max_words数的单词构建词典\n", " # 并添加上UNK和PAD两个单词,对应id已经初始化设置过\n", " ls = word_count.most_common(max_words)\n", " # 统计词典的总词数\n", " total_words = len(ls) + 2\n", "\n", " word_dict = {w[0]: index + 2 for index, w in enumerate(ls)}\n", " word_dict['UNK'] = UNK\n", " word_dict['PAD'] = PAD\n", " # 再构建一个反向的词典,供id转单词使用\n", " index_dict = {v: k for k, v in word_dict.items()}\n", "\n", " return word_dict, total_words, index_dict\n", "\n", " def wordToID(self, en, cn, en_dict, cn_dict, sort=True):\n", " \"\"\"\n", " 该方法可以将翻译前(英文)数据和翻译后(中文)数据的单词列表表示的数据\n", " 均转为id列表表示的数据\n", " 如果sort参数设置为True,则会以翻译前(英文)的句子(单词数)长度排序\n", " 以便后续分batch做padding时,同批次各句子需要padding的长度相近减少padding量\n", " \"\"\"\n", " # 计算英文数据条数\n", " length = len(en)\n", " \n", " # TODO: 将翻译前(英文)数据和翻译后(中文)数据都转换为id表示的形式\n", " out_en_ids = [[en_dict.get(w) for w in sent] for sent in en]\n", " out_cn_ids = [[cn_dict.get(w) for w in sent] for sent in cn]\n", "\n", "\n", " # 构建一个按照句子长度排序的函数\n", " def len_argsort(seq):\n", " \"\"\"\n", " 传入一系列句子数据(分好词的列表形式),\n", " 按照句子长度排序后,返回排序后原来各句子在数据中的索引下标\n", " \"\"\"\n", " return sorted(range(len(seq)), key=lambda x: len(seq[x]))\n", "\n", " # 把中文和英文按照同样的顺序排序\n", " if sort:\n", " # 以英文句子长度排序的(句子下标)顺序为基准\n", " sorted_index = len_argsort(out_en_ids)\n", " \n", " # TODO: 对翻译前(英文)数据和翻译后(中文)数据都按此基准进行排序\n", " out_en_ids = [out_en_ids[i] for i in sorted_index]\n", " out_cn_ids = [out_cn_ids[i] for i in sorted_index]\n", " \n", " return out_en_ids, out_cn_ids\n", "\n", " def splitBatch(self, en, cn, batch_size, shuffle=True):\n", " \"\"\"\n", " 将以单词id列表表示的翻译前(英文)数据和翻译后(中文)数据\n", " 按照指定的batch_size进行划分\n", " 如果shuffle参数为True,则会对这些batch数据顺序进行随机打乱\n", " \"\"\"\n", " # 在按数据长度生成的各条数据下标列表[0, 1, ..., len(en)-1]中\n", " # 每隔指定长度(batch_size)取一个下标作为后续生成batch的起始下标\n", " idx_list = np.arange(0, len(en), batch_size)\n", " # 如果shuffle参数为True,则将这些各batch起始下标打乱\n", " if shuffle:\n", " np.random.shuffle(idx_list)\n", " # 存放各个batch批次的句子数据索引下标\n", " batch_indexs = []\n", " for idx in idx_list:\n", " # 注意,起始下标最大的那个batch可能会超出数据大小\n", " # 因此要限定其终止下标不能超过数据大小\n", " \"\"\"\n", " 形如[array([4, 5, 6, 7]), \n", " array([0, 1, 2, 3]), \n", " array([8, 9, 10, 11]),\n", " ...]\n", " \"\"\"\n", " batch_indexs.append(np.arange(idx, min(idx + batch_size, len(en))))\n", " \n", " # 按各batch批次的句子数据索引下标,构建实际的单词id列表表示的各batch句子数据\n", " batches = []\n", " for batch_index in batch_indexs:\n", " # 按当前batch的各句子下标(数组批量索引)提取对应的单词id列表句子表示数据\n", " batch_en = [en[index] for index in batch_index] \n", " batch_cn = [cn[index] for index in batch_index]\n", " # 对当前batch的各个句子都进行padding对齐长度\n", " # 维度为:batch数量×batch_size×每个batch最大句子长度\n", " batch_cn = seq_padding(batch_cn)\n", " batch_en = seq_padding(batch_en)\n", " # 将当前batch的英文和中文数据添加到存放所有batch数据的列表中\n", " batches.append(Batch(batch_en, batch_cn))\n", "\n", " return batches" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# test load data\n", "prepare = PrepareData('nmt/en-cn/train_mini.txt','nmt/en-cn/train_mini.txt')\n", "# [en,cn] = prepare.load_data('nmt/en-cn/train_mini.txt')\n", "# print(cn)\n", "d = {'a':3,'b':5}\n", "d.get('a')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "注意,上述预处理中使用的 $Batch$ 类在后面的 $Encoder$ 内容的 $Attention\\ Mask$ 部分定义" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Embeddings** \n", " \n", "与其他序列传导模型类似,我们使用learned embeddings将输入标记和输出标记转换为维度 $d_{model}$ 的向量。我们还使用通常学习的线性变换和softmax函数将 $Decoder$(解码器)的输出转换为预测的下一个标签的概率。 \n", " \n", "在我们的模型中,我们在两个embedding层和pre-softmax线性变换层之间共享相同的权重矩阵。在其中的embedding层,我们会将这些权重乘以 $\\sqrt{d_{model}}$ 。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "class Embeddings(nn.Module):\n", " def __init__(self, d_model, vocab):\n", " super(Embeddings, self).__init__()\n", " # Embedding层\n", " self.lut = nn.Embedding(vocab, d_model)\n", " # Embedding维数\n", " self.d_model = d_model\n", "\n", " def forward(self, x):\n", " # 返回x对应的embedding矩阵(需要乘以math.sqrt(d_model))\n", " return self.lut(x) * math.sqrt(self.d_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "数据全部处理完成,现在我们开始理解和构建 $Transformer$ 模型" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. positional encoding(即位置嵌入或位置编码)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "由于 $Transformer$ 模型**没有**循环神经网络的迭代操作,所以我们必须提供每个字的位置信息给 $Transformer$,才能识别出语言中的顺序关系。 \n", " \n", "因此,我们定义一个位置嵌入的概念,也就是$positional \\ encoding$,位置嵌入的维度为$[max \\ sequence \\ length,\\ embedding \\ dimension]$,嵌入的维度同词向量的维度,$max \\ sequence \\ length$属于超参数,指的是限定的最大单个句长。 \n", " \n", "注意,我们一般以字为单位训练transformer模型,也就是说我们不用分词了,首先我们要初始化字向量为$[vocab \\ size,\\ embedding \\ dimension]$,$vocab \\ size$为总共的字库数量,$embedding \\ dimension$为字向量的维度,也是每个字的数学表达。 \n", " \n", "在论文 **attention is all you need**( https://arxiv.org/pdf/1706.03762.pdf )中使用了$sine$和$cosine$函数的线性变换来提供给模型位置信息: \n", " \n", "$$PE_{(pos,2i)} = sin(pos / 10000^{2i/d_{\\text{model}}}) \\quad \\quad PE_{(pos,2i+1)} = cos(pos / 10000^{2i/d_{\\text{model}}})\\tag{eq.1}$$ \n", " \n", "上式中$pos$指的是句中字的位置,取值范围是$[0, \\ max \\ sequence \\ length)$,$i$指的是词向量的维度,取值范围是$[0, \\ embedding \\ dimension)$,上面有$sin$和$cos$一组公式,也就是对应着$embedding \\ dimension$维度的一组奇数和偶数的序号的维度,例如$0, 1$一组,$2, 3$一组,分别用上面的$sin$和$cos$函数做处理,从而产生不同的周期性变化,而位置嵌入在$embedding \\ dimension$维度上随着维度序号增大,周期变化会越来越慢,而产生一种包含位置信息的纹理,就像论文原文中第六页讲的,位置嵌入函数的周期从$2 \\pi$到$10000 * 2 \\pi$变化,而每一个位置在$embedding \\ dimension$维度上都会得到不同周期的$sin$和$cos$函数的取值组合,从而产生独一的纹理位置信息,模型从而学到位置之间的依赖关系和自然语言的时序特性。 " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# 导入依赖库\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "class PositionalEncoding(nn.Module):\n", " def __init__(self, d_model, dropout, max_len=5000):\n", " super(PositionalEncoding, self).__init__()\n", " self.dropout = nn.Dropout(p=dropout)\n", " \n", " # 初始化一个size为 max_len(设定的最大长度)×embedding维度 的全零矩阵\n", " # 来存放所有小于这个长度位置对应的porisional embedding\n", " pe = torch.zeros(max_len, d_model, device=DEVICE)\n", " # 生成一个位置下标的tensor矩阵(每一行都是一个位置下标)\n", " \"\"\"\n", " 形式如:\n", " tensor([[0.],\n", " [1.],\n", " [2.],\n", " [3.],\n", " [4.],\n", " ...])\n", " \"\"\"\n", " position = torch.arange(0., max_len, device=DEVICE).unsqueeze(1)\n", " # 这里幂运算太多,我们使用exp和log来转换实现公式中pos下面要除以的分母(由于是分母,要注意带负号)\n", " div_term = torch.exp(torch.arange(0., d_model, 2, device=DEVICE) * -(math.log(10000.0) / d_model))\n", " \n", " # TODO: 根据公式,计算各个位置在各embedding维度上的位置纹理值,存放到pe矩阵中\n", " pe[:, 0::2] = torch.sin(position * div_term)\n", " pe[:, 1::2] = torch.cos(position * div_term)\n", " \n", " # 加1个维度,使得pe维度变为:1×max_len×embedding维度\n", " # (方便后续与一个batch的句子所有词的embedding批量相加)\n", " pe = pe.unsqueeze(0) \n", " # 将pe矩阵以持久的buffer状态存下(不会作为要训练的参数)\n", " self.register_buffer('pe', pe)\n", "\n", " def forward(self, x):\n", " # 将一个batch的句子所有词的embedding与已构建好的positional embeding相加\n", " # (这里按照该批次数据的最大句子长度来取对应需要的那些positional embedding值)\n", " x = x + Variable(self.pe[:, :x.size(1)], requires_grad=False)\n", " return self.dropout(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "可见,这里首先是按照最大长度max_len生成一个位置,而后根据公式计算出所有的向量,在forward函数中根据长度取用即可,非常方便。 \n", " \n", "> 注意要设置requires_grad=False,因其不参与训练。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "下面画一下位置嵌入,可见纵向观察,随着$embedding \\ dimension$增大,位置嵌入函数呈现不同的周期变化。" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(69.0, 0.5, 'sequence length')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x720 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pe = PositionalEncoding(16, 0, 100)\n", "positional_encoding = pe.forward(Variable(torch.zeros(1, 100, 16)))\n", "plt.figure(figsize=(10,10))\n", "sns.heatmap(positional_encoding.squeeze())\n", "plt.title(\"Sinusoidal Function\")\n", "plt.xlabel(\"hidden dimension\")\n", "plt.ylabel(\"sequence length\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0xe34a400>" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1080x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(15, 5))\n", "pe = PositionalEncoding(20, 0)\n", "y = pe.forward(Variable(torch.zeros(1, 100, 20)))\n", "plt.plot(np.arange(100), y[0, :, 4:8].data.numpy())\n", "plt.legend([\"dim %d\"%p for p in [4,5,6,7]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. self attention(自注意力机制)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"./imgs/attention_0.jpg\", width=600>\n", "<img src=\"./imgs/attention_1.jpg\", width=600>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**除以$\\sqrt{d_k}$的解释** \n", " \n", "假设 $q$ 和 $k$ 是独立的随机变量,平均值为 0,方差 1,这样他们的点积后形成的注意力矩阵为 $q⋅k=\\sum_{i=1}^{d_k}{q_i k_i}$,均值为 0 但方差放大为 $d_k$ 。为了抵消这种影响,我们用$\\sqrt{d_k}$来缩放点积,可以使得Softmax归一化时结果更稳定(不至于点积后得到注意力矩阵的值差别太大),以便反向传播时获取平衡的梯度" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def attention(query, key, value, mask=None, dropout=None):\n", " # 将query矩阵的最后一个维度值作为d_k\n", " d_k = query.size(-1)\n", " \n", " # TODO: 将key的最后两个维度互换(转置),才能与query矩阵相乘,乘完了还要除以d_k开根号\n", " scores = torch.matmul(query, key.transpose(-2, -1)) / math.sqrt(d_k) \n", " \n", " # 如果存在要进行mask的内容,则将那些为0的部分替换成一个很大的负数\n", " if mask is not None:\n", " scores = scores.masked_fill(mask == 0, -1e9)\n", " \n", " # TODO: 将mask后的attention矩阵按照最后一个维度进行softmax\n", " p_attn = F.softmax(scores, dim=-1)\n", " \n", " # 如果dropout参数设置为非空,则进行dropout操作\n", " if dropout is not None:\n", " p_attn = dropout(p_attn)\n", " # 最后返回注意力矩阵跟value的乘积,以及注意力矩阵\n", " return torch.matmul(p_attn, value), p_attn\n", "\n", "\n", "class MultiHeadedAttention(nn.Module):\n", " def __init__(self, h, d_model, dropout=0.1):\n", " super(MultiHeadedAttention, self).__init__()\n", " # 保证可以整除\n", " assert d_model % h == 0\n", " # 得到一个head的attention表示维度\n", " self.d_k = d_model // h\n", " # head数量\n", " self.h = h\n", " # 定义4个全连接函数,供后续作为WQ,WK,WV矩阵和最后h个多头注意力矩阵concat之后进行变换的矩阵\n", " self.linears = clones(nn.Linear(d_model, d_model), 4)\n", " self.attn = None\n", " self.dropout = nn.Dropout(p=dropout)\n", "\n", " def forward(self, query, key, value, mask=None):\n", " if mask is not None:\n", " mask = mask.unsqueeze(1)\n", " # query的第一个维度值为batch size\n", " nbatches = query.size(0)\n", " # 将embedding层乘以WQ,WK,WV矩阵(均为全连接)\n", " # 并将结果拆成h块,然后将第二个和第三个维度值互换(具体过程见上述解析)\n", " query, key, value = [l(x).view(nbatches, -1, self.h, self.d_k).transpose(1, 2) \n", " for l, x in zip(self.linears, (query, key, value))]\n", " # 调用上述定义的attention函数计算得到h个注意力矩阵跟value的乘积,以及注意力矩阵\n", " x, self.attn = attention(query, key, value, mask=mask, dropout=self.dropout)\n", " # 将h个多头注意力矩阵concat起来(注意要先把h变回到第三维的位置)\n", " x = x.transpose(1, 2).contiguous().view(nbatches, -1, self.h * self.d_k)\n", " # 使用self.linears中构造的最后一个全连接函数来存放变换后的矩阵进行返回\n", " return self.linears[-1](x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "参数里面的 $h$ 和 $d_{model}$ 分别表示注意力头的个数,以及模型的隐层单元数。 \n", " \n", "另外在 $\\_\\_init\\_\\_$ 函数中,我们定义了 $self.linears = clones(nn.Linear(d_{model},\\; d_{model}),\\; 4),\\; clone(x,\\; N)$ 即为深拷贝N份,这里定义了4个全连接函数,实际上是3+1,其中的3个分别是Q、K和V的变换矩阵,最后一个是用于最后将 $h$ 个多头注意力矩阵concat之后进行变换的矩阵。 \n", " \n", "在 $forward$ 函数中,是首先将 $query$、$key$ 和 $value$ 进行相应的变换,然后需要经过 $attention$ 这个函数的计算,这个函数实际上就是论文中“Scaled Dot-Product Attention”这个模块的计算" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Attention Mask" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"./imgs/attention_mask.jpg\", width=750>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "注意, 在上面$self \\ attention$的计算过程中, 我们通常使用$mini \\ batch$来计算, 也就是一次计算多句话, 也就是$X$的维度是$[batch \\ size, \\ sequence \\ length]$, $sequence \\ length$是句长, 而一个$mini \\ batch$是由多个不等长的句子组成的, 我们就需要按照这个$mini \\ batch$中最大的句长对剩余的句子进行补齐长度, 我们一般用$0$来进行填充, 这个过程叫做$padding$. \n", " \n", "但这时在进行$softmax$的时候就会产生问题, 回顾$softmax$函数$\\sigma (\\mathbf {z} )_{i}={\\frac {e^{z_{i}}}{\\sum _{j=1}^{K}e^{z_{j}}}}$, $e^0$是1, 是有值的, 这样的话$softmax$中被$padding$的部分就参与了运算, 就等于是让无效的部分参与了运算, 会产生很大隐患, 这时就需要做一个$mask$让这些无效区域不参与运算, 我们一般给无效区域加一个很大的负数的偏置, 也就是: \n", " \n", "$$z_{illegal} = z_{illegal} + bias_{illegal}$$\n", "$$bias_{illegal} \\to -\\infty$$\n", "$$e^{z_{illegal}} \\to 0 $$ \n", " \n", "经过上式的$masking$我们使无效区域经过$softmax$计算之后几乎为$0$, 这样就避免了无效区域参与计算." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在 $Transformer$ 里面,$Encoder$ 和 $Decoder $的 $Attention$ 计算都需要相应的 $Mask$ 处理,但功能却不同。 \n", " \n", "在 $Encoder$ 中,就如上述介绍的,$Mask$ 就是为了让那些在一个 $batch$ 中长度较短的序列的 $padding$ 部分不参与 $Attention$ 的计算。因此我们定义一个 $Batch$ 批处理对象,它包含用于训练的 $src$(翻译前)和 $trg$(翻译后)句子,以及构造其中的 $Mask$ 掩码。 \n", " \n", "**加了 $Mask$ 的 $Attention$ 原理如图(另附 $Multi\\text{-}Head\\ Attention$ ):** \n", "> 注意:这里的 $Attention\\ Mask$ 是加在 $Scale$ 和 $Softmax$ 之间 \n", " \n", "<img src=\"./imgs/attention_mask2.jpg\", width=550>" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "class Batch:\n", " \"Object for holding a batch of data with mask during training.\"\n", " def __init__(self, src, trg=None, pad=0):\n", " # 将输入与输出的单词id表示的数据规范成整数类型\n", " src = torch.from_numpy(src).to(DEVICE).long()\n", " trg = torch.from_numpy(trg).to(DEVICE).long()\n", " self.src = src\n", " # 对于当前输入的句子非空部分进行判断成bool序列\n", " # 并在seq length前面增加一维,形成维度为 1×seq length 的矩阵\n", " self.src_mask = (src != pad).unsqueeze(-2)\n", " # 如果输出目标不为空,则需要对decoder要使用到的target句子进行mask\n", " if trg is not None:\n", " # decoder要用到的target输入部分\n", " self.trg = trg[:, :-1]\n", " # decoder训练时应预测输出的target结果\n", " self.trg_y = trg[:, 1:]\n", " # 将target输入部分进行attention mask\n", " self.trg_mask = self.make_std_mask(self.trg, pad)\n", " # 将应输出的target结果中实际的词数进行统计\n", " self.ntokens = (self.trg_y != pad).data.sum()\n", " \n", " # Mask掩码操作\n", " @staticmethod\n", " def make_std_mask(tgt, pad):\n", " \"Create a mask to hide padding and future words.\"\n", " tgt_mask = (tgt != pad).unsqueeze(-2)\n", " tgt_mask = tgt_mask & Variable(subsequent_mask(tgt.size(-1)).type_as(tgt_mask.data))\n", " return tgt_mask" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4. Layer Normalization 和残差连接" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1). **LayerNorm**: \n", " \n", "$Layer Normalization$的作用是把神经网络中隐藏层归一为标准正态分布, 也就是 $i.i.d$(独立同分布), 以起到加快训练速度, 加速收敛的作用:\n", "$$\\mu_{i}=\\frac{1}{m} \\sum^{m}_{i=1}x_{ij}$$ \n", " \n", "上式中以矩阵的行$(row)$为单位求均值; \n", " \n", "$$\\sigma^{2}_{j}=\\frac{1}{m} \\sum^{m}_{i=1}\n", "(x_{ij}-\\mu_{j})^{2}$$ \n", " \n", "上式中以矩阵的行$(row)$为单位求方差; \n", " \n", "$$LayerNorm(x)=\\alpha \\odot \\frac{x_{ij}-\\mu_{i}}\n", "{\\sqrt{\\sigma^{2}_{i}+\\epsilon}} + \\beta \\tag{eq.5}$$ \n", " \n", "然后用**每一行**的**每一个元素**减去**这行的均值**, 再除以**这行的标准差**, 从而得到归一化后的数值, $\\epsilon$是为了防止除$0$; \n", "之后引入两个**可训练参数**$\\alpha, \\ \\beta$来弥补归一化的过程中损失掉的信息, 注意$\\odot$表示元素相乘而不是点积, 我们一般初始化$\\alpha$为全$1$, 而$\\beta$为全$0$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2). **残差连接**: \n", " \n", "我们在上一步得到了经过注意力矩阵加权之后的$V$, 也就是$Attention(Q, \\ K, \\ V)$, 我们对它进行一下转置, 使其和$X_{embedding}$的维度一致, 也就是$[batch \\ size, \\ sequence \\ length, \\ embedding \\ dimension]$, 然后把他们加起来做残差连接, 直接进行元素相加, 因为他们的维度一致: \n", " \n", "$$X_{embedding} + Attention(Q, \\ K, \\ V)$$ \n", " \n", "在之后的运算里, 每经过一个模块的运算, 都要把运算之前的值和运算之后的值相加, 从而得到残差连接, 训练的时候可以使梯度直接走捷径反传到最初始层: \n", " \n", "$$X + SubLayer(X) \\tag{eq. 6}$$ \n", " \n", "> **注意:这里我们对$SubLayer(X)$一般会进行dropout后再与X连接,即 $X + Dropout(SubLayer(X))$**" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "class LayerNorm(nn.Module):\n", " def __init__(self, features, eps=1e-6):\n", " super(LayerNorm, self).__init__()\n", " # 初始化α为全1, 而β为全0\n", " self.a_2 = nn.Parameter(torch.ones(features))\n", " self.b_2 = nn.Parameter(torch.zeros(features))\n", " # 平滑项\n", " self.eps = eps\n", "\n", " def forward(self, x):\n", " # TODO: 请利用init中的成员变量实现LayerNorm层的功能\n", " # 按最后一个维度计算均值和方差\n", " mean = x.mean(-1, keepdim=True)\n", " std = x.std(-1, keepdim=True)\n", " \n", " # TODO: 返回Layer Norm的结果\n", " return self.a_2 * (x - mean) / torch.sqrt(std ** 2 + self.eps) + self.b_2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "以上是 $LayerNormalization$ 的实现,其实PyTorch里面已经集成好了nn.LayerNorm,这里实现出来是为了学习其中的原理。而实际中,为了代码简洁,可以直接使用PyTorch里面实现好的函数。" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "class SublayerConnection(nn.Module):\n", " \"\"\"\n", " SublayerConnection的作用就是把Multi-Head Attention和Feed Forward层连在一起\n", " 只不过每一层输出之后都要先做Layer Norm再残差连接\n", " \"\"\"\n", " def __init__(self, size, dropout):\n", " super(SublayerConnection, self).__init__()\n", " self.norm = LayerNorm(size)\n", " self.dropout = nn.Dropout(dropout)\n", "\n", " def forward(self, x, sublayer):\n", " # TODO: 请利用init中的成员变量实现LayerNorm和残差连接的功能\n", " # 返回Layer Norm和残差连接后结果\n", " return x + self.dropout(sublayer(self.norm(x)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5. Transformer Encoder 整体结构" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "经过上面4个步骤, 我们已经基本了解到来$transformer$编码器的主要构成部分, 我们下面用公式把一个$transformer \\ block$的计算过程整理一下: \n", " \n", "1). **字向量与位置编码:** \n", "$$X = EmbeddingLookup(X) + PositionalEncoding \\tag{eq.2}$$\n", "$$X \\in \\mathbb{R}^{batch \\ size \\ * \\ seq. \\ len. \\ * \\ embed. \\ dim.} $$ \n", " \n", "2). **自注意力机制:** \n", "$$Q = Linear(X) = XW_{Q}$$ \n", "$$K = Linear(X) = XW_{K} \\tag{eq.3}$$\n", "$$V = Linear(X) = XW_{V}$$\n", "$$X_{attention} = SelfAttention(Q, \\ K, \\ V) \\tag{eq.4}$$ \n", " \n", "3). **残差连接与$Layer \\ Normalization$**\n", "$$X_{attention} = LayerNorm(X_{attention}) \\tag{eq. 5}$$\n", "$$X_{attention} = X + X_{attention} \\tag{eq. 6}$$ \n", " \n", "4). **$FeedForward$,其实就是两层线性映射并用激活函数(比如说$ReLU$)激活:** \n", "$$X_{hidden} = Linear(Activate(Linear(X_{attention}))) \\tag{eq. 7}$$ \n", " \n", "5). **重复3).:**\n", "$$X_{hidden} = LayerNorm(X_{hidden})$$\n", "$$X_{hidden} = X_{attention} + X_{hidden}$$\n", "$$X_{hidden} \\in \\mathbb{R}^{batch \\ size \\ * \\ seq. \\ len. \\ * \\ embed. \\ dim.} $$" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def clones(module, N):\n", " \"\"\"\n", " 克隆模型块,克隆的模型块参数不共享\n", " \"\"\"\n", " return nn.ModuleList([copy.deepcopy(module) for _ in range(N)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$Feed Forward$(前馈网络)层其实就是两层线性映射并用激活函数激活" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "class PositionwiseFeedForward(nn.Module):\n", " def __init__(self, d_model, d_ff, dropout=0.1):\n", " super(PositionwiseFeedForward, self).__init__()\n", " self.w_1 = nn.Linear(d_model, d_ff)\n", " self.w_2 = nn.Linear(d_ff, d_model)\n", " self.dropout = nn.Dropout(dropout)\n", "\n", " def forward(self, x):\n", " # TODO: 请利用init中的成员变量实现Feed Forward层的功能\n", " return self.w_2(self.dropout(F.relu(self.w_1(x))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$Encoder$ 由 $N=6$ 个相同的层组成。" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "class Encoder(nn.Module):\n", " # layer = EncoderLayer\n", " # N = 6\n", " def __init__(self, layer, N):\n", " super(Encoder, self).__init__()\n", " # 复制N个encoder layer\n", " self.layers = clones(layer, N)\n", " # Layer Norm\n", " self.norm = LayerNorm(layer.size)\n", "\n", " def forward(self, x, mask):\n", " \"\"\"\n", " 使用循环连续eecode N次(这里为6次)\n", " 这里的Eecoderlayer会接收一个对于输入的attention mask处理\n", " \"\"\"\n", " for layer in self.layers:\n", " x = layer(x, mask)\n", " return self.norm(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "每层 $Encoder\\ Block$ 都有两个子层组成。第一个子层实现了“多头”的 $Self\\text{-}attention$,第二个子层则是一个简单的 $Position\\text{-}wise$ 的全连接前馈网络。" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "class EncoderLayer(nn.Module):\n", " def __init__(self, size, self_attn, feed_forward, dropout):\n", " super(EncoderLayer, self).__init__()\n", " self.self_attn = self_attn\n", " self.feed_forward = feed_forward\n", " # SublayerConnection的作用就是把multi和ffn连在一起\n", " # 只不过每一层输出之后都要先做Layer Norm再残差连接\n", " self.sublayer = clones(SublayerConnection(size, dropout), 2)\n", " # d_model\n", " self.size = size\n", "\n", " def forward(self, x, mask):\n", " # 将embedding层进行Multi head Attention\n", " x = self.sublayer[0](x, lambda x: self.self_attn(x, x, x, mask))\n", " # 注意到attn得到的结果x直接作为了下一层的输入\n", " return self.sublayer[1](x, self.feed_forward)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 三. 解码器部分(Decoder)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"./imgs/decoder.jpg\", width=550>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "接着来看 $Decoder$ 部分(右半部分),它同样也是由 $N$ 层(在论文中,仍取 $N=6$ )堆叠起来。 \n", "> 对于其中的每一层,除了与 $Encoder$ 中相同的 $self\\text{-}attention$ 及 $Feed Forward$ 两层之外,还在中间插入了一个传统的 $Encoder\\text{-}Decoder$ 框架中的 $context\\text{-}attention$ 层(上图中的$sub\\text{-}layer\\ 2$),即将 $Decoder$ 的输出作为 $query$ 去查询 $Encoder$ 的输出,同样用的是 $Multi\\text{-}Head\\ Attention$ ,使得在 $Decode$ 的时候能看到 $Encoder$ 的所有输出。 \n", " \n", "这里明确一下 **$Decoder$ 的输入输出和解码过程:**\n", "\n", "- 输入:$Encoder$ 的输出 & 对应 $i-1$ 位置 $Decoder$ 的输出。所以中间的 $Attention$ 不是 $Self\\text{-}Attention$ ,它的 $K$,$V$ 来自 $Encoder$ ,Q来自上一位置 $Decoder$ 的输出\n", "- 输出:对应 $i$ 位置的输出词的概率分布\n", "- 解码:这里要特别注意一下,编码可以并行计算,一次性全部encoding出来,但解码不是一次把所有序列解出来的,而是像rnn一样一个一个解出来的,因为要用上一个位置的输入当作 $Attention$ 的 $query$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "这里 ** $Encoder$ 和 $Decoder$ 的 $Attention$ 的区别如下图所示** \n", "<img src=\"./imgs/attention.png\", width=550>" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "class Decoder(nn.Module):\n", " def __init__(self, layer, N):\n", " super(Decoder, self).__init__()\n", " # TODO: 参照EncoderLayer完成成员变量定义\n", " uper(Decoder, self).__init__()\n", " # 复制N个decoder layer\n", " self.layers = clones(layer, N)\n", " # Layer Norm\n", " self.norm = LayerNorm(layer.size)\n", " \n", "\n", " def forward(self, x, memory, src_mask, tgt_mask):\n", " \"\"\"\n", " 使用循环连续decode N次(这里为6次)\n", " 这里的Decoderlayer会接收一个对于输入的attention mask处理\n", " 和一个对输出的attention mask + subsequent mask处理\n", " \"\"\"\n", " for layer in self.layers:\n", " x = layer(x, memory, src_mask, tgt_mask)\n", " return self.norm(x)\n", "\n", "\n", "class DecoderLayer(nn.Module):\n", " def __init__(self, size, self_attn, src_attn, feed_forward, dropout):\n", " super(DecoderLayer, self).__init__()\n", " self.size = size\n", " # Self-Attention\n", " self.self_attn = self_attn\n", " # 与Encoder传入的Context进行Attention\n", " self.src_attn = src_attn\n", " self.feed_forward = feed_forward\n", " self.sublayer = clones(SublayerConnection(size, dropout), 3)\n", "\n", " def forward(self, x, memory, src_mask, tgt_mask):\n", " # 用m来存放encoder的最终hidden表示结果\n", " m = memory\n", " \n", " # TODO: 参照EncoderLayer完成DecoderLayer的forwark函数\n", " # Self-Attention:注意self-attention的q,k和v均为decoder hidden\n", " x = self.sublayer[0](x, lambda x: self.self_attn(x, x, x, tgt_mask))\n", " # Context-Attention:注意context-attention的q为decoder hidden,而k和v为encoder hidden\n", " x = self.sublayer[1](x, lambda x: self.src_attn(x, m, m, src_mask))\n", " return self.sublayer[2](x, self.feed_forward)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "明确了解码过程之后最上面的图就很好懂了,这里主要的不同就是新加的另外要说一下新加的attention多加了一个 $subsequent\\_mask$ ,因为训练时的output都是ground truth,这样可以确保预测第 $i$ 个位置时不会接触到未来的信息,具体解释如下。\n", "\n", "对于 $Encoder$ 中 $src$ 的 $mask$ 方式就比较简单,直接把 $pad$ 部分给 $mask$ 掉即可。 \n", "但对于 $Decoder$ 中 $trg$ 的 $mask$ 计算略微复杂一些,不仅需要把 $pad$ 部分 $mask$ 掉,还需要进行一个 $subsequent\\_mask$ 的操作。 \n", "即作为 $decoder$,在预测当前步的时候,是不能知道后面的内容的,即 $attention$ 需要加上 $mask$,将当前步之后的分数全部置为$-\\infty$,然后再计算 $softmax$,以防止发生数据泄露。这种 $Masked$ 的 $Attention$ 是考虑到输出 $Embedding$ 会偏移一个位置,确保了生成位置 $i$ 的预测时,仅依赖小于 $i$ 的位置处的已知输出,相当于把后面不该看到的信息屏蔽掉。 " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def subsequent_mask(size):\n", " \"Mask out subsequent positions.\"\n", " # 设定subsequent_mask矩阵的shape\n", " attn_shape = (1, size, size)\n", " \n", " # TODO: 生成一个右上角(不含主对角线)为全1,左下角(含主对角线)为全0的subsequent_mask矩阵\n", " subsequent_mask = np.triu(np.ones(attn_shape), k=1).astype('uint8')\n", " \n", " # TODO: 返回一个右上角(不含主对角线)为全False,左下角(含主对角线)为全True的subsequent_mask矩阵\n", " return torch.from_numpy(subsequent_mask) == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们可视化一下 $subsequent\\_mask$ 矩阵的形式,直观进行理解。 \n", "这里的 $Attention mask$ 图显示了允许每个目标词(行)查看的位置(列)。在训练期间,当前解码位置的词不能 $Attend$ 到后续位置的词。 \n", " \n", "> 这里是给定一个序列长度size,生成一个下三角矩阵,在主对角线右上的都是 False,其示意图如下: \n", "<img src=\"./imgs/subsequent_mask.png\", width=450> \n", "就是在decoder层的self-Attention中,由于生成 $s_i$ 时, $s_{i+1}$ 并没有产生,所以不能有 $s_i$ 和 $s_{i+1}$ 的关联系数,即只有下三角矩阵有系数,即下图中**`黄色部分`**。" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.image.AxesImage at 0xe7ea6d8>" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 360x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5,5))\n", "plt.imshow(subsequent_mask(20)[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 四. Transformer模型\n", " \n", "最后,我们把 $Encoder$ 和 $Decoder$ 组成 $Transformer$ 模型" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "class Transformer(nn.Module):\n", " def __init__(self, encoder, decoder, src_embed, tgt_embed, generator):\n", " super(Transformer, self).__init__()\n", " self.encoder = encoder\n", " self.decoder = decoder\n", " self.src_embed = src_embed\n", " self.tgt_embed = tgt_embed\n", " self.generator = generator \n", "\n", " def encode(self, src, src_mask):\n", " return self.encoder(self.src_embed(src), src_mask)\n", "\n", " def decode(self, memory, src_mask, tgt, tgt_mask):\n", " return self.decoder(self.tgt_embed(tgt), memory, src_mask, tgt_mask)\n", "\n", " def forward(self, src, tgt, src_mask, tgt_mask):\n", " # encoder的结果作为decoder的memory参数传入,进行decode\n", " return self.decode(self.encode(src, src_mask), src_mask, tgt, tgt_mask)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "class Generator(nn.Module):\n", " # vocab: tgt_vocab\n", " def __init__(self, d_model, vocab):\n", " super(Generator, self).__init__()\n", " # decode后的结果,先进入一个全连接层变为词典大小的向量\n", " self.proj = nn.Linear(d_model, vocab)\n", "\n", " def forward(self, x):\n", " # 然后再进行log_softmax操作(在softmax结果上再做多一次log运算)\n", " return F.log_softmax(self.proj(x), dim=-1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**定义设置超参并连接完整模型的函数**" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def make_model(src_vocab, tgt_vocab, N=6, d_model=512, d_ff=2048, h = 8, dropout=0.1):\n", " c = copy.deepcopy\n", " # 实例化Attention对象\n", " attn = MultiHeadedAttention(h, d_model).to(DEVICE)\n", " # 实例化FeedForward对象\n", " ff = PositionwiseFeedForward(d_model, d_ff, dropout).to(DEVICE)\n", " # 实例化PositionalEncoding对象\n", " position = PositionalEncoding(d_model, dropout).to(DEVICE)\n", " # 实例化Transformer模型对象\n", " model = Transformer(\n", " Encoder(EncoderLayer(d_model, c(attn), c(ff), dropout).to(DEVICE), N).to(DEVICE),\n", " Decoder(DecoderLayer(d_model, c(attn), c(attn), c(ff), dropout).to(DEVICE), N).to(DEVICE),\n", " nn.Sequential(Embeddings(d_model, src_vocab).to(DEVICE), c(position)),\n", " nn.Sequential(Embeddings(d_model, tgt_vocab).to(DEVICE), c(position)),\n", " Generator(d_model, tgt_vocab)).to(DEVICE)\n", " \n", " # This was important from their code. \n", " # Initialize parameters with Glorot / fan_avg.\n", " for p in model.parameters():\n", " if p.dim() > 1:\n", " # 这里初始化采用的是nn.init.xavier_uniform\n", " nn.init.xavier_uniform_(p)\n", " return model.to(DEVICE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 五. 模型训练" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**标签平滑**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在训练期间,我们采用了值$\\epsilon_{ls}=0.1$的标签平滑(参见: https://arxiv.org/pdf/1512.00567.pdf ),其实还是从$Computer\\; Vision$上搬过来的,具体操作可以看下面的代码实现,**在这里不作为重点**。 \n", " \n", "这种做法提高了困惑度,因为模型变得更加不确定,但提高了准确性和BLEU分数。 \n", ">我们使用 $KL\\; div\\; loss$(KL散度损失)实现标签平滑。 \n", "对于输出的分布,从原始的 $one\\text{-}hot$ 分布转为在groundtruth上使用一个confidence值,而后其他的所有非groudtruth标签上采用 $\\frac{1 - confidence}{odim - 1}$ 作为概率值进行平滑。" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "class LabelSmoothing(nn.Module):\n", " \"\"\"标签平滑处理\"\"\"\n", " def __init__(self, size, padding_idx, smoothing=0.0):\n", " super(LabelSmoothing, self).__init__()\n", " self.criterion = nn.KLDivLoss(reduction='sum')\n", " self.padding_idx = padding_idx\n", " self.confidence = 1.0 - smoothing\n", " self.smoothing = smoothing\n", " self.size = size\n", " self.true_dist = None\n", " \n", " def forward(self, x, target):\n", " assert x.size(1) == self.size\n", " true_dist = x.data.clone()\n", " true_dist.fill_(self.smoothing / (self.size - 2))\n", " true_dist.scatter_(1, target.data.unsqueeze(1), self.confidence)\n", " true_dist[:, self.padding_idx] = 0\n", " mask = torch.nonzero(target.data == self.padding_idx)\n", " if mask.dim() > 0:\n", " true_dist.index_fill_(0, mask.squeeze(), 0.0)\n", " self.true_dist = true_dist\n", " return self.criterion(x, Variable(true_dist, requires_grad=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "这里的size是输出词表的大小,smoothing是用于分摊在非groundtruth上面的概率值。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在这里,我们可以看到标签平滑的示例。" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([[0.0000, 0.1333, 0.6000, 0.1333, 0.1333],\n", " [0.0000, 0.6000, 0.1333, 0.1333, 0.1333],\n", " [0.0000, 0.0000, 0.0000, 0.0000, 0.0000]])\n" ] }, { "data": { "text/plain": [ "<matplotlib.image.AxesImage at 0xefc95c0>" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Label smoothing的例子\n", "crit = LabelSmoothing(5, 0, 0.4) # 设定一个ϵ=0.4\n", "predict = torch.FloatTensor([[0, 0.2, 0.7, 0.1, 0],\n", " [0, 0.2, 0.7, 0.1, 0], \n", " [0, 0.2, 0.7, 0.1, 0]])\n", "v = crit(Variable(predict.log()), \n", " Variable(torch.LongTensor([2, 1, 0])))\n", "\n", "# Show the target distributions expected by the system.\n", "print(crit.true_dist)\n", "plt.imshow(crit.true_dist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "如果对给定的选择非常有信心,标签平滑实际上会开始惩罚模型。" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[<matplotlib.lines.Line2D at 0xf01b630>]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "crit = LabelSmoothing(5, 0, 0.1)\n", "def loss(x):\n", " d = x + 3 * 1\n", " predict = torch.FloatTensor([[0, x / d, 1 / d, 1 / d, 1 / d]])\n", " #print(predict)\n", " return crit(Variable(predict.log()), Variable(torch.LongTensor([1]))).item()\n", "\n", "plt.plot(np.arange(1, 100), [loss(x) for x in range(1, 100)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**计算损失**" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "class SimpleLossCompute:\n", " \"\"\"\n", " 简单的计算损失和进行参数反向传播更新训练的函数\n", " \"\"\"\n", " def __init__(self, generator, criterion, opt=None):\n", " self.generator = generator\n", " self.criterion = criterion\n", " self.opt = opt\n", " \n", " def __call__(self, x, y, norm):\n", " x = self.generator(x)\n", " loss = self.criterion(x.contiguous().view(-1, x.size(-1)), \n", " y.contiguous().view(-1)) / norm\n", " loss.backward()\n", " if self.opt is not None:\n", " self.opt.step()\n", " self.opt.optimizer.zero_grad()\n", " return loss.data.item() * norm.float()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**optimizer优化器**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "论文里面提到了他们用的优化器,是以$\\beta_1=0.9、\\beta_2=0.98$ 和 $\\epsilon = 10^{−9}$ 的 $Adam$ 为基础,而后使用一种warmup的学习率调整方式来进行调节。 \n", "具体公式如下: \n", " \n", "$$ lrate = d^{−0.5}_{model}⋅min(step\\_num^{−0.5},\\; step\\_num⋅warmup\\_steps^{−1.5})$$ \n", "\n", "基本上就是用一个固定的 $warmup\\_steps$ **先进行学习率的线性增长(热身)**,而后到达 $warmup\\_steps$ 之后会随着 $step\\_num$ 的增长,以 $step\\_num$(步数)的反平方根成比例地**逐渐减小它**,他们用的 $warmup\\_steps = 4000$ ,这个可以针对不同的问题自己尝试。" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "class NoamOpt:\n", " \"Optim wrapper that implements rate.\"\n", " def __init__(self, model_size, factor, warmup, optimizer):\n", " self.optimizer = optimizer\n", " self._step = 0\n", " self.warmup = warmup\n", " self.factor = factor\n", " self.model_size = model_size\n", " self._rate = 0\n", " \n", " def step(self):\n", " \"Update parameters and rate\"\n", " self._step += 1\n", " rate = self.rate()\n", " for p in self.optimizer.param_groups:\n", " p['lr'] = rate\n", " self._rate = rate\n", " self.optimizer.step()\n", " \n", " def rate(self, step = None):\n", " \"Implement `lrate` above\"\n", " if step is None:\n", " step = self._step\n", " return self.factor * (self.model_size ** (-0.5) * min(step ** (-0.5), step * self.warmup ** (-1.5)))\n", " \n", "def get_std_opt(model):\n", " return NoamOpt(model.src_embed[0].d_model, 2, 4000,\n", " torch.optim.Adam(model.parameters(), lr=0, betas=(0.9, 0.98), eps=1e-9))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "主要调节是在 $rate$ 这个函数中,其中\n", "- $model\\_size$ 即为 $d_{model}$\n", "- $warmup$ 即为 $warmup\\_steps$\n", "- $factor$ 可以理解为初始的学习率" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "以下对该优化器在**不同模型大小($model\\_size$)**和**不同超参数($marmup$)值**的情况下的学习率($lrate$)曲线进行示例。 " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0xf055908>" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Three settings of the lrate hyperparameters.\n", "opts = [NoamOpt(512, 1, 4000, None), \n", " NoamOpt(512, 1, 8000, None),\n", " NoamOpt(256, 1, 4000, None)]\n", "plt.plot(np.arange(1, 20000), [[opt.rate(i) for opt in opts] for i in range(1, 20000)])\n", "plt.legend([\"512:4000\", \"512:8000\", \"256:4000\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**训练迭代**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "接下来,我们创建一个通用的训练和评分功能来跟踪损失。 我们传入一个上面定义的损失计算函数,它也处理参数更新。" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "def run_epoch(data, model, loss_compute, epoch):\n", " start = time.time()\n", " total_tokens = 0.\n", " total_loss = 0.\n", " tokens = 0.\n", "\n", " for i , batch in enumerate(data):\n", " out = model(batch.src, batch.trg, batch.src_mask, batch.trg_mask)\n", " loss = loss_compute(out, batch.trg_y, batch.ntokens)\n", "\n", " total_loss += loss\n", " total_tokens += batch.ntokens\n", " tokens += batch.ntokens\n", "\n", " if i % 50 == 1:\n", " elapsed = time.time() - start\n", " print(\"Epoch %d Batch: %d Loss: %f Tokens per Sec: %fs\" % (epoch, i - 1, loss / batch.ntokens, (tokens.float() / elapsed / 1000.)))\n", " start = time.time()\n", " tokens = 0\n", "\n", " return total_loss / total_tokens\n", "\n", "\n", "def train(data, model, criterion, optimizer):\n", " \"\"\"\n", " 训练并保存模型\n", " \"\"\"\n", " # 初始化模型在dev集上的最优Loss为一个较大值\n", " best_dev_loss = 1e5\n", " \n", " for epoch in range(EPOCHS):\n", " # 模型训练\n", " model.train()\n", " run_epoch(data.train_data, model, SimpleLossCompute(model.generator, criterion, optimizer), epoch)\n", " model.eval()\n", "\n", " # 在dev集上进行loss评估\n", " print('>>>>> Evaluate')\n", " dev_loss = run_epoch(data.dev_data, model, SimpleLossCompute(model.generator, criterion, None), epoch)\n", " print('<<<<< Evaluate loss: %f' % dev_loss)\n", " \n", " # TODO: 如果当前epoch的模型在dev集上的loss优于之前记录的最优loss则保存当前模型,并更新最优loss值\n", " if dev_loss < best_dev_loss:\n", " torch.save(model.state_dict(), SAVE_FILE)\n", " best_dev_loss = dev_loss\n", " print('****** Save model done... ******')\n", " print()\n", " " ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "src_vocab 5493\n", "tgt_vocab 3194\n", ">>>>>>> start train\n", "Epoch 0 Batch: 0 Loss: 8.047966 Tokens per Sec: 0.417801s\n", "Epoch 0 Batch: 50 Loss: 7.208340 Tokens per Sec: 0.414754s\n", "Epoch 0 Batch: 100 Loss: 6.389145 Tokens per Sec: 0.414449s\n", "Epoch 0 Batch: 150 Loss: 5.808640 Tokens per Sec: 0.397812s\n", "Epoch 0 Batch: 200 Loss: 5.013027 Tokens per Sec: 0.401147s\n", ">>>>> Evaluate\n", "Epoch 0 Batch: 0 Loss: 5.152656 Tokens per Sec: 0.399960s\n", "<<<<< Evaluate loss: 5.132890\n", "****** Save model done... ******\n", "\n", "Epoch 1 Batch: 0 Loss: 4.783645 Tokens per Sec: 0.378818s\n", "Epoch 1 Batch: 50 Loss: 5.044293 Tokens per Sec: 0.392478s\n", "Epoch 1 Batch: 100 Loss: 4.561217 Tokens per Sec: 0.406572s\n", "Epoch 1 Batch: 150 Loss: 4.854280 Tokens per Sec: 0.377146s\n", "Epoch 1 Batch: 200 Loss: 4.198005 Tokens per Sec: 0.396596s\n", ">>>>> Evaluate\n", "Epoch 1 Batch: 0 Loss: 4.412664 Tokens per Sec: 0.393324s\n", "<<<<< Evaluate loss: 4.422371\n", "****** Save model done... ******\n", "\n", "Epoch 2 Batch: 0 Loss: 3.979810 Tokens per Sec: 0.358582s\n", "Epoch 2 Batch: 50 Loss: 4.303853 Tokens per Sec: 0.379218s\n", "Epoch 2 Batch: 100 Loss: 3.861611 Tokens per Sec: 0.385652s\n", "Epoch 2 Batch: 150 Loss: 4.126845 Tokens per Sec: 0.384678s\n", "Epoch 2 Batch: 200 Loss: 3.480355 Tokens per Sec: 0.389252s\n", ">>>>> Evaluate\n", "Epoch 2 Batch: 0 Loss: 3.746957 Tokens per Sec: 0.389154s\n", "<<<<< Evaluate loss: 3.742145\n", "****** Save model done... ******\n", "\n", "Epoch 3 Batch: 0 Loss: 3.361857 Tokens per Sec: 0.396573s\n", "Epoch 3 Batch: 50 Loss: 3.701705 Tokens per Sec: 0.387031s\n", "Epoch 3 Batch: 100 Loss: 3.167832 Tokens per Sec: 0.361218s\n", "Epoch 3 Batch: 150 Loss: 3.493345 Tokens per Sec: 0.378043s\n", "Epoch 3 Batch: 200 Loss: 2.935958 Tokens per Sec: 0.384097s\n", ">>>>> Evaluate\n", "Epoch 3 Batch: 0 Loss: 3.211424 Tokens per Sec: 0.379675s\n", "<<<<< Evaluate loss: 3.207309\n", "****** Save model done... ******\n", "\n", "Epoch 4 Batch: 0 Loss: 2.840209 Tokens per Sec: 0.386377s\n", "Epoch 4 Batch: 50 Loss: 3.128447 Tokens per Sec: 0.378459s\n", "Epoch 4 Batch: 100 Loss: 2.592177 Tokens per Sec: 0.393090s\n", "Epoch 4 Batch: 150 Loss: 3.055217 Tokens per Sec: 0.403275s\n", "Epoch 4 Batch: 200 Loss: 2.440481 Tokens per Sec: 0.385206s\n", ">>>>> Evaluate\n", "Epoch 4 Batch: 0 Loss: 2.703049 Tokens per Sec: 0.396062s\n", "<<<<< Evaluate loss: 2.765085\n", "****** Save model done... ******\n", "\n", "Epoch 5 Batch: 0 Loss: 2.361753 Tokens per Sec: 0.340514s\n", "Epoch 5 Batch: 50 Loss: 2.715648 Tokens per Sec: 0.364832s\n", "Epoch 5 Batch: 100 Loss: 2.081654 Tokens per Sec: 0.368158s\n", "Epoch 5 Batch: 150 Loss: 2.681901 Tokens per Sec: 0.385654s\n", "Epoch 5 Batch: 200 Loss: 2.073583 Tokens per Sec: 0.385623s\n", ">>>>> Evaluate\n", "Epoch 5 Batch: 0 Loss: 2.408440 Tokens per Sec: 0.405808s\n", "<<<<< Evaluate loss: 2.454949\n", "****** Save model done... ******\n", "\n", "Epoch 6 Batch: 0 Loss: 2.393265 Tokens per Sec: 0.380105s\n", "Epoch 6 Batch: 50 Loss: 2.364051 Tokens per Sec: 0.377667s\n", "Epoch 6 Batch: 100 Loss: 1.763124 Tokens per Sec: 0.377325s\n", "Epoch 6 Batch: 150 Loss: 2.368720 Tokens per Sec: 0.377634s\n", "Epoch 6 Batch: 200 Loss: 1.723048 Tokens per Sec: 0.378353s\n", ">>>>> Evaluate\n", "Epoch 6 Batch: 0 Loss: 2.128559 Tokens per Sec: 0.413026s\n", "<<<<< Evaluate loss: 2.169614\n", "****** Save model done... ******\n", "\n", "Epoch 7 Batch: 0 Loss: 1.986814 Tokens per Sec: 0.366278s\n", "Epoch 7 Batch: 50 Loss: 2.039188 Tokens per Sec: 0.376198s\n", "Epoch 7 Batch: 100 Loss: 1.495599 Tokens per Sec: 0.395194s\n", "Epoch 7 Batch: 150 Loss: 2.085818 Tokens per Sec: 0.387088s\n", "Epoch 7 Batch: 200 Loss: 1.555854 Tokens per Sec: 0.376969s\n", ">>>>> Evaluate\n", "Epoch 7 Batch: 0 Loss: 1.844352 Tokens per Sec: 0.405808s\n", "<<<<< Evaluate loss: 1.913417\n", "****** Save model done... ******\n", "\n", "Epoch 8 Batch: 0 Loss: 1.539716 Tokens per Sec: 0.385048s\n", "Epoch 8 Batch: 50 Loss: 1.827393 Tokens per Sec: 0.401591s\n", "Epoch 8 Batch: 100 Loss: 1.328125 Tokens per Sec: 0.390452s\n", "Epoch 8 Batch: 150 Loss: 1.920886 Tokens per Sec: 0.374701s\n", "Epoch 8 Batch: 200 Loss: 1.382267 Tokens per Sec: 0.385361s\n", ">>>>> Evaluate\n", "Epoch 8 Batch: 0 Loss: 1.675908 Tokens per Sec: 0.415439s\n", "<<<<< Evaluate loss: 1.757048\n", "****** Save model done... ******\n", "\n", "Epoch 9 Batch: 0 Loss: 1.426576 Tokens per Sec: 0.389667s\n", "Epoch 9 Batch: 50 Loss: 1.673937 Tokens per Sec: 0.388144s\n", "Epoch 9 Batch: 100 Loss: 1.159457 Tokens per Sec: 0.394061s\n", "Epoch 9 Batch: 150 Loss: 1.769390 Tokens per Sec: 0.407616s\n", "Epoch 9 Batch: 200 Loss: 1.227303 Tokens per Sec: 0.388397s\n", ">>>>> Evaluate\n", "Epoch 9 Batch: 0 Loss: 1.429562 Tokens per Sec: 0.403506s\n", "<<<<< Evaluate loss: 1.540060\n", "****** Save model done... ******\n", "\n", "Epoch 10 Batch: 0 Loss: 1.144109 Tokens per Sec: 0.404540s\n", "Epoch 10 Batch: 50 Loss: 1.504235 Tokens per Sec: 0.387123s\n", "Epoch 10 Batch: 100 Loss: 0.952643 Tokens per Sec: 0.407695s\n", "Epoch 10 Batch: 150 Loss: 1.574906 Tokens per Sec: 0.403097s\n", "Epoch 10 Batch: 200 Loss: 1.038148 Tokens per Sec: 0.397892s\n", ">>>>> Evaluate\n", "Epoch 10 Batch: 0 Loss: 1.239154 Tokens per Sec: 0.411830s\n", "<<<<< Evaluate loss: 1.342331\n", "****** Save model done... ******\n", "\n", "Epoch 11 Batch: 0 Loss: 1.026230 Tokens per Sec: 0.381113s\n", "Epoch 11 Batch: 50 Loss: 1.286602 Tokens per Sec: 0.374277s\n", "Epoch 11 Batch: 100 Loss: 0.819605 Tokens per Sec: 0.392187s\n", "Epoch 11 Batch: 150 Loss: 1.417345 Tokens per Sec: 0.385207s\n", "Epoch 11 Batch: 200 Loss: 0.973453 Tokens per Sec: 0.409085s\n", ">>>>> Evaluate\n", "Epoch 11 Batch: 0 Loss: 1.030610 Tokens per Sec: 0.420557s\n", "<<<<< Evaluate loss: 1.159638\n", "****** Save model done... ******\n", "\n", "Epoch 12 Batch: 0 Loss: 0.836638 Tokens per Sec: 0.391655s\n", "Epoch 12 Batch: 50 Loss: 1.112174 Tokens per Sec: 0.406854s\n", "Epoch 12 Batch: 100 Loss: 0.723200 Tokens per Sec: 0.402185s\n", "Epoch 12 Batch: 150 Loss: 1.204822 Tokens per Sec: 0.406547s\n", "Epoch 12 Batch: 200 Loss: 0.817593 Tokens per Sec: 0.384881s\n", ">>>>> Evaluate\n", "Epoch 12 Batch: 0 Loss: 0.867117 Tokens per Sec: 0.423260s\n", "<<<<< Evaluate loss: 1.025186\n", "****** Save model done... ******\n", "\n", "Epoch 13 Batch: 0 Loss: 0.698784 Tokens per Sec: 0.402679s\n", "Epoch 13 Batch: 50 Loss: 0.938670 Tokens per Sec: 0.383155s\n", "Epoch 13 Batch: 100 Loss: 0.636687 Tokens per Sec: 0.370447s\n", "Epoch 13 Batch: 150 Loss: 1.131564 Tokens per Sec: 0.378747s\n", "Epoch 13 Batch: 200 Loss: 0.706838 Tokens per Sec: 0.380081s\n", ">>>>> Evaluate\n", "Epoch 13 Batch: 0 Loss: 0.763328 Tokens per Sec: 0.423836s\n", "<<<<< Evaluate loss: 0.867314\n", "****** Save model done... ******\n", "\n", "Epoch 14 Batch: 0 Loss: 0.642156 Tokens per Sec: 0.395367s\n", "Epoch 14 Batch: 50 Loss: 0.877809 Tokens per Sec: 0.391492s\n", "Epoch 14 Batch: 100 Loss: 0.547560 Tokens per Sec: 0.376714s\n", "Epoch 14 Batch: 150 Loss: 0.932766 Tokens per Sec: 0.403539s\n", "Epoch 14 Batch: 200 Loss: 0.595747 Tokens per Sec: 0.407216s\n", ">>>>> Evaluate\n", "Epoch 14 Batch: 0 Loss: 0.672317 Tokens per Sec: 0.404550s\n", "<<<<< Evaluate loss: 0.768191\n", "****** Save model done... ******\n", "\n", "Epoch 15 Batch: 0 Loss: 0.564185 Tokens per Sec: 0.386564s\n", "Epoch 15 Batch: 50 Loss: 0.809875 Tokens per Sec: 0.403690s\n", "Epoch 15 Batch: 100 Loss: 0.503114 Tokens per Sec: 0.408265s\n", "Epoch 15 Batch: 150 Loss: 0.876654 Tokens per Sec: 0.405627s\n", "Epoch 15 Batch: 200 Loss: 0.578573 Tokens per Sec: 0.409020s\n", ">>>>> Evaluate\n", "Epoch 15 Batch: 0 Loss: 0.592497 Tokens per Sec: 0.423048s\n", "<<<<< Evaluate loss: 0.662070\n", "****** Save model done... ******\n", "\n", "Epoch 16 Batch: 0 Loss: 0.572163 Tokens per Sec: 0.393821s\n", "Epoch 16 Batch: 50 Loss: 0.727558 Tokens per Sec: 0.395595s\n", "Epoch 16 Batch: 100 Loss: 0.432549 Tokens per Sec: 0.405526s\n", "Epoch 16 Batch: 150 Loss: 0.762408 Tokens per Sec: 0.385961s\n", "Epoch 16 Batch: 200 Loss: 0.517937 Tokens per Sec: 0.392558s\n", ">>>>> Evaluate\n", "Epoch 16 Batch: 0 Loss: 0.493062 Tokens per Sec: 0.376410s\n", "<<<<< Evaluate loss: 0.577324\n", "****** Save model done... ******\n", "\n", "Epoch 17 Batch: 0 Loss: 0.476594 Tokens per Sec: 0.390574s\n", "Epoch 17 Batch: 50 Loss: 0.616665 Tokens per Sec: 0.394572s\n", "Epoch 17 Batch: 100 Loss: 0.431503 Tokens per Sec: 0.396448s\n", "Epoch 17 Batch: 150 Loss: 0.716941 Tokens per Sec: 0.390892s\n", "Epoch 17 Batch: 200 Loss: 0.444165 Tokens per Sec: 0.385939s\n", ">>>>> Evaluate\n", "Epoch 17 Batch: 0 Loss: 0.421234 Tokens per Sec: 0.352178s\n", "<<<<< Evaluate loss: 0.485999\n", "****** Save model done... ******\n", "\n", "Epoch 18 Batch: 0 Loss: 0.393085 Tokens per Sec: 0.368963s\n", "Epoch 18 Batch: 50 Loss: 0.582544 Tokens per Sec: 0.371791s\n", "Epoch 18 Batch: 100 Loss: 0.348490 Tokens per Sec: 0.393095s\n", "Epoch 18 Batch: 150 Loss: 0.609080 Tokens per Sec: 0.374444s\n", "Epoch 18 Batch: 200 Loss: 0.426204 Tokens per Sec: 0.386585s\n", ">>>>> Evaluate\n", "Epoch 18 Batch: 0 Loss: 0.348698 Tokens per Sec: 0.407115s\n", "<<<<< Evaluate loss: 0.429700\n", "****** Save model done... ******\n", "\n", "Epoch 19 Batch: 0 Loss: 0.413536 Tokens per Sec: 0.382561s\n", "Epoch 19 Batch: 50 Loss: 0.505572 Tokens per Sec: 0.367874s\n", "Epoch 19 Batch: 100 Loss: 0.336339 Tokens per Sec: 0.375951s\n", "Epoch 19 Batch: 150 Loss: 0.540289 Tokens per Sec: 0.393198s\n", "Epoch 19 Batch: 200 Loss: 0.386992 Tokens per Sec: 0.379496s\n", ">>>>> Evaluate\n", "Epoch 19 Batch: 0 Loss: 0.301758 Tokens per Sec: 0.404654s\n", "<<<<< Evaluate loss: 0.369798\n", "****** Save model done... ******\n", "\n", "<<<<<<< finished train, cost 9037.7748 seconds\n" ] } ], "source": [ "# 数据预处理\n", "data = PrepareData(TRAIN_FILE, DEV_FILE)\n", "src_vocab = len(data.en_word_dict)\n", "tgt_vocab = len(data.cn_word_dict)\n", "print(\"src_vocab %d\" % src_vocab)\n", "print(\"tgt_vocab %d\" % tgt_vocab)\n", "\n", "# 初始化模型\n", "model = make_model(\n", " src_vocab, \n", " tgt_vocab, \n", " LAYERS, \n", " D_MODEL, \n", " D_FF,\n", " H_NUM,\n", " DROPOUT\n", " )\n", "\n", "# 训练\n", "print(\">>>>>>> start train\")\n", "train_start = time.time()\n", "criterion = LabelSmoothing(tgt_vocab, padding_idx = 0, smoothing= 0.0)\n", "optimizer = NoamOpt(D_MODEL, 1, 2000, torch.optim.Adam(model.parameters(), lr=0, betas=(0.9,0.98), eps=1e-9))\n", "\n", "train(data, model, criterion, optimizer)\n", "print(f\"<<<<<<< finished train, cost {time.time()-train_start:.4f} seconds\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 六. 模型预测" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "def greedy_decode(model, src, src_mask, max_len, start_symbol):\n", " \"\"\"\n", " 传入一个训练好的模型,对指定数据进行预测\n", " \"\"\"\n", " # 先用encoder进行encode\n", " memory = model.encode(src, src_mask)\n", " # 初始化预测内容为1×1的tensor,填入开始符('BOS')的id,并将type设置为输入数据类型(LongTensor)\n", " ys = torch.ones(1, 1).fill_(start_symbol).type_as(src.data)\n", " # 遍历输出的长度下标\n", " for i in range(max_len-1):\n", " # decode得到隐层表示\n", " out = model.decode(memory, \n", " src_mask, \n", " Variable(ys), \n", " Variable(subsequent_mask(ys.size(1)).type_as(src.data)))\n", " # 将隐藏表示转为对词典各词的log_softmax概率分布表示\n", " prob = model.generator(out[:, -1])\n", " # 获取当前位置最大概率的预测词id\n", " _, next_word = torch.max(prob, dim = 1)\n", " next_word = next_word.data[0]\n", " # 将当前位置预测的字符id与之前的预测内容拼接起来\n", " ys = torch.cat([ys, \n", " torch.ones(1, 1).type_as(src.data).fill_(next_word)], dim=1)\n", " return ys\n", "\n", "\n", "def evaluate(data, model):\n", " \"\"\"\n", " 在data上用训练好的模型进行预测,打印模型翻译结果\n", " \"\"\"\n", " # 梯度清零\n", " with torch.no_grad():\n", " # 在data的英文数据长度上遍历下标\n", " for i in range(len(data.dev_en)):\n", " # TODO: 打印待翻译的英文句子\n", " en_sent = \" \".join([data.en_index_dict[w] for w in data.dev_en[i]])\n", " print(\"\\n\" + en_sent)\n", " \n", " # TODO: 打印对应的中文句子答案\n", " cn_sent = \" \".join([data.cn_index_dict[w] for w in data.dev_cn[i]])\n", " print(\"\".join(cn_sent))\n", " \n", " # 将当前以单词id表示的英文句子数据转为tensor,并放如DEVICE中\n", " src = torch.from_numpy(np.array(data.dev_en[i])).long().to(DEVICE)\n", " # 增加一维\n", " src = src.unsqueeze(0)\n", " # 设置attention mask\n", " src_mask = (src != 0).unsqueeze(-2)\n", " # 用训练好的模型进行decode预测\n", " out = greedy_decode(model, src, src_mask, max_len=MAX_LENGTH, start_symbol=data.cn_word_dict[\"BOS\"])\n", " # 初始化一个用于存放模型翻译结果句子单词的列表\n", " translation = []\n", " # 遍历翻译输出字符的下标(注意:开始符\"BOS\"的索引0不遍历)\n", " for j in range(1, out.size(1)):\n", " # 获取当前下标的输出字符\n", " sym = data.cn_index_dict[out[0, j].item()]\n", " # 如果输出字符不为'EOS'终止符,则添加到当前句子的翻译结果列表\n", " if sym != 'EOS':\n", " translation.append(sym)\n", " # 否则终止遍历\n", " else:\n", " break\n", " # 打印模型翻译输出的中文句子结果\n", " print(\"translation: %s\" % \" \".join(translation))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ">>>>>>> start evaluate\n", "\n", "BOS look around . EOS\n", "BOS 四 处 看 看 。 EOS\n", "translation: 四 处 看 。\n", "\n", "BOS hurry up . EOS\n", "BOS 趕 快 ! EOS\n", "translation: 快 点 !\n", "\n", "BOS keep trying . EOS\n", "BOS 继 续 努 力 。 EOS\n", "translation: 继 续 。\n", "\n", "BOS take it . EOS\n", "BOS 拿 走 吧 。 EOS\n", "translation: 拿 走 。\n", "\n", "BOS birds fly . EOS\n", "BOS 鳥 類 飛 行 。 EOS\n", "translation: 鳥 類 飛 行 。\n", "\n", "BOS hurry up . EOS\n", "BOS 快 点 ! EOS\n", "translation: 快 点 !\n", "\n", "BOS look there . EOS\n", "BOS 看 那 里 。 EOS\n", "translation: 看 那 儿 。\n", "\n", "BOS how annoying ! EOS\n", "BOS 真 烦 人 。 EOS\n", "translation: 真 烦 人 。\n", "\n", "BOS get serious . EOS\n", "BOS 认 真 点 。 EOS\n", "translation: 认 真 点 。\n", "\n", "BOS once again . EOS\n", "BOS 再 一 次 。 EOS\n", "translation: 再 一 次 。\n", "\n", "BOS stay sharp . EOS\n", "BOS 保 持 警 惕 。 EOS\n", "translation: 保 持 警 惕 。\n", "\n", "BOS i won ! EOS\n", "BOS 我 赢 了 。 EOS\n", "translation: 我 赢 了 。\n", "\n", "BOS get away ! EOS\n", "BOS 滾 ! EOS\n", "translation: 滾 !\n", "\n", "BOS i resign . EOS\n", "BOS 我 放 弃 。 EOS\n", "translation: 我 放 弃 了 。\n", "\n", "BOS how strange ! EOS\n", "BOS 真 奇 怪 。 EOS\n", "translation: 真 奇 怪 。\n", "\n", "BOS tom UNK . EOS\n", "BOS 汤 姆 脸 红 了 。 EOS\n", "translation: 汤 姆 脸 红 了 。\n", "\n", "BOS who cares ? EOS\n", "BOS 爱 谁 谁 。 EOS\n", "translation: 爱 谁 谁 。\n", "\n", "BOS sweet dreams ! EOS\n", "BOS 祝 你 好 梦 。 EOS\n", "translation: 祝 你 好 梦 。\n", "\n", "BOS step inside . EOS\n", "BOS 进 来 。 EOS\n", "translation: 进 来 。\n", "\n", "BOS go away ! EOS\n", "BOS 滾 ! EOS\n", "translation: 走 開 !\n", "\n", "BOS anything else ? EOS\n", "BOS 还 有 别 的 吗 ? EOS\n", "translation: 还 有 什 么 吗 ?\n", "\n", "BOS i 'm sleepy . EOS\n", "BOS 我 困 了 。 EOS\n", "translation: 我 困 了 。\n", "\n", "BOS i ate UNK . EOS\n", "BOS 我 吃 了 魚 子 醬 。 EOS\n", "translation: 我 吃 了 魚 醬 。\n", "\n", "BOS i like sports . EOS\n", "BOS 我 喜 歡 運 動 。 EOS\n", "translation: 我 喜 歡 運 動 。\n", "\n", "BOS she may come . EOS\n", "BOS 她 可 以 來 。 EOS\n", "translation: 她 可 能 來 。\n", "\n", "BOS everybody will die . EOS\n", "BOS 人 固 有 一 死 。 EOS\n", "translation: 每 个 人 都 会 死 。\n", "\n", "BOS answer the question . EOS\n", "BOS 回 答 問 題 。 EOS\n", "translation: 回 答 問 題 。\n", "\n", "BOS is that better ? EOS\n", "BOS 那 更 好 吗 ? EOS\n", "translation: 那 更 好 吗 ?\n", "\n", "BOS i like you . EOS\n", "BOS 我 喜 欢 你 。 EOS\n", "translation: 我 喜 欢 你 。\n", "\n", "BOS let him in . EOS\n", "BOS 让 他 进 来 。 EOS\n", "translation: 讓 他 進 去 。\n", "\n", "BOS tom is laughing . EOS\n", "BOS 汤 姆 在 笑 。 EOS\n", "translation: 汤 姆 在 笑 。\n", "\n", "BOS tom began talking . EOS\n", "BOS 汤 姆 开 始 说 话 。 EOS\n", "translation: 汤 姆 开 始 说 话 。\n", "\n", "BOS draw a circle . EOS\n", "BOS 画 一 个 圈 。 EOS\n", "translation: 画 一 个 圈 。\n", "\n", "BOS this is mine . EOS\n", "BOS 这 是 我 的 。 EOS\n", "translation: 这 是 我 的 。\n", "\n", "BOS she might come . EOS\n", "BOS 她 也 許 會 來 。 EOS\n", "translation: 她 可 能 來 。\n", "\n", "BOS i hate you . EOS\n", "BOS 我 恨 你 。 EOS\n", "translation: 我 恨 你 。\n", "\n", "BOS are you lost ? EOS\n", "BOS 您 迷 路 了 吗 ? EOS\n", "translation: 你 迷 路 了 吗 ?\n", "\n", "BOS i miss you . EOS\n", "BOS 我 想 念 你 。 EOS\n", "translation: 我 想 你 。\n", "\n", "BOS they 're children . EOS\n", "BOS 她 们 是 孩 子 。 EOS\n", "translation: 他 们 是 孩 子 。\n", "\n", "BOS i played tennis . EOS\n", "BOS 我 打 網 球 了 。 EOS\n", "translation: 我 打 網 球 了 。\n", "\n", "BOS he gave in . EOS\n", "BOS 他 让 步 了 . EOS\n", "translation: 他 已 经 让 人 发 了 。\n", "\n", "BOS shame on you ! EOS\n", "BOS 你 真 丢 脸 ! EOS\n", "translation: 你 真 丢 脸 !\n", "\n", "BOS read this book . EOS\n", "BOS 看 这 本 书 。 EOS\n", "translation: 看 这 本 书 。\n", "\n", "BOS he is american . EOS\n", "BOS 他 是 美 国 人 。 EOS\n", "translation: 他 是 美 国 人 。\n", "\n", "BOS is breakfast UNK ? EOS\n", "BOS 包 括 早 饭 吗 ? EOS\n", "translation: 包 括 早 饭 吗 ?\n", "\n", "BOS my shoulder hurts . EOS\n", "BOS 我 肩 膀 痛 。 EOS\n", "translation: 我 肩 膀 痛 。\n", "\n", "BOS everybody thinks so . EOS\n", "BOS 大 家 都 是 这 样 想 的 。 EOS\n", "translation: 大 家 都 是 这 样 想 的 。\n", "\n", "BOS the bell rang . EOS\n", "BOS 铃 响 了 。 EOS\n", "translation: 铃 响 了 。\n", "\n", "BOS it 's true . EOS\n", "BOS 這 是 真 的 。 EOS\n", "translation: 這 是 真 的 。\n", "\n", "BOS she fooled him . EOS\n", "BOS 她 愚 弄 了 他 。 EOS\n", "translation: 她 愚 弄 了 他 。\n", "\n", "BOS count me in . EOS\n", "BOS 算 我 一 个 . EOS\n", "translation: 我 同 意 。\n", "\n", "BOS she kept working . EOS\n", "BOS 她 不 停 地 工 作 。 EOS\n", "translation: 她 繼 續 工 作 。\n", "\n", "BOS please forgive me . EOS\n", "BOS 请 原 谅 我 。 EOS\n", "translation: 请 原 谅 我 。\n", "\n", "BOS tom likes swimming . EOS\n", "BOS 湯 姆 喜 歡 游 泳 。 EOS\n", "translation: 汤 姆 喜 欢 游 泳 。\n", "\n", "BOS i am sick . EOS\n", "BOS 我 生 病 了 。 EOS\n", "translation: 我 病 了 。\n", "\n", "BOS here goes nothing . EOS\n", "BOS 毫 無 希 望 , 白 費 心 思 。 EOS\n", "translation: 毫 無 希 望 , 白 費 心 思 。\n", "\n", "BOS hello , tom . EOS\n", "BOS 你 好 , 汤 姆 。 EOS\n", "translation: 你 好 , 汤 姆 。\n", "\n", "BOS who drew it ? EOS\n", "BOS 誰 畫 的 ? EOS\n", "translation: 誰 畫 的 ?\n", "\n", "BOS i like running . EOS\n", "BOS 我 喜 欢 跑 步 。 EOS\n", "translation: 我 喜 欢 跑 步 。\n", "\n", "BOS i 'm married . EOS\n", "BOS 我 结 婚 了 。 EOS\n", "translation: 我 结 婚 了 。\n", "\n", "BOS someone is watching . EOS\n", "BOS 有 人 在 监 视 。 EOS\n", "translation: 有 人 在 看 著 。\n", "\n", "BOS he looks young . EOS\n", "BOS 他 看 起 来 很 年 轻 。 EOS\n", "translation: 他 看 起 来 很 年 轻 。\n", "\n", "BOS it 's night . EOS\n", "BOS 是 晚 上 了 。 EOS\n", "translation: 夜 晚 了 。\n", "\n", "BOS we are boys . EOS\n", "BOS 我 們 是 男 孩 。 EOS\n", "translation: 我 们 是 男 孩 。\n", "\n", "BOS life is beautiful . EOS\n", "BOS 生 活 是 美 丽 的 。 EOS\n", "translation: 人 生 是 很 美 。\n", "\n", "BOS they trust tom . EOS\n", "BOS 他 们 信 任 汤 姆 。 EOS\n", "translation: 他 们 信 任 汤 姆 。\n", "\n", "BOS who is that ? EOS\n", "BOS 那 是 谁 ? EOS\n", "translation: 那 是 谁 ?\n", "\n", "BOS i almost drowned . EOS\n", "BOS 我 差 點 被 淹 死 。 EOS\n", "translation: 我 差 點 被 淹 死 。\n", "\n", "BOS i was wrong . EOS\n", "BOS 我 搞 错 了 。 EOS\n", "translation: 我 錯 了 。\n", "\n", "BOS i love you . EOS\n", "BOS 我 爱 您 。 EOS\n", "translation: 我 愛 你 。\n", "\n", "BOS please sit down . EOS\n", "BOS 請 坐 下 。 EOS\n", "translation: 請 坐 下 。\n", "\n", "BOS these are pens . EOS\n", "BOS 這 些 是 筆 。 EOS\n", "translation: 這 些 是 筆 。\n", "\n", "BOS are you mad ? EOS\n", "BOS 您 生 气 了 吗 ? EOS\n", "translation: 你 快 嗎 ?\n", "\n", "BOS she UNK loudly . EOS\n", "BOS 她 大 声 UNK UNK 。 EOS\n", "translation: 她 大 声 喊 至 。\n", "\n", "BOS are you ready ? EOS\n", "BOS 你 准 备 好 了 吗 ? EOS\n", "translation: 你 们 准 备 好 了 吗 ?\n", "\n", "BOS he won everything . EOS\n", "BOS 他 赢 得 一 切 了 。 EOS\n", "translation: 他 赢 了 一 切 。\n", "\n", "BOS you look UNK . EOS\n", "BOS 你 看 起 来 很 紧 张 。 EOS\n", "translation: 你 看 起 來 很 紧 张 。\n", "\n", "BOS why blame tom ? EOS\n", "BOS 为 什 么 责 备 汤 姆 ? EOS\n", "translation: 为 什 么 责 备 汤 姆 ?\n", "\n", "BOS please speak slowly . EOS\n", "BOS 请 说 慢 一 点 。 EOS\n", "translation: 请 说 慢 一 些 慢 。\n", "\n", "BOS they love that . EOS\n", "BOS 他 们 喜 欢 那 个 EOS\n", "translation: 他 們 愛 這 樣 。\n", "\n", "BOS it 's snowing . EOS\n", "BOS 正 在 下 雪 。 EOS\n", "translation: 下 雪 了 。\n", "\n", "BOS i borrow money . EOS\n", "BOS 我 借 錢 。 EOS\n", "translation: 我 借 錢 。\n", "\n", "BOS watch your step . EOS\n", "BOS 小 心 脚 下 。 EOS\n", "translation: 走 路 小 心 。\n", "\n", "BOS please speak slowly . EOS\n", "BOS 请 说 慢 一 些 。 EOS\n", "translation: 请 说 慢 一 些 慢 。\n", "\n", "BOS what a pity ! EOS\n", "BOS 太 可 惜 了 ! EOS\n", "translation: 多 遗 憾 啊 !\n", "\n", "BOS tom sat down . EOS\n", "BOS 汤 姆 坐 下 了 。 EOS\n", "translation: 汤 姆 坐 下 了 。\n", "\n", "BOS words express thoughts . EOS\n", "BOS 語 詞 表 達 思 想 。 EOS\n", "translation: 語 詞 表 達 思 想 要 有 用 。\n", "\n", "BOS mail this letter . EOS\n", "BOS 把 这 封 信 寄 了 。 EOS\n", "translation: 把 这 封 信 寄 了 。\n", "\n", "BOS you will fail . EOS\n", "BOS 你 會 失 敗 。 EOS\n", "translation: 你 會 失 敗 。\n", "\n", "BOS please contact us . EOS\n", "BOS 请 联 系 我 们 。 EOS\n", "translation: 请 联 系 我 们 。\n", "\n", "BOS UNK are sour . EOS\n", "BOS UNK UNK 是 酸 的 。 EOS\n", "translation: 是 酸 的 。\n", "\n", "BOS please keep this secret . EOS\n", "BOS 請 保 守 這 個 秘 密 。 EOS\n", "translation: 请 保 密 。\n", "\n", "BOS do you like music ? EOS\n", "BOS 你 爱 音 乐 吗 ? EOS\n", "translation: 你 喜 欢 音 乐 吗 ?\n", "\n", "BOS are you all ready ? EOS\n", "BOS 你 們 都 準 備 好 了 嗎 ? EOS\n", "translation: 你 们 都 好 吗 ?\n", "\n", "BOS you 're really beautiful . EOS\n", "BOS 你 真 的 很 漂 亮 。 EOS\n", "translation: 你 真 的 很 漂 亮 。\n", "\n", "BOS i have a computer . EOS\n", "BOS 我 有 一 台 电 脑 。 EOS\n", "translation: 我 有 一 台 电 脑 。\n", "\n", "BOS that is your book . EOS\n", "BOS 那 是 你 的 書 。 EOS\n", "translation: 那 本 書 是 你 的 。\n", "\n", "BOS any UNK are welcome . EOS\n", "BOS 欢 迎 作 任 何 评 论 。 EOS\n", "translation: 欢 迎 作 任 何 评 论 。\n", "\n", "BOS we 're very different . EOS\n", "BOS 我 们 很 不 一 样 。 EOS\n", "translation: 我 们 很 不 一 样 。\n", "\n", "BOS i 'm so excited . EOS\n", "BOS 我 很 激 动 。 EOS\n", "translation: 我 很 激 动 。\n", "\n", "BOS you have nice skin . EOS\n", "BOS 你 的 皮 膚 真 好 。 EOS\n", "translation: 你 的 皮 膚 金 皮 膚 。\n", "\n", "BOS you 're UNK correct . EOS\n", "BOS 你 部 分 正 确 。 EOS\n", "translation: 你 是 正 确 的 。\n", "\n", "BOS everyone admired his courage . EOS\n", "BOS 每 個 人 都 佩 服 他 的 勇 氣 。 EOS\n", "translation: 每 個 人 都 佩 服 他 的 勇 氣 。\n", "\n", "BOS what time is it ? EOS\n", "BOS 几 点 了 ? EOS\n", "translation: 什 麼 時 候 開 始 ?\n", "\n", "BOS i 'm free tonight . EOS\n", "BOS 我 今 晚 有 空 。 EOS\n", "translation: 我 今 晚 有 空 。\n", "\n", "BOS here is your book . EOS\n", "BOS 這 是 你 的 書 。 EOS\n", "translation: 這 裡 的 書 是 你 的 。\n", "\n", "BOS they are at lunch . EOS\n", "BOS 他 们 在 吃 午 饭 。 EOS\n", "translation: 他 们 在 吃 午 饭 。\n", "\n", "BOS this chair is UNK . EOS\n", "BOS 這 把 椅 子 很 UNK 。 EOS\n", "translation: 這 把 椅 子 很 大 。\n", "\n", "BOS it 's pretty heavy . EOS\n", "BOS 它 真 重 。 EOS\n", "translation: 它 真 重 。\n", "\n", "BOS many attended his funeral . EOS\n", "BOS 很 多 人 都 参 加 了 他 的 葬 礼 。 EOS\n", "translation: 很 多 人 都 参 加 了 他 的 葬 禮 。\n", "\n", "BOS training will be provided . EOS\n", "BOS 会 有 训 练 。 EOS\n", "translation: 会 有 训 练 。\n", "\n", "BOS someone is watching you . EOS\n", "BOS 有 人 在 看 著 你 。 EOS\n", "translation: 有 人 在 看 著 你 。\n", "\n", "BOS i slapped his face . EOS\n", "BOS 我 摑 了 他 的 臉 。 EOS\n", "translation: 我 摑 了 他 的 臉 。\n", "\n", "BOS i like UNK music . EOS\n", "BOS 我 喜 歡 流 行 音 樂 。 EOS\n", "translation: 我 喜 欢 音 乐 。\n", "\n", "BOS tom had no children . EOS\n", "BOS T o m 沒 有 孩 子 。 EOS\n", "translation: 汤 姆 没 有 孩 子 。\n", "\n", "BOS please lock the door . EOS\n", "BOS 請 把 門 鎖 上 。 EOS\n", "translation: 請 把 門 關 上 。\n", "\n", "BOS tom has calmed down . EOS\n", "BOS 汤 姆 冷 静 下 来 了 。 EOS\n", "translation: 汤 姆 冷 静 下 来 了 。\n", "\n", "BOS please speak more loudly . EOS\n", "BOS 請 說 大 聲 一 點 兒 。 EOS\n", "translation: 请 大 声 說 一 声 音 。\n", "\n", "BOS keep next sunday free . EOS\n", "BOS 把 下 周 日 空 出 来 。 EOS\n", "translation: 把 下 周 日 空 出 来 。\n", "\n", "BOS i made a mistake . EOS\n", "BOS 我 犯 了 一 個 錯 。 EOS\n", "translation: 我 犯 了 个 错 误 。\n", "\n", "BOS i like your room . EOS\n", "BOS 我 喜 欢 你 的 房 间 。 EOS\n", "translation: 我 喜 欢 你 的 房 间 。\n", "\n", "BOS he admitted his guilt . EOS\n", "BOS 他 承 認 他 有 罪 。 EOS\n", "translation: 他 承 認 他 有 罪 。\n", "\n", "BOS prices have dropped recently . EOS\n", "BOS 最 近 物 價 已 經 下 降 。 EOS\n", "translation: 最 近 的 價 已 經 下 降 。\n", "\n", "BOS i want a dog . EOS\n", "BOS 我 想 要 一 隻 狗 。 EOS\n", "translation: 我 想 要 一 条 狗 。\n", "\n", "BOS i 'll do it . EOS\n", "BOS 我 會 做 的 。 EOS\n", "translation: 我 會 做 的 。\n", "\n", "BOS have a good christmas . EOS\n", "BOS 祝 您 有 一 個 愉 快 的 聖 誕 節 。 EOS\n", "translation: 祝 您 有 一 個 愉 快 的 聖 誕 節 。\n", "\n", "BOS he speaks too fast . EOS\n", "BOS 他 说 话 太 快 了 。 EOS\n", "translation: 他 說 得 很 快 。\n", "\n", "BOS i was so homesick . EOS\n", "BOS 我 很 想 家 。 EOS\n", "translation: 我 很 想 想 。\n", "\n", "BOS i have many UNK . EOS\n", "BOS 我 有 许 多 唱 片 。 EOS\n", "translation: 我 有 许 多 。\n", "\n", "BOS you 're still green . EOS\n", "BOS 你 还 年 轻 。 EOS\n", "translation: 你 还 年 轻 。\n", "\n", "BOS they moved ahead slowly . EOS\n", "BOS 他 們 慢 慢 地 向 前 進 。 EOS\n", "translation: 他 們 慢 慢 地 向 前 進 。\n", "\n", "BOS i retired last year . EOS\n", "BOS 我 去 年 退 休 了 。 EOS\n", "translation: 我 去 年 退 休 了 。\n", "\n", "BOS i need your cooperation . EOS\n", "BOS 我 需 要 你 们 的 合 作 。 EOS\n", "translation: 我 需 要 你 们 的 合 作 。\n", "\n", "BOS that was n't funny . EOS\n", "BOS 那 不 好 笑 。 EOS\n", "translation: 那 不 好 笑 。\n", "\n", "BOS wait just a moment . EOS\n", "BOS 就 等 一 會 兒 。 EOS\n", "translation: 就 等 一 會 兒 。\n", "\n", "BOS he was made captain . EOS\n", "BOS 他 被 選 為 隊 長 。 EOS\n", "translation: 他 被 選 為 團 隊 長 。\n", "\n", "BOS may i leave now ? EOS\n", "BOS 我 现 在 能 走 了 吗 ? EOS\n", "translation: 我 現 在 可 以 離 開 嗎 ?\n", "\n", "BOS i can swim well . EOS\n", "BOS 我 游 泳 可 以 游 得 很 好 。 EOS\n", "translation: 我 游 泳 游 得 很 好 。\n", "\n", "BOS i go to school . EOS\n", "BOS 我 去 学 校 。 EOS\n", "translation: 我 去 上 学 。\n", "\n", "BOS we 're all hungry . EOS\n", "BOS 我 們 都 餓 了 。 EOS\n", "translation: 我 們 都 餓 了 。\n", "\n", "BOS i like to run . EOS\n", "BOS 我 喜 欢 跑 步 。 EOS\n", "translation: 我 喜 欢 跑 步 。\n", "\n", "BOS i must go now . EOS\n", "BOS 我 現 在 必 須 走 了 。 EOS\n", "translation: 我 現 在 必 須 走 了 。\n", "\n", "BOS the tire leaks air . EOS\n", "BOS UNK 胎 漏 气 了 。 EOS\n", "translation: 胎 漏 气 了 。\n", "\n", "BOS where are you now ? EOS\n", "BOS 你 现 在 在 哪 里 呢 ? EOS\n", "translation: 你 现 在 在 哪 里 ?\n", "\n", "BOS life is very hard . EOS\n", "BOS 人 生 良 苦 。 EOS\n", "translation: 人 生 良 苦 。\n", "\n", "BOS i shave every morning . EOS\n", "BOS 我 每 天 早 上 刮 鬍 子 。 EOS\n", "translation: 我 每 天 早 上 刮 鬍 子 。\n", "\n", "BOS he never drinks alcohol . EOS\n", "BOS 他 從 不 喝 酒 。 EOS\n", "translation: 他 從 不 喝 酒 。\n", "\n", "BOS this is my property . EOS\n", "BOS 這 是 我 的 財 產 。 EOS\n", "translation: 這 是 我 的 財 產 。\n", "\n", "BOS he heard a shout . EOS\n", "BOS 他 聽 到 了 叫 聲 。 EOS\n", "translation: 他 聽 到 了 叫 聲 。\n", "\n", "BOS you may go anywhere . EOS\n", "BOS 你 可 以 随 便 去 哪 儿 。 EOS\n", "translation: 你 可 以 随 便 去 哪 儿 。\n", "\n", "BOS do n't bother me . EOS\n", "BOS 别 来 烦 我 。 EOS\n", "translation: 別 對 我 來 說 。\n", "\n", "BOS here 's your tea . EOS\n", "BOS 这 是 你 的 茶 。 EOS\n", "translation: 這 裡 是 你 的 茶 。\n", "\n", "BOS i 'm absolutely UNK . EOS\n", "BOS 我 真 是 欣 喜 若 狂 。 EOS\n", "translation: 我 完 全 着 。\n", "\n", "BOS tom could be canadian . EOS\n", "BOS 汤 姆 可 能 是 加 拿 大 人 。 EOS\n", "translation: 汤 姆 可 能 是 加 拿 大 人 。\n", "\n", "BOS what happened that night ? EOS\n", "BOS 这 个 晚 上 发 生 了 什 么 ? EOS\n", "translation: 那 晚 上 發 生 了 什 麼 事 ?\n", "\n", "BOS prices are going up . EOS\n", "BOS 物 价 上 涨 了 。 EOS\n", "translation: 價 格 上 涨 了 。\n", "\n", "BOS i took a shower . EOS\n", "BOS 我 洗 了 澡 。 EOS\n", "translation: 我 洗 了 澡 。\n", "\n", "BOS how is your wife ? EOS\n", "BOS 你 太 太 怎 么 样 ? EOS\n", "translation: 你 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太 太\n", "\n", "BOS please spell your name . EOS\n", "BOS 请 拼 一 下 您 的 名 字 。 EOS\n", "translation: 请 拼 一 下 您 的 名 字 。\n", "\n", "BOS have you eaten lunch ? EOS\n", "BOS 你 吃 過 午 飯 了 嗎 ? EOS\n", "translation: 你 吃 過 午 飯 了 嗎 ?\n", "\n", "BOS it 's our pleasure . EOS\n", "BOS 这 是 我 们 的 UNK 幸 。 EOS\n", "translation: 这 是 我 们 的 幸 福 。\n", "\n", "BOS i ca n't remember . EOS\n", "BOS 我 想 不 起 來 。 EOS\n", "translation: 我 記 不 得 了 。\n", "\n", "BOS he traveled on business . EOS\n", "BOS 他 旅 行 洽 商 。 EOS\n", "translation: 他 旅 行 洽 商 。\n", "\n", "BOS is his UNK regular ? EOS\n", "BOS 他 的 UNK 搏 正 常 嗎 ? EOS\n", "translation: 他 的 期 望 正 確 。\n", "\n", "BOS he 's very UNK . EOS\n", "BOS 他 说 话 很 直 接 。 EOS\n", "translation: 他 很 直 很 流 。\n", "\n", "BOS my gums are UNK . EOS\n", "BOS 我 的 牙 齦 流 血 。 EOS\n", "translation: 我 的 牙 齦 流 血 。\n", "\n", "BOS she works very hard . EOS\n", "BOS 她 很 努 力 工 作 。 EOS\n", "translation: 她 很 努 力 工 作 。\n", "\n", "BOS i have to win . EOS\n", "BOS 我 必 须 赢 。 EOS\n", "translation: 我 必 须 赢 。\n", "\n", "BOS this turkey tastes good . EOS\n", "BOS 这 只 火 鸡 味 道 很 好 。 EOS\n", "translation: 这 只 火 鸡 味 道 很 好 喝 。\n", "\n", "BOS my parents are divorced . EOS\n", "BOS 我 父 母 离 婚 了 。 EOS\n", "translation: 我 父 母 离 婚 了 。\n", "\n", "BOS everything will be ok . EOS\n", "BOS 一 切 都 会 好 的 。 EOS\n", "translation: 一 切 都 会 好 。\n", "\n", "BOS three UNK is UNK . EOS\n", "BOS 三 的 立 方 是 二 十 七 。 EOS\n", "translation: 三 。\n", "\n", "BOS i do n't care . EOS\n", "BOS 我 无 所 谓 。 EOS\n", "translation: 我 不 在 乎 。\n", "\n", "BOS turn back , please . EOS\n", "BOS 请 回 来 。 EOS\n", "translation: 請 開 心 後 , 。\n", "\n", "BOS do you like china ? EOS\n", "BOS 你 喜 歡 中 國 嗎 ? EOS\n", "translation: 你 喜 欢 中 国 吗 ?\n", "\n", "BOS he was very old . EOS\n", "BOS 他 很 老 。 EOS\n", "translation: 他 很 老 。\n", "\n", "BOS those are my pants . EOS\n", "BOS 那 些 是 我 的 褲 子 。 EOS\n", "translation: 那 些 是 我 的 褲 子 。\n", "\n", "BOS earth is a planet . EOS\n", "BOS 地 球 是 一 個 行 星 。 EOS\n", "translation: 地 球 是 一 個 行 星 球 。\n", "\n", "BOS leave my car alone . EOS\n", "BOS 離 我 的 車 遠 一 點 。 EOS\n", "translation: 別 碰 我 的 車 。\n", "\n", "BOS let 's eat sushi . EOS\n", "BOS 讓 我 們 吃 壽 司 吧 。 EOS\n", "translation: 讓 我 們 吃 壽 司 吧 。\n", "\n", "BOS you 're so bad . EOS\n", "BOS 你 真 壞 。 EOS\n", "translation: 你 真 壞 。\n", "\n", "BOS give me the book . EOS\n", "BOS 給 我 這 本 書 。 EOS\n", "translation: 把 書 給 我 。\n", "\n", "BOS i love my life . EOS\n", "BOS 我 爱 我 的 生 活 。 EOS\n", "translation: 我 爱 我 的 生 命 。\n", "\n", "BOS we 're still UNK . EOS\n", "BOS 我 们 还 是 UNK 弱 不 UNK 。 EOS\n", "translation: 我 们 还 是 静 的 。\n", "\n", "BOS tom can run fast . EOS\n", "BOS T o m 可 以 跑 得 很 快 。 EOS\n", "translation: 汤 姆 可 以 跑 得 很 快 。\n", "\n", "BOS you look happy today . EOS\n", "BOS 你 今 天 看 起 來 很 高 興 。 EOS\n", "translation: 你 今 天 看 起 來 很 高 興 。\n", "\n", "BOS you look very good . EOS\n", "BOS 你 看 上 去 很 好 。 EOS\n", "translation: 你 看 起 來 很 好 。\n", "\n", "BOS i said shut up ! EOS\n", "BOS 我 说 过 了 , 闭 嘴 ! EOS\n", "translation: 我 说 过 头 !\n", "\n", "BOS this is a book . EOS\n", "BOS 这 是 一 本 书 。 EOS\n", "translation: 這 是 一 本 書 。\n", "\n", "BOS i feel like crying . EOS\n", "BOS 我 想 哭 。 EOS\n", "translation: 我 想 哭 。\n", "\n", "BOS the man finally confessed . EOS\n", "BOS 那 个 男 人 最 终 供 认 了 他 的 罪 行 。 EOS\n", "translation: 这 个 男 人 最 终 供 认 了 他 的 罪 行 。\n", "\n", "BOS we are having dinner . EOS\n", "BOS 我 們 在 吃 晚 餐 。 EOS\n", "translation: 我 們 在 吃 晚 餐 。\n", "\n", "BOS do n't be UNK . EOS\n", "BOS 別 被 嚇 壞 了 。 EOS\n", "translation: 別 被 嚇 壞 了 。\n", "\n", "BOS who is your teacher ? EOS\n", "BOS 谁 是 你 老 师 ? EOS\n", "translation: 谁 是 你 的 老 师 ?\n", "\n", "BOS whose fault is it ? EOS\n", "BOS 是 誰 的 錯 呢 ? EOS\n", "translation: 是 谁 的 错 误 ?\n", "\n", "BOS be careful with it . EOS\n", "BOS 当 心 它 。 EOS\n", "translation: 一 心 要 按 。\n", "\n", "BOS i ca n't say . EOS\n", "BOS 我 不 能 说 。 EOS\n", "translation: 我 不 能 說 。\n", "\n", "BOS is it really possible ? EOS\n", "BOS 真 的 是 可 能 的 嗎 ? EOS\n", "translation: 真 的 很 可 能 嗎 ?\n", "\n", "BOS whose shirt is this ? EOS\n", "BOS 這 是 誰 的 襯 衫 。 EOS\n", "translation: 這 襯 衫 是 誰 的 ?\n", "\n", "BOS mastering english is difficult . EOS\n", "BOS 精 通 英 語 是 困 難 的 。 EOS\n", "translation: 精 通 英 語 是 困 難 的 。\n", "\n", "BOS i should 've UNK . EOS\n", "BOS 我 本 应 UNK 拒 。 EOS\n", "translation: 我 本 應 該 已 經 的 。\n", "\n", "BOS give me your location . EOS\n", "BOS 给 我 你 的 位 置 。 EOS\n", "translation: 給 我 你 的 位 置 。\n", "\n", "BOS we started at six . EOS\n", "BOS 我 們 六 點 開 始 。 EOS\n", "translation: 我 們 六 點 鐘 開 始 。\n", "\n", "BOS which is your book ? EOS\n", "BOS 哪 本 書 是 你 們 的 ? EOS\n", "translation: 哪 本 書 是 你 的 ?\n", "\n", "BOS where are your things ? EOS\n", "BOS 你 們 的 東 西 在 哪 裡 ? EOS\n", "translation: 你 的 東 西 在 哪 裡 ?\n", "\n", "BOS have you eaten dinner ? EOS\n", "BOS 你 吃 晚 飯 了 嗎 ? EOS\n", "translation: 你 吃 晚 飯 了 嗎 ?\n", "\n", "BOS i sort of understand . EOS\n", "BOS 我 大 概 懂 了 。 EOS\n", "translation: 我 大 概 懂 了 。\n", "\n", "BOS tom is working hard . EOS\n", "BOS 汤 姆 在 努 力 工 作 。 EOS\n", "translation: 汤 姆 工 作 努 力 而 不 努 力 。\n", "\n", "BOS you might meet him . EOS\n", "BOS 你 可 能 會 見 到 他 。 EOS\n", "translation: 你 可 能 會 見 到 他 。\n", "\n", "BOS i should stop UNK . EOS\n", "BOS 我 做 事 该 果 断 。 EOS\n", "translation: 我 應 該 停 止 吸 。\n", "\n", "BOS he went by bicycle . EOS\n", "BOS 他 骑 自 行 车 去 的 。 EOS\n", "translation: 他 騎 腳 踏 車 去 。\n", "\n", "BOS where is the bank ? EOS\n", "BOS 银 行 在 哪 里 ? EOS\n", "translation: 银 行 在 哪 里 ?\n", "\n", "BOS what a beautiful flower ! EOS\n", "BOS 多 漂 亮 的 花 啊 ! EOS\n", "translation: 多 漂 亮 的 花 啊 !\n", "\n", "BOS i 've gained weight . EOS\n", "BOS 我 增 加 了 體 重 。 EOS\n", "translation: 我 增 加 了 體 重 。\n", "\n", "BOS the contract was signed . EOS\n", "BOS UNK 約 簽 訂 了 。 EOS\n", "translation: 約 簽 訂 了 。\n", "\n", "BOS i 'm very happy . EOS\n", "BOS 我 很 快 樂 。 EOS\n", "translation: 我 很 快 樂 。\n", "\n", "BOS just take it slowly . EOS\n", "BOS 慢 慢 来 。 EOS\n", "translation: 慢 来 。\n", "\n", "BOS put the book there . EOS\n", "BOS 把 書 放 在 那 裡 。 EOS\n", "translation: 把 書 放 在 那 裡 。\n", "\n", "BOS he should thank you . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 他 應 該 感 謝 您 。 EOS\n", "translation: 他 應 該 感 謝 你 。\n", "\n", "BOS everybody wanted to eat . EOS\n", "BOS 每 个 人 都 想 吃 。 EOS\n", "translation: 每 個 人 都 想 吃 。\n", "\n", "BOS my throat feels dry . EOS\n", "BOS 我 喉 UNK 很 干 。 EOS\n", "translation: 我 喉 嚨 裡 痛 。\n", "\n", "BOS i agree with him . EOS\n", "BOS 我 同 意 他 。 EOS\n", "translation: 我 同 意 他 。\n", "\n", "BOS this shirt needs UNK . EOS\n", "BOS 这 衬 衫 需 要 熨 。 EOS\n", "translation: 这 衬 衫 需 要 熨 。\n", "\n", "BOS i 've got time . EOS\n", "BOS 我 有 时 间 。 EOS\n", "translation: 我 已 經 過 了 。\n", "\n", "BOS could you sign here ? EOS\n", "BOS 你 能 在 这 里 签 名 吗 ? EOS\n", "translation: 你 能 在 這 裡 簽 名 好 嗎 ?\n", "\n", "BOS i 'm so fat . EOS\n", "BOS 我 好 胖 哦 。 EOS\n", "translation: 我 好 胖 子\n", "\n", "BOS tom is very talented . EOS\n", "BOS 汤 姆 多 才 多 艺 。 EOS\n", "translation: 汤 姆 多 才 多 艺 。\n", "\n", "BOS i miss my children . EOS\n", "BOS 我 想 念 我 的 孩 子 。 EOS\n", "translation: 我 想 念 孩 子 。\n", "\n", "BOS do you know me ? EOS\n", "BOS 你 认 识 我 吗 ? EOS\n", "translation: 你 认 识 我 吗 ?\n", "\n", "BOS it is too late . EOS\n", "BOS 太 晚 了 。 EOS\n", "translation: 太 晚 了 。\n", "\n", "BOS do you study english ? EOS\n", "BOS 你 学 英 语 吗 ? EOS\n", "translation: 你 学 习 英 语 吗 ?\n", "\n", "BOS he comes from england . EOS\n", "BOS 他 来 自 英 格 兰 。 EOS\n", "translation: 他 來 自 英 國 。\n", "\n", "BOS he studied very hard . EOS\n", "BOS 他 学 习 非 常 努 力 。 EOS\n", "translation: 他 学 习 很 努 力 。\n", "\n", "BOS it 's very UNK . EOS\n", "BOS 它 真 是 不 舒 服 。 EOS\n", "translation: 它 很 顺 。\n", "\n", "BOS which book is yours ? EOS\n", "BOS 哪 本 是 你 們 的 書 ? EOS\n", "translation: 哪 本 是 你 的 書 ?\n", "\n", "BOS which book is yours ? EOS\n", "BOS 哪 本 書 是 你 們 的 ? EOS\n", "translation: 哪 本 是 你 的 書 ?\n", "\n", "BOS UNK the bell twice . EOS\n", "BOS 按 两 下 铃 。 EOS\n", "translation: 按 两 下 铃 。\n", "\n", "BOS marriage UNK some people . EOS\n", "BOS 有 些 人 害 怕 婚 姻 。 EOS\n", "translation: 人 们 晚 上 死 了 些 人 。\n", "\n", "BOS this is my dictionary . EOS\n", "BOS 这 是 我 的 字 典 。 EOS\n", "translation: 这 是 我 的 字 典 。\n", "\n", "BOS i know my UNK . EOS\n", "BOS 我 知 道 我 的 限 度 。 EOS\n", "translation: 我 知 道 我 的 限 度 。\n", "\n", "BOS she 's my daughter . EOS\n", "BOS 她 是 我 女 儿 。 EOS\n", "translation: 她 是 我 女 兒 。\n", "\n", "BOS did you bring them ? EOS\n", "BOS 你 把 它 们 带 来 了 么 ? EOS\n", "translation: 你 帶 他 們 了 嗎 ?\n", "\n", "BOS most americans like hamburgers . EOS\n", "BOS 大 多 數 的 美 國 人 喜 歡 漢 堡 。 EOS\n", "translation: 大 部 分 的 美 國 人 喜 歡 漢 堡 。\n", "\n", "BOS we 'd better talk . EOS\n", "BOS 我 们 谈 谈 比 较 好 。 EOS\n", "translation: 我 们 谈 得 谈 。\n", "\n", "BOS i like UNK music . EOS\n", "BOS 我 喜 歡 器 樂 。 EOS\n", "translation: 我 喜 欢 音 乐 。\n", "\n", "BOS the lake was frozen . EOS\n", "BOS 湖 冻 冰 了 。 EOS\n", "translation: 湖 裡 充 满 了 冰 。\n", "\n", "BOS she especially likes music . EOS\n", "BOS 她 特 別 喜 愛 音 樂 。 EOS\n", "translation: 她 特 別 喜 愛 音 樂 。\n", "\n", "BOS the car broke down . EOS\n", "BOS 汽 车 发 生 故 障 了 。 EOS\n", "translation: 汽 车 发 生 故 障 了 。\n", "\n", "BOS health is above wealth . EOS\n", "BOS 健 康 比 财 富 重 要 。 EOS\n", "translation: 健 康 比 财 富 重 要 。\n", "\n", "BOS my album is here . EOS\n", "BOS 我 的 相 簿 在 這 裡 。 EOS\n", "translation: 我 的 相 簿 在 這 裡 。\n", "\n", "BOS christmas is december UNK . EOS\n", "BOS 聖 誕 節 是 1 2 月 2 5 日 。 EOS\n", "translation: 聖 誕 節 是 1 2 0 0 月 2 0 月 。\n", "\n", "BOS how should i know ? EOS\n", "BOS 我 怎 麼 知 道 ? EOS\n", "translation: 我 怎 麼 知 道 ?\n", "\n", "BOS do n't quit english . EOS\n", "BOS 不 要 放 棄 英 語 。 EOS\n", "translation: 不 要 放 棄 英 語 。\n", "\n", "BOS we did it ourselves . EOS\n", "BOS 我 们 自 己 做 的 。 EOS\n", "translation: 我 们 自 骗 自 了 。\n", "\n", "BOS tom started the engine . EOS\n", "BOS 湯 姆 發 動 了 引 擎 。 EOS\n", "translation: 汤 姆 物 引 擎 。\n", "\n", "BOS i like short hair . EOS\n", "BOS 我 喜 欢 短 发 。 EOS\n", "translation: 我 喜 欢 短 发 。\n", "\n", "BOS be nice to others . EOS\n", "BOS 对 他 人 要 友 善 。 EOS\n", "translation: 对 其 他 人 一 样 。\n", "\n", "BOS i bought that car . EOS\n", "BOS 我 買 了 那 輛 車 。 EOS\n", "translation: 我 買 了 那 輛 車 。\n", "\n", "BOS that 's quite UNK . EOS\n", "BOS 这 毫 无 意 义 。 EOS\n", "translation: 那 真 是 太 好 了 。\n", "\n", "BOS i am in trouble . EOS\n", "BOS 我 有 麻 煩 了 。 EOS\n", "translation: 我 有 麻 烦 了 。\n", "\n", "BOS i won the lottery . EOS\n", "BOS 我 中 奖 了 。 EOS\n", "translation: 我 中 奖 了 。\n", "\n", "BOS there 's no sugar . EOS\n", "BOS 没 有 糖 。 EOS\n", "translation: 沒 有 糖 。\n", "\n", "BOS i believe in you . EOS\n", "BOS 我 相 信 你 。 EOS\n", "translation: 我 信 过 你 。\n", "\n", "BOS have you finished it ? EOS\n", "BOS 你 做 完 了 嗎 ? EOS\n", "translation: 你 已 經 完 成 了 嗎 ?\n", "\n", "BOS tom joined the discussion . EOS\n", "BOS 汤 姆 参 加 了 讨 论 。 EOS\n", "translation: 汤 姆 参 加 了 讨 论 。\n", "\n", "BOS your cake is delicious . EOS\n", "BOS 你 的 蛋 糕 很 美 味 。 EOS\n", "translation: 你 的 蛋 糕 很 美 味 。\n", "\n", "BOS your english is improving . EOS\n", "BOS 你 的 英 語 正 在 進 步 。 EOS\n", "translation: 你 的 英 語 正 在 進 步 。\n", "\n", "BOS she is very clever . EOS\n", "BOS 她 很 聰 明 。 EOS\n", "translation: 她 很 聰 明 。\n", "\n", "BOS she answered in tears . EOS\n", "BOS 她 很 傷 心 地 回 答 。 EOS\n", "translation: 她 很 傷 心 地 回 答 。\n", "\n", "BOS please do n't ask . EOS\n", "BOS 請 不 要 問 。 EOS\n", "translation: 請 不 要 問 。\n", "\n", "BOS turn on the tv . EOS\n", "BOS 开 电 视 。 EOS\n", "translation: 把 电 视 声 音 调 大 声 。\n", "\n", "BOS he is very angry . EOS\n", "BOS 他 非 常 生 气 。 EOS\n", "translation: 他 很 生 气 。\n", "\n", "BOS which one is easier ? EOS\n", "BOS 哪 一 個 最 簡 單 ? EOS\n", "translation: 哪 一 個 最 簡 單 ?\n", "\n", "BOS i do n't remember . EOS\n", "BOS 我 不 記 得 了 。 EOS\n", "translation: 我 不 记 得 。\n", "\n", "BOS he is very handsome . EOS\n", "BOS 他 很 英 俊 。 EOS\n", "translation: 他 很 英 俊 。\n", "\n", "BOS why do you ask ? EOS\n", "BOS 你 問 這 個 幹 什 麼 ? EOS\n", "translation: 你 為 什 麼 問 題 ?\n", "\n", "BOS i know her address . EOS\n", "BOS 我 知 道 她 的 地 址 。 EOS\n", "translation: 我 知 道 她 的 地 址 。\n", "\n", "BOS english is third period . EOS\n", "BOS 英 語 是 第 三 節 。 EOS\n", "translation: 英 語 是 第 三 節 。\n", "\n", "BOS is n't he italian ? EOS\n", "BOS 他 不 是 意 大 利 人 吗 ? EOS\n", "translation: 他 不 是 意 大 利 人 吗 ?\n", "\n", "BOS how do you feel ? EOS\n", "BOS 你 感 觉 如 何 ? EOS\n", "translation: 你 感 觉 如 何 ?\n", "\n", "BOS i have two cats . EOS\n", "BOS 我 有 两 只 猫 。 EOS\n", "translation: 我 有 两 只 猫 。\n", "\n", "BOS your suggestion seems reasonable . EOS\n", "BOS 你 的 建 議 似 乎 是 合 理 的 。 EOS\n", "translation: 你 的 建 議 似 乎 很 明 智 。\n", "\n", "BOS we know our UNK . EOS\n", "BOS 我 们 知 道 我 们 的 权 利 。 EOS\n", "translation: 我 们 知 道 我 们 的 权 利 。\n", "\n", "BOS do you like it ? EOS\n", "BOS 你 喜 欢 吗 ? EOS\n", "translation: 你 喜 欢 吗 ?\n", "\n", "BOS how could things get worse ? EOS\n", "BOS 事 情 怎 麼 變 糟 的 ? EOS\n", "translation: 有 什 么 东 西 坏 得 多 吗 ?\n", "\n", "BOS tom UNK kept to himself . EOS\n", "BOS 汤 姆 大 多 一 个 人 独 处 。 EOS\n", "translation: 汤 姆 大 声 人 让 自 己 独 处 。\n", "\n", "BOS when does the game begin ? EOS\n", "BOS 游 戏 几 点 开 始 ? EOS\n", "translation: 游 戏 几 点 开 始 ?\n", "\n", "BOS i do n't understand german . EOS\n", "BOS 我 不 懂 德 语 。 EOS\n", "translation: 我 不 懂 德 语 。\n", "\n", "BOS he UNK for his father . EOS\n", "BOS 子 承 父 业 。 EOS\n", "translation: 他 為 他 父 親 做 了 他 的 父 親 。\n", "\n", "BOS she hit the ball hard . EOS\n", "BOS 她 用 力 地 拍 了 球 。 EOS\n", "translation: 她 用 力 地 拍 了 球 。\n", "\n", "BOS all my homework is done . EOS\n", "BOS 我 做 完 了 所 有 的 回 家 作 業 。 EOS\n", "translation: 我 完 成 我 所 有 的 作 業 都 是 完 成 作 业 。\n", "\n", "BOS my uncle never writes letters . EOS\n", "BOS 我 的 叔 叔 從 來 不 寫 信 。 EOS\n", "translation: 我 的 叔 叔 叔 從 來 不 寫 信 。\n", "\n", "BOS i gave you a book . EOS\n", "BOS 我 给 了 你 一 本 书 。 EOS\n", "translation: 我 給 了 你 一 本 書 。\n", "\n", "BOS i only spent three dollars . EOS\n", "BOS 我 只 花 了 三 美 元 。 EOS\n", "translation: 我 只 花 了 三 美 元 。\n", "\n", "BOS that 's what tom requested . EOS\n", "BOS 那 就 是 汤 姆 想 要 的 。 EOS\n", "translation: 那 就 是 汤 姆 想 要 的 。\n", "\n", "BOS it makes me feel sad . EOS\n", "BOS 这 让 我 感 到 沮 丧 。 EOS\n", "translation: 这 让 我 感 到 沮 丧 。\n", "\n", "BOS this car handles very easily . EOS\n", "BOS 这 车 容 易 开 。 EOS\n", "translation: 这 辆 车 容 易 开 始 。\n", "\n", "BOS i 've never UNK tom . EOS\n", "BOS 我 从 没 低 估 汤 姆 。 EOS\n", "translation: 我 从 没 低 估 汤 姆 。\n", "\n", "BOS i threw away my shoes . EOS\n", "BOS 我 把 自 己 的 鞋 子 扔 掉 了 。 EOS\n", "translation: 我 把 自 己 的 鞋 子 扔 掉 了 。\n", "\n", "BOS i did n't see him . EOS\n", "BOS 我 没 见 到 他 。 EOS\n", "translation: 我 没 见 到 他 。\n", "\n", "BOS what are you staring at ? EOS\n", "BOS 你 在 看 什 麼 ? EOS\n", "translation: 你 在 看 什 麼 ?\n", "\n", "BOS the meat has gone bad . EOS\n", "BOS 這 肉 已 經 壞 了 。 EOS\n", "translation: 肉 已 經 壞 了 。\n", "\n", "BOS he passed the entrance examination . EOS\n", "BOS 他 通 過 了 入 學 考 試 。 EOS\n", "translation: 他 通 過 了 入 學 考 試 。\n", "\n", "BOS i must help my mother . EOS\n", "BOS 我 必 須 幫 忙 我 母 親 。 EOS\n", "translation: 我 必 須 幫 助 我 母 親 。\n", "\n", "BOS what 's your home address ? EOS\n", "BOS 你 家 的 地 址 是 什 麼 ? EOS\n", "translation: 你 家 的 地 址 是 什 麼 ?\n", "\n", "BOS they UNK ten enemy ships . EOS\n", "BOS 他 们 使 1 0 艘 敌 船 沉 了 EOS\n", "translation: 他 們 在 吸 十 口 吸 塵 器 。\n", "\n", "BOS everything went according to plan . EOS\n", "BOS 一 切 按 計 劃 進 行 。 EOS\n", "translation: 一 切 按 計 劃 進 行 。\n", "\n", "BOS is one thousand yen enough ? EOS\n", "BOS 1 0 0 0 日 元 够 不 够 ? EOS\n", "translation: 一 萬 一 發 生 了 一 萬 日 元 嗎 ?\n", "\n", "BOS he barely passed the examination . EOS\n", "BOS 他 勉 強 地 通 過 了 考 試 。 EOS\n", "translation: 他 勉 強 地 通 過 了 考 試 。\n", "\n", "BOS do n't waste your time . EOS\n", "BOS 别 浪 费 时 间 。 EOS\n", "translation: 別 開 心 。\n", "\n", "BOS the united states borders canada . EOS\n", "BOS 美 国 与 加 拿 大 相 邻 。 EOS\n", "translation: 美 国 国 加 拿 大 相 邻 。\n", "\n", "BOS i would like fruit juice . EOS\n", "BOS 我 想 要 果 汁 。 EOS\n", "translation: 我 想 要 果 汁 。\n", "\n", "BOS he 's accustomed to traveling . EOS\n", "BOS 他 習 慣 了 旅 行 。 EOS\n", "translation: 他 習 慣 了 旅 行 。\n", "\n", "BOS i started thinking about tom . EOS\n", "BOS 我 开 始 想 起 汤 姆 。 EOS\n", "translation: 我 开 始 想 起 汤 姆 。\n", "\n", "BOS please be quiet , everybody . EOS\n", "BOS 请 大 家 都 保 持 安 静 。 EOS\n", "translation: 请 大 家 都 保 持 安 静 。\n", "\n", "BOS let 's go by bus . EOS\n", "BOS 讓 我 們 坐 公 共 汽 車 去 。 EOS\n", "translation: 我 们 坐 了 公 交 车 吧 。\n", "\n", "BOS what 's that bird called ? EOS\n", "BOS 那 隻 鳥 叫 什 麼 名 字 ? EOS\n", "translation: 那 隻 鳥 叫 什 麼 名 字 ?\n", "\n", "BOS would you like to come ? EOS\n", "BOS 你 愿 意 来 吗 ? EOS\n", "translation: 你 想 來 嗎 ?\n", "\n", "BOS we want to hear it . EOS\n", "BOS 我 们 想 听 听 。 EOS\n", "translation: 我 们 想 听 说 清 楚 。\n", "\n", "BOS tears UNK down my UNK . EOS\n", "BOS 泪 水 沿 着 我 的 面 UNK 流 了 下 来 。 EOS\n", "translation: 泪 水 沿 着 我 的 面 流 了 下 来 。\n", "\n", "BOS he suddenly became very happy . EOS\n", "BOS 他 突 然 變 得 非 常 開 心 。 EOS\n", "translation: 他 突 然 變 得 非 常 開 心 。\n", "\n", "BOS i am sixteen years old . EOS\n", "BOS 我 1 6 岁 了 。 EOS\n", "translation: 我 1 6 岁 的 三 十 歲 。\n", "\n", "BOS spring is my favorite season . EOS\n", "BOS 春 天 是 我 最 喜 爱 的 季 节 。 EOS\n", "translation: 春 天 是 我 最 喜 欢 的 季 节 。\n", "\n", "BOS i 'm looking for you . EOS\n", "BOS 我 在 找 你 。 EOS\n", "translation: 我 正 在 找 你 。\n", "\n", "BOS can i rest a bit ? EOS\n", "BOS 我 能 休 息 一 会 儿 吗 ? EOS\n", "translation: 我 可 以 休 息 一 会 儿 吗 ?\n", "\n", "BOS may i eat this orange ? EOS\n", "BOS 我 可 以 吃 這 個 柳 橙 嗎 ? EOS\n", "translation: 我 可 以 吃 這 個 柳 橙 嗎 ?\n", "\n", "BOS i 'm able to speak . EOS\n", "BOS 我 能 说 。 EOS\n", "translation: 我 能 說 話 。\n", "\n", "BOS our school begins at eight-thirty . EOS\n", "BOS 我 們 學 校 在 八 點 半 開 始 上 課 。 EOS\n", "translation: 我 們 學 校 在 八 點 半 開 始 上 課 。\n", "\n", "BOS there 's nothing to forgive . EOS\n", "BOS 没 什 么 可 原 谅 的 。 EOS\n", "translation: 沒 有 什 麼 可 原 谅 的 。\n", "\n", "BOS he saw her and UNK . EOS\n", "BOS 他 看 到 她 就 臉 紅 了 。 EOS\n", "translation: 他 看 到 她 就 臉 紅 了 。\n", "\n", "BOS tom came home early yesterday . EOS\n", "BOS 湯 姆 昨 天 提 早 回 來 了 。 EOS\n", "translation: 汤 姆 昨 天 很 早 就 来 了 。\n", "\n", "BOS i 'm a free man . EOS\n", "BOS 我 是 一 個 自 由 的 人 。 EOS\n", "translation: 我 是 一 个 大 众 人 。\n", "\n", "BOS tom has been quite UNK . EOS\n", "BOS 汤 姆 很 合 作 。 EOS\n", "translation: 汤 姆 很 合 作 。\n", "\n", "BOS he has n't come yet . EOS\n", "BOS 他 還 沒 來 。 EOS\n", "translation: 他 還 沒 來 。\n", "\n", "BOS i 'm a new student . EOS\n", "BOS 我 是 个 新 生 。 EOS\n", "translation: 我 是 新 学 生 。\n", "\n", "BOS she plays tennis every sunday . EOS\n", "BOS 她 每 個 星 期 天 打 網 球 。 EOS\n", "translation: 她 每 個 星 期 天 打 網 球 。\n", "\n", "BOS he played baseball after school . EOS\n", "BOS 他 放 學 後 打 棒 球 。 EOS\n", "translation: 他 放 学 后 打 了 棒 球 。\n", "\n", "BOS always be true to yourself . EOS\n", "BOS 永 遠 要 對 自 己 誠 實 。 EOS\n", "translation: 永 遠 要 對 自 己 誠 實 。\n", "\n", "BOS i did n't mean it . EOS\n", "BOS 我 不 是 这 个 意 思 。 EOS\n", "translation: 我 不 是 故 意 它 。\n", "\n", "BOS my team is always losing . EOS\n", "BOS 我 们 队 总 是 输 。 EOS\n", "translation: 我 们 队 总 是 输 。\n", "\n", "BOS do n't miss the bus . EOS\n", "BOS 不 要 错 过 公 车 。 EOS\n", "translation: 不 要 错 过 了 。\n", "\n", "BOS it 's up to you . EOS\n", "BOS 由 你 來 決 定 。 EOS\n", "translation: 由 你 來 決 心 。\n", "\n", "BOS i will go on ahead . EOS\n", "BOS 我 會 繼 續 前 進 。 EOS\n", "translation: 我 會 繼 續 前 進 去 。\n", "\n", "BOS he left without saying goodbye . EOS\n", "BOS 他 不 辭 而 別 。 EOS\n", "translation: 他 不 辭 而 別 。\n", "\n", "BOS he disappeared without a trace . EOS\n", "BOS 他 消 失 了 , 不 留 一 丝 踪 迹 。 EOS\n", "translation: 他 没 有 留 下 痕 迹 就 别 留 下 来 。\n", "\n", "BOS tom went down the hill . EOS\n", "BOS 汤 姆 走 下 山 坡 。 EOS\n", "translation: 汤 姆 坐 下 了 山 坡 。\n", "\n", "BOS i am on the right . EOS\n", "BOS 我 在 右 邊 。 EOS\n", "translation: 我 是 對 的 。\n", "\n", "BOS did you play tennis yesterday ? EOS\n", "BOS 你 昨 天 打 网 球 了 吗 ? EOS\n", "translation: 你 昨 天 打 網 球 了 嗎 ?\n", "\n", "BOS where are those UNK now ? EOS\n", "BOS 那 些 海 报 现 在 都 到 哪 里 去 了 ? EOS\n", "translation: 那 些 海 报 现 在 在 在 哪 里 ?\n", "\n", "BOS what 's your favorite UNK ? EOS\n", "BOS 你 最 喜 欢 的 饮 料 是 什 么 ? EOS\n", "translation: 你 最 喜 欢 的 饮 料 是 什 么 ?\n", "\n", "BOS UNK drinking is a UNK . EOS\n", "BOS 未 满 年 龄 饮 酒 是 罪 行 。 EOS\n", "translation: 未 來 抽 烟 是 罪 。\n", "\n", "BOS few students knew his name . EOS\n", "BOS 很 少 学 生 知 道 他 的 名 字 。 EOS\n", "translation: 很 少 有 学 生 知 道 他 的 名 字 。\n", "\n", "BOS are you free tomorrow evening ? EOS\n", "BOS 你 明 晚 有 空 嗎 ? EOS\n", "translation: 你 明 天 有 空 嗎 ?\n", "\n", "BOS i ca n't meet you . EOS\n", "BOS 遇 不 到 你 。 EOS\n", "translation: 我 無 法 見 到 你 。\n", "\n", "BOS she UNK a motorcycle well . EOS\n", "BOS 她 骑 摩 托 车 的 技 术 不 错 ! EOS\n", "translation: 她 骑 摩 托 车 的 技 术 不 错 !\n", "\n", "BOS you must answer these questions . EOS\n", "BOS 你 必 須 回 答 這 些 問 題 。 EOS\n", "translation: 你 必 須 回 答 這 些 問 題 。\n", "\n", "BOS how high can you jump ? EOS\n", "BOS 您 能 跳 多 高 ? EOS\n", "translation: 你 會 跳 多 高 ?\n", "\n", "BOS he is my youngest brother . EOS\n", "BOS 他 是 我 最 年 轻 的 兄 弟 。 EOS\n", "translation: 他 是 我 最 年 的 兄 弟 。\n", "\n", "BOS most boys like computer games . EOS\n", "BOS 大 多 数 男 生 喜 欢 电 脑 游 戏 。 EOS\n", "translation: 大 部 分 男 生 喜 歡 电 脑 游 戏 。\n", "\n", "BOS can i have a bite ? EOS\n", "BOS 我 可 以 吃 一 口 嗎 ? EOS\n", "translation: 我 可 以 吃 一 口 嗎 ?\n", "\n", "BOS this is not very UNK . EOS\n", "BOS 這 不 是 很 流 行 。 EOS\n", "translation: 這 不 是 很 流 。\n", "\n", "BOS there is a fork missing . EOS\n", "BOS 少 一 把 叉 子 。 EOS\n", "translation: 少 一 把 叉 子 。\n", "\n", "BOS i love my yellow sweater . EOS\n", "BOS 我 很 喜 欢 我 的 黄 色 套 衫 。 EOS\n", "translation: 我 很 喜 欢 我 的 黄 色 套 衫 。\n", "\n", "BOS we UNK tea from india . EOS\n", "BOS 我 們 從 印 度 進 口 茶 葉 。 EOS\n", "translation: 我 們 從 印 度 進 口 茶 葉 。\n", "\n", "BOS he seldom goes to church . EOS\n", "BOS 他 很 少 去 教 堂 。 EOS\n", "translation: 他 很 少 用 教 堂 。\n", "\n", "BOS it seemed to be cheap . EOS\n", "BOS 似 乎 很 便 宜 。 EOS\n", "translation: 似 乎 很 便 宜 。\n", "\n", "BOS tom can keep a secret . EOS\n", "BOS 汤 姆 会 保 密 。 EOS\n", "translation: 汤 姆 可 能 保 密 。\n", "\n", "BOS tennis is my favorite sport . EOS\n", "BOS 网 球 是 我 最 喜 欢 的 运 动 。 EOS\n", "translation: 网 球 是 我 最 喜 欢 的 运 动 。\n", "\n", "BOS when is your bed time ? EOS\n", "BOS 你 什 么 时 候 睡 觉 ? EOS\n", "translation: 你 什 麼 時 候 睡 覺 ?\n", "\n", "BOS give me something to do . EOS\n", "BOS 给 我 点 事 做 。 EOS\n", "translation: 給 我 點 事 。\n", "\n", "BOS nobody gave us a chance . EOS\n", "BOS 没 人 给 我 们 机 会 。 EOS\n", "translation: 没 有 人 给 我 们 机 会 。\n", "\n", "BOS i am six feet tall . EOS\n", "BOS 我 六 英 尺 高 。 EOS\n", "translation: 我 六 十 一 歲 。\n", "\n", "BOS where can you get tickets ? EOS\n", "BOS 在 哪 里 可 以 买 到 车 票 ? EOS\n", "translation: 你 可 以 在 哪 裡 拍 票 ?\n", "\n", "BOS these pants fit me well . EOS\n", "BOS 我 穿 這 條 褲 子 很 合 身 。 EOS\n", "translation: 这 些 裤 子 我 穿 起 来 很 合 身 。\n", "\n", "BOS he showed me her picture . EOS\n", "BOS 他 給 我 看 了 她 的 照 片 。 EOS\n", "translation: 他 給 我 看 她 的 照 片 。\n", "\n", "BOS are you afraid of UNK ? EOS\n", "BOS 你 怕 虫 子 吗 ? EOS\n", "translation: 你 怕 嗎 ?\n", "\n", "BOS how about taking a rest ? EOS\n", "BOS 休 息 一 下 怎 麼 樣 ? EOS\n", "translation: 休 息 一 下 怎 麼 樣 ?\n", "\n", "BOS i need a UNK dictionary . EOS\n", "BOS 我 需 要 一 本 日 英 字 典 。 EOS\n", "translation: 我 需 要 一 本 字 典 。\n", "\n", "BOS he 's a bit UNK . EOS\n", "BOS 他 有 点 活 泼 。 EOS\n", "translation: 他 有 点 。\n", "\n", "BOS he 's bound to forget . EOS\n", "BOS 他 准 会 忘 。 EOS\n", "translation: 他 准 会 忘 。\n", "\n", "BOS the well has run dry . EOS\n", "BOS 這 口 井 乾 涸 了 。 EOS\n", "translation: 這 口 井 乾 涸 了 。\n", "\n", "BOS remember to mail this letter . EOS\n", "BOS 記 得 要 去 寄 這 封 信 。 EOS\n", "translation: 記 得 把 信 忘 记 下 來 。\n", "\n", "BOS many friends saw him off . EOS\n", "BOS 許 多 朋 友 為 他 送 行 。 EOS\n", "translation: 許 多 朋 友 為 他 送 行 。\n", "\n", "BOS actions speak louder than words . EOS\n", "BOS 行 動 比 語 言 更 響 亮 。 EOS\n", "translation: 行 動 勝 於 雄 辯 。\n", "\n", "BOS what country are you from ? EOS\n", "BOS 你 是 从 哪 个 国 家 来 的 ? EOS\n", "translation: 你 是 从 哪 个 国 家 ?\n", "\n", "BOS use it or lose it . EOS\n", "BOS 使 用 它 或 失 去 它 。 EOS\n", "translation: 用 它 或 失 去 它 或 失 去 。\n", "\n", "BOS i like to play basketball . EOS\n", "BOS 我 喜 歡 打 籃 球 。 EOS\n", "translation: 我 喜 欢 打 籃 球 。\n", "\n", "BOS she gave him a watch . EOS\n", "BOS 她 给 了 他 一 块 表 。 EOS\n", "translation: 她 給 了 他 一 支 手 錶 。\n", "\n", "BOS why did n't she come ? EOS\n", "BOS 她 为 什 么 没 来 ? EOS\n", "translation: 为 什 么 她 不 来 ?\n", "\n", "BOS give us a ride downtown . EOS\n", "BOS 載 我 們 到 市 區 。 EOS\n", "translation: 把 我 们 试 图 馆 比 市 。\n", "\n", "BOS this is all i know . EOS\n", "BOS 這 是 我 所 知 道 的 。 EOS\n", "translation: 这 是 我 所 知 道 的 。\n", "\n", "BOS can we save the planet ? EOS\n", "BOS 我 们 能 拯 救 这 颗 星 球 吗 ? EOS\n", "translation: 我 们 能 拯 救 这 颗 星 球 吗 ?\n", "\n", "BOS you swim better than me . EOS\n", "BOS 你 游 泳 游 得 比 我 好 。 EOS\n", "translation: 你 游 泳 游 得 比 我 好 。\n", "\n", "BOS she is a good UNK . EOS\n", "BOS 她 是 一 個 很 好 的 舞 者 。 EOS\n", "translation: 她 是 一 個 很 好 的 舞 者 。\n", "\n", "BOS he walked past the house . EOS\n", "BOS 他 走 過 這 棟 房 子 。 EOS\n", "translation: 他 走 過 這 棟 房 子 。\n", "\n", "BOS he will reach hakodate tonight . EOS\n", "BOS 他 今 晚 將 抵 達 函 館 。 EOS\n", "translation: 他 今 晚 將 抵 達 函 館 。\n", "\n", "BOS this work does n't pay . EOS\n", "BOS 这 个 工 作 没 有 酬 劳 。 EOS\n", "translation: 这 个 工 作 没 有 酬 劳 。\n", "\n", "BOS UNK UNK is worth visiting . EOS\n", "BOS 吉 UNK 坡 值 得 一 遊 。 EOS\n", "translation: 吉 坡 值 得 一 遊 的 北 京 游 。\n", "\n", "BOS please put on your shoes . EOS\n", "BOS 請 穿 上 你 的 鞋 子 。 EOS\n", "translation: 請 穿 上 你 的 鞋 子 。\n", "\n", "BOS go back to your seat . EOS\n", "BOS 回 到 你 的 座 位 。 EOS\n", "translation: 回 到 你 的 座 位 了 。\n", "\n", "BOS bring your student UNK card . EOS\n", "BOS 帶 上 你 的 學 生 卡 。 EOS\n", "translation: 把 你 的 学 校 投 票 选 票 。\n", "\n", "BOS hope is not a UNK . EOS\n", "BOS 希 望 不 是 一 种 策 略 。 EOS\n", "translation: 希 望 不 是 一 种 策 略 。\n", "\n", "BOS he stuck to his promise . EOS\n", "BOS 他 信 守 了 承 诺 . EOS\n", "translation: 他 信 守 了 承 诺 .\n", "\n", "BOS this book is really interesting . EOS\n", "BOS 這 本 書 真 的 很 有 趣 。 EOS\n", "translation: 這 本 書 真 的 很 有 趣 。\n", "\n", "BOS switzerland is a beautiful country . EOS\n", "BOS 瑞 士 是 一 個 美 麗 的 國 家 。 EOS\n", "translation: 瑞 士 是 一 个 美 丽 的 国 家 。\n", "\n", "BOS this must be my book . EOS\n", "BOS 这 肯 定 是 我 的 书 。 EOS\n", "translation: 這 本 書 一 定 是 我 的 書 。\n", "\n", "BOS i live in this area . EOS\n", "BOS 我 住 在 这 区 。 EOS\n", "translation: 我 住 在 這 附 近 。\n", "\n", "BOS you 're in my way . EOS\n", "BOS 你 擋 住 了 我 的 路 。 EOS\n", "translation: 你 擋 住 了 我 的 路 。\n", "\n", "BOS i saw him playing baseball . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 我 看 到 他 在 打 棒 球 。 EOS\n", "translation: 我 看 見 他 打 棒 球 。\n", "\n", "BOS he can swim very fast . EOS\n", "BOS 他 能 游 得 很 快 。 EOS\n", "translation: 他 游 泳 可 以 游 得 很 快 。\n", "\n", "BOS please go to the bank . EOS\n", "BOS 請 去 銀 行 。 EOS\n", "translation: 請 去 銀 行 。\n", "\n", "BOS you are not a coward . EOS\n", "BOS 你 不 是 个 懦 夫 。 EOS\n", "translation: 你 不 是 个 懦 夫 。\n", "\n", "BOS wash your hands before eating . EOS\n", "BOS 進 食 前 先 洗 手 。 EOS\n", "translation: 在 吃 面 前 面 洗 手 。\n", "\n", "BOS we 'll always be friends . EOS\n", "BOS 我 们 永 远 都 会 是 朋 友 。 EOS\n", "translation: 我 們 永 遠 的 朋 友 永 遠 也 會 議 。\n", "\n", "BOS speaking in english is fun . EOS\n", "BOS 說 英 語 很 有 趣 。 EOS\n", "translation: 說 英 語 很 有 趣 。\n", "\n", "BOS i can see the light . EOS\n", "BOS 我 能 看 到 光 線 。 EOS\n", "translation: 我 可 以 看 到 燈 變 。\n", "\n", "BOS he often eats breakfast there . EOS\n", "BOS 他 常 常 在 那 裡 吃 早 餐 。 EOS\n", "translation: 他 常 常 常 在 那 裡 吃 早 餐 。\n", "\n", "BOS they did n't like you . EOS\n", "BOS 他 们 不 喜 欢 你 。 EOS\n", "translation: 他 们 不 喜 欢 你 。\n", "\n", "BOS how deep is the hole ? EOS\n", "BOS 這 個 洞 多 深 ? EOS\n", "translation: 這 個 洞 多 深 ?\n", "\n", "BOS she is watering the flowers . EOS\n", "BOS 她 正 在 澆 花 。 EOS\n", "translation: 她 正 在 澆 花 。\n", "\n", "BOS i 'll drive to UNK . EOS\n", "BOS 我 會 開 車 到 底 特 律 。 EOS\n", "translation: 我 會 開 車 到 底 特 律 。\n", "\n", "BOS guess what he told me . EOS\n", "BOS 猜 猜 看 他 告 訴 了 我 什 麼 。 EOS\n", "translation: 猜 猜 猜 他 告 訴 了 我 什 麼 。\n", "\n", "BOS he 'll wait for you . EOS\n", "BOS 他 會 等 你 。 EOS\n", "translation: 他 會 等 你 。\n", "\n", "BOS my UNK is very UNK . EOS\n", "BOS 我 的 頭 皮 非 常 UNK 。 EOS\n", "translation: 我 的 頭 皮 非 常 胖 。\n", "\n", "BOS she spoke through an interpreter . EOS\n", "BOS 她 透 過 傳 譯 員 發 言 。 EOS\n", "translation: 她 透 過 傳 譯 員 發 言 。\n", "\n", "BOS i speak english every day . EOS\n", "BOS 我 每 天 都 说 英 语 。 EOS\n", "translation: 我 每 天 都 说 英 语 。\n", "\n", "BOS compare your UNK with his . EOS\n", "BOS 比 較 你 和 他 的 翻 譯 。 EOS\n", "translation: 比 較 你 和 他 的 翻 譯 。\n", "\n", "BOS tom or somebody said that . EOS\n", "BOS 汤 姆 或 某 人 说 了 那 事 。 EOS\n", "translation: 汤 姆 或 某 人 说 了 话 。\n", "\n", "BOS my cats will love this . EOS\n", "BOS 我 的 猫 会 爱 上 这 个 。 EOS\n", "translation: 我 的 猫 会 爱 上 我 。\n", "\n", "BOS i heard tom was captured . EOS\n", "BOS 我 听 说 汤 姆 被 捕 了 。 EOS\n", "translation: 我 听 说 汤 姆 被 捕 了 。\n", "\n", "BOS that was n't my intention . EOS\n", "BOS 这 不 是 我 的 初 UNK 。 EOS\n", "translation: 那 不 是 我 的 意 思 。\n", "\n", "BOS i miss her so much . EOS\n", "BOS 我 那 么 想 念 她 。 EOS\n", "translation: 我 聽 說 她 的 話 。\n", "\n", "BOS he UNK with my opinion . EOS\n", "BOS 他 同 意 我 的 意 見 。 EOS\n", "translation: 他 同 意 我 的 意 見 。\n", "\n", "BOS this whisky is too strong . EOS\n", "BOS 这 种 威 士 忌 太 烈 了 。 EOS\n", "translation: 这 种 威 士 忌 太 烈 了 。\n", "\n", "BOS it depends on the context . EOS\n", "BOS 这 得 看 情 况 。 EOS\n", "translation: 這 要 看 情 况 。\n", "\n", "BOS he studied for ten years . EOS\n", "BOS 他 研 究 了 十 年 。 EOS\n", "translation: 他 研 究 了 十 年 。\n", "\n", "BOS she died of stomach cancer . EOS\n", "BOS 她 死 于 胃 癌 。 EOS\n", "translation: 她 死 于 胃 癌 症 。\n", "\n", "BOS who told you the story ? EOS\n", "BOS 誰 告 訴 你 這 個 故 事 ? EOS\n", "translation: 谁 告 诉 你 这 个 故 事 ?\n", "\n", "BOS this man is not UNK . EOS\n", "BOS 这 个 人 靠 不 住 的 。 EOS\n", "translation: 这 个 男 人 不 是 。\n", "\n", "BOS he has three older sisters . EOS\n", "BOS 他 有 三 个 姐 姐 。 EOS\n", "translation: 他 有 三 个 姐 姐 。\n", "\n", "BOS i can come at three . EOS\n", "BOS 我 三 點 鐘 可 以 來 。 EOS\n", "translation: 我 三 點 鐘 可 以 來 。\n", "\n", "BOS tom is drinking apple juice . EOS\n", "BOS T o m 正 在 喝 蘋 果 汁 。 EOS\n", "translation: 汤 姆 像 果 汁 。\n", "\n", "BOS his brother studies very hard . EOS\n", "BOS 他 的 哥 哥 很 用 功 讀 書 。 EOS\n", "translation: 他 的 兄 弟 很 辛 苦 。\n", "\n", "BOS i really like my UNK . EOS\n", "BOS 我 确 实 喜 欢 我 的 同 事 。 EOS\n", "translation: 我 真 的 很 喜 欢 我 的 。\n", "\n", "BOS we knew it all along . EOS\n", "BOS 我 们 一 开 始 就 知 道 。 EOS\n", "translation: 我 们 什 么 都 知 道 。\n", "\n", "BOS that 's an original idea . EOS\n", "BOS 那 是 原 创 的 想 法 。 EOS\n", "translation: 那 是 原 创 的 想 法 。\n", "\n", "BOS he got off the bus . EOS\n", "BOS 他 下 了 公 車 。 EOS\n", "translation: 他 下 了 公 車 。\n", "\n", "BOS i 'll reconsider the matter . EOS\n", "BOS 我 會 重 新 考 慮 此 事 。 EOS\n", "translation: 我 會 重 考 慮 這 件 事 。\n", "\n", "BOS his book is very interesting . EOS\n", "BOS 他 的 書 非 常 有 趣 。 EOS\n", "translation: 他 的 書 非 常 有 趣 。\n", "\n", "BOS UNK is carried by mosquitoes . EOS\n", "BOS UNK 疾 是 由 蚊 子 傳 染 的 。 EOS\n", "translation: 疾 是 由 蚊 子 傳 染 的 。\n", "\n", "BOS bring me a dry towel . EOS\n", "BOS 給 我 一 條 乾 毛 巾 。 EOS\n", "translation: 給 我 一 條 乾 毛 巾 。\n", "\n", "BOS i would like your picture . EOS\n", "BOS 我 想 要 你 的 照 片 。 EOS\n", "translation: 我 想 要 你 的 照 片 。\n", "\n", "BOS it belongs to my brother . EOS\n", "BOS 它 屬 於 我 兄 弟 。 EOS\n", "translation: 它 屬 於 我 哥 。\n", "\n", "BOS how 's the weather there ? EOS\n", "BOS 那 里 的 气 候 怎 么 样 ? EOS\n", "translation: 那 儿 是 什 么 天 气 ?\n", "\n", "BOS he has his own room . EOS\n", "BOS 他 有 自 己 的 房 间 。 EOS\n", "translation: 他 有 自 己 的 房 间 。\n", "\n", "BOS open your eyes , please . EOS\n", "BOS 请 睁 开 眼 睛 。 EOS\n", "translation: 请 睁 开 眼 睛 。\n", "\n", "BOS the risk is too great . EOS\n", "BOS 风 险 太 大 。 EOS\n", "translation: 风 险 太 大 。\n", "\n", "BOS i 'll miss your cooking . EOS\n", "BOS 我 會 想 念 你 的 廚 藝 。 EOS\n", "translation: 我 會 想 念 你 的 廚 藝 。\n", "\n", "BOS can i try this on ? EOS\n", "BOS 我 能 试 一 下 吗 ? EOS\n", "translation: 我 能 试 一 下 吗 ?\n", "\n", "BOS people need to stop UNK . EOS\n", "BOS 人 们 需 要 止 住 仇 恨 。 EOS\n", "translation: 人 們 需 要 別 人 停 止 。\n", "\n", "BOS popcorn is my favorite snack . EOS\n", "BOS 爆 米 花 是 我 最 喜 欢 的 零 食 。 EOS\n", "translation: 爆 米 花 是 我 最 喜 欢 的 零 食 。\n", "\n", "BOS this job does n't pay . EOS\n", "BOS 这 份 工 作 不 付 钱 的 。 EOS\n", "translation: 这 份 工 作 没 有 酬 劳 。\n", "\n", "BOS he cut the envelope open . EOS\n", "BOS 他 裁 開 了 那 個 信 封 。 EOS\n", "translation: 他 裁 開 了 那 個 信 封 。\n", "\n", "BOS where are those people from ? EOS\n", "BOS 那 些 人 从 哪 来 的 ? EOS\n", "translation: 那 些 人 从 哪 里 来 ?\n", "\n", "BOS this makes me so angry . EOS\n", "BOS 這 讓 我 非 常 憤 怒 。 EOS\n", "translation: 這 讓 我 憤 怒 。\n", "\n", "BOS do n't pull my leg ! EOS\n", "BOS 不 要 拉 我 的 腿 ! EOS\n", "translation: 別 開 始 掉 我 的 腿 !\n", "\n", "BOS i was n't busy yesterday . EOS\n", "BOS 我 昨 天 不 忙 。 EOS\n", "translation: 昨 天 我 没 忙 。\n", "\n", "BOS people should get more involved . EOS\n", "BOS 人 们 需 要 更 多 的 交 流 。 EOS\n", "translation: 人 們 應 該 更 少 變 和 這 個 嘴 。\n", "\n", "BOS tell me which you want . EOS\n", "BOS 告 訴 我 你 想 要 哪 個 。 EOS\n", "translation: 告 訴 我 你 想 要 哪 個 。\n", "\n", "BOS watch my camera for me . EOS\n", "BOS 幫 我 看 著 我 的 相 機 。 EOS\n", "translation: 幫 我 看 著 我 的 相 機 。\n", "\n", "BOS his UNK are very long . EOS\n", "BOS 他 的 講 座 很 長 。 EOS\n", "translation: 他 的 長 頭 非 常 長 。\n", "\n", "BOS you should UNK that fact . EOS\n", "BOS 你 應 該 重 視 那 個 事 實 。 EOS\n", "translation: 你 應 該 重 視 那 件 事 。\n", "\n", "BOS i am engaged to her . EOS\n", "BOS 我 跟 她 訂 婚 了 。 EOS\n", "translation: 我 跟 她 訂 婚 了 。\n", "\n", "BOS i 'm afraid of spiders . EOS\n", "BOS 我 怕 蜘 蛛 。 EOS\n", "translation: 我 怕 蜘 蛛 。\n", "\n", "BOS he brought back several UNK . EOS\n", "BOS 他 帶 回 了 一 些 紀 念 品 。 EOS\n", "translation: 他 帶 了 解 決 了 一 些 訊 息 。\n", "\n", "BOS the boy UNK the dark . EOS\n", "BOS 这 个 男 孩 害 怕 黑 夜 。 EOS\n", "translation: 這 個 男 孩 害 怕 黑 色 。\n", "\n", "BOS the company abandoned that project . EOS\n", "BOS 公 司 放 弃 了 那 个 项 目 。 EOS\n", "translation: 公 司 放 弃 了 那 个 项 目 。\n", "\n", "BOS he may have been ill . EOS\n", "BOS 他 可 能 病 了 。 EOS\n", "translation: 他 可 能 病 了 。\n", "\n", "BOS she becomes drowsy after dinner . EOS\n", "BOS 晚 飯 後 她 變 得 昏 昏 欲 睡 。 EOS\n", "translation: 晚 飯 後 她 變 得 昏 昏 欲 睡 。\n", "\n", "BOS she is mad at me . EOS\n", "BOS 她 跟 我 生 气 了 。 EOS\n", "translation: 她 生 气 了 。\n", "\n", "BOS no pain , no gain . EOS\n", "BOS 一 分 UNK UNK , 一 分 收 UNK 。 EOS\n", "translation: 一 分 之 前 , 一 分 收 。\n", "\n", "BOS we must UNK energy demand . EOS\n", "BOS 我 们 必 须 降 低 能 源 需 求 。 EOS\n", "translation: 我 们 可 能 需 要 交 价 。\n", "\n", "BOS they made me really angry . EOS\n", "BOS 他 们 让 我 很 生 气 。 EOS\n", "translation: 他 們 讓 我 很 生 氣 。\n", "\n", "BOS do n't underestimate my power . EOS\n", "BOS 不 要 小 看 我 的 力 量 。 EOS\n", "translation: 不 要 低 估 我 的 力 量 。\n", "\n", "BOS tom 's coach likes him . EOS\n", "BOS 汤 姆 的 教 练 喜 欢 他 。 EOS\n", "translation: 汤 姆 的 教 练 喜 欢 他 。\n", "\n", "BOS she was wearing long boots . EOS\n", "BOS 她 穿 着 长 靴 。 EOS\n", "translation: 她 穿 着 长 靴 。\n", "\n", "BOS how much will it cost ? EOS\n", "BOS 这 要 多 少 钱 ? EOS\n", "translation: 它 將 多 少 錢 ?\n", "\n", "BOS the box is almost empty . EOS\n", "BOS 盒 子 几 乎 是 空 的 。 EOS\n", "translation: 這 個 箱 子 幾 乎 是 幾 乎 的 。\n", "\n", "BOS please UNK the cards carefully . EOS\n", "BOS 请 仔 细 洗 牌 。 EOS\n", "translation: 请 仔 细 洗 牌 。\n", "\n", "BOS i do n't like school . EOS\n", "BOS 我 不 喜 欢 学 校 。 EOS\n", "translation: 我 不 喜 欢 学 校 。\n", "\n", "BOS he married a pretty girl . EOS\n", "BOS 他 娶 了 一 個 漂 亮 的 女 孩 。 EOS\n", "translation: 他 娶 了 一 個 漂 亮 的 女 孩 。\n", "\n", "BOS that 's my favorite chair . EOS\n", "BOS 那 是 我 最 喜 歡 的 椅 子 。 EOS\n", "translation: 那 是 我 最 喜 欢 的 椅 子 。\n", "\n", "BOS he fought against racial discrimination . EOS\n", "BOS 他 反 對 種 族 歧 視 。 EOS\n", "translation: 他 面 向 种 族 歧 視 。\n", "\n", "BOS we went to the UNK . EOS\n", "BOS 我 们 去 看 了 比 赛 。 EOS\n", "translation: 我 们 去 了 单 。\n", "\n", "BOS we ordered too much food . EOS\n", "BOS 我 們 點 太 多 食 物 了 。 EOS\n", "translation: 我 們 點 太 多 食 物 了 。\n", "\n", "BOS i do n't want you . EOS\n", "BOS 我 不 想 要 你 。 EOS\n", "translation: 我 不 想 要 你 。\n", "\n", "BOS we really appreciate their effort . EOS\n", "BOS 我 们 真 的 感 激 他 们 的 努 力 。 EOS\n", "translation: 我 们 非 常 感 激 他 们 的 努 力 。\n", "\n", "BOS i 'm thinking about you . EOS\n", "BOS 我 突 然 想 到 你 。 EOS\n", "translation: 我 突 然 想 到 你 。\n", "\n", "BOS stay out of my room . EOS\n", "BOS 别 进 我 的 房 间 。 EOS\n", "translation: 别 进 我 的 房 间 。\n", "\n", "BOS he was listening to music . EOS\n", "BOS 他 正 在 聽 音 樂 。 EOS\n", "translation: 他 听 着 音 乐 。\n", "\n", "BOS let me have a look . EOS\n", "BOS 讓 我 看 看 。 EOS\n", "translation: 讓 我 看 看 看 。\n", "\n", "BOS he took off his glasses . EOS\n", "BOS 他 摘 下 了 眼 鏡 。 EOS\n", "translation: 他 摘 下 了 眼 鏡 。\n", "\n", "BOS tom is very much alone . EOS\n", "BOS 汤 姆 非 常 孤 单 。 EOS\n", "translation: 汤 姆 非 常 孤 单 。\n", "\n", "BOS tom is a good person . EOS\n", "BOS 湯 姆 是 個 好 人 。 EOS\n", "translation: 汤 姆 是 个 好 人 。\n", "\n", "BOS it 's already nine o'clock . EOS\n", "BOS 已 经 9 点 了 。 EOS\n", "translation: 已 经 常 常 等 了 。\n", "\n", "BOS i 've quit drinking beer . EOS\n", "BOS 我 已 經 不 喝 啤 酒 了 。 EOS\n", "translation: 我 已 經 喝 啤 酒 了 。\n", "\n", "BOS my mother boiled ten eggs . EOS\n", "BOS 妈 妈 煮 了 十 只 蛋 。 EOS\n", "translation: 我 母 親 急 经 吸 煙 。\n", "\n", "BOS do you know this song ? EOS\n", "BOS 你 知 道 這 首 歌 嗎 ? EOS\n", "translation: 你 知 道 這 首 歌 嗎 ?\n", "\n", "BOS being rich is n't enough . EOS\n", "BOS 有 钱 还 不 够 。 EOS\n", "translation: 有 钱 不 够 。\n", "\n", "BOS please tell me about it . EOS\n", "BOS 请 告 诉 我 它 的 事 情 。 EOS\n", "translation: 請 告 訴 我 這 件 事 。\n", "\n", "BOS he is fluent in french . EOS\n", "BOS 他 说 法 语 说 得 很 流 利 。 EOS\n", "translation: 他 說 法 語 很 流 利 。\n", "\n", "BOS that 's what i like . EOS\n", "BOS 我 就 喜 欢 它 。 EOS\n", "translation: 那 是 我 想 要 的 。\n", "\n", "BOS he is an UNK person . EOS\n", "BOS 他 是 个 UNK UNK 逼 人 的 的 人 。 EOS\n", "translation: 他 是 一 個 逼 人 的 人 。\n", "\n", "BOS my attitude towards him changed . EOS\n", "BOS 我 对 他 的 态 度 变 了 。 EOS\n", "translation: 我 对 他 的 态 度 变 了 。\n", "\n", "BOS she 's not a child . EOS\n", "BOS 她 不 是 小 孩 。 EOS\n", "translation: 她 不 是 孩 子 。\n", "\n", "BOS she is everything to him . EOS\n", "BOS 她 是 他 的 一 切 。 EOS\n", "translation: 她 是 他 所 有 的 一 切 。\n", "\n", "BOS i heard the door close . EOS\n", "BOS 我 听 到 门 关 了 。 EOS\n", "translation: 我 聽 到 門 關 上 的 路 。\n", "\n", "BOS the topic is worth discussing . EOS\n", "BOS 這 是 值 得 探 討 的 話 題 。 EOS\n", "translation: 這 是 值 得 探 討 的 話 題 。\n", "\n", "BOS he has a large family . EOS\n", "BOS 他 有 一 個 大 家 庭 。 EOS\n", "translation: 他 有 一 大 家 庭 。\n", "\n", "BOS my brother became an engineer . EOS\n", "BOS 我 哥 哥 成 了 一 名 工 程 師 。 EOS\n", "translation: 我 哥 哥 成 了 一 名 工 師 。\n", "\n", "BOS who else UNK this room ? EOS\n", "BOS 还 有 谁 用 这 个 房 间 ? EOS\n", "translation: 还 有 谁 ?\n", "\n", "BOS you should have studied harder . EOS\n", "BOS 你 本 應 該 更 努 力 學 習 的 。 EOS\n", "translation: 你 應 該 更 努 力 學 習 的 。\n", "\n", "BOS school will start next monday . EOS\n", "BOS 下 周 一 开 学 。 EOS\n", "translation: 下 周 一 开 学 。\n", "\n", "BOS he took out his passport . EOS\n", "BOS 他 拿 出 了 他 的 護 照 。 EOS\n", "translation: 他 拿 出 了 他 的 護 照 。\n", "\n", "BOS she is still a girl . EOS\n", "BOS 她 还 是 个 小 孩 儿 。 EOS\n", "translation: 她 还 是 个 女 孩 。\n", "\n", "BOS what are you looking at ? EOS\n", "BOS 你 在 看 什 麼 ? EOS\n", "translation: 你 在 看 什 麼 ?\n", "\n", "BOS life in japan is expensive . EOS\n", "BOS 在 日 本 生 活 消 费 很 高 。 EOS\n", "translation: 在 日 本 生 活 消 费 很 高 。\n", "\n", "BOS you are in my way . EOS\n", "BOS 你 擋 住 了 我 的 路 。 EOS\n", "translation: 你 擋 住 了 我 的 路 。\n", "\n", "BOS you drink too much coffee . EOS\n", "BOS 你 咖 啡 喝 得 太 多 了 。 EOS\n", "translation: 你 咖 啡 喝 得 太 多 了 。\n", "\n", "BOS he is leaving chicago tomorrow . EOS\n", "BOS 他 明 天 將 離 開 芝 加 哥 。 EOS\n", "translation: 他 明 天 將 離 開 芝 加 哥 。\n", "\n", "BOS why are you busy today ? EOS\n", "BOS 你 今 天 为 什 么 忙 ? EOS\n", "translation: 你 今 天 为 什 么 忙 ?\n", "\n", "BOS a UNK taught him spanish . EOS\n", "BOS 一 個 墨 西 哥 人 教 了 他 西 班 牙 文 。 EOS\n", "translation: 一 個 墨 西 哥 人 教 了 他 西 班 牙 文 。\n", "\n", "BOS english is useful in commerce . EOS\n", "BOS 英 語 在 商 業 中 很 有 用 。 EOS\n", "translation: 英 語 在 商 業 中 很 有 用 。\n", "\n", "BOS mary likes milk very much . EOS\n", "BOS 瑪 麗 很 喜 歡 牛 奶 。 EOS\n", "translation: 瑪 麗 很 喜 歡 牛 奶 。\n", "\n", "BOS do n't stare at others . EOS\n", "BOS 别 盯 着 别 人 看 。 EOS\n", "translation: 別 抱 怨 別 人 。\n", "\n", "BOS we like to play soccer . EOS\n", "BOS 我 們 喜 歡 踢 足 球 。 EOS\n", "translation: 我 們 喜 歡 踢 足 球 。\n", "\n", "BOS thank you for your attention . EOS\n", "BOS 谢 谢 您 的 关 注 。 EOS\n", "translation: 感 謝 您 的 關 心 。\n", "\n", "BOS let him play your guitar . EOS\n", "BOS 讓 他 彈 你 的 吉 他 。 EOS\n", "translation: 讓 他 彈 你 的 吉 他 。\n", "\n", "BOS she UNK her older brother . EOS\n", "BOS 她 爱 慕 她 哥 哥 。 EOS\n", "translation: 她 的 大 姐 就 愛 她 。\n", "\n", "BOS that film 's really interesting . EOS\n", "BOS 那 部 电 影 很 有 意 思 。 EOS\n", "translation: 那 部 电 影 很 有 趣 。\n", "\n", "BOS my room is very small . EOS\n", "BOS 我 的 房 間 很 小 。 EOS\n", "translation: 我 房 间 里 很 小 。\n", "\n", "BOS i want to visit korea . EOS\n", "BOS 我 想 访 问 韩 国 。 EOS\n", "translation: 我 想 访 问 韩 国 。\n", "\n", "BOS i met an old woman . EOS\n", "BOS 我 遇 见 了 一 位 老 妇 人 。 EOS\n", "translation: 我 遇 见 了 一 位 老 妇 人 。\n", "\n", "BOS i 'm good at skiing . EOS\n", "BOS 我 擅 長 滑 雪 。 EOS\n", "translation: 我 擅 長 滑 雪 。\n", "\n", "BOS we should call the doctor . EOS\n", "BOS 我 們 應 該 去 請 醫 生 。 EOS\n", "translation: 我 們 應 該 叫 醫 生 。\n", "\n", "BOS tom played with his dog . EOS\n", "BOS 汤 姆 和 他 的 狗 玩 。 EOS\n", "translation: 汤 姆 和 他 的 狗 玩 。\n", "\n", "BOS say it in another way . EOS\n", "BOS 换 种 方 式 说 。 EOS\n", "translation: 說 它 與 方 向 去 。\n", "\n", "BOS i just need a break . EOS\n", "BOS 我 只 想 休 息 一 下 EOS\n", "translation: 我 只 需 要 一 支 手 斷 。\n", "\n", "BOS it 's okay to go . EOS\n", "BOS 你 可 以 走 了 。 EOS\n", "translation: 你 可 以 去 。\n", "\n", "BOS should i cancel the call ? EOS\n", "BOS 我 该 取 消 通 话 吗 ? EOS\n", "translation: 我 應 該 取 消 消 消 帳 嗎 ?\n", "\n", "BOS i am not a student . EOS\n", "BOS 我 不 是 學 生 。 EOS\n", "translation: 我 不 是 学 生 。\n", "\n", "BOS i 'll join you later . EOS\n", "BOS 我 一 會 兒 就 來 。 EOS\n", "translation: 我 會 晚 飯 後 會 兒 。\n", "\n", "BOS tom never turned up again . EOS\n", "BOS 湯 姆 沒 有 再 出 現 。 EOS\n", "translation: 汤 姆 再 也 没 有 再 出 发 。\n", "\n", "BOS be careful not to fall . EOS\n", "BOS 小 心 别 摔 倒 了 。 EOS\n", "translation: 小 心 別 被 嚇 壞 了 。\n", "\n", "BOS does she have a piano ? EOS\n", "BOS 她 有 鋼 琴 嗎 ? EOS\n", "translation: 她 有 鋼 琴 嗎 ?\n", "\n", "BOS i ate breakfast at eight . EOS\n", "BOS 我 八 點 鐘 吃 了 早 餐 。 EOS\n", "translation: 我 八 點 鐘 吃 了 早 餐 。\n", "\n", "BOS i love UNK fruit juice . EOS\n", "BOS 我 愛 百 香 果 汁 。 EOS\n", "translation: 我 愛 百 香 果 汁 。\n", "\n", "BOS he has a big family . EOS\n", "BOS 他 有 个 大 家 庭 。 EOS\n", "translation: 他 有 一 個 大 家 庭 。\n", "\n", "BOS today is my UNK birthday . EOS\n", "BOS 今 天 是 我 十 六 歲 的 生 日 。 EOS\n", "translation: 今 天 是 我 十 七 歲 的 生 日 。\n", "\n", "BOS tom hid under the table . EOS\n", "BOS T o m 躲 在 桌 子 底 下 。 EOS\n", "translation: 汤 姆 把 桌 子 藏 在 桌 子 底 下 。\n", "\n", "BOS mathematics is difficult for me . EOS\n", "BOS 數 學 對 我 來 說 很 難 。 EOS\n", "translation: 數 學 對 我 來 說 很 難 。\n", "\n", "BOS i met your father yesterday . EOS\n", "BOS 昨 天 我 見 到 了 你 父 親 。 EOS\n", "translation: 昨 天 我 見 過 你 父 親 。\n", "\n", "BOS you should have come earlier . EOS\n", "BOS 你 本 应 该 来 得 更 早 的 。 EOS\n", "translation: 你 應 該 早 點 來 的 。\n", "\n", "BOS how much did you UNK ? EOS\n", "BOS 你 出 价 多 少 ? EOS\n", "translation: 你 怎 么 多 少 ?\n", "\n", "BOS mary is pregnant with twins . EOS\n", "BOS 玛 丽 怀 了 双 胞 胎 。 EOS\n", "translation: 瑪 麗 怀 疑 了 双 胞 胎 。\n", "\n", "BOS give me something to eat . EOS\n", "BOS 給 我 點 東 西 吃 。 EOS\n", "translation: 給 我 點 東 西 吃 。\n", "\n", "BOS now it 's your serve . EOS\n", "BOS 現 在 該 你 發 球 。 EOS\n", "translation: 现 在 为 你 们 准 备 刷 示 。\n", "\n", "BOS she is a quiet woman . EOS\n", "BOS 她 是 一 個 安 靜 的 女 人 。 EOS\n", "translation: 她 是 一 個 安 靜 的 女 人 。\n", "\n", "BOS i 'm feeling blue today . EOS\n", "BOS 我 今 天 的 心 情 不 好 。 EOS\n", "translation: 我 今 天 的 心 都 很 憂 鬱 。\n", "\n", "BOS london was UNK several times . EOS\n", "BOS 倫 敦 被 UNK 炸 過 許 多 次 。 EOS\n", "translation: 倫 敦 被 炸 過 許 多 次 。\n", "\n", "BOS i think it 's ok . EOS\n", "BOS 我 想 沒 關 係 。 EOS\n", "translation: 我 想 沒 關 係 。\n", "\n", "BOS you should n't wait here . EOS\n", "BOS 你 不 應 該 在 這 裡 等 。 EOS\n", "translation: 你 不 應 該 在 這 裡 等 。\n", "\n", "BOS you do n't deserve it . EOS\n", "BOS 你 不 配 。 EOS\n", "translation: 你 不 配 。\n", "\n", "BOS call me at the office . EOS\n", "BOS 打 電 話 到 我 辦 公 室 來 。 EOS\n", "translation: 打 电 话 给 我 机 器 。\n", "\n", "BOS i ate a UNK lunch . EOS\n", "BOS 我 匆 忙 的 吃 了 午 餐 。 EOS\n", "translation: 我 吃 了 午 飯 。\n", "\n", "BOS she ignored all my warnings . EOS\n", "BOS 她 忽 視 了 我 所 有 的 警 告 。 EOS\n", "translation: 她 忽 視 了 我 所 有 的 警 告 。\n", "\n", "BOS i 've already tried that . EOS\n", "BOS 我 已 经 试 过 那 个 了 。 EOS\n", "translation: 我 已 经 试 过 那 个 。\n", "\n", "BOS he bought her a sweater . EOS\n", "BOS 他 買 了 一 件 毛 衣 給 她 。 EOS\n", "translation: 他 買 了 一 件 毛 衣 給 她 。\n", "\n", "BOS i missed the last train . EOS\n", "BOS 我 錯 過 了 最 後 一 班 火 車 。 EOS\n", "translation: 我 錯 過 了 最 後 一 班 火 車 。\n", "\n", "BOS do n't begin without me . EOS\n", "BOS 我 不 在 就 别 开 始 。 EOS\n", "translation: 不 要 开 始 。 我 开 始 。\n", "\n", "BOS the end UNK the means . EOS\n", "BOS 為 了 正 當 目 的 可 以 不 擇 手 段 。 EOS\n", "translation: 結 果 證 明 於 是 不 為 的 。\n", "\n", "BOS he is full of energy . EOS\n", "BOS 他 充 满 活 力 。 EOS\n", "translation: 他 充 满 了 很 多 。\n", "\n", "BOS it grew larger and larger . EOS\n", "BOS 它 变 得 越 来 越 大 。 EOS\n", "translation: 它 变 得 越 来 越 大 。\n", "\n", "BOS kyoto and boston are sister cities . EOS\n", "BOS 京 都 和 波 士 顿 是 姐 妹 城 市 。 EOS\n", "translation: 京 都 和 波 士 顿 是 姐 城 市 , 。\n", "\n", "BOS i passed by her house yesterday . EOS\n", "BOS 我 昨 天 經 過 她 家 。 EOS\n", "translation: 我 昨 天 沒 有 過 她 家 。\n", "\n", "BOS more than twenty boys went there . EOS\n", "BOS 超 過 二 十 個 男 孩 去 了 那 裡 。 EOS\n", "translation: 1 2 0 0 0 个 男 孩 去 那 儿 。\n", "\n", "BOS how long did you live there ? EOS\n", "BOS 你 住 在 那 裡 多 久 了 ? EOS\n", "translation: 你 住 在 那 裡 多 久 了 ?\n", "\n", "BOS i do n't like her face . EOS\n", "BOS 我 不 喜 歡 她 的 臉 。 EOS\n", "translation: 我 不 喜 欢 她 的 房 子 。\n", "\n", "BOS she plays the piano very well . EOS\n", "BOS 她 鋼 琴 彈 得 很 好 。 EOS\n", "translation: 她 鋼 琴 彈 得 很 好 。\n", "\n", "BOS would you lend me some money ? EOS\n", "BOS 你 可 以 借 我 一 些 錢 嗎 ? EOS\n", "translation: 你 可 以 借 我 一 些 錢 嗎 ?\n", "\n", "BOS please serve him his meal first . EOS\n", "BOS 請 先 為 他 上 菜 。 EOS\n", "translation: 請 先 為 他 先 整 理 飯 。\n", "\n", "BOS it 's too late to apologize . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 现 在 道 歉 也 迟 了 。 EOS\n", "translation: 现 在 道 歉 也 迟 了 。\n", "\n", "BOS have you been to london before ? EOS\n", "BOS 你 以 前 去 過 倫 敦 嗎 ? EOS\n", "translation: 你 以 前 去 過 倫 敦 嗎 ?\n", "\n", "BOS he does n't speak our language . EOS\n", "BOS 他 不 會 說 我 們 的 語 言 。 EOS\n", "translation: 他 不 會 說 我 們 的 語 言 。\n", "\n", "BOS turn right at the next corner . EOS\n", "BOS 在 下 一 個 轉 角 右 轉 。 EOS\n", "translation: 在 下 一 個 轉 角 右 轉 。\n", "\n", "BOS she works as a UNK UNK . EOS\n", "BOS 她 是 按 摩 师 。 EOS\n", "translation: 她 跟 著 一 樣 工 作 。\n", "\n", "BOS we expect a lot from him . EOS\n", "BOS 我 們 對 他 期 望 很 多 。 EOS\n", "translation: 我 们 打 算 让 他 感 很 多 。\n", "\n", "BOS she greeted me with a smile . EOS\n", "BOS 她 用 一 个 微 笑 迎 接 了 我 。 EOS\n", "translation: 她 面 帶 微 笑 向 我 打 招 呼 。\n", "\n", "BOS do n't make fun of people . EOS\n", "BOS 不 要 取 笑 人 。 EOS\n", "translation: 別 對 人 說 話 這 個 人 。\n", "\n", "BOS what 's your favorite UNK food ? EOS\n", "BOS 你 最 喜 歡 的 家 常 菜 是 什 麼 ? EOS\n", "translation: 你 最 喜 歡 的 食 物 是 什 麼 ?\n", "\n", "BOS his life after UNK was unhappy . EOS\n", "BOS 他 退 休 後 的 生 活 不 快 樂 。 EOS\n", "translation: 他 的 生 活 沒 有 不 快 樂 。\n", "\n", "BOS the plane made a perfect landing . EOS\n", "BOS 這 架 飛 機 完 美 的 著 陸 了 。 EOS\n", "translation: 這 架 飛 機 完 美 的 著 陸 了 。\n", "\n", "BOS it all depends on the weather . EOS\n", "BOS 一 切 都 取 決 於 天 氣 。 EOS\n", "translation: 這 樣 子 天 氣 一 切 也 決 定 。\n", "\n", "BOS my heart was filled with happiness . EOS\n", "BOS 我 心 里 充 满 着 快 乐 。 EOS\n", "translation: 我 的 心 乾 涸 了 。\n", "\n", "BOS she laid the work on him . EOS\n", "BOS 她 派 他 去 工 作 了 。 EOS\n", "translation: 她 派 他 去 工 作 了 。\n", "\n", "BOS they were listening to the radio . EOS\n", "BOS 他 們 在 聽 收 音 機 。 EOS\n", "translation: 他 們 正 在 聽 收 音 機 。\n", "\n", "BOS six divided by two is three . EOS\n", "BOS 六 除 以 二 得 三 。 EOS\n", "translation: 六 除 以 二 得 三 。\n", "\n", "BOS why did you show me this ? EOS\n", "BOS 你 为 什 么 让 我 看 这 个 ? EOS\n", "translation: 你 為 什 麼 讓 我 看 這 麼 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看\n", "\n", "BOS it 's as cold as ice . EOS\n", "BOS 它 冷 得 像 冰 一 樣 。 EOS\n", "translation: 它 冷 得 像 冰 一 樣 。\n", "\n", "BOS his house is somewhere about here . EOS\n", "BOS 他 家 在 这 儿 某 处 。 EOS\n", "translation: 他 家 在 這 附 近 某 個 地 方 。\n", "\n", "BOS do you have any smaller UNK ? EOS\n", "BOS 你 有 任 何 比 較 小 的 尺 寸 嗎 ? EOS\n", "translation: 你 有 任 何 比 較 小 的 尺 寸 嗎 ?\n", "\n", "BOS a burglar broke into his house . EOS\n", "BOS 一 個 竊 賊 闖 進 了 他 的 房 子 。 EOS\n", "translation: 一 個 竊 賊 闖 進 了 他 的 房 子 。\n", "\n", "BOS my sister became a college student . EOS\n", "BOS 我 妹 妹 成 為 了 一 個 大 學 生 。 EOS\n", "translation: 我 妹 妹 成 為 了 一 個 大 學 生 。\n", "\n", "BOS you should know that 's impossible . EOS\n", "BOS 你 应 该 知 道 这 是 不 可 能 的 。 EOS\n", "translation: 你 應 該 知 道 這 是 不 是 不 是 不 可 能 的 。\n", "\n", "BOS i forgot it in the garage . EOS\n", "BOS 我 把 它 忘 在 车 库 里 了 。 EOS\n", "translation: 我 忘 了 在 車 禍 中 关 系 。\n", "\n", "BOS i have already finished the job . EOS\n", "BOS 我 已 經 完 成 了 這 項 工 作 。 EOS\n", "translation: 我 已 經 完 成 這 份 工 作 了 。\n", "\n", "BOS do you have something to say ? EOS\n", "BOS 您 有 什 么 事 要 说 吗 ? EOS\n", "translation: 你 有 什 么 事 要 说 吗 ?\n", "\n", "BOS i do n't want any excuses . EOS\n", "BOS 我 不 想 听 解 释 。 EOS\n", "translation: 我 不 想 听 解 释 。\n", "\n", "BOS let 's take a ten-minute break . EOS\n", "BOS 讓 我 們 休 息 1 0 分 鐘 。 EOS\n", "translation: 讓 我 們 休 息 1 0 分 鐘 。\n", "\n", "BOS so you give up , right ? EOS\n", "BOS 所 以 你 放 弃 了 , 是 吗 ? EOS\n", "translation: 你 读 完 那 是 不 是 吗 ?\n", "\n", "BOS i hear they 're pretty good . EOS\n", "BOS 我 听 说 他 们 挺 好 。 EOS\n", "translation: 我 聽 說 他 們 很 好 。\n", "\n", "BOS do n't walk alone after dark . EOS\n", "BOS 不 要 一 個 人 在 黑 暗 中 走 。 EOS\n", "translation: 天 黑 之 前 不 要 孤 儿 。\n", "\n", "BOS he ate all of the apple . EOS\n", "BOS 他 吃 了 所 有 的 蘋 果 。 EOS\n", "translation: 他 吃 了 所 有 的 蘋 果 。\n", "\n", "BOS i 'm planning to study tonight . EOS\n", "BOS 我 打 算 今 天 晚 上 讀 書 。 EOS\n", "translation: 我 打 算 今 晚 还 加 考 虑 。\n", "\n", "BOS there was UNK any money left . EOS\n", "BOS 几 乎 没 剩 下 钱 。 EOS\n", "translation: 這 個 錢 已 經 被 錢 失 離 開 。\n", "\n", "BOS he has been to many places . EOS\n", "BOS 他 去 过 很 多 地 方 。 EOS\n", "translation: 他 去 过 很 多 地 方 。\n", "\n", "BOS nobody had ever heard of it . EOS\n", "BOS 以 前 從 來 沒 有 人 聽 說 過 。 EOS\n", "translation: 没 有 人 聽 到 它 了 。\n", "\n", "BOS is there a doctor on board ? EOS\n", "BOS 船 上 有 醫 生 嗎 ? EOS\n", "translation: 船 上 有 醫 生 嗎 ?\n", "\n", "BOS there is no place like home . EOS\n", "BOS 金 窩 銀 窩 不 如 自 己 的 狗 窩 。 EOS\n", "translation: 沒 有 辦 法 。\n", "\n", "BOS we enjoyed listening to the music . EOS\n", "BOS 我 們 喜 歡 聽 音 樂 。 EOS\n", "translation: 我 們 喜 歡 聽 音 樂 。\n", "\n", "BOS she was buried in her hometown . EOS\n", "BOS 她 被 安 葬 在 她 的 家 鄉 。 EOS\n", "translation: 她 被 安 葬 在 她 的 家 具 。\n", "\n", "BOS he is a student at harvard . EOS\n", "BOS 他 是 一 個 哈 佛 的 學 生 。 EOS\n", "translation: 他 是 一 個 哈 佛 的 學 生 。\n", "\n", "BOS this is a present for you . EOS\n", "BOS 這 是 給 你 的 禮 物 。 EOS\n", "translation: 這 是 給 你 這 個 禮 物 。\n", "\n", "BOS what language is spoken in egypt ? EOS\n", "BOS 在 埃 及 说 什 么 语 言 ? EOS\n", "translation: 在 埃 及 说 什 么 语 言 ?\n", "\n", "BOS she will be seventeen next year . EOS\n", "BOS 她 明 年 將 滿 十 七 歲 。 EOS\n", "translation: 她 明 年 將 滿 十 七 歲 。\n", "\n", "BOS you do n't understand the UNK . EOS\n", "BOS 你 不 明 白 程 序 。 EOS\n", "translation: 你 不 懂 。\n", "\n", "BOS she gets good UNK in english . EOS\n", "BOS 她 取 得 了 優 異 的 英 語 成 績 。 EOS\n", "translation: 她 上 英 文 上 好 好 好 。\n", "\n", "BOS she UNK him with the work . EOS\n", "BOS 她 強 迫 他 做 這 個 工 作 。 EOS\n", "translation: 她 強 迫 他 工 作 。\n", "\n", "BOS how about going to the movies ? EOS\n", "BOS 去 看 電 影 怎 樣 ? EOS\n", "translation: 去 看 電 影 怎 樣 ?\n", "\n", "BOS i 'll miss you so much . EOS\n", "BOS 我 會 非 常 想 念 你 。 EOS\n", "translation: 我 會 非 常 想 念 你 。\n", "\n", "BOS get up early in the morning . EOS\n", "BOS 早 上 要 早 起 。 EOS\n", "translation: 早 上 早 起 。\n", "\n", "BOS he speaks both english and french . EOS\n", "BOS 他 會 講 英 語 和 法 語 。 EOS\n", "translation: 他 說 法 語 和 法 語 。\n", "\n", "BOS i asked each boy three questions . EOS\n", "BOS 我 問 了 每 個 男 孩 三 個 問 題 。 EOS\n", "translation: 我 問 了 每 個 男 孩 三 個 問 題 。\n", "\n", "BOS what do you want it for ? EOS\n", "BOS 你 要 它 干 什 么 ? EOS\n", "translation: 你 想 要 什 麼 ?\n", "\n", "BOS i just want you to come . EOS\n", "BOS 我 只 是 想 要 你 来 。 EOS\n", "translation: 我 只 想 你 来 。\n", "\n", "BOS he decided to become a pilot . EOS\n", "BOS 他 決 定 成 為 一 名 飛 行 員 。 EOS\n", "translation: 他 決 定 成 為 一 名 飛 行 員 。\n", "\n", "BOS she can speak english very well . EOS\n", "BOS 她 的 英 語 說 的 很 好 。 EOS\n", "translation: 她 會 說 流 利 的 英 語 。\n", "\n", "BOS you have a way with women . EOS\n", "BOS 你 对 女 人 有 一 套 。 EOS\n", "translation: 你 有 帶 著 女 人 的 身 同 致 。\n", "\n", "BOS could you show me this bag ? EOS\n", "BOS 你 能 給 我 看 看 這 個 包 嗎 ? EOS\n", "translation: 你 能 讓 我 看 看 這 個 包 嗎 ?\n", "\n", "BOS it 's none of your concern . EOS\n", "BOS 这 不 关 你 的 事 。 EOS\n", "translation: 这 不 关 你 的 事 。\n", "\n", "BOS would you carry my luggage upstairs ? EOS\n", "BOS 你 可 以 把 我 的 行 李 拿 到 樓 上 嗎 ? EOS\n", "translation: 你 可 以 把 我 的 行 李 放 到 地 方 嗎 ?\n", "\n", "BOS this homework is difficult for me . EOS\n", "BOS 這 個 家 庭 作 業 對 我 來 說 很 困 難 。 EOS\n", "translation: 这 研 究 对 我 来 说 很 难 。\n", "\n", "BOS are you a high school student ? EOS\n", "BOS 你 是 高 中 生 嗎 ? EOS\n", "translation: 你 是 高 中 生 嗎 ?\n", "\n", "BOS i had an accident at work . EOS\n", "BOS 我 出 了 工 伤 。 EOS\n", "translation: 我 外 出 了 工 作 。\n", "\n", "BOS i also heard a similar story . EOS\n", "BOS 我 也 听 过 一 个 类 似 的 故 事 。 EOS\n", "translation: 我 也 听 见 一 个 类 似 的 故 事 。\n", "\n", "BOS i do n't understand any french . EOS\n", "BOS 我 一 点 法 语 都 不 懂 。 EOS\n", "translation: 我 不 懂 法 语 。\n", "\n", "BOS i am going to play tennis . EOS\n", "BOS 我 要 去 打 網 球 。 EOS\n", "translation: 我 會 打 網 球 。\n", "\n", "BOS she loves tom , not me . EOS\n", "BOS 她 爱 汤 姆 , 而 不 是 我 。 EOS\n", "translation: 她 爱 汤 姆 , 我 不 是 。\n", "\n", "BOS it was just as i thought . EOS\n", "BOS 这 正 如 我 想 的 一 样 。 EOS\n", "translation: 我 想 我 就 是 这 么 样 的 。\n", "\n", "BOS my uncle lives in an apartment . EOS\n", "BOS 我 叔 叔 住 在 公 寓 裡 。 EOS\n", "translation: 我 叔 叔 叔 住 在 公 寓 裡 。\n", "\n", "BOS are there any UNK for me ? EOS\n", "BOS 有 任 何 給 我 的 訊 息 嗎 ? EOS\n", "translation: 我 有 什 么 方 向 吗 ?\n", "\n", "BOS he is driving at top speed . EOS\n", "BOS 他 全 速 驾 驶 着 。 EOS\n", "translation: 他 全 速 驾 驶 着 。\n", "\n", "BOS the history class starts at nine . EOS\n", "BOS 历 史 课 九 点 开 始 。 EOS\n", "translation: 历 史 课 九 点 开 始 。\n", "\n", "BOS you did n't need to hurry . EOS\n", "BOS 你 不 需 要 著 急 。 EOS\n", "translation: 你 不 必 著 急 。\n", "\n", "BOS she went to shanghai by train . EOS\n", "BOS 她 是 坐 火 車 去 上 海 的 。 EOS\n", "translation: 她 是 坐 火 車 去 上 海 的 。\n", "\n", "BOS your bicycle is similar to mine . EOS\n", "BOS 你 的 腳 踏 車 和 我 的 很 相 似 。 EOS\n", "translation: 你 的 腳 踏 車 和 我 的 很 相 似 。\n", "\n", "BOS these flowers you see are roses . EOS\n", "BOS 你 看 到 的 這 些 花 是 玫 瑰 。 EOS\n", "translation: 你 看 到 的 那 些 花 是 玫 瑰 。\n", "\n", "BOS i will explain it to her . EOS\n", "BOS 我 会 跟 她 解 释 的 。 EOS\n", "translation: 我 會 為 她 解 釋 的 。\n", "\n", "BOS we want you to marry tom . EOS\n", "BOS 我 们 希 望 你 和 汤 姆 能 结 婚 。 EOS\n", "translation: 我 们 想 和 汤 姆 结 婚 。\n", "\n", "BOS let 's call the dog UNK . EOS\n", "BOS 讓 我 們 叫 這 隻 狗 S k i UNK UNK e r 。 EOS\n", "translation: 讓 我 們 叫 這 隻 狗 S k i e r 。\n", "\n", "BOS we still do n't know why . EOS\n", "BOS 我 們 仍 然 不 知 道 為 什 麼 。 EOS\n", "translation: 我 们 还 不 知 道 为 什 么 。\n", "\n", "BOS i want you to grow up . EOS\n", "BOS 我 希 望 你 能 长 大 。 EOS\n", "translation: 我 想 要 說 話 。\n", "\n", "BOS what are you UNK them for ? EOS\n", "BOS 您 为 什 么 UNK UNK 他 们 ? EOS\n", "translation: 你 為 什 麼 懲 罰 他 們 ?\n", "\n", "BOS tom has known mary since UNK . EOS\n", "BOS 汤 姆 从 小 就 认 识 玛 丽 了 。 EOS\n", "translation: 汤 姆 自 从 玛 丽 已 经 开 着 。\n", "\n", "BOS there was an earthquake this morning . EOS\n", "BOS 今 天 早 上 發 生 了 地 震 。 EOS\n", "translation: 今 天 早 上 發 生 了 地 震 。\n", "\n", "BOS it is ten minutes before eleven . EOS\n", "BOS 還 有 十 分 鐘 就 十 一 點 。 EOS\n", "translation: 在 十 分 鐘 前 離 開 。\n", "\n", "BOS i spent my vacation in hakone . EOS\n", "BOS 我 在 箱 根 渡 假 。 EOS\n", "translation: 我 在 箱 根 渡 假 。\n", "\n", "BOS she was hit by a car . EOS\n", "BOS 她 被 車 撞 了 。 EOS\n", "translation: 她 被 車 撞 了 。\n", "\n", "BOS she is not afraid of anything . EOS\n", "BOS 她 不 害 怕 任 何 東 西 。 EOS\n", "translation: 她 不 怕 任 何 東 西 。\n", "\n", "BOS we traveled to mexico by plane . EOS\n", "BOS 我 們 搭 飛 機 去 墨 西 哥 旅 行 。 EOS\n", "translation: 我 們 坐 飛 機 旅 行 。\n", "\n", "BOS i will wait until she comes . EOS\n", "BOS 我 会 等 到 她 来 。 EOS\n", "translation: 我 會 等 到 她 來 。\n", "\n", "BOS he is playing in his room . EOS\n", "BOS 他 在 自 己 房 里 玩 。 EOS\n", "translation: 他 正 在 踢 足 球 。\n", "\n", "BOS he is often absent from school . EOS\n", "BOS 他 经 常 UNK 课 。 EOS\n", "translation: 他 常 常 趕 上 學 。\n", "\n", "BOS i 'll attend the next meeting . EOS\n", "BOS 我 会 参 加 下 次 的 会 议 。 EOS\n", "translation: 我 會 參 加 下 一 會 議 。\n", "\n", "BOS visitors to switzerland admire the UNK . EOS\n", "BOS 遊 客 到 瑞 士 欣 賞 阿 爾 UNK 斯 山 。 EOS\n", "translation: 遊 客 到 瑞 士 欣 赏 手 。\n", "\n", "BOS what do you want for breakfast ? EOS\n", "BOS 你 早 餐 想 要 吃 什 麼 ? EOS\n", "translation: 你 早 餐 想 要 吃 什 麼 ?\n", "\n", "BOS you might have heard of it . EOS\n", "BOS 你 可 能 听 说 过 。 EOS\n", "translation: 你 可 能 听 说 过 它 。\n", "\n", "BOS it UNK with a loud noise . EOS\n", "BOS 它 發 出 巨 響 爆 炸 了 。 EOS\n", "translation: 它 吸 煙 對 緊 緊 的 聲 音 。\n", "\n", "BOS i was a little bit nervous . EOS\n", "BOS 我 有 点 紧 张 。 EOS\n", "translation: 我 有 点 紧 张 。\n", "\n", "BOS please come as soon as possible . EOS\n", "BOS 请 尽 快 过 来 。 EOS\n", "translation: 请 尽 快 过 来 。\n", "\n", "BOS mary is studying in her room . EOS\n", "BOS 瑪 麗 在 她 的 房 間 裡 讀 書 。 EOS\n", "translation: 瑪 麗 正 在 進 入 她 的 房 間 。\n", "\n", "BOS the tigers escaped from the zoo . EOS\n", "BOS 老 虎 從 動 物 園 中 逃 出 來 了 。 EOS\n", "translation: 老 虎 從 動 物 園 中 逃 出 來 了 。\n", "\n", "BOS stop talking and listen to me . EOS\n", "BOS 別 說 話 , 聽 我 說 。 EOS\n", "translation: 別 說 話 , 我 就 沒 說 話 。\n", "\n", "BOS tom filled out the application form . EOS\n", "BOS 湯 姆 填 寫 了 申 請 表 。 EOS\n", "translation: 汤 姆 在 文 上 走 了 申 请 。\n", "\n", "BOS they made us work all day . EOS\n", "BOS 他 們 讓 我 們 工 作 了 一 整 天 。 EOS\n", "translation: 他 們 讓 我 們 工 作 了 一 整 天 。\n", "\n", "BOS please let me take your picture . EOS\n", "BOS 請 讓 我 為 你 拍 照 。 EOS\n", "translation: 請 讓 我 幫 你 拍 照 。\n", "\n", "BOS they grow strawberries in their greenhouse . EOS\n", "BOS 他 們 在 他 們 的 溫 室 裡 種 植 草 莓 。 EOS\n", "translation: 他 們 在 他 們 的 溫 室 裡 種 植 草 莓 。\n", "\n", "BOS i ca n't thank you enough . EOS\n", "BOS 我 無 法 表 達 我 對 你 的 感 謝 。 EOS\n", "translation: 我 無 法 表 達 你 。\n", "\n", "BOS wait here till i come back . EOS\n", "BOS 在 這 兒 等 著 , 直 到 我 回 來 。 EOS\n", "translation: 在 這 裡 等 著 我 回 來 。\n", "\n", "BOS she made cookies for the children . EOS\n", "BOS 她 给 孩 子 们 做 了 曲 奇 。 EOS\n", "translation: 她 為 孩 子 們 做 了 餅 乾 。\n", "\n", "BOS i ran a race with him . EOS\n", "BOS 我 和 他 比 賽 跑 步 。 EOS\n", "translation: 我 和 他 比 賽 跑 步 。\n", "\n", "BOS tom is the one i saw . EOS\n", "BOS 我 看 见 的 是 汤 姆 。 EOS\n", "translation: 汤 姆 是 我 看 见 的 一 个 。\n", "\n", "BOS we all felt sorry for tom . EOS\n", "BOS 我 們 都 為 T o m 感 到 遺 憾 。 EOS\n", "translation: 我 们 都 感 觉 得 汤 姆 。\n", "\n", "BOS someone locked me in the room . EOS\n", "BOS 有 人 把 我 鎖 在 這 房 間 裡 。 EOS\n", "translation: 有 人 偷 了 我 鎖 我 的 房 間 。\n", "\n", "BOS are you free on friday afternoon ? EOS\n", "BOS 你 星 期 五 下 午 有 空 嗎 ? EOS\n", "translation: 你 星 期 五 下 午 有 空 嗎 ?\n", "\n", "BOS which road goes to city hall ? EOS\n", "BOS 哪 條 路 通 往 市 政 廳 ? EOS\n", "translation: 市 政 府 上 加 哪 一 座 城 市 ?\n", "\n", "BOS tom certainly is good at baseball . EOS\n", "BOS 汤 姆 打 棒 球 打 的 非 常 好 。 EOS\n", "translation: 汤 姆 确 实 很 好 看 棒 球 。\n", "\n", "BOS i borrowed money from my father . EOS\n", "BOS 我 向 我 父 親 借 錢 。 EOS\n", "translation: 我 向 我 父 親 借 錢 。\n", "\n", "BOS do n't talk in the classroom . EOS\n", "BOS 別 在 教 室 裡 說 話 。 EOS\n", "translation: 別 說 話 。\n", "\n", "BOS our baseball team is very strong . EOS\n", "BOS 我 們 的 棒 球 隊 很 強 。 EOS\n", "translation: 我 們 的 棒 球 隊 很 強 。\n", "\n", "BOS UNK , you 'll never know . EOS\n", "BOS 不 管 怎 樣 , 你 永 遠 不 會 知 道 。 EOS\n", "translation: 不 管 怎 樣 , 你 知 道 。\n", "\n", "BOS let 's meet here again tomorrow . EOS\n", "BOS 讓 我 們 明 天 再 在 這 裡 見 面 吧 。 EOS\n", "translation: 明 天 讓 我 們 在 這 裡 再 見 面 吧 。\n", "\n", "BOS i was very tired last night . EOS\n", "BOS 我 昨 晚 很 累 了 。 EOS\n", "translation: 昨 晚 我 很 累 。\n", "\n", "BOS how many people can do that ? EOS\n", "BOS 有 多 少 人 能 做 ? EOS\n", "translation: 有 多 少 人 能 做 ?\n", "\n", "BOS he did not eat anything yesterday . EOS\n", "BOS 他 昨 天 沒 有 吃 任 何 東 西 。 EOS\n", "translation: 他 昨 天 沒 吃 任 何 東 西 。\n", "\n", "BOS i explained the UNK to him . EOS\n", "BOS 我 向 他 解 釋 了 這 個 過 程 。 EOS\n", "translation: 我 向 他 付 備 好 了 。\n", "\n", "BOS let 's begin with this problem . EOS\n", "BOS 从 这 个 问 题 开 始 吧 。 EOS\n", "translation: 讓 我 們 開 始 吧 。\n", "\n", "BOS this dictionary is my sister 's . EOS\n", "BOS 這 本 字 典 是 我 妹 妹 的 。 EOS\n", "translation: 这 本 字 典 是 我 妹 妹 妹 的 。\n", "\n", "BOS tom has a very friendly smile . EOS\n", "BOS 汤 姆 有 很 友 好 的 微 笑 。 EOS\n", "translation: 汤 姆 有 很 友 好 的 微 笑 。\n", "\n", "BOS she hung the picture UNK down . EOS\n", "BOS 她 把 画 挂 反 了 。 EOS\n", "translation: 她 把 画 挂 反 了 。\n", "\n", "BOS how much did the glasses cost ? EOS\n", "BOS 這 副 眼 鏡 多 少 錢 ? EOS\n", "translation: 這 副 眼 鏡 多 少 錢 ?\n", "\n", "BOS it 's for you to decide . EOS\n", "BOS 這 由 你 來 決 定 。 EOS\n", "translation: 这 是 你 决 定 的 决 定 。\n", "\n", "BOS the moon was full last night . EOS\n", "BOS 昨 晚 月 亮 满 了 。 EOS\n", "translation: 昨 晚 月 亮 满 了 。\n", "\n", "BOS i love my work very much . EOS\n", "BOS 我 非 常 喜 欢 我 的 工 作 。 EOS\n", "translation: 我 非 常 愛 我 的 工 作 。\n", "\n", "BOS one of my bags is missing . EOS\n", "BOS 我 的 一 個 包 包 不 見 了 。 EOS\n", "translation: 我 的 一 個 包 裡 沒 有 。\n", "\n", "BOS i have no intention of resigning . EOS\n", "BOS 我 無 意 辭 職 。 EOS\n", "translation: 我 没 有 本 意 外 操 急 。\n", "\n", "BOS tom always UNK out of tune . EOS\n", "BOS 汤 姆 唱 歌 总 跑 调 。 EOS\n", "translation: 汤 姆 總 是 在 头 出 门 。\n", "\n", "BOS my father 's hobby is fishing . EOS\n", "BOS 我 父 親 的 嗜 好 是 釣 魚 。 EOS\n", "translation: 我 父 親 的 嗜 好 是 釣 魚 。\n", "\n", "BOS you 'd better not wait here . EOS\n", "BOS 你 最 好 不 要 在 這 裡 等 。 EOS\n", "translation: 你 最 好 不 要 在 這 裡 等 待 。\n", "\n", "BOS i ordered some books from london . EOS\n", "BOS 我 從 倫 敦 訂 購 了 一 些 書 。 EOS\n", "translation: 我 從 倫 敦 訂 購 了 一 些 書 。\n", "\n", "BOS i usually have a light breakfast . EOS\n", "BOS 我 早 餐 通 常 吃 得 很 清 淡 。 EOS\n", "translation: 我 通 常 在 早 餐 後 面 吃 一 顆 氣 。\n", "\n", "BOS some of the money was stolen . EOS\n", "BOS 一 部 分 钱 被 偷 了 。 EOS\n", "translation: 一 些 錢 被 偷 錢 偷 偷 偷 偷 了 。\n", "\n", "BOS i saw him after ten years . EOS\n", "BOS 十 年 之 後 我 看 到 了 他 。 EOS\n", "translation: 我 看 到 了 十 年 。\n", "\n", "BOS how long will this rope hold ? EOS\n", "BOS 這 條 繩 子 能 UNK 多 久 ? EOS\n", "translation: 這 條 繩 子 能 太 久 ?\n", "\n", "BOS bee UNK can be very painful . EOS\n", "BOS 蜜 蜂 UNK 人 可 以 是 非 常 痛 苦 的 。 EOS\n", "translation: 蜜 蜂 人 可 以 是 非 常 痛 苦 的 。\n", "\n", "BOS i wish to go to hawaii . EOS\n", "BOS 我 希 望 去 夏 威 夷 。 EOS\n", "translation: 我 希 望 去 夏 威 夷 。\n", "\n", "BOS he is rather hard to please . EOS\n", "BOS 取 悅 他 很 難 。 EOS\n", "translation: 他 很 擅 長 努 力 。\n", "\n", "BOS i ca n't live without you . EOS\n", "BOS 沒 有 你 我 活 不 下 去 。 EOS\n", "translation: 没 有 你 我 不 能 生 活 。\n", "\n", "BOS send for a doctor at once . EOS\n", "BOS 立 即 送 醫 。 EOS\n", "translation: 立 刻 派 人 去 請 醫 生 來 。\n", "\n", "BOS is there enough food for everyone ? EOS\n", "BOS 有 足 夠 的 食 物 給 大 家 嗎 ? EOS\n", "translation: 有 足 夠 的 食 物 給 大 家 嗎 ?\n", "\n", "BOS she refused to accept the money . EOS\n", "BOS 她 拒 絕 接 受 這 筆 錢 。 EOS\n", "translation: 她 拒 絕 接 受 這 筆 錢 。\n", "\n", "BOS something 's wrong with my camera . EOS\n", "BOS 我 的 相 機 壞 了 。 EOS\n", "translation: 我 的 相 機 有 毛 病 。\n", "\n", "BOS everyone said that i was wrong . EOS\n", "BOS 大 家 都 說 我 是 錯 的 。 EOS\n", "translation: 大 家 都 說 我 是 錯 的 。\n", "\n", "BOS i do n't like you anymore . EOS\n", "BOS 我 再 也 不 喜 欢 你 了 。 EOS\n", "translation: 我 不 喜 欢 你 。\n", "\n", "BOS that fish lives in fresh water . EOS\n", "BOS 那 魚 UNK 息 在 淡 水 域 中 。 EOS\n", "translation: 那 魚 息 在 淡 水 域 中 。\n", "\n", "BOS you are not at all wrong . EOS\n", "BOS 你 并 不 完 全 错 误 。 EOS\n", "translation: 你 一 點 也 不 錯 。\n", "\n", "BOS please knock before you come in . EOS\n", "BOS 进 来 之 前 请 敲 门 。 EOS\n", "translation: 进 来 之 前 请 敲 门 。\n", "\n", "BOS may i ask a few questions ? EOS\n", "BOS 我 能 问 一 些 问 题 吗 ? EOS\n", "translation: 我 可 以 問 一 些 問 題 嗎 ?\n", "\n", "BOS you are wanted on the phone . EOS\n", "BOS 有 你 的 電 話 。 EOS\n", "translation: 你 本 來 正 确 的 電 話 。\n", "\n", "BOS please have someone else do it . EOS\n", "BOS 請 讓 別 人 去 做 。 EOS\n", "translation: 麻 煩 讓 他 有 人 還 做 。\n", "\n", "BOS were your mother and father home ? EOS\n", "BOS 你 父 母 親 在 家 嗎 ? EOS\n", "translation: 你 父 母 親 在 家 嗎 ?\n", "\n", "BOS i 'll leave that to you . EOS\n", "BOS 我 會 留 給 你 。 EOS\n", "translation: 我 会 让 你 走 。\n", "\n", "BOS you should n't have gone there . EOS\n", "BOS 你 不 應 該 去 那 裡 的 。 EOS\n", "translation: 你 不 應 該 去 那 裡 的 。\n", "\n", "BOS we saw tom talking to mary . EOS\n", "BOS 我 们 看 见 汤 姆 跟 玛 丽 说 话 。 EOS\n", "translation: 我 们 看 见 汤 姆 跟 玛 丽 说 话 。\n", "\n", "BOS tom slept with his shoes on . EOS\n", "BOS 汤 姆 穿 着 鞋 睡 了 。 EOS\n", "translation: 汤 姆 穿 着 鞋 睡 。\n", "\n", "BOS i must catch the first train . EOS\n", "BOS 我 必 须 赶 上 头 班 火 车 。 EOS\n", "translation: 我 必 须 赶 上 头 班 火 车 。\n", "\n", "BOS the party ended at ten o'clock . EOS\n", "BOS 派 對 在 十 點 鐘 結 束 。 EOS\n", "translation: 派 對 在 十 點 鐘 結 束 。\n", "\n", "BOS i am amazed at your audacity . EOS\n", "BOS 我 对 你 的 厚 颜 无 耻 感 到 惊 讶 。 EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "translation: 我 对 你 的 厚 颜 无 耻 感 到 惊 讶 。\n", "\n", "BOS the news of his death spread . EOS\n", "BOS 他 去 世 的 消 息 傳 開 來 了 。 EOS\n", "translation: 他 去 世 的 消 息 傳 遍 各 地 。\n", "\n", "BOS he was laughed at in public . EOS\n", "BOS 他 在 众 人 面 前 被 嘲 笑 。 EOS\n", "translation: 他 在 公 共 場 合 笑 話 而 笑 。\n", "\n", "BOS did n't you see the man ? EOS\n", "BOS 你 們 沒 看 見 那 個 人 嗎 ? EOS\n", "translation: 你 沒 看 見 那 個 男 人 嗎 ?\n", "\n", "BOS he traveled all over the world . EOS\n", "BOS 他 周 遊 世 界 各 地 。 EOS\n", "translation: 他 周 遊 世 界 各 地 。\n", "\n", "BOS i 'm in a hurry today . EOS\n", "BOS 我 今 天 趕 時 間 。 EOS\n", "translation: 我 今 天 趕 時 間 。\n", "\n", "BOS he came to my office yesterday . EOS\n", "BOS 他 昨 天 來 我 的 辦 公 室 。 EOS\n", "translation: 他 昨 天 來 我 的 辦 公 室 。\n", "\n", "BOS she UNK herself in a blanket . EOS\n", "BOS 她 用 一 條 毯 子 把 自 己 裹 起 來 。 EOS\n", "translation: 她 把 自 己 弄 糊 写 信 娃 娃 娃 。\n", "\n", "BOS he was late for school yesterday . EOS\n", "BOS 他 昨 天 上 学 迟 到 了 。 EOS\n", "translation: 他 昨 天 上 學 遲 到 。\n", "\n", "BOS sentences begin with a capital letter . EOS\n", "BOS 句 子 以 一 個 大 寫 字 母 開 頭 。 EOS\n", "translation: 句 子 以 一 個 大 寫 字 母 開 頭 。\n", "\n", "BOS i visited my friend tom yesterday . EOS\n", "BOS 我 昨 天 拜 訪 了 我 的 朋 友 湯 姆 。 EOS\n", "translation: 昨 天 我 拜 訪 了 我 的 朋 友 湯 姆 。\n", "\n", "BOS i will not attend the party . EOS\n", "BOS 我 将 不 出 席 派 对 。 EOS\n", "translation: 我 不 會 參 加 這 個 派 對 。\n", "\n", "BOS he is better than anyone else . EOS\n", "BOS 他 比 任 何 人 都 好 。 EOS\n", "translation: 他 比 任 何 人 都 好 。\n", "\n", "BOS she remained single all her life . EOS\n", "BOS 她 终 生 未 婚 。 EOS\n", "translation: 她 一 生 都 没 有 生 。\n", "\n", "BOS look it up in your dictionary . EOS\n", "BOS 查 查 你 的 字 典 。 EOS\n", "translation: 查 查 查 你 的 字 典 。\n", "\n", "BOS no one ran ahead of him . EOS\n", "BOS 没 有 人 跑 在 他 前 面 。 EOS\n", "translation: 没 有 人 跑 到 他 前 面 。\n", "\n", "BOS they were all UNK from shouting . EOS\n", "BOS 他 們 全 都 叫 到 沙 UNK 了 。 EOS\n", "translation: 他 們 全 都 叫 到 沙 發 現 了 。\n", "\n", "BOS something 's wrong with my camera . EOS\n", "BOS 我 的 相 機 有 毛 病 。 EOS\n", "translation: 我 的 相 機 有 毛 病 。\n", "\n", "BOS i have nothing to complain about . EOS\n", "BOS 我 沒 有 什 麼 可 抱 怨 的 。 EOS\n", "translation: 我 什 麼 都 沒 有 什 麼 。\n", "\n", "BOS i should n't have done it . EOS\n", "BOS 我 本 不 应 该 做 的 。 EOS\n", "translation: 我 本 不 應 該 已 經 做 的 。\n", "\n", "BOS i have no secrets from you . EOS\n", "BOS 我 對 你 毫 無 隱 UNK 。 EOS\n", "translation: 我 對 你 毫 無 隱 。\n", "\n", "BOS the bus should be coming soon . EOS\n", "BOS 公 車 應 該 很 快 就 會 來 了 。 EOS\n", "translation: 巴 士 應 該 很 快 就 會 來 了 。\n", "\n", "BOS we were nearly frozen to death . EOS\n", "BOS 我 们 几 乎 被 冻 死 了 。 EOS\n", "translation: 我 们 几 乎 被 冻 死 了 。\n", "\n", "BOS they go to church on sunday . EOS\n", "BOS 他 們 禮 拜 天 上 教 堂 。 EOS\n", "translation: 他 們 禮 拜 天 上 教 堂 。\n", "\n", "BOS when water freezes it becomes ice . EOS\n", "BOS 水 結 凍 後 , 變 成 冰 。 EOS\n", "translation: 水 结 成 冰 了 。\n", "\n", "BOS she got married in her teens . EOS\n", "BOS 她 十 幾 歲 時 就 結 婚 了 。 EOS\n", "translation: 她 十 幾 歲 時 就 結 婚 了 。\n", "\n", "BOS you 'll forget about me someday . EOS\n", "BOS 有 一 天 你 会 忘 了 我 。 EOS\n", "translation: 你 愿 意 让 我 清 楚 。\n", "\n", "BOS she has always lived in UNK . EOS\n", "BOS 她 一 直 住 在 小 UNK 。 EOS\n", "translation: 她 一 直 住 在 自 活 。\n", "\n", "BOS his advice did n't help much . EOS\n", "BOS 他 的 忠 告 没 起 到 太 大 的 作 用 。 EOS\n", "translation: 他 的 忠 告 沒 有 很 多 的 幫 助 。\n", "\n", "BOS i wish i had a car . EOS\n", "BOS 但 願 我 有 一 輛 車 。 EOS\n", "translation: 我 希 望 我 有 辆 车 。\n", "\n", "BOS i 'm almost sure of it . EOS\n", "BOS 我 幾 乎 能 確 定 。 EOS\n", "translation: 我 幾 乎 不 確 定 。\n", "\n", "BOS i just got your letter yesterday . EOS\n", "BOS 我 昨 天 剛 收 到 你 的 信 。 EOS\n", "translation: 我 昨 天 剛 收 到 你 的 信 。\n", "\n", "BOS i 've caught a terrible cold . EOS\n", "BOS 我 得 了 一 種 可 怕 的 感 冒 。 EOS\n", "translation: 我 被 抓 了 一 種 冷 飲 。\n", "\n", "BOS my UNK is allergic to eggs . EOS\n", "BOS 我 UNK 子 對 雞 蛋 過 敏 。 EOS\n", "translation: 我 的 蛋 對 這 個 洞 開 頭 有 輕 壓 。\n", "\n", "BOS could you help us after school ? EOS\n", "BOS 你 能 在 放 學 後 幫 助 我 們 嗎 ? EOS\n", "translation: 你 能 在 放 學 後 幫 助 我 們 嗎 ?\n", "\n", "BOS lend me your book , please . EOS\n", "BOS 請 借 我 你 的 書 。 EOS\n", "translation: 请 问 借 我 你 的 本 书 。\n", "\n", "BOS you ca n't live without water . EOS\n", "BOS 沒 有 水 你 不 能 生 活 。 EOS\n", "translation: 你 不 能 生 活 。\n", "\n", "BOS what 's your home phone number ? EOS\n", "BOS 你 家 的 電 話 號 碼 幾 號 ? EOS\n", "translation: 你 家 的 電 話 號 碼 幾 號 ?\n", "\n", "BOS i bought a red sports car . EOS\n", "BOS 我 買 了 一 輛 紅 色 的 跑 車 。 EOS\n", "translation: 我 買 了 一 輛 紅 色 的 跑 車 。\n", "\n", "BOS there were two pieces of cake . EOS\n", "BOS 那 有 两 块 蛋 糕 。 EOS\n", "translation: 那 有 两 块 蛋 糕 。\n", "\n", "BOS do you really believe in ghosts ? EOS\n", "BOS 你 真 的 相 信 鬼 嗎 ? EOS\n", "translation: 你 真 的 相 信 鬼 嗎 ?\n", "\n", "BOS the threat to UNK was ended . EOS\n", "BOS 对 里 士 满 的 威 胁 结 束 了 。 EOS\n", "translation: 对 里 士 满 的 威 胁 结 束 了 。\n", "\n", "BOS my french is n't good enough . EOS\n", "BOS 我 的 法 语 说 得 不 够 好 。 EOS\n", "translation: 我 的 法 语 不 太 好 。\n", "\n", "BOS why do n't you eat vegetables ? EOS\n", "BOS 为 什 么 你 不 吃 蔬 菜 ? EOS\n", "translation: 你 為 什 麼 不 吃 蔬 菜 ?\n", "\n", "BOS i am not writing a letter . EOS\n", "BOS 我 不 是 正 在 寫 信 。 EOS\n", "translation: 我 不 是 正 在 寫 信 。\n", "\n", "BOS you ought not to go out . EOS\n", "BOS 你 不 應 該 出 門 。 EOS\n", "translation: 你 不 應 該 出 門 。\n", "\n", "BOS old people get up very early . EOS\n", "BOS 老 人 們 很 早 就 起 床 。 EOS\n", "translation: 老 人 們 很 早 起 床 。\n", "\n", "BOS he is studying at his desk . EOS\n", "BOS 他 正 在 他 的 書 桌 旁 讀 書 。 EOS\n", "translation: 他 正 在 學 習 他 的 書 。\n", "\n", "BOS the bill will never go through . EOS\n", "BOS 該 法 案 將 永 遠 不 會 通 過 。 EOS\n", "translation: 本 來 應 該 永 遠 不 會 去 。\n", "\n", "BOS how did you get in here ? EOS\n", "BOS 你 是 怎 么 进 来 的 ? EOS\n", "translation: 你 是 怎 麼 到 這 裡 ?\n", "\n", "BOS nothing is as precious as love . EOS\n", "BOS 沒 有 什 麼 東 西 是 跟 愛 一 樣 UNK 貴 的 。 EOS\n", "translation: 沒 有 什 麼 東 西 是 跟 著 貴 的 。\n", "\n", "BOS i think you 're quite right . EOS\n", "BOS 我 認 為 你 說 得 很 對 。 EOS\n", "translation: 我 想 你 是 對 的 。\n", "\n", "BOS he is still very much alive . EOS\n", "BOS 他 依 旧 充 满 活 力 。 EOS\n", "translation: 他 还 活 着 失 。\n", "\n", "BOS he found me a good seat . EOS\n", "BOS 他 幫 我 找 到 了 一 個 好 位 子 。 EOS\n", "translation: 他 幫 我 找 到 了 一 個 好 位 子 。\n", "\n", "BOS after a storm comes a calm . EOS\n", "BOS 否 極 泰 來 。 EOS\n", "translation: 暴 風 雨 來 越 冷 。\n", "\n", "BOS i asked him to wait here . EOS\n", "BOS 我 請 他 在 這 裡 等 。 EOS\n", "translation: 我 請 他 在 這 裡 等 。\n", "\n", "BOS i have n't UNK for ages . EOS\n", "BOS 我 很 久 没 有 抽 烟 了 。 EOS\n", "translation: 我 已 經 沒 有 很 久 的 爭 議 。\n", "\n", "BOS you should get your hair cut . EOS\n", "BOS 你 该 剪 头 发 了 。 EOS\n", "translation: 你 應 該 先 出 頭 髮 。\n", "\n", "BOS do you think i 'm stupid ? EOS\n", "BOS 你 認 為 我 傻 嗎 ? EOS\n", "translation: 你 认 为 我 傻 吗 ?\n", "\n", "BOS there was nobody in the garden . EOS\n", "BOS 花 園 裡 沒 有 人 。 EOS\n", "translation: 花 園 裡 沒 有 人 。\n", "\n", "BOS my sister went to kobe yesterday . EOS\n", "BOS 我 妹 妹 昨 天 去 神 戶 了 。 EOS\n", "translation: 我 妹 妹 昨 天 去 神 戶 了 。\n", "\n", "BOS the rumor UNK to be true . EOS\n", "BOS 经 过 证 实 , 谣 言 是 真 的 。 EOS\n", "translation: 谣 言 [ 最 后 ] 证 明 是 真 的 。\n", "\n", "BOS we have almost finished our work . EOS\n", "BOS 我 們 幾 乎 完 成 了 我 們 的 工 作 。 EOS\n", "translation: 我 們 快 點 了 幾 乎 完 成 我 們 的 工 作 。\n", "\n", "BOS my boss made me work overtime . EOS\n", "BOS 我 的 老 闆 要 我 加 班 。 EOS\n", "translation: 我 老 師 要 我 加 班 。\n", "\n", "BOS she is a very good teacher . EOS\n", "BOS 她 是 个 非 常 好 的 老 师 。 EOS\n", "translation: 她 是 一 個 很 好 的 老 師 。\n", "\n", "BOS you should n't have done that . EOS\n", "BOS 我 不 應 該 做 那 件 事 的 。 EOS\n", "translation: 你 本 來 不 應 該 那 樣 做 。\n", "\n", "BOS i forgot what his name was . EOS\n", "BOS 我 忘 记 他 叫 什 么 名 字 了 。 EOS\n", "translation: 我 忘 记 他 的 名 字 了 。\n", "\n", "BOS i 'm going to the bank . EOS\n", "BOS 我 要 去 银 行 了 。 EOS\n", "translation: 我 要 去 银 行 。\n", "\n", "BOS bring me a glass of water . EOS\n", "BOS 给 我 一 杯 水 。 EOS\n", "translation: 給 我 一 杯 水 。\n", "\n", "BOS i can barely stand his behavior . EOS\n", "BOS 我 可 以 勉 強 地 容 忍 他 的 行 為 。 EOS\n", "translation: 我 可 以 勉 強 地 容 忍 他 的 行 為 。\n", "\n", "BOS he really likes music a lot . EOS\n", "BOS 他 真 的 很 热 爱 音 乐 。 EOS\n", "translation: 他 真 的 很 喜 歡 音 樂 。\n", "\n", "BOS look , it 's my problem . EOS\n", "BOS 看 , 这 是 我 的 问 题 。 EOS\n", "translation: 它 看 起 來 是 我 的 问 题 。\n", "\n", "BOS laughter is good for your health . EOS\n", "BOS 笑 一 笑 , 十 年 少 。 EOS\n", "translation: 笑 一 笑 , 你 的 健 康 有 益 。\n", "\n", "BOS have you ever been to america ? EOS\n", "BOS 你 去 過 美 國 嗎 ? EOS\n", "translation: 你 已 经 去 过 美 国 吗 ?\n", "\n", "BOS she UNK him in the back . EOS\n", "BOS 她 在 他 的 背 上 戳 了 一 下 。 EOS\n", "translation: 她 在 他 面 前 面 望 到 了 他 。\n", "\n", "BOS there was a shortage of fuel . EOS\n", "BOS 燃 料 短 缺 。 EOS\n", "translation: 燃 料 短 缺 。\n", "\n", "BOS hi ! do you work here ? EOS\n", "BOS 嗨 ! 你 在 这 儿 工 作 吗 ? EOS\n", "translation: 嗨 ! 你 在 这 里 工 作 吗 ?\n", "\n", "BOS i played catch with my father . EOS\n", "BOS 我 和 我 爸 爸 玩 接 球 。 EOS\n", "translation: 我 和 我 爸 爸 爸 玩 。\n", "\n", "BOS i think i made a mistake . EOS\n", "BOS 我 认 为 我 犯 了 个 错 。 EOS\n", "translation: 我 想 犯 錯 誤 。\n", "\n", "BOS i invited my friends to dinner . EOS\n", "BOS 我 邀 請 我 的 朋 友 吃 晚 餐 。 EOS\n", "translation: 我 邀 請 我 的 朋 友 邀 請 。\n", "\n", "BOS my house has a small yard . EOS\n", "BOS 我 的 房 子 有 一 個 小 院 子 。 EOS\n", "translation: 我 家 有 一 個 小 院 子 。\n", "\n", "BOS i refuse to answer your question . EOS\n", "BOS 我 拒 绝 回 答 你 的 问 题 。 EOS\n", "translation: 我 拒 绝 回 答 你 的 问 题 。\n", "\n", "BOS they were scolded by the teacher . EOS\n", "BOS 他 们 被 老 师 训 斥 了 。 EOS\n", "translation: 他 们 被 老 师 训 斥 了 。\n", "\n", "BOS she was absorbed in the UNK . EOS\n", "BOS 她 迷 上 了 视 UNK 。 EOS\n", "translation: 她 被 沙 发 烧 全 身 酸 。\n", "\n", "BOS i wonder what this phrase means . EOS\n", "BOS 我 想 知 道 这 句 话 的 意 思 。 EOS\n", "translation: 我 想 知 道 這 句 話 題 的 意 思 。\n", "\n", "BOS she has already left the office . EOS\n", "BOS 她 已 經 離 開 了 辦 公 室 。 EOS\n", "translation: 她 已 經 離 開 了 辦 公 室 。\n", "\n", "BOS my hobby is collecting old bottles . EOS\n", "BOS 我 的 嗜 好 是 收 集 舊 瓶 子 。 EOS\n", "translation: 我 的 嗜 好 是 收 集 舊 瓶 子 。\n", "\n", "BOS i 'd better get back home . EOS\n", "BOS 我 回 家 比 较 好 。 EOS\n", "translation: 我 最 好 回 家 。\n", "\n", "BOS did you go to school yesterday ? EOS\n", "BOS 你 昨 天 去 上 學 了 嗎 ? EOS\n", "translation: 你 昨 天 去 上 學 了 嗎 ?\n", "\n", "BOS i 'll give you a UNK . EOS\n", "BOS 我 会 给 你 开 个 药 方 。 EOS\n", "translation: 我 會 給 你 一 點 。\n", "\n", "BOS tom did well considering his age . EOS\n", "BOS 考 慮 到 他 的 年 紀 , 他 做 得 很 好 。 EOS\n", "translation: 汤 姆 努 力 地 考 虑 他 已 经 成 功 了 。\n", "\n", "BOS i 've lost a little weight . EOS\n", "BOS 我 瘦 了 一 點 。 EOS\n", "translation: 我 瘦 了 一 點 。\n", "\n", "BOS the UNK is in the UNK . EOS\n", "BOS 桌 布 在 櫥 櫃 裡 。 EOS\n", "translation: 桌 上 。\n", "\n", "BOS they got married six months ago . EOS\n", "BOS 他 們 六 個 月 前 結 婚 了 。 EOS\n", "translation: 他 們 六 個 月 前 結 婚 了 。\n", "\n", "BOS london is famous for its fog . EOS\n", "BOS 倫 敦 以 霧 著 名 。 EOS\n", "translation: 倫 敦 以 霧 聞 名 。\n", "\n", "BOS the lecture lasted for two hours . EOS\n", "BOS 這 場 演 講 持 續 了 兩 個 小 時 。 EOS\n", "translation: 這 場 演 講 持 續 了 兩 個 小 時 。\n", "\n", "BOS look what i made for you . EOS\n", "BOS 看 我 为 你 做 了 什 么 。 EOS\n", "translation: 我 看 上 去 做 什 麼 。\n", "\n", "BOS it 's obvious that he lied . EOS\n", "BOS 顯 然 地 他 撒 了 謊 。 EOS\n", "translation: 顯 然 地 他 撒 了 謊 。\n", "\n", "BOS i was alone in the classroom . EOS\n", "BOS 我 独 自 待 在 教 室 里 。 EOS\n", "translation: 我 独 自 待 在 教 室 裡 。\n", "\n", "BOS where does he want to go ? EOS\n", "BOS 他 想 去 哪 裡 ? EOS\n", "translation: 他 想 去 哪 裡 ?\n", "\n", "BOS she did n't have any pencils . EOS\n", "BOS 她 一 支 铅 笔 也 没 有 。 EOS\n", "translation: 她 一 支 铅 笔 也 沒 有 。\n", "\n", "BOS i have been busy since yesterday . EOS\n", "BOS 我 從 昨 天 開 始 一 直 忙 著 。 EOS\n", "translation: 我 從 昨 天 開 始 一 直 忙 。\n", "\n", "BOS i bought a new sewing machine . EOS\n", "BOS 我 買 了 一 台 新 的 縫 UNK 機 。 EOS\n", "translation: 我 買 了 一 台 新 的 縫 機 。\n", "\n", "BOS you 'd better not go today . EOS\n", "BOS 你 今 天 最 好 不 要 去 。 EOS\n", "translation: 你 今 天 最 好 不 要 去 。\n", "\n", "BOS could we go somewhere and talk ? EOS\n", "BOS 我 们 能 去 别 的 地 方 谈 谈 吗 ? EOS\n", "translation: 我 们 能 去 别 的 地 方 谈 吗 ?\n", "\n", "BOS where do you want to go ? EOS\n", "BOS 你 要 去 哪 裡 ? EOS\n", "translation: 你 想 去 哪 裡 ?\n", "\n", "BOS all he thinks about is himself . EOS\n", "BOS 他 只 顾 自 己 的 利 益 。 EOS\n", "translation: 他 所 有 的 認 為 是 太 大 的 。\n", "\n", "BOS he UNK losing all his fortune . EOS\n", "BOS 他 冒 着 失 去 所 有 财 产 的 危 险 。 EOS\n", "translation: 他 失 去 所 有 的 大 笔 都 失 败 了 。\n", "\n", "BOS do you think i 'm joking ? EOS\n", "BOS 你 觉 得 我 是 在 开 玩 笑 吗 ? EOS\n", "translation: 你 认 为 我 是 在 开 玩 笑 吗 ?\n", "\n", "BOS stop UNK off finding a job . EOS\n", "BOS 不 要 UNK 延 去 找 工 作 的 事 。 EOS\n", "translation: 不 要 确 定 找 工 作 。\n", "\n", "BOS how many books do you have ? EOS\n", "BOS 你 有 多 少 本 書 ? EOS\n", "translation: 你 有 多 少 本 書 ?\n", "\n", "BOS wait till the light turns green . EOS\n", "BOS 等 到 指 示 燈 變 成 綠 色 。 EOS\n", "translation: 等 到 燈 變 為 綠 色 。\n", "\n", "BOS he must finish his homework today . EOS\n", "BOS 他 今 天 必 須 完 成 他 的 功 課 。 EOS\n", "translation: 他 今 天 必 須 完 成 他 的 功 課 。\n", "\n", "BOS they waited for him for hours . EOS\n", "BOS 他 們 等 了 他 好 幾 個 小 時 。 EOS\n", "translation: 他 們 等 了 他 好 幾 個 小 時 。\n", "\n", "BOS they wo n't come until tomorrow . EOS\n", "BOS 他 們 直 到 明 天 前 不 會 來 。 EOS\n", "translation: 他 們 明 天 才 會 來 。\n", "\n", "BOS we headed for the mountain cottage . EOS\n", "BOS 我 们 向 山 间 小 屋 走 去 。 EOS\n", "translation: 我 们 向 山 间 小 屋 走 去 。\n", "\n", "BOS this car is easy to handle . EOS\n", "BOS 這 輛 車 很 容 易 操 控 。 EOS\n", "translation: 這 輛 車 很 容 易 操 控 。\n", "\n", "BOS i 'm taking spanish this semester . EOS\n", "BOS 我 這 學 期 修 西 班 牙 文 。 EOS\n", "translation: 我 這 場 交 通 學 期 的 今 天 上 班 牙 文 。\n", "\n", "BOS he sat next to the stream . EOS\n", "BOS 他 坐 在 河 边 。 EOS\n", "translation: 他 坐 在 溪 流 旁 邊 。\n", "\n", "BOS i was trying to kill time . EOS\n", "BOS 我 试 着 消 UNK 时 间 。 EOS\n", "translation: 我 试 着 消 息 。\n", "\n", "BOS i visited UNK ten years ago . EOS\n", "BOS 我 十 年 前 參 觀 了 福 岡 。 EOS\n", "translation: 我 十 年 前 參 觀 了 福 岡 。\n", "\n", "BOS what are you UNK them for ? EOS\n", "BOS 你 為 什 麼 懲 罰 他 們 ? EOS\n", "translation: 你 為 什 麼 懲 罰 他 們 ?\n", "\n", "BOS i was late for the appointment . EOS\n", "BOS 我 約 會 遲 到 了 。 EOS\n", "translation: 我 遲 到 了 很 約 會 的 派 對 。\n", "\n", "BOS please help yourself to the cake . EOS\n", "BOS 你 自 己 拿 蛋 糕 吃 吧 。 EOS\n", "translation: 请 问 可 以 给 自 己 保 蛋 糕 。\n", "\n", "BOS the bus was two minutes early . EOS\n", "BOS 巴 士 早 了 兩 分 鐘 。 EOS\n", "translation: 巴 士 早 了 兩 分 鐘 。\n", "\n", "BOS the men are wearing short UNK . EOS\n", "BOS 男 人 們 穿 著 短 袖 上 衣 。 EOS\n", "translation: 男 人 们 穿 着 短 袖 上 衣 。\n", "\n", "BOS she is going to UNK UNK . EOS\n", "BOS 她 將 去 立 山 。 EOS\n", "translation: 她 將 去 轉 動 。\n", "\n", "BOS people grow more UNK with age . EOS\n", "BOS 人 會 隨 著 年 齡 的 增 長 而 更 加 地 玩 世 不 恭 。 EOS\n", "translation: 人 會 和 老 人 一 年 齡 。\n", "\n", "BOS is everything going ok at work ? EOS\n", "BOS 工 作 一 切 顺 利 吗 ? EOS\n", "translation: 工 作 一 切 顺 利 吗 ?\n", "\n", "BOS the cottage was clean and UNK . EOS\n", "BOS 小 屋 干 净 又 整 洁 。 EOS\n", "translation: 小 屋 干 净 又 整 洁 。\n", "\n", "BOS have you eaten your lunch yet ? EOS\n", "BOS 你 吃 過 午 飯 了 嗎 ? EOS\n", "translation: 你 吃 過 午 飯 了 嗎 ?\n", "\n", "BOS i 've got a few friends . EOS\n", "BOS 我 有 一 些 朋 友 。 EOS\n", "translation: 我 有 一 些 朋 友 。\n", "\n", "BOS tom told me he was canadian . EOS\n", "BOS 汤 姆 告 诉 我 他 是 加 拿 大 人 。 EOS\n", "translation: 汤 姆 告 诉 我 他 是 加 拿 大 人 。\n", "\n", "BOS change trains at the next station . EOS\n", "BOS 在 下 一 站 換 火 車 。 EOS\n", "translation: 在 下 一 站 換 火 車 。\n", "\n", "BOS kobe is famous for its port . EOS\n", "BOS 神 戶 是 著 名 的 港 口 。 EOS\n", "translation: 神 戶 是 一 個 著 名 的 港 口 。\n", "\n", "BOS turn off the light , please . EOS\n", "BOS 請 關 燈 。 EOS\n", "translation: 请 关 灯 。\n", "\n", "BOS what 's your favorite UNK app ? EOS\n", "BOS 你 最 喜 欢 的 i P a d 应 用 是 什 么 ? EOS\n", "translation: 你 最 喜 欢 的 i P a d 应 用 是 什 么 ?\n", "\n", "BOS i could n't find his house . EOS\n", "BOS 我 找 不 到 他 的 家 。 EOS\n", "translation: 我 找 不 到 他 的 房 子 。\n", "\n", "BOS i 'm still the boss here . EOS\n", "BOS 我 仍 是 这 里 的 老 板 。 EOS\n", "translation: 我 还 在 这 儿 路 上 。\n", "\n", "BOS i have more money than tom . EOS\n", "BOS 我 比 汤 姆 有 钱 。 EOS\n", "translation: 我 比 T o m 有 钱 。\n", "\n", "BOS what does tom know about me ? EOS\n", "BOS 汤 姆 知 道 我 的 什 么 ? EOS\n", "translation: 汤 姆 知 道 我 的 什 么 ?\n", "\n", "BOS would you lend me your dictionary ? EOS\n", "BOS 你 可 以 借 我 你 的 字 典 嗎 ? EOS\n", "translation: 你 可 以 借 我 你 的 字 典 嗎 ?\n", "\n", "BOS i often played tennis with her . EOS\n", "BOS 我 常 常 和 她 打 網 球 。 EOS\n", "translation: 我 常 常 常 和 她 打 網 球 。\n", "\n", "BOS he put on the black coat . EOS\n", "BOS 他 穿 上 了 黑 色 的 外 套 。 EOS\n", "translation: 他 穿 上 了 黑 色 的 外 套 。\n", "\n", "BOS i heard the front doorbell ring . EOS\n", "BOS 我 聽 到 前 門 的 門 鈴 響 了 。 EOS\n", "translation: 我 聽 到 前 門 的 門 鈴 響 了 。\n", "\n", "BOS she waited for hours and hours . EOS\n", "BOS 她 等 了 好 幾 個 小 時 。 EOS\n", "translation: 她 等 了 好 幾 個 小 時 。\n", "\n", "BOS we 're having difficulty UNK tom . EOS\n", "BOS 我 们 难 以 找 到 汤 姆 。 EOS\n", "translation: 我 们 难 以 找 到 汤 姆 。\n", "\n", "BOS UNK the fat off the meat . EOS\n", "BOS 切 除 這 塊 肉 的 UNK UNK 。 EOS\n", "translation: 切 斷 斷 水 燈 變 。\n", "\n", "BOS we are leaving japan next month . EOS\n", "BOS 我 們 下 個 月 將 離 開 日 本 。 EOS\n", "translation: 我 們 下 個 月 將 離 開 日 本 。\n", "\n", "BOS please show me the green shirt . EOS\n", "BOS 請 給 我 看 看 這 件 綠 色 的 襯 衫 。 EOS\n", "translation: 請 讓 我 看 看 看 這 件 綠 色 的 襯 衫 。\n", "\n", "BOS you look just like your mother . EOS\n", "BOS 你 看 起 來 就 像 你 的 母 親 。 EOS\n", "translation: 你 看 起 來 就 像 你 的 母 親 。\n", "\n", "BOS UNK stands for the united nations . EOS\n", "BOS U N 代 表 聯 合 國 。 EOS\n", "translation: U N 代 表 聯 合 國 。\n", "\n", "BOS she gave me this UNK UNK . EOS\n", "BOS 她 給 了 我 這 個 光 碟 。 EOS\n", "translation: 她 給 了 我 這 個 話 。\n", "\n", "BOS would you please come again later ? EOS\n", "BOS 請 您 稍 後 再 來 好 嗎 ? EOS\n", "translation: 你 会 再 来 吗 ?\n", "\n", "BOS we 're friends from way back . EOS\n", "BOS 我 们 是 老 朋 友 了 。 EOS\n", "translation: 我 们 是 高 兴 的 朋 友 。\n", "\n", "BOS we could see nothing but fog . EOS\n", "BOS 除 了 雾 我 看 不 见 任 何 东 西 。 EOS\n", "translation: 除 了 雾 我 什 么 都 可 以 看 到 。\n", "\n", "BOS we live in the united states . EOS\n", "BOS 我 們 住 在 美 國 。 EOS\n", "translation: 我 們 住 在 美 國 。\n", "\n", "BOS all of my friends like soccer . EOS\n", "BOS 我 所 有 的 朋 友 都 喜 歡 足 球 。 EOS\n", "translation: 我 所 有 的 朋 友 都 喜 歡 足 球 。\n", "\n", "BOS she is very thoughtful and patient . EOS\n", "BOS 她 非 常 周 到 和 耐 心 。 EOS\n", "translation: 她 非 常 周 一 和 耐 心 。\n", "\n", "BOS will you stay at home tonight ? EOS\n", "BOS 你 今 晚 會 待 在 家 裡 嗎 ? EOS\n", "translation: 你 今 晚 會 待 在 家 裡 嗎 ?\n", "\n", "BOS she ran as fast as possible . EOS\n", "BOS 她 盡 可 能 地 快 跑 。 EOS\n", "translation: 她 盡 可 能 地 跑 得 很 快 。\n", "\n", "BOS tom has been gone for ages . EOS\n", "BOS 汤 姆 年 纪 大 去 世 了 。 EOS\n", "translation: 汤 姆 已 经 很 久 走 了 。\n", "\n", "BOS give me three pieces of UNK . EOS\n", "BOS 給 我 三 片 UNK 魚 肉 。 EOS\n", "translation: 給 我 三 季 宜 。\n", "\n", "BOS what did she whisper to you ? EOS\n", "BOS 她 小 聲 地 跟 你 說 了 什 麼 ? EOS\n", "translation: 她 跟 你 說 了 什 麼 悄 話 ?\n", "\n", "BOS the doctor may have said so . EOS\n", "BOS 医 生 可 能 说 过 。 EOS\n", "translation: 醫 生 來 說 可 以 。\n", "\n", "BOS i was just talking about tom . EOS\n", "BOS 我 仅 仅 是 在 和 T o m 交 谈 。 EOS\n", "translation: 我 只 是 跟 汤 姆 说 话 。\n", "\n", "BOS she fainted when she saw blood . EOS\n", "BOS 她 看 见 血 就 晕 了 。 EOS\n", "translation: 她 看 见 血 就 晕 了 。\n", "\n", "BOS let 's go to a movie . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 讓 我 們 去 看 電 影 。 EOS\n", "translation: 讓 我 們 去 看 電 影 。\n", "\n", "BOS he was injured in the accident . EOS\n", "BOS 他 在 事 故 中 受 傷 。 EOS\n", "translation: 他 在 這 場 外 面 受 傷 了 傷 。\n", "\n", "BOS can you drive a UNK UNK ? EOS\n", "BOS 你 會 開 手 排 車 嗎 ? EOS\n", "translation: 你 會 開 車 嗎 ?\n", "\n", "BOS i thought you were my friend . EOS\n", "BOS 我 以 为 你 是 我 的 朋 友 。 EOS\n", "translation: 我 以 为 你 是 我 的 朋 友 。\n", "\n", "BOS i do n't really read newspapers . EOS\n", "BOS 我 不 太 看 报 纸 。 EOS\n", "translation: 我 不 太 看 报 纸 。\n", "\n", "BOS who cares when she gets married ? EOS\n", "BOS 誰 管 她 什 麼 時 候 結 婚 ? EOS\n", "translation: 誰 在 乎 她 何 時 結 婚 ?\n", "\n", "BOS it is wrong to tell lies . EOS\n", "BOS 說 謊 是 錯 誤 的 。 EOS\n", "translation: 說 謊 是 錯 誤 的 。\n", "\n", "BOS you have to clean your room . EOS\n", "BOS 你 该 打 扫 你 的 房 间 。 EOS\n", "translation: 你 必 须 打 扫 你 的 房 间 。\n", "\n", "BOS a famous architect built this house . EOS\n", "BOS 一 个 有 名 的 建 筑 师 造 了 这 栋 房 子 。 EOS\n", "translation: 一 个 有 名 的 建 筑 师 造 了 这 个 房 子 。\n", "\n", "BOS i ’ UNK started learning esperanto . EOS\n", "BOS 我 開 始 學 習 世 界 語 了 。 EOS\n", "translation: 我 開 始 學 習 世 界 語 了 。\n", "\n", "BOS she felt UNK about her future . EOS\n", "BOS 她 對 她 的 未 來 感 到 沒 有 安 全 感 。 EOS\n", "translation: 她 覺 得 自 己 的 未 來 的 事 。\n", "\n", "BOS he wants to go to america . EOS\n", "BOS 他 想 去 美 國 。 EOS\n", "translation: 他 想 去 美 國 。\n", "\n", "BOS are you sure of your facts ? EOS\n", "BOS 你 確 定 你 的 資 料 屬 實 嗎 ? EOS\n", "translation: 你 確 定 你 的 資 料 屬 嗎 ?\n", "\n", "BOS UNK ideas into practice is difficult . EOS\n", "BOS 把 想 法 付 UNK 實 UNK 是 困 難 的 。 EOS\n", "translation: 把 想 法 語 給 這 個 問 題 很 難 。\n", "\n", "BOS what is the population of japan ? EOS\n", "BOS 日 本 的 人 口 是 多 少 ? EOS\n", "translation: 日 本 的 人 口 有 多 少 ?\n", "\n", "BOS tom got angry at the children . EOS\n", "BOS 湯 姆 對 孩 子 們 生 氣 。 EOS\n", "translation: 汤 姆 兴 孩 子 们 生 气 了 。\n", "\n", "BOS do n't throw away this magazine . EOS\n", "BOS 不 要 丟 掉 這 本 雜 誌 。 EOS\n", "translation: 不 要 丟 掉 這 本 雜 誌 。\n", "\n", "BOS it is likely to rain tomorrow . EOS\n", "BOS 明 天 有 可 能 會 下 雨 。 EOS\n", "translation: 明 天 有 可 能 會 下 雨 。\n", "\n", "BOS it is by no means certain . EOS\n", "BOS 这 根 本 不 是 确 定 的 。 EOS\n", "translation: 這 個 交 不 是 有 用 的 。\n", "\n", "BOS tom was questioned by the police . EOS\n", "BOS 汤 姆 被 警 察 盘 问 。 EOS\n", "translation: 汤 姆 被 警 察 盘 问 。\n", "\n", "BOS we are not going on vacation . EOS\n", "BOS 我 们 不 去 度 假 。 EOS\n", "translation: 我 们 不 去 度 假 。\n", "\n", "BOS the birds flew to the south . EOS\n", "BOS 群 鸟 南 翔 。 EOS\n", "translation: 鸟 类 之 前 成 群 中 。\n", "\n", "BOS absolutely nothing is permanent in life . EOS\n", "BOS 生 活 中 绝 对 没 有 什 么 是 持 久 的 。 EOS\n", "translation: 沒 有 什 麼 生 都 沒 有 一 麼 流 。\n", "\n", "BOS she saw herself in the mirror . EOS\n", "BOS 她 看 到 鏡 子 裡 的 自 己 。 EOS\n", "translation: 她 看 到 鏡 子 裡 的 自 己 。\n", "\n", "BOS how about going for a drive ? EOS\n", "BOS 去 開 車 兜 風 怎 樣 ? EOS\n", "translation: 你 們 開 車 怎 麼 樣 開 車 ?\n", "\n", "BOS it never rains but it pours . EOS\n", "BOS 禍 不 單 行 。 EOS\n", "translation: 永 遠 不 下 雨 。\n", "\n", "BOS we enjoyed ourselves at the picnic . EOS\n", "BOS 我 們 在 野 餐 玩 得 很 開 心 。 EOS\n", "translation: 我 們 在 野 餐 玩 得 很 開 心 。\n", "\n", "BOS my father is in his room . EOS\n", "BOS 我 父 親 在 他 的 房 間 裡 。 EOS\n", "translation: 我 父 親 正 在 他 的 房 間 裡 。\n", "\n", "BOS the monkey fell from the tree . EOS\n", "BOS 猴 子 從 樹 上 掉 了 下 來 。 EOS\n", "translation: 猴 子 從 樹 上 掉 了 下 來 。\n", "\n", "BOS she asked a very good question . EOS\n", "BOS 她 問 了 一 個 非 常 好 的 問 題 。 EOS\n", "translation: 她 问 了 一 个 很 好 的 问 题 。\n", "\n", "BOS just take my word for it . EOS\n", "BOS 請 相 信 我 的 話 。 EOS\n", "translation: 我 只 要 把 它 給 我 。\n", "\n", "BOS the young man is a doctor . EOS\n", "BOS 这 个 年 轻 人 是 医 生 。 EOS\n", "translation: 这 个 年 轻 人 是 医 生 。\n", "\n", "BOS he played the part of hamlet . EOS\n", "BOS 他 扮 演 哈 姆 雷 特 的 角 色 。 EOS\n", "translation: 他 扮 演 哈 姆 雷 特 的 角 色 。\n", "\n", "BOS did you bring a hair dryer ? EOS\n", "BOS 你 吹 風 機 帶 來 了 嗎 ? EOS\n", "translation: 你 有 帶 吹 風 機 吹 風 機 嗎 ?\n", "\n", "BOS we gather here once a week . EOS\n", "BOS 我 们 每 周 在 这 儿 聚 一 次 。 EOS\n", "translation: 我 们 每 周 开 始 这 儿 一 次 。\n", "\n", "BOS that white building is a hospital . EOS\n", "BOS 那 棟 白 色 的 建 築 物 是 一 家 醫 院 。 EOS\n", "translation: 那 棟 白 色 的 建 築 物 是 一 家 醫 院 。\n", "\n", "BOS something is wrong with my watch . EOS\n", "BOS 我 的 錶 出 了 毛 病 。 EOS\n", "translation: 我 的 錶 出 了 毛 病 。\n", "\n", "BOS we have to do our best . EOS\n", "BOS 我 们 应 该 做 到 最 好 。 EOS\n", "translation: 我 们 要 做 到 最 好 的 事 。\n", "\n", "BOS they all laughed at his jokes . EOS\n", "BOS 他 們 全 都 被 他 的 笑 話 逗 笑 了 。 EOS\n", "translation: 他 們 全 都 笑 話 而 笑 了 。\n", "\n", "BOS he can speak a little english . EOS\n", "BOS 他 會 講 一 點 點 英 語 。 EOS\n", "translation: 他 會 說 一 點 點 英 語 。\n", "\n", "BOS please do n't speak so fast . EOS\n", "BOS 请 不 要 说 得 那 么 快 。 EOS\n", "translation: 请 不 要 说 得 那 么 快 。\n", "\n", "BOS can you stay for a while ? EOS\n", "BOS 你 能 待 一 会 吗 ? EOS\n", "translation: 你 能 待 一 会 儿 吗 ?\n", "\n", "BOS i am 30 years old now . EOS\n", "BOS 我 现 在 3 0 岁 了 。 EOS\n", "translation: 我 現 在 三 十 三 歲 。\n", "\n", "BOS the cat is watching the fish . EOS\n", "BOS 猫 看 着 鱼 。 EOS\n", "translation: 猫 看 着 鱼 。\n", "\n", "BOS i am a citizen of UNK . EOS\n", "BOS 我 是 UNK 幌 的 市 民 。 EOS\n", "translation: 我 是 个 米 米 米 。\n", "\n", "BOS the police broke up the fight . EOS\n", "BOS 警 察 UNK 散 了 這 場 鬥 UNK 。 EOS\n", "translation: 警 察 散 了 這 場 鬥 盤 。\n", "\n", "BOS you 're too UNK about everything . EOS\n", "BOS 你 对 什 么 都 太 怀 疑 了 。 EOS\n", "translation: 你 太 担 心 不 到 的 所 有 东 西 。\n", "\n", "BOS did the police find any UNK ? EOS\n", "BOS 警 察 找 到 指 UNK 了 吗 ? EOS\n", "translation: 警 察 找 到 指 了 吗 ?\n", "\n", "BOS i am UNK with my job . EOS\n", "BOS 我 對 我 的 工 作 感 到 滿 意 。 EOS\n", "translation: 我 同 意 我 的 工 作 。\n", "\n", "BOS we spent the weekend with friends . EOS\n", "BOS 我 們 和 朋 友 一 起 度 過 週 末 。 EOS\n", "translation: 我 們 和 朋 友 一 起 度 過 週 末 。\n", "\n", "BOS i 'll let tom tell you . EOS\n", "BOS 我 会 让 汤 姆 告 诉 你 。 EOS\n", "translation: 我 会 告 诉 汤 姆 。\n", "\n", "BOS have you cleaned your room yet ? EOS\n", "BOS 你 打 掃 你 的 房 間 了 嗎 ? EOS\n", "translation: 你 打 掃 你 的 房 間 了 嗎 ?\n", "\n", "BOS how many pens do you have ? EOS\n", "BOS 你 有 多 少 支 铅 笔 ? EOS\n", "translation: 你 有 多 少 支 铅 笔 ?\n", "\n", "BOS she put the magazine on the table . EOS\n", "BOS 她 把 雜 誌 放 在 桌 上 。 EOS\n", "translation: 她 把 椅 上 放 在 桌 上 。\n", "\n", "BOS hey , what are you doing here ? EOS\n", "BOS 嘿 , 你 在 這 做 什 麼 ? EOS\n", "translation: 嘿 , 你 在 這 做 什 麼 ?\n", "\n", "BOS he 's not very strict about this . EOS\n", "BOS 他 在 这 方 面 不 是 很 严 格 。 EOS\n", "translation: 他 不 是 很 严 格 这 种 很 严 格 。\n", "\n", "BOS she is fond of singing old songs . EOS\n", "BOS 她 喜 歡 唱 老 歌 。 EOS\n", "translation: 她 喜 欢 唱 老 歌 。\n", "\n", "BOS he had kept the secret to himself . EOS\n", "BOS 他 保 守 著 這 個 秘 密 。 EOS\n", "translation: 他 得 留 待 著 這 個 秘 密 。\n", "\n", "BOS he graduated from harvard university with honors . EOS\n", "BOS 他 光 榮 地 從 哈 佛 大 學 畢 業 了 。 EOS\n", "translation: 他 畢 業 於 哈 佛 大 學 畢 業 的 損 害 。\n", "\n", "BOS tom started dating mary three months ago . EOS\n", "BOS 汤 姆 三 个 月 前 开 始 和 玛 丽 约 会 。 EOS\n", "translation: 汤 姆 三 个 月 前 开 始 和 玛 丽 两 个 月 。\n", "\n", "BOS what do you usually eat for lunch ? EOS\n", "BOS 你 一 般 中 午 饭 吃 什 么 ? EOS\n", "translation: 你 通 常 什 麼 工 作 ?\n", "\n", "BOS that 's a bad day for me . EOS\n", "BOS 那 天 我 不 行 。 EOS\n", "translation: 那 是 糟 糕 的 一 天 。\n", "\n", "BOS i took a picture of my family . EOS\n", "BOS 我 為 我 的 家 人 拍 了 照 片 。 EOS\n", "translation: 我 拿 了 一 張 全 家 福 的 照 片 。\n", "\n", "BOS only four horses were in the race . EOS\n", "BOS 只 有 四 匹 馬 參 加 了 比 賽 。 EOS\n", "translation: 只 有 四 匹 馬 參 加 了 比 賽 。\n", "\n", "BOS tom had a heart attack last year . EOS\n", "BOS 汤 姆 去 年 得 了 心 脏 病 。 EOS\n", "translation: 汤 姆 去 年 得 了 心 脏 病 。\n", "\n", "BOS she spread the butter on the bread . EOS\n", "BOS 她 把 奶 油 塗 在 麵 包 上 。 EOS\n", "translation: 她 把 奶 油 塗 在 麵 包 上 。\n", "\n", "BOS karuizawa is famous as a summer UNK . EOS\n", "BOS 輕 井 澤 是 著 名 的 避 暑 勝 地 。 EOS\n", "translation: 輕 井 澤 是 一 樣 的 避 暑 勝 地 。\n", "\n", "BOS i will give you whatever you want . EOS\n", "BOS 我 會 給 你 任 何 你 想 要 的 東 西 。 EOS\n", "translation: 我 會 給 你 任 何 你 想 要 的 東 西 。\n", "\n", "BOS women UNK to live longer than men . EOS\n", "BOS 女 人 往 往 比 男 人 活 得 更 長 。 EOS\n", "translation: 女 人 往 往 往 往 高 中 。\n", "\n", "BOS they do n't seem to be americans . EOS\n", "BOS 他 們 似 乎 不 是 美 國 人 。 EOS\n", "translation: 他 們 似 乎 不 是 美 國 人 。\n", "\n", "BOS the cough UNK has a UNK UNK . EOS\n", "BOS 咳 嗽 糖 UNK 有 股 甘 草 的 味 道 。 EOS\n", "translation: 咳 嗽 糖 有 股 甘 草 的 味 道 。\n", "\n", "BOS ask him if he can speak japanese . EOS\n", "BOS 问 问 他 会 不 会 说 日 语 。 EOS\n", "translation: 问 他 会 不 会 说 日 语 。\n", "\n", "BOS come here by ten at the latest . EOS\n", "BOS 最 晚 十 點 前 來 這 裡 。 EOS\n", "translation: 最 後 一 印 象 一 次 。\n", "\n", "BOS my brother gave me a cute doll . EOS\n", "BOS 我 哥 哥 給 了 我 一 個 可 愛 的 娃 娃 。 EOS\n", "translation: 我 哥 哥 給 了 我 一 個 可 愛 的 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃\n", "\n", "BOS i was a student at that time . EOS\n", "BOS 我 当 时 是 学 生 。 EOS\n", "translation: 我 是 學 生 。\n", "\n", "BOS she had the nerve to speak out . EOS\n", "BOS 她 竟 敢 說 出 來 。 EOS\n", "translation: 她 有 膽 量 說 出 來 。\n", "\n", "BOS a friend of mine is studying abroad . EOS\n", "BOS 我 有 一 位 朋 友 在 國 外 留 學 。 EOS\n", "translation: 我 朋 友 是 加 拿 大 的 。\n", "\n", "BOS i get along with my younger brother . EOS\n", "BOS 我 與 我 的 弟 弟 相 處 融 洽 。 EOS\n", "translation: 我 和 我 哥 哥 很 熟 。\n", "\n", "BOS this ticket is good for three days . EOS\n", "BOS 這 張 票 的 有 效 期 是 三 天 。 EOS\n", "translation: 這 張 票 的 很 好 。\n", "\n", "BOS i gave careful consideration to the problem . EOS\n", "BOS 我 仔 細 地 考 慮 了 這 個 問 題 。 EOS\n", "translation: 我 仔 細 地 考 慮 了 這 個 問 題 。\n", "\n", "BOS jealousy was the UNK for the murder . EOS\n", "BOS 嫉 妒 是 謀 殺 的 動 機 。 EOS\n", "translation: 嫉 妒 是 謀 殺 的 動 機 。\n", "\n", "BOS i do not allow sleeping in class . EOS\n", "BOS 我 不 允 许 有 人 在 课 上 睡 觉 。 EOS\n", "translation: 我 不 允 许 有 人 在 课 上 睡 觉 。\n", "\n", "BOS i made some mistakes on the test . EOS\n", "BOS 我 在 考 试 时 犯 了 些 错 。 EOS\n", "translation: 我 決 定 考 试 了 一 些 錯 誤 。\n", "\n", "BOS move the chair UNK to the desk . EOS\n", "BOS 把 椅 子 UNK 一 UNK 靠 近 桌 子 。 EOS\n", "translation: 把 椅 子 放 入 桌 子 。\n", "\n", "BOS he had no luck in finding work . EOS\n", "BOS 他 不 幸 找 不 到 工 作 。 EOS\n", "translation: 他 找 工 作 不 到 工 作 。\n", "\n", "BOS my brother is a high school student . EOS\n", "BOS 我 哥 哥 是 個 高 中 生 。 EOS\n", "translation: 我 哥 哥 是 個 高 中 生 。\n", "\n", "BOS tom did n't write back to mary . EOS\n", "BOS 汤 姆 没 给 玛 丽 写 回 复 。 EOS\n", "translation: 汤 姆 没 给 玛 丽 写 回 复 。\n", "\n", "BOS the meaning of this sentence is UNK . EOS\n", "BOS 这 句 句 子 意 思 模 糊 。 EOS\n", "translation: 这 本 字 典 对 这 句 子 的 意 思 。\n", "\n", "BOS i try not to think about it . EOS\n", "BOS 我 試 著 不 去 想 了 。 EOS\n", "translation: 我 試 著 不 去 想 。\n", "\n", "BOS i do n't worry about the risk . EOS\n", "BOS 我 不 担 心 风 险 。 EOS\n", "translation: 我 不 担 心 别 的 风 险 。\n", "\n", "BOS i 'm as hungry as a horse . EOS\n", "BOS 我 餓 得 像 匹 馬 。 EOS\n", "translation: 我 爱 过 马 。\n", "\n", "BOS we 'll save a seat for you . EOS\n", "BOS 我 们 会 给 你 留 个 位 置 。 EOS\n", "translation: 我 们 会 让 你 保 护 士 。\n", "\n", "BOS it was been raining since early morning . EOS\n", "BOS 從 清 晨 開 始 一 直 下 雨 。 EOS\n", "translation: 從 清 晨 開 始 一 直 下 雨 。\n", "\n", "BOS i had a nice chat with her . EOS\n", "BOS 我 和 她 聊 得 很 愉 快 。 EOS\n", "translation: 我 和 她 聊 得 很 愉 快 。\n", "\n", "BOS i put the money into the safe . EOS\n", "BOS 我 把 錢 放 入 保 險 櫃 裡 。 EOS\n", "translation: 我 把 錢 放 入 保 險 櫃 裡 。\n", "\n", "BOS have you ever climbed mt . UNK ? EOS\n", "BOS 你 曾 爬 過 槍 岳 嗎 ? EOS\n", "translation: 你 曾 爬 過 槍 岳 嗎 ?\n", "\n", "BOS my mother made me take some medicine . EOS\n", "BOS 我 媽 媽 讓 我 吃 點 藥 。 EOS\n", "translation: 我 媽 讓 我 吃 點 藥 。\n", "\n", "BOS this is going to be very expensive . EOS\n", "BOS 这 要 花 很 多 钱 。 EOS\n", "translation: 這 將 很 有 很 大 的 贵 。\n", "\n", "BOS let me know where you 're staying . EOS\n", "BOS 讓 我 知 道 你 住 在 哪 裡 。 EOS\n", "translation: 讓 我 知 道 你 住 在 哪 裡 。\n", "\n", "BOS i 'm sorry i did n't call . EOS\n", "BOS 我 很 抱 歉 我 没 有 打 电 话 。 EOS\n", "translation: 我 很 抱 歉 我 沒 有 打 电 话 。\n", "\n", "BOS he did not speak unless spoken to . EOS\n", "BOS 除 非 有 人 跟 他 說 話 , 他 不 說 話 。 EOS\n", "translation: 除 非 有 人 跟 他 說 話 , 他 不 說 話 。\n", "\n", "BOS she spoke UNK a word of english . EOS\n", "BOS 她 几 乎 不 说 英 语 。 EOS\n", "translation: 她 說 一 個 德 語 師 。\n", "\n", "BOS i will take you for a swim . EOS\n", "BOS 我 會 帶 你 去 游 泳 。 EOS\n", "translation: 我 會 帶 你 去 游 泳 。\n", "\n", "BOS get it done as soon as possible . EOS\n", "BOS 盡 快 把 它 完 成 。 EOS\n", "translation: 尽 快 尽 快 完 成 。\n", "\n", "BOS i got a letter from her today . EOS\n", "BOS 我 今 天 收 到 了 她 的 信 。 EOS\n", "translation: 我 今 天 收 到 了 她 的 信 。\n", "\n", "BOS she UNK with a piece of paper . EOS\n", "BOS 她 摸 索 著 一 張 紙 。 EOS\n", "translation: 她 摸 索 著 一 張 紙 。\n", "\n", "BOS why did you stay at home yesterday ? EOS\n", "BOS 你 昨 天 為 甚 麼 在 家 ? EOS\n", "translation: 你 為 什 麼 待 在 家 裡 ?\n", "\n", "BOS can you explain why you were late ? EOS\n", "BOS 你 能 解 釋 一 下 你 為 什 麼 遲 到 嗎 ? EOS\n", "translation: 你 能 解 釋 一 下 你 為 什 麼 遲 到 嗎 ?\n", "\n", "BOS do n't get involved with that guy . EOS\n", "BOS 別 和 這 個 人 打 交 道 。 EOS\n", "translation: 不 要 被 隨 身 帶 人 家 落 。\n", "\n", "BOS his second son married and settled down . EOS\n", "BOS 他 的 第 二 個 兒 子 結 婚 並 定 居 下 來 了 。 EOS\n", "translation: 他 的 第 二 個 兒 子 結 婚 並 定 居 下 來 了 。\n", "\n", "BOS i do n't know much about computers . EOS\n", "BOS 我 對 電 腦 知 道 的 不 多 。 EOS\n", "translation: 我 不 知 道 有 多 关 电 视 。\n", "\n", "BOS it became dark before i knew it . EOS\n", "BOS 我 不 知 道 天 色 變 暗 了 。 EOS\n", "translation: 我 跟 著 我 知 道 它 是 否 知 道 的 。\n", "\n", "BOS he 's a UNK for beautiful women . EOS\n", "BOS 他 非 常 喜 歡 漂 亮 的 女 人 。 EOS\n", "translation: 他 是 个 很 美 丽 的 女 人 。\n", "\n", "BOS he made me sing on the stage . EOS\n", "BOS 他 讓 我 在 舞 台 上 唱 歌 。 EOS\n", "translation: 他 讓 我 在 舞 台 上 唱 歌 。\n", "\n", "BOS i was delayed by a traffic jam . EOS\n", "BOS 我 被 交 通 堵 塞 耽 UNK 了 。 EOS\n", "translation: 我 被 交 通 堵 塞 耽 搁 了 。\n", "\n", "BOS the sky is clear almost every day . EOS\n", "BOS 天 空 幾 乎 每 天 是 晴 朗 的 。 EOS\n", "translation: 天 空 幾 乎 每 天 都 很 清 朗 。\n", "\n", "BOS please keep an eye on my suitcase . EOS\n", "BOS 請 留 神 看 著 我 的 手 提 箱 。 EOS\n", "translation: 請 留 神 看 著 我 的 手 提 箱 。\n", "\n", "BOS i got her to clean my room . EOS\n", "BOS 我 讓 她 清 掃 了 我 的 房 間 。 EOS\n", "translation: 我 讓 她 把 我 的 房 間 弄 乾 淨 。\n", "\n", "BOS i will teach you to play chess . EOS\n", "BOS 我 會 教 你 下 棋 。 EOS\n", "translation: 我 會 教 你 下 棋 。\n", "\n", "BOS would you like me to explain it ? EOS\n", "BOS 你 要 我 解 釋 一 下 嗎 ? EOS\n", "translation: 你 愿 意 帮 我 解 释 吗 ?\n", "\n", "BOS i heard a knock at the door . EOS\n", "BOS 我 聽 到 了 敲 門 聲 。 EOS\n", "translation: 我 聽 到 了 敲 門 聲 。\n", "\n", "BOS tom managed to find a new job . EOS\n", "BOS 汤 姆 找 到 了 新 工 作 。 EOS\n", "translation: 汤 姆 找 到 了 新 工 作 。\n", "\n", "BOS i brush my teeth twice a day . EOS\n", "BOS 我 一 天 刷 兩 次 牙 。 EOS\n", "translation: 我 一 天 刷 兩 次 牙 。\n", "\n", "BOS i was very confused by his questions . EOS\n", "BOS 我 對 他 的 問 題 感 到 很 困 惑 。 EOS\n", "translation: 我 對 他 的 問 題 感 到 很 困 惑 。\n", "\n", "BOS attack is the best form of UNK . EOS\n", "BOS 進 攻 是 最 好 的 防 UNK 。 EOS\n", "translation: 進 攻 是 最 好 的 防 员 。\n", "\n", "BOS he graduated from high school this spring . EOS\n", "BOS 今 年 春 天 他 從 高 中 畢 業 了 。 EOS\n", "translation: 他 在 這 次 七 七 歲 的 學 畢 業 。\n", "\n", "BOS there was n't a soul in sight . EOS\n", "BOS 一 個 人 影 也 看 不 到 。 EOS\n", "translation: 看 来 不 一 个 人 。\n", "\n", "BOS everyone in the town knows about it . EOS\n", "BOS 鎮 上 的 每 個 人 都 知 道 它 。 EOS\n", "translation: 鎮 上 的 每 個 人 都 知 道 它 。\n", "\n", "BOS japan is confronted with severe economic problems . EOS\n", "BOS 日 本 正 面 臨 著 嚴 重 的 經 濟 問 題 。 EOS\n", "translation: 日 本 正 面 臨 著 嚴 重 的 經 濟 問 題 。\n", "\n", "BOS i got sick from drinking too much . EOS\n", "BOS 因 為 喝 酒 喝 太 多 , 所 以 我 生 病 了 。 EOS\n", "translation: 我 被 未 束 酒 喝 太 多 了 。\n", "\n", "BOS do n't you know what happened yesterday ? EOS\n", "BOS 你 不 知 道 昨 天 發 生 什 麼 事 嗎 ? EOS\n", "translation: 你 不 知 道 昨 天 發 生 什 麼 事 嗎 ?\n", "\n", "BOS tokyo is the largest city in japan . EOS\n", "BOS 東 京 是 日 本 最 大 的 城 市 。 EOS\n", "translation: 東 京 是 日 本 最 大 的 城 市 。\n", "\n", "BOS i have almost no money with me . EOS\n", "BOS 我 身 上 幾 乎 沒 有 錢 。 EOS\n", "translation: 我 幾 乎 沒 有 錢 。\n", "\n", "BOS there 's nothing else we can do . EOS\n", "BOS 没 有 我 们 能 还 做 的 事 。 EOS\n", "translation: 没 有 我 们 能 还 做 的 事 。\n", "\n", "BOS i buy UNK every sunday after church . EOS\n", "BOS 我 每 个 星 期 日 礼 拜 完 都 买 甜 甜 圈 。 EOS\n", "translation: 我 每 個 星 期 天 買 上 班 。\n", "\n", "BOS do you have change for a dollar ? EOS\n", "BOS 你 有 零 錢 換 一 元 美 金 嗎 ? EOS\n", "translation: 你 有 零 錢 換 一 元 美 元 嗎 ?\n", "\n", "BOS i take a bath every other day . EOS\n", "BOS 我 每 兩 天 洗 一 次 澡 。 EOS\n", "translation: 我 每 天 洗 一 次 澡 。\n", "\n", "BOS i was waiting for something to happen . EOS\n", "BOS 我 在 等 事 情 發 生 。 EOS\n", "translation: 我 在 等 事 情 的 發 生 。\n", "\n", "BOS he wanted to get his shirts washed . EOS\n", "BOS 他 想 要 把 他 的 襯 衫 洗 乾 淨 。 EOS\n", "translation: 他 想 應 該 把 他 的 襯 衫 洗 乾 淨 。\n", "\n", "BOS i had a long talk with her . EOS\n", "BOS 我 和 她 有 一 段 長 談 。 EOS\n", "translation: 我 跟 她 說 了 很 長 的 時 間 。\n", "\n", "BOS we must keep up the family UNK . EOS\n", "BOS 我 们 必 须 保 持 家 庭 传 统 。 EOS\n", "translation: 我 们 必 须 放 弃 。\n", "\n", "BOS he knows almost nothing about that animal . EOS\n", "BOS 他 幾 乎 對 那 個 動 物 一 無 所 知 。 EOS\n", "translation: 他 幾 乎 知 道 這 個 動 物 。\n", "\n", "BOS what is done can not be undone . EOS\n", "BOS 覆 水 難 收 。 EOS\n", "translation: 覆 水 難 收 。\n", "\n", "BOS i studied english when i was there . EOS\n", "BOS 當 我 在 那 裡 的 時 候 , 我 學 習 英 語 。 EOS\n", "translation: 當 我 到 達 那 裡 的 時 候 , 我 學 習 英 語 。\n", "\n", "BOS the smell of food made me hungry . EOS\n", "BOS 食 物 的 味 道 讓 我 餓 了 。 EOS\n", "translation: 食 物 的 味 道 讓 我 餓 了 。\n", "\n", "BOS the police will put you in prison . EOS\n", "BOS 警 方 將 把 你 關 在 監 獄 裡 。 EOS\n", "translation: 警 方 會 把 你 關 在 監 獄 裡 。\n", "\n", "BOS i do n't know where she lives . EOS\n", "BOS 我 不 知 道 她 住 在 哪 裡 。 EOS\n", "translation: 我 不 知 道 她 住 在 哪 裡 。\n", "\n", "BOS pull the UNK up by the UNK . EOS\n", "BOS 從 根 部 把 植 物 拔 出 來 。 EOS\n", "translation: 從 根 部 開 始 跑 向 馬 口 箱 中 跑 。\n", "\n", "BOS i do n't feel like working today . EOS\n", "BOS 我 今 天 不 想 上 班 。 EOS\n", "translation: 我 今 天 不 想 上 班 。\n", "\n", "BOS japan imports various raw materials from abroad . EOS\n", "BOS 日 本 從 國 外 進 口 各 種 原 料 。 EOS\n", "translation: 日 本 從 國 外 進 口 各 種 原 料 。\n", "\n", "BOS the picture is UNK on the wall . EOS\n", "BOS 畫 掛 在 牆 上 。 EOS\n", "translation: 這 幅 畫 的 畫 掛 在 牆 上 。\n", "\n", "BOS he lost his eyesight in the accident . EOS\n", "BOS 他 在 意 外 中 失 明 了 。 EOS\n", "translation: 他 在 意 外 中 失 去 了 他 的 視 力 。\n", "\n", "BOS it is good to be a UNK . EOS\n", "BOS 做 个 赢 家 很 好 。 EOS\n", "translation: 它 是 一 個 很 好 的 。\n", "\n", "BOS he said that it was nine o'clock . EOS\n", "BOS 他 说 九 点 了 。 EOS\n", "translation: 他 說 九 點 鐘 是 在 九 點 鐘 的 。\n", "\n", "BOS he hung a lamp from the ceiling . EOS\n", "BOS 他 把 一 UNK 灯 挂 在 了 天 花 板 上 。 EOS\n", "translation: 他 把 一 条 裙 子 扔 了 一 隻 鳥 。\n", "\n", "BOS the admission is ten dollars a person . EOS\n", "BOS 入 場 費 一 個 人 1 0 美 元 。 EOS\n", "translation: 入 場 費 一 個 人 1 0 0 0 0 0 美 元 。\n", "\n", "BOS could you wrap this UNK , please ? EOS\n", "BOS 請 你 分 開 包 裝 好 嗎 ? EOS\n", "translation: 請 你 包 裝 可 以 嗎 ?\n", "\n", "BOS i do n't want to drink anything . EOS\n", "BOS 我 什 么 都 不 想 喝 。 EOS\n", "translation: 我 什 么 都 不 想 喝 。\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS let me show you around our house . EOS\n", "BOS 讓 我 帶 你 四 處 看 看 我 們 的 房 子 。 EOS\n", "translation: 讓 我 帶 你 四 處 看 我 們 的 房 子 。\n", "\n", "BOS he visited her house the other day . EOS\n", "BOS 他 前 幾 天 拜 訪 了 她 家 。 EOS\n", "translation: 他 前 幾 天 拜 訪 了 她 家 。\n", "\n", "BOS he went to new york on business . EOS\n", "BOS 他 去 紐 約 出 差 了 。 EOS\n", "translation: 他 出 生 了 紐 約 。\n", "\n", "BOS he 's a student at this college . EOS\n", "BOS 他 是 這 所 大 學 的 學 生 。 EOS\n", "translation: 他 是 这 个 大 学 校 的 学 生 。\n", "\n", "BOS tom is anxious to know the result . EOS\n", "BOS 汤 姆 急 着 想 知 道 结 果 。 EOS\n", "translation: 汤 姆 急 着 知 道 结 果 。\n", "\n", "BOS father bought me the latest model motorcycle . EOS\n", "BOS 父 親 給 我 買 了 最 新 型 的 摩 托 車 。 EOS\n", "translation: 父 親 買 了 我 最 後 一 條 登 摩 師 。\n", "\n", "BOS do you think animals have a soul ? EOS\n", "BOS 你 认 为 动 物 有 灵 魂 吗 ? EOS\n", "translation: 你 认 为 动 物 有 灵 魂 吗 ?\n", "\n", "BOS UNK enjoyed big game hunting in africa . EOS\n", "BOS 海 明 威 喜 歡 在 非 洲 的 大 UNK 獵 。 EOS\n", "translation: 在 非 洲 的 大 , 保 持 警 察 打 猎 。\n", "\n", "BOS i am not always free on sundays . EOS\n", "BOS 我 星 期 日 並 不 總 是 有 空 。 EOS\n", "translation: 我 星 期 天 並 不 總 是 有 空 。\n", "\n", "BOS i saw him swim across the river . EOS\n", "BOS 我 看 見 他 游 過 了 河 。 EOS\n", "translation: 我 看 見 他 游 泳 渡 河 。\n", "\n", "BOS he likes watching baseball games on tv . EOS\n", "BOS 他 喜 歡 看 電 視 上 的 棒 球 比 賽 。 EOS\n", "translation: 他 喜 歡 看 電 視 上 的 棒 球 比 賽 。\n", "\n", "BOS many people were killed in the war . EOS\n", "BOS 很 多 人 在 戰 爭 中 被 殺 。 EOS\n", "translation: 许 多 人 在 战 争 中 被 死 于 达 世 界 。\n", "\n", "BOS please add my name to the list . EOS\n", "BOS 請 把 我 的 名 字 加 在 名 單 上 。 EOS\n", "translation: 請 把 我 的 名 字 加 加 在 名 單 上 。\n", "\n", "BOS they drive on the left in england . EOS\n", "BOS 在 英 國 開 車 要 靠 左 行 駛 。 EOS\n", "translation: 他 們 開 車 到 德 國 留 在 英 國 留 下 。\n", "\n", "BOS this food does not agree with me . EOS\n", "BOS 这 食 物 不 适 合 我 。 EOS\n", "translation: 這 食 物 不 同 意 我 。\n", "\n", "BOS his name is not on the list . EOS\n", "BOS 他 的 名 字 不 在 名 单 里 。 EOS\n", "translation: 他 的 名 字 不 在 名 单 上 。\n", "\n", "BOS he gave us the signal to begin . EOS\n", "BOS 他 給 了 我 們 信 號 讓 我 們 開 始 。 EOS\n", "translation: 他 給 了 我 們 開 始 的 信 號 。\n", "\n", "BOS the fire UNK the house to UNK . EOS\n", "BOS 房 子 被 大 火 烧 成 了 灰 UNK 。 EOS\n", "translation: 火 警 大 聲 火 。\n", "\n", "BOS there 's no one in the room . EOS\n", "BOS 沒 有 人 在 房 間 裡 。 EOS\n", "translation: 房 里 没 有 人 。\n", "\n", "BOS he grew up in a little village . EOS\n", "BOS 他 在 一 個 小 村 莊 裡 長 大 。 EOS\n", "translation: 他 在 一 個 小 村 莊 裡 長 大 。\n", "\n", "BOS he gave his life for his country . EOS\n", "BOS 他 把 他 的 一 生 UNK 給 了 他 的 國 家 。 EOS\n", "translation: 他 給 了 他 的 一 個 國 家 。\n", "\n", "BOS i wish tom could 've been there . EOS\n", "BOS 我 希 望 汤 姆 能 在 那 里 。 EOS\n", "translation: 我 希 望 汤 姆 能 在 那 里 。\n", "\n", "BOS i fed the leftovers to my dog . EOS\n", "BOS 我 把 剩 下 的 东 西 给 我 的 狗 吃 。 EOS\n", "translation: 我 把 剩 下 的 东 西 給 我 的 狗 吃 。\n", "\n", "BOS i got him to fix my bicycle . EOS\n", "BOS 我 讓 他 修 理 了 我 的 腳 踏 車 。 EOS\n", "translation: 我 讓 他 修 理 了 我 的 腳 踏 車 。\n", "\n", "BOS he introduced me to a pretty girl . EOS\n", "BOS 他 把 我 介 紹 給 了 一 個 漂 亮 的 女 孩 。 EOS\n", "translation: 他 把 我 介 紹 給 了 一 個 漂 亮 的 女 孩 。\n", "\n", "BOS someone has taken my shoes by mistake . EOS\n", "BOS 有 人 拿 错 了 我 的 鞋 。 EOS\n", "translation: 有 人 拿 错 误 。\n", "\n", "BOS i spent all day in the library . EOS\n", "BOS 我 整 天 待 在 图 书 馆 。 EOS\n", "translation: 我 一 整 天 待 在 图 书 馆 。\n", "\n", "BOS i had a good opinion of her . EOS\n", "BOS 我 對 她 的 評 價 很 好 。 EOS\n", "translation: 我 對 她 的 評 價 很 好 。\n", "\n", "BOS the speaker 's UNK were highly UNK . EOS\n", "BOS 发 言 人 的 评 论 极 有 攻 击 性 。 EOS\n", "translation: 语 言 言 是 被 攻 击 人 罪 。\n", "\n", "BOS my aunt made me a new skirt . EOS\n", "BOS 我 舅 母 做 了 一 條 新 裙 子 給 我 。 EOS\n", "translation: 我 姑 姑 做 了 一 條 新 裙 子 給 我 。\n", "\n", "BOS your UNK means a lot to me . EOS\n", "BOS 你 的 友 誼 對 我 來 說 意 義 重 大 。 EOS\n", "translation: 你 的 友 誼 對 我 來 說 意 義 務 。\n", "\n", "BOS would you please lend me some money ? EOS\n", "BOS 你 能 借 我 些 钱 吗 ? EOS\n", "translation: 你 可 以 借 我 一 些 錢 嗎 ?\n", "\n", "BOS i still have n't heard from him . EOS\n", "BOS 我 還 沒 收 到 他 的 信 。 EOS\n", "translation: 我 还 没 听 到 他 的 事 。\n", "\n", "BOS in UNK , many flowers come out . EOS\n", "BOS 許 多 花 在 三 月 份 UNK 放 。 EOS\n", "translation: 在 外 面 三 個 多 少 時 , 出 門 出 來 。\n", "\n", "BOS if you do n't understand , ask . EOS\n", "BOS 如 果 你 不 懂 , 那 就 问 。 EOS\n", "translation: 如 果 你 不 懂 , 那 就 问 。\n", "\n", "BOS she is tom ’ s older sister . EOS\n", "BOS 她 是 T o m 的 姐 姐 。 EOS\n", "translation: 她 是 T o m 的 姐 姐 。\n", "\n", "BOS i 'm used to staying up late . EOS\n", "BOS 我 习 惯 晚 睡 。 EOS\n", "translation: 我 习 惯 晚 睡 。\n", "\n", "BOS we must cancel our trip to japan . EOS\n", "BOS 我 們 必 須 取 消 我 們 去 日 本 的 旅 行 。 EOS\n", "translation: 我 们 必 须 取 消 我 们 去 日 本 的 旅 游 行 。\n", "\n", "BOS we managed to get some foreign stamps . EOS\n", "BOS 我 們 設 法 得 到 一 些 外 國 的 郵 票 。 EOS\n", "translation: 我 們 設 法 得 到 一 些 郵 票 。\n", "\n", "BOS i 'm tired of listening to tom . EOS\n", "BOS 我 厌 倦 了 听 汤 姆 说 话 。 EOS\n", "translation: 我 厭 倦 了 聽 湯 姆 。\n", "\n", "BOS he put the book on the table . EOS\n", "BOS 他 把 书 放 在 了 桌 上 。 EOS\n", "translation: 他 把 书 放 在 桌 上 。\n", "\n", "BOS you have to leave home at six . EOS\n", "BOS 你 必 須 在 六 點 鐘 時 從 家 中 出 發 。 EOS\n", "translation: 你 必 須 在 六 點 前 出 發 。\n", "\n", "BOS UNK UNK a great amount of water . EOS\n", "BOS 农 业 需 要 消 耗 的 大 量 水 。 EOS\n", "translation: 农 业 需 要 消 耗 的 水 子 。\n", "\n", "BOS i 'm going to take my car . EOS\n", "BOS 我 将 去 取 我 的 车 。 EOS\n", "translation: 我 會 去 接 我 的 車 。\n", "\n", "BOS she furnished the room with beautiful furniture . EOS\n", "BOS 她 用 漂 亮 的 家 具 佈 置 了 房 間 。 EOS\n", "translation: 她 用 漂 亮 的 家 具 佈 置 了 房 間 。\n", "\n", "BOS he knows how to brush his teeth . EOS\n", "BOS 他 知 道 怎 么 刷 牙 。 EOS\n", "translation: 他 知 道 如 何 安 慰 他 的 牙 齿 。\n", "\n", "BOS they believe in a life after death . EOS\n", "BOS 他 們 相 信 死 後 的 生 命 。 EOS\n", "translation: 他 們 相 信 來 世 。\n", "\n", "BOS here 's where they usually have dinner . EOS\n", "BOS 这 儿 是 他 们 通 常 吃 晚 饭 的 地 方 。 EOS\n", "translation: 他 們 在 這 裡 通 常 有 晚 飯 。\n", "\n", "BOS the whole country was covered in snow . EOS\n", "BOS 整 个 国 家 被 大 雪 覆 盖 了 。 EOS\n", "translation: 整 个 国 家 被 大 部 门 被 雪 覆 盖 了 。\n", "\n", "BOS i do n't care if it snows . EOS\n", "BOS 我 不 在 乎 是 否 下 雪 。 EOS\n", "translation: 我 不 在 乎 下 雪 。\n", "\n", "BOS i advised her to come by 9:00 . EOS\n", "BOS 我 建 議 她 九 點 前 來 。 EOS\n", "translation: 我 建 議 她 九 點 前 來 。\n", "\n", "BOS you people are no fun at all . EOS\n", "BOS 你 们 这 帮 人 真 没 意 思 。 EOS\n", "translation: 你 们 这 些 人 都 没 有 趣 。\n", "\n", "BOS i can do it without her help . EOS\n", "BOS 沒 有 她 的 幫 忙 我 也 能 做 。 EOS\n", "translation: 沒 有 辦 法 她 的 幫 助 我 就 能 做 。\n", "\n", "BOS i was awfully confused by his question . EOS\n", "BOS 我 對 他 的 問 題 感 到 非 常 困 惑 。 EOS\n", "translation: 我 對 他 的 問 題 感 到 非 常 困 惑 。\n", "\n", "BOS why do you want to leave today ? EOS\n", "BOS 你 们 为 什 么 想 今 天 走 ? EOS\n", "translation: 你 今 天 為 什 麼 想 離 開 這 樣 ?\n", "\n", "BOS tom is a UNK sort of guy . EOS\n", "BOS 汤 姆 是 个 诚 实 的 男 孩 。 EOS\n", "translation: 汤 姆 是 个 诚 实 的 人 。\n", "\n", "BOS did you bring your family with you ? EOS\n", "BOS 你 帶 著 家 人 一 起 來 嗎 ? EOS\n", "translation: 你 帶 著 家 人 一 起 來 嗎 ?\n", "\n", "BOS i 'd like to see a doctor . EOS\n", "BOS 我 想 看 醫 生 。 EOS\n", "translation: 我 想 看 醫 生 。\n", "\n", "BOS which bed do you want to use ? EOS\n", "BOS 你 想 睡 哪 張 床 ? EOS\n", "translation: 你 想 睡 哪 張 信 干 嘛 ?\n", "\n", "BOS japan depends on other countries for oil . EOS\n", "BOS 日 本 的 石 油 依 靠 进 口 。 EOS\n", "translation: 日 本 歷 史 有 收 集 郵 票 。\n", "\n", "BOS she thought that i was a doctor . EOS\n", "BOS 她 以 为 我 是 大 夫 。 EOS\n", "translation: 她 以 为 我 是 個 大 夫 。\n", "\n", "BOS i would like to visit new york . EOS\n", "BOS 我 想 去 紐 約 。 EOS\n", "translation: 我 想 去 紐 約 。\n", "\n", "BOS i paid ten dollars for this cap . EOS\n", "BOS 我 付 了 十 美 元 買 這 頂 帽 子 。 EOS\n", "translation: 我 付 了 十 美 元 買 這 頂 帽 子 。\n", "\n", "BOS the price of rice has come down . EOS\n", "BOS 米 价 下 跌 了 。 EOS\n", "translation: 米 价 下 跌 了 。\n", "\n", "BOS i want to buy something to eat . EOS\n", "BOS 我 想 買 點 東 西 吃 。 EOS\n", "translation: 我 想 買 點 東 西 吃 。\n", "\n", "BOS imagine that you have a time machine . EOS\n", "BOS 想 象 一 下 , 假 如 你 有 一 台 时 光 机 。 EOS\n", "translation: 想 象 一 个 电 脑 你 有 时 间 。\n", "\n", "BOS i took a day off last week . EOS\n", "BOS 上 週 我 休 了 一 天 的 假 。 EOS\n", "translation: 上 週 我 休 了 一 天 的 假 。\n", "\n", "BOS french has many more UNK than japanese . EOS\n", "BOS 法 语 的 元 音 比 日 语 的 多 得 多 。 EOS\n", "translation: 日 本 的 人 口 比 日 語 日 語 。\n", "\n", "BOS imagination affects every part of our lives . EOS\n", "BOS 想 像 力 影 响 着 我 们 生 活 的 各 个 方 面 。 EOS\n", "translation: 想 像 力 影 响 着 我 们 生 活 的 生 活 。\n", "\n", "BOS she is collecting UNK for a book . EOS\n", "BOS 她 为 一 本 书 收 集 材 料 。 EOS\n", "translation: 她 是 一 本 書 。\n", "\n", "BOS my father told me where to go . EOS\n", "BOS 我 爸 爸 告 诉 我 去 哪 儿 。 EOS\n", "translation: 我 爸 爸 告 诉 我 去 哪 儿 。\n", "\n", "BOS we are supposed to know the rules . EOS\n", "BOS 我 们 应 该 了 解 相 应 的 规 则 。 EOS\n", "translation: 我 们 应 该 知 道 歉 。\n", "\n", "BOS all you can do is to wait . EOS\n", "BOS 所 有 你 能 做 的 就 是 等 待 。 EOS\n", "translation: 你 们 都 可 以 等 待 。\n", "\n", "BOS there are no chairs in this room . EOS\n", "BOS 這 個 房 間 裡 沒 有 椅 子 。 EOS\n", "translation: 這 個 房 間 裡 沒 有 椅 子 。\n", "\n", "BOS let 's not discuss the matter today . EOS\n", "BOS 今 天 讓 我 們 不 要 討 論 這 件 事 。 EOS\n", "translation: 今 天 讓 我 們 不 要 討 論 這 件 事 。\n", "\n", "BOS he is going to leave tomorrow afternoon . EOS\n", "BOS 他 將 在 明 天 下 午 離 開 。 EOS\n", "translation: 他 明 天 下 午 將 離 開 。\n", "\n", "BOS can you guess how old i am ? EOS\n", "BOS 你 能 猜 到 我 的 年 龄 吗 ? EOS\n", "translation: 你 能 猜 到 我 的 年 龄 足 吗 ?\n", "\n", "BOS i feel very sorry for your sister . EOS\n", "BOS 我 對 你 姐 姐 感 到 非 常 抱 歉 。 EOS\n", "translation: 我 覺 得 對 你 姐 感 到 非 常 抱 歉 。\n", "\n", "BOS i 'm looking forward to your visit . EOS\n", "BOS 我 期 待 著 您 的 光 臨 。 EOS\n", "translation: 我 期 待 著 您 的 光 臨 。\n", "\n", "BOS she was married to a rich man . EOS\n", "BOS 她 嫁 給 了 一 個 有 錢 的 男 人 。 EOS\n", "translation: 她 嫁 給 了 一 個 有 钱 人 。\n", "\n", "BOS dogs have a UNK sense of smell . EOS\n", "BOS 狗 的 嗅 觉 灵 敏 。 EOS\n", "translation: 狗 的 嗅 觉 灵 敏 。\n", "\n", "BOS why are you so mean to me ? EOS\n", "BOS 你 为 什 么 对 我 这 么 小 气 ? EOS\n", "translation: 你 為 什 麼 這 麼 意 思 ?\n", "\n", "BOS you do n't need to do this . EOS\n", "BOS 你 不 需 要 做 这 事 。 EOS\n", "translation: 你 不 必 要 做 這 樣 。\n", "\n", "BOS do you have a lot of pens ? EOS\n", "BOS 你 有 很 多 笔 吗 ? EOS\n", "translation: 你 有 很 多 笔 吗 ?\n", "\n", "BOS i feel like getting some fresh air . EOS\n", "BOS 我 想 要 呼 吸 一 些 新 鮮 空 氣 。 EOS\n", "translation: 我 想 要 一 些 空 氣 。\n", "\n", "BOS i appreciate your help in UNK this . EOS\n", "BOS 我 感 谢 你 帮 助 澄 清 。 EOS\n", "translation: 我 感 謝 您 的 幫 助 。\n", "\n", "BOS we got involved in a traffic accident . EOS\n", "BOS 我 們 被 捲 入 了 一 場 交 通 事 故 。 EOS\n", "translation: 我 们 被 达 了 一 場 交 通 意 外 。\n", "\n", "BOS she complained that my salary was low . EOS\n", "BOS 她 抱 怨 我 的 薪 水 很 低 。 EOS\n", "translation: 她 抱 怨 我 的 薪 水 很 低 。\n", "\n", "BOS it is this window that he broke . EOS\n", "BOS 他 砸 坏 的 是 这 扇 窗 。 EOS\n", "translation: 他 砸 坏 的 是 这 扇 窗 。\n", "\n", "BOS i found your letter in the mailbox . EOS\n", "BOS 我 在 信 箱 中 發 現 了 你 的 信 件 。 EOS\n", "translation: 我 在 信 箱 中 發 現 了 你 的 信 。\n", "\n", "BOS they are UNK to kill the king . EOS\n", "BOS 他 們 正 密 謀 要 殺 害 國 王 。 EOS\n", "translation: 他 们 正 杀 人 死 刑 。\n", "\n", "BOS there 's a hair in my soup . EOS\n", "BOS 我 的 湯 裡 有 一 根 頭 髮 。 EOS\n", "translation: 我 的 头 发 上 了 一 根 黄 色 。\n", "\n", "BOS she can speak english , of course . EOS\n", "BOS 她 會 講 英 語 , 當 然 。 EOS\n", "translation: 她 會 說 英 語 , 當 然 。\n", "\n", "BOS i left my briefcase in the bus . EOS\n", "BOS 我 把 我 的 公 事 包 留 在 公 車 上 了 。 EOS\n", "translation: 我 把 我 的 公 事 包 留 在 公 交 車 。\n", "\n", "BOS have you finished reading that book yet ? EOS\n", "BOS 你 讀 完 那 本 書 了 嗎 ? EOS\n", "translation: 你 讀 完 那 本 書 了 嗎 ?\n", "\n", "BOS i 'm happy to see you here . EOS\n", "BOS 我 很 高 興 在 這 裡 看 到 你 。 EOS\n", "translation: 我 很 高 興 在 這 裡 看 到 你 。\n", "\n", "BOS he took the wrong bus by mistake . EOS\n", "BOS 他 搭 错 了 车 。 EOS\n", "translation: 他 搭 錯 了 公 車 。\n", "\n", "BOS the news of his death spread around . EOS\n", "BOS 他 去 世 的 消 息 傳 遍 各 地 。 EOS\n", "translation: 他 去 世 的 消 息 傳 遍 各 地 。\n", "\n", "BOS i do hope you 'll come again . EOS\n", "BOS 我 很 希 望 你 会 再 来 。 EOS\n", "translation: 我 希 望 你 會 再 來 。\n", "\n", "BOS the sun UNK earlier in the winter . EOS\n", "BOS 在 冬 天 , 太 阳 下 山 比 往 常 更 早 。 EOS\n", "translation: 在 冬 天 , 很 早 邊 早 邊 。\n", "\n", "BOS what were you doing at that time ? EOS\n", "BOS 當 時 你 在 做 什 麼 ? EOS\n", "translation: 你 做 什 麼 時 候 做 ?\n", "\n", "BOS i 'm not particularly thirsty right now . EOS\n", "BOS 我 现 在 不 特 别 渴 。 EOS\n", "translation: 我 现 在 不 特 别 渴 。\n", "\n", "BOS i do n't believe such things exist . EOS\n", "BOS 我 不 相 信 這 樣 的 事 情 存 在 。 EOS\n", "translation: 我 不 相 信 這 樣 的 事 情 存 在 。\n", "\n", "BOS i ordered a pizza on the phone . EOS\n", "BOS 我 打 电 话 订 了 个 披 萨 。 EOS\n", "translation: 我 打 电 话 订 了 个 披 萨 。\n", "\n", "BOS i got up at seven this morning . EOS\n", "BOS 我 今 天 早 上 7 点 起 床 。 EOS\n", "translation: 我 今 天 早 上 7 点 起 床 。\n", "\n", "BOS he did n't mean to hurt you . EOS\n", "BOS 他 不 是 故 意 要 傷 害 你 。 EOS\n", "translation: 他 不 是 故 意 要 傷 害 你 。\n", "\n", "BOS he went to stay with his cousin . EOS\n", "BOS 他 去 和 他 的 表 弟 待 在 一 起 了 。 EOS\n", "translation: 他 和 他 的 表 弟 很 远 。\n", "\n", "BOS UNK take UNK to UNK your teeth . EOS\n", "BOS 牙 医 用 X 光 检 查 你 的 牙 齿 。 EOS\n", "translation: 戴 上 你 的 牙 齿 。\n", "\n", "BOS we took strong UNK to prevent it . EOS\n", "BOS 我 们 采 取 了 强 有 力 的 预 防 措 施 。 EOS\n", "translation: 我 们 采 取 了 强 有 力 的 预 防 措 施 。\n", "\n", "BOS UNK is a city in new zealand . EOS\n", "BOS 奥 克 兰 是 一 座 新 西 兰 的 城 市 。 EOS\n", "translation: 奥 克 兰 是 一 座 新 西 兰 的 城 市 。\n", "\n", "BOS war may break out at any moment . EOS\n", "BOS 戰 爭 隨 時 可 能 爆 發 。 EOS\n", "translation: 戰 爭 隨 時 可 能 爆 發 。\n", "\n", "BOS rome is famous for its UNK UNK . EOS\n", "BOS 羅 馬 以 其 古 代 建 築 而 聞 名 。 EOS\n", "translation: 羅 馬 以 其 古 屋 位 成 名 。\n", "\n", "BOS she 'll be getting married next year . EOS\n", "BOS 她 明 年 將 要 結 婚 。 EOS\n", "translation: 她 明 年 將 結 婚 。\n", "\n", "BOS i gave her a lift to town . EOS\n", "BOS 我 載 她 去 城 裡 了 。 EOS\n", "translation: 我 載 她 去 城 裡 了 。\n", "\n", "BOS i think she 's an honest woman . EOS\n", "BOS 我 认 为 她 是 一 个 诚 实 的 女 人 。 EOS\n", "translation: 我 想 她 是 個 老 人 。\n", "\n", "BOS we had a slight difference of opinion . EOS\n", "BOS 我 們 的 看 法 有 一 點 不 同 。 EOS\n", "translation: 我 們 沒 有 一 點 也 沒 有 什 麼 。\n", "\n", "BOS i did n't enjoy it very much . EOS\n", "BOS 我 不 是 很 喜 歡 它 。 EOS\n", "translation: 我 不 喜 欢 太 多 。\n", "\n", "BOS i talked with her for an hour . EOS\n", "BOS 我 跟 她 談 了 一 個 小 時 。 EOS\n", "translation: 我 跟 她 談 了 一 個 小 時 。\n", "\n", "BOS you had better put on a UNK . EOS\n", "BOS 您 最 好 穿 一 件 雨 衣 。 EOS\n", "translation: 你 最 好 放 一 張 。\n", "\n", "BOS it is wrong to tell a lie . EOS\n", "BOS 說 謊 是 錯 誤 的 。 EOS\n", "translation: 說 謊 是 錯 誤 的 。\n", "\n", "BOS tom might have missed the last train . EOS\n", "BOS 汤 姆 可 能 错 过 了 最 后 一 班 列 车 。 EOS\n", "translation: 汤 姆 可 能 错 过 了 最 后 一 班 列 车 。\n", "\n", "BOS please stay here till i get back . EOS\n", "BOS 請 待 在 這 裡 直 到 我 回 來 。 EOS\n", "translation: 請 待 在 這 裡 直 到 我 回 來 。\n", "\n", "BOS the man kept talking for an hour . EOS\n", "BOS 這 個 男 人 連 續 說 了 一 個 小 時 的 話 。 EOS\n", "translation: 這 個 男 人 總 是 說 話 一 個 小 時 。\n", "\n", "BOS this is all he has to do . EOS\n", "BOS 這 是 所 有 他 必 須 做 的 事 。 EOS\n", "translation: 他 這 一 點 也 沒 有 辦 。\n", "\n", "BOS his wife opened the door for him . EOS\n", "BOS 他 的 妻 子 為 他 開 門 了 。 EOS\n", "translation: 他 老 婆 喊 叫 他 開 門 。\n", "\n", "BOS he placed the ladder against the fence . EOS\n", "BOS 他 把 梯 子 倚 著 柵 欄 放 。 EOS\n", "translation: 他 把 梯 子 倚 著 柵 欄 放 。\n", "\n", "BOS we saw him walk across the street . EOS\n", "BOS 我 們 看 到 他 過 馬 路 。 EOS\n", "translation: 我 們 看 到 了 他 的 街 道 。\n", "\n", "BOS he grew up to be a doctor . EOS\n", "BOS 他 長 大 後 成 為 了 一 名 醫 生 。 EOS\n", "translation: 他 長 大 後 成 為 了 一 名 醫 生 。\n", "\n", "BOS i 'm sorry she 's not here . EOS\n", "BOS 對 不 起 , 她 不 在 這 裡 。 EOS\n", "translation: 我 很 抱 歉 她 没 在 這 裡 。\n", "\n", "BOS why should i care what you think ? EOS\n", "BOS 為 什 麼 我 應 該 在 乎 你 怎 麼 想 ? EOS\n", "translation: 为 什 么 我 应 该 那 么 你 呢 ?\n", "\n", "BOS all of us like you very much . EOS\n", "BOS 我 们 都 非 常 喜 欢 你 。 EOS\n", "translation: 我 们 都 非 常 喜 欢 你 。\n", "\n", "BOS what kind of work will you do ? EOS\n", "BOS 你 將 做 什 麼 樣 的 工 作 ? EOS\n", "translation: 你 們 本 來 做 什 麼 ?\n", "\n", "BOS the magician had the children 's attention . EOS\n", "BOS 魔 术 师 吸 引 了 孩 子 们 的 注 意 。 EOS\n", "translation: 魔 术 师 吸 引 了 孩 子 们 的 注 意 。\n", "\n", "BOS this is the time he UNK arrives . EOS\n", "BOS 他 这 个 时 候 该 到 了 。 EOS\n", "translation: 他 這 裡 就 是 該 有 時 候 來 的 。\n", "\n", "BOS perhaps it will rain in the afternoon . EOS\n", "BOS 也 許 下 午 會 下 雨 。 EOS\n", "translation: 也 許 下 午 會 下 雨 。\n", "\n", "BOS which one do you think is correct ? EOS\n", "BOS 你 認 為 哪 一 個 是 正 確 的 ? EOS\n", "translation: 你 认 为 哪 一 个 是 正 確 的 ?\n", "\n", "BOS tom is going to run for mayor . EOS\n", "BOS 汤 姆 要 竞 选 市 长 。 EOS\n", "translation: 汤 姆 將 競 選 市 长 。\n", "\n", "BOS i hope he 'll wait for me . EOS\n", "BOS 我 希 望 他 會 等 我 。 EOS\n", "translation: 我 希 望 他 會 等 我 。\n", "\n", "BOS why did you say such a thing ? EOS\n", "BOS 你 為 什 麼 說 了 這 樣 的 事 ? EOS\n", "translation: 你 為 什 麼 說 這 樣 的 事 情 ?\n", "\n", "BOS my wish is to become a teacher . EOS\n", "BOS 我 的 願 望 是 成 為 一 個 老 師 。 EOS\n", "translation: 我 最 好 的 老 師 要 成 為 一 名 教 師 。\n", "\n", "BOS UNK never tell us their UNK thoughts . EOS\n", "BOS 政 治 家 从 来 不 告 诉 我 们 他 们 的 别 有 用 心 。 EOS\n", "translation: 跟 我 们 说 来 不 句 话 , 他 们 都 说 什 么 想 要 说 他 们 的 想 法 语 说 告 诉 我 们 的 想 法 语 。\n", "\n", "BOS i 'm three years younger than you . EOS\n", "BOS 我 比 你 小 三 歲 。 EOS\n", "translation: 我 比 你 三 歲 。\n", "\n", "BOS i feel like going to the movies . EOS\n", "BOS 我 想 去 看 電 影 。 EOS\n", "translation: 我 想 騎 電 影 考 慮 。\n", "\n", "BOS she made room for an old lady . EOS\n", "BOS 她 讓 座 給 一 位 老 太 太 。 EOS\n", "translation: 她 為 這 間 房 間 。\n", "\n", "BOS you should follow your teacher 's advice . EOS\n", "BOS 您 應 遵 循 你 老 師 的 建 議 。 EOS\n", "translation: 你 應 該 遵 循 你 老 師 的 建 議 。\n", "\n", "BOS my mother made me a white dress . EOS\n", "BOS 我 媽 媽 為 我 做 了 一 件 白 色 的 洋 裝 。 EOS\n", "translation: 我 媽 媽 為 我 做 了 一 件 白 色 的 洋 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 娃 。\n", "\n", "BOS they go skiing at UNK every winter . EOS\n", "BOS 他 們 每 年 冬 季 去 野 澤 滑 雪 。 EOS\n", "translation: 他 們 每 年 冬 天 去 滑 雪 。\n", "\n", "BOS tom teaches me french twice a week . EOS\n", "BOS 汤 姆 每 周 两 次 教 我 法 语 。 EOS\n", "translation: 汤 姆 每 周 相 法 语 教 我 法 语 。\n", "\n", "BOS i 'm getting ready for the worst . EOS\n", "BOS 我 已 经 做 好 了 最 坏 的 打 算 。 EOS\n", "translation: 我 快 要 做 好 得 自 己 该 做 的 事 。\n", "\n", "BOS i wash my hands before eating lunch . EOS\n", "BOS 我 在 吃 午 饭 前 洗 手 。 EOS\n", "translation: 我 在 吃 午 饭 前 洗 手 。\n", "\n", "BOS it was my duty to do that . EOS\n", "BOS 做 那 事 是 我 的 责 任 。 EOS\n", "translation: 做 那 是 我 的 责 任 。\n", "\n", "BOS he 'd prefer not to eat that . EOS\n", "BOS 他 宁 愿 不 吃 这 个 。 EOS\n", "translation: 他 宁 愿 不 吃 这 个 。\n", "\n", "BOS please find a solution to the problem . EOS\n", "BOS 请 找 到 问 题 的 解 决 方 法 。 EOS\n", "translation: 请 找 到 问 题 的 解 决 问 题 。\n", "\n", "BOS we had a kid just last year . EOS\n", "BOS 就 在 去 年 我 們 有 了 一 個 孩 子 。 EOS\n", "translation: 我 們 去 年 有 了 一 個 孩 子 。\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "BOS you should have shown him the UNK . EOS\n", "BOS 你 应 该 给 他 看 看 这 装 置 。 EOS\n", "translation: 你 應 該 把 他 的 貓 給 他 。\n", "\n", "BOS i love the sound of children laughing . EOS\n", "BOS 我 喜 歡 孩 子 們 笑 的 聲 音 。 EOS\n", "translation: 我 非 常 喜 欢 笑 的 孩 子 。\n", "\n", "BOS that patient may die at any time . EOS\n", "BOS 病 人 随 时 会 死 。 EOS\n", "translation: 真 可 能 死 了 。\n", "\n", "BOS i had difficulty working out the problem . EOS\n", "BOS 我 很 難 解 決 這 個 問 題 。 EOS\n", "translation: 我 已 經 難 工 作 付 了 。\n", "\n", "BOS we managed to swim across the river . EOS\n", "BOS 我 們 成 功 地 游 過 了 河 。 EOS\n", "translation: 我 們 成 功 地 游 泳 渡 河 。\n", "\n", "BOS i wish you could come with us . EOS\n", "BOS 但 願 你 可 以 跟 我 們 一 起 來 。 EOS\n", "translation: 我 希 望 你 能 来 操 儿 。\n", "\n", "BOS come on ! give me a chance . EOS\n", "BOS 来 嘛 ! 给 我 个 机 会 。 EOS\n", "translation: 来 嘛 ! 给 我 一 个 机 会 。\n", "\n", "BOS i ca n't eat this much food . EOS\n", "BOS 我 不 能 吃 这 么 多 食 物 。 EOS\n", "translation: 我 不 能 吃 这 些 多 食 物 。\n", "\n", "BOS let 's drink coffee while we talk . EOS\n", "BOS 让 我 们 边 喝 咖 啡 边 谈 。 EOS\n", "translation: 我 們 放 棄 了 咖 啡 。\n", "\n", "BOS very few people live to be 100 . EOS\n", "BOS 很 少 人 活 到 1 0 0 岁 。 EOS\n", "translation: 很 少 人 活 到 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", "\n", "BOS i could n't answer all the questions . EOS\n", "BOS 我 无 法 回 答 所 有 问 题 。 EOS\n", "translation: 我 无 法 回 答 所 有 问 题 。\n", "\n", "BOS how 's the weather in new york ? EOS\n", "BOS 紐 約 的 天 氣 如 何 ? EOS\n", "translation: 紐 約 的 天 氣 怎 樣 好 ?\n", "\n", "BOS how long have you been in UNK ? EOS\n", "BOS 你 在 UNK 路 多 久 了 ? EOS\n", "translation: 你 们 在 市 里 多 久 了 ?\n", "\n", "BOS what did you do with that camera ? EOS\n", "BOS 你 用 那 台 相 機 做 了 什 麼 ? EOS\n", "translation: 你 用 那 台 相 機 做 什 麼 ?\n", "\n", "BOS UNK UNK grew up on the UNK . EOS\n", "BOS UNK 拉 英 UNK 爾 斯 是 在 草 原 上 長 大 的 。 EOS\n", "translation: 拉 斯 大 半 增 加 了 拉 斯 。\n", "\n", "BOS he hit his head against a rock . EOS\n", "BOS 他 的 头 撞 倒 了 一 块 岩 石 。 EOS\n", "translation: 他 的 头 撞 倒 了 一 块 岩 石 。\n", "\n", "BOS i bought this book at UNK bookstore . EOS\n", "BOS 我 在 书 商 M a r UNK z e n 那 里 买 了 这 本 书 。 EOS\n", "translation: 我 在 這 本 書 買 了 這 本 書 。\n", "\n", "BOS i will live in sasayama next year . EOS\n", "BOS 我 明 年 會 住 在 筱 山 。 EOS\n", "translation: 我 明 年 會 住 在 筱 山 。\n", "\n", "BOS she made a mess of the work . EOS\n", "BOS 她 工 作 做 得 亂 七 八 糟 。 EOS\n", "translation: 她 工 作 得 很 辛 苦 。\n", "\n", "BOS she has been dead for ten years . EOS\n", "BOS 她 已 經 死 了 十 年 了 。 EOS\n", "translation: 她 已 經 死 了 十 年 。\n", "\n", "BOS i did n't believe him at first . EOS\n", "BOS 起 初 我 不 相 信 他 。 EOS\n", "translation: 我 不 信 过 他 第 一 次 。\n", "\n", "BOS tom is a very good tennis player . EOS\n", "BOS 湯 姆 是 一 個 非 常 好 的 網 球 選 手 。 EOS\n", "translation: 汤 姆 是 个 很 好 的 网 球 选 手 。\n", "\n", "BOS i met a friend of mary 's . EOS\n", "BOS 我 遇 到 了 瑪 麗 的 一 位 朋 友 。 EOS\n", "translation: 我 见 过 了 瑪 麗 的 朋 友 。\n", "\n", "BOS world war i broke out in UNK . EOS\n", "BOS 第 一 次 世 界 大 戰 於 1 9 1 4 年 爆 發 。 EOS\n", "translation: 世 界 大 戰 之 后 , 我 被 推 倒 了 。\n", "\n", "BOS the eight o'clock bus was early today . EOS\n", "BOS 8 点 那 班 车 今 天 早 到 了 。 EOS\n", "translation: 八 點 鐘 這 輛 八 點 鐘 很 早 。\n", "\n", "BOS i 'm going to change my shirt . EOS\n", "BOS 我 要 去 換 我 的 襯 衫 。 EOS\n", "translation: 我 要 去 換 我 的 襯 衫 。\n", "\n", "BOS there is a cat under the desk . EOS\n", "BOS 书 桌 下 有 一 只 猫 。 EOS\n", "translation: 桌 子 底 下 有 一 只 猫 。\n", "\n", "BOS i just wanted to speak to tom . EOS\n", "BOS 我 只 想 跟 汤 姆 说 话 。 EOS\n", "translation: 我 只 想 跟 汤 姆 说 话 。\n", "\n", "BOS the city was full of starving soldiers . EOS\n", "BOS 城 市 裡 充 滿 了 飢 餓 的 士 兵 。 EOS\n", "translation: 城 市 裡 充 滿 了 飢 餓 的 城 市 政 廳 。\n", "\n", "BOS people in the united states speak english . EOS\n", "BOS 在 美 國 的 人 說 英 語 。 EOS\n", "translation: 在 美 國 的 人 說 英 語 。\n", "\n", "BOS i wish you were close to me . EOS\n", "BOS 我 希 望 你 在 我 身 边 。 EOS\n", "translation: 我 希 望 你 身 上 。\n", "\n", "BOS you remember it better than i do . EOS\n", "BOS 你 比 我 记 得 好 。 EOS\n", "translation: 你 记 得 比 我 好 得 好 。\n", "\n", "BOS it 's fun to ride a motorcycle . EOS\n", "BOS 騎 摩 托 車 很 有 趣 。 EOS\n", "translation: 騎 馬 上 經 常 開 摩 托 車 。\n", "\n", "BOS i have written down his phone number . EOS\n", "BOS 我 記 下 了 他 的 電 話 號 碼 。 EOS\n", "translation: 我 記 下 了 他 的 電 話 號 碼 。\n", "\n", "BOS he arrived at school exactly on time . EOS\n", "BOS 他 刚 好 准 时 到 校 。 EOS\n", "translation: 他 刚 好 准 时 到 校 时 就 到 了 。\n", "\n", "BOS there are too many things to do ! EOS\n", "BOS 要 做 的 事 太 多 了 ! EOS\n", "translation: 有 很 多 事 情 要 做 !\n", "\n", "BOS this bridge was built two years ago . EOS\n", "BOS 這 座 橋 是 在 兩 年 前 建 造 的 。 EOS\n", "translation: 這 座 橋 是 兩 年 前 建 造 成 了 。\n", "\n", "BOS she warned him not to go alone . EOS\n", "BOS 她 警 告 了 他 不 要 一 個 人 去 。 EOS\n", "translation: 她 警 告 他 不 要 一 个 人 去 。\n", "\n", "BOS the library is on the UNK floor . EOS\n", "BOS 圖 書 館 在 四 樓 。 EOS\n", "translation: 圖 書 館 在 四 樓 。\n", "\n", "BOS he has a great deal of experience . EOS\n", "BOS 他 有 豐 富 的 經 驗 。 EOS\n", "translation: 他 有 豐 富 的 經 驗 。\n", "\n", "BOS i wonder if anything happened to him . EOS\n", "BOS 我 怀 疑 有 什 么 事 在 他 身 上 发 生 了 。 EOS\n", "translation: 我 想 知 道 他 发 生 什 么 事 了 。\n", "\n", "BOS she has many friends in hong kong . EOS\n", "BOS 她 在 香 港 有 很 多 朋 友 。 EOS\n", "translation: 她 有 很 多 朋 友 在 香 港 口 。\n", "\n", "BOS i have n't seen you in ages . EOS\n", "BOS 我 已 經 好 久 沒 有 見 到 你 了 。 EOS\n", "translation: 我 已 經 沒 有 見 過 你 了 。\n", "\n", "BOS this pencil is better than that one . EOS\n", "BOS 這 支 鉛 筆 比 那 隻 好 。 EOS\n", "translation: 這 支 鉛 筆 比 那 隻 好 。\n", "\n", "BOS tom wants to tell you about mary . EOS\n", "BOS 汤 姆 想 跟 你 说 玛 丽 的 事 。 EOS\n", "translation: 汤 姆 想 说 你 的 事 情 。\n", "\n", "BOS my father got married in his twenties . EOS\n", "BOS 我 父 親 在 他 二 十 多 歲 時 結 婚 了 。 EOS\n", "translation: 我 父 親 在 他 二 十 多 歲 時 結 婚 了 。\n", "\n", "BOS she carried that habit to her UNK . EOS\n", "BOS 她 到 死 都 改 不 了 那 個 習 慣 。 EOS\n", "translation: 她 不 習 慣 她 的 死 。\n", "\n", "BOS the boy denied having stolen the bicycle . EOS\n", "BOS 那 个 男 孩 否 认 偷 了 自 行 车 。 EOS\n", "translation: 那 个 男 孩 否 认 偷 了 自 行 车 。\n", "\n", "BOS he UNK refused to let me in . EOS\n", "BOS 他 斷 然 地 拒 絕 讓 我 進 去 。 EOS\n", "translation: 他 拒 絕 讓 我 幫 助 我 。\n", "\n", "BOS will you permit me to go there ? EOS\n", "BOS 您 允 许 我 去 吗 ? EOS\n", "translation: 你 可 以 幫 我 去 那 裡 嗎 ?\n", "\n", "BOS is your school far from your home ? EOS\n", "BOS 你 的 學 校 離 你 家 很 遠 嗎 ? EOS\n", "translation: 你 家 離 家 很 遠 嗎 ?\n", "\n", "BOS she left her umbrella in the train . EOS\n", "BOS 她 把 她 的 雨 傘 留 在 火 車 上 了 。 EOS\n", "translation: 她 把 她 的 傘 留 在 火 車 上 了 。\n", "\n", "BOS i do n't want tom to die . EOS\n", "BOS 我 不 想 让 汤 姆 死 。 EOS\n", "translation: 我 不 想 死 汤 姆 死 。\n", "\n", "BOS i made efforts to improve my grades . EOS\n", "BOS 我 努 力 的 改 善 我 的 成 績 。 EOS\n", "translation: 我 努 力 的 改 善 我 的 成 績 。\n", "\n", "BOS hope to see you again next year . EOS\n", "BOS 希 望 明 年 再 次 見 到 你 。 EOS\n", "translation: 希 望 你 明 年 再 次 見 到 你 。\n", "\n", "BOS i could n't understand him at first . EOS\n", "BOS 起 初 我 聽 不 懂 他 說 的 話 。 EOS\n", "translation: 我 起 初 他 不 明 白 。\n", "\n", "BOS there 's UNK growing in the garden . EOS\n", "BOS 花 園 裡 有 UNK 子 在 生 長 。 EOS\n", "translation: 花 園 裡 有 一 座 外 。\n", "\n", "BOS she gave the blouse a quick wash . EOS\n", "BOS 她 很 快 地 把 襯 衫 洗 一 洗 。 EOS\n", "translation: 她 很 快 地 把 襯 衫 洗 一 洗 。\n", "\n", "BOS we saw a funny movie last sunday . EOS\n", "BOS 我 們 上 星 期 天 看 了 一 場 很 有 趣 的 電 影 。 EOS\n", "translation: 我 們 上 週 日 看 了 一 場 很 有 趣 的 電 影 。\n", "\n", "BOS it has been raining since last thursday . EOS\n", "BOS 從 上 週 四 開 始 一 直 下 雨 。 EOS\n", "translation: 從 上 周 四 開 始 一 直 下 雨 。\n", "\n", "BOS you can rely upon his being punctual . EOS\n", "BOS 你 可 以 放 心 , 他 會 準 時 的 。 EOS\n", "translation: 你 可 以 放 心 地 開 心 他 的 行 。\n", "\n", "BOS i 'm going to propose to her . EOS\n", "BOS 我 打 算 向 她 求 婚 。 EOS\n", "translation: 我 打 算 向 她 求 婚 。\n", "\n", "BOS she has the large house to herself . EOS\n", "BOS 她 給 自 己 一 間 大 房 子 。 EOS\n", "translation: 她 有 大 房 子 。\n", "\n", "BOS english and german are two related languages . EOS\n", "BOS 英 語 和 德 語 是 兩 種 相 關 的 語 言 。 EOS\n", "translation: 英 語 和 德 語 是 兩 種 相 關 的 語 言 。\n", "\n", "BOS he UNK the sweat from his face . EOS\n", "BOS 他 擦 去 了 脸 上 的 汗 水 。 EOS\n", "translation: 他 擦 去 了 脸 上 的 汗 水 。\n", "\n", "BOS i ca n't do without her help . EOS\n", "BOS 沒 有 她 的 幫 助 我 做 不 到 。 EOS\n", "translation: 沒 有 她 的 幫 助 我 也 能 做 不 尋 求 。\n", "\n", "BOS the world is full of UNK doctors . EOS\n", "BOS 社 会 上 满 是 不 称 职 的 医 生 。 EOS\n", "translation: 世 界 末 過 得 很 多 医 生 。\n", "\n", "BOS she always speaks in a low voice . EOS\n", "BOS 她 總 是 低 聲 地 說 話 。 EOS\n", "translation: 她 總 是 低 聲 說 話 。\n", "\n", "BOS i take full responsibility for the action . EOS\n", "BOS 我 會 為 這 次 行 動 負 起 全 責 。 EOS\n", "translation: 我 會 為 這 次 行 動 負 起 來 。\n", "\n", "BOS do you want to speak to tom ? EOS\n", "BOS 你 想 跟 汤 姆 说 话 吗 ? EOS\n", "translation: 你 想 跟 汤 姆 说 话 吗 ?\n", "\n", "BOS what 's the capital city of UNK ? EOS\n", "BOS 芬 蘭 的 首 都 是 什 麼 ? EOS\n", "translation: 芬 蘭 的 首 都 是 什 麼 ?\n", "\n", "BOS he was too drunk to drive home . EOS\n", "BOS 他 喝 酒 醉 無 法 開 車 回 家 。 EOS\n", "translation: 他 喝 酒 醉 無 法 開 車 回 家 。\n", "\n", "BOS when did she promise to meet him ? EOS\n", "BOS 她 答 应 几 时 见 他 ? EOS\n", "translation: 她 答 应 几 时 见 他 ?\n", "\n", "BOS we will only UNK on that condition . EOS\n", "BOS 我 们 只 会 在 那 样 的 条 件 下 同 意 。 EOS\n", "translation: 我 们 只 会 在 那 样 的 条 件 下 同 意 。\n", "\n", "BOS i 'm going to meet him tomorrow . EOS\n", "BOS 我 明 天 要 跟 他 見 面 。 EOS\n", "translation: 我 明 天 要 跟 他 見 面 。\n", "\n", "BOS this is a picture of my mother . EOS\n", "BOS 這 張 是 我 媽 媽 的 照 片 。 EOS\n", "translation: 这 是 我 母 亲 。\n", "\n", "BOS tom pretended to not hear a thing . EOS\n", "BOS 汤 姆 假 装 没 听 见 。 EOS\n", "translation: 汤 姆 假 装 没 听 见 面 。\n", "\n", "BOS he wo n't live a long life . EOS\n", "BOS 他 不 會 長 壽 。 EOS\n", "translation: 他 不 會 長 壽 。\n", "\n", "BOS he worked in a big city hospital . EOS\n", "BOS 他 在 一 間 很 大 的 市 立 醫 院 工 作 。 EOS\n", "translation: 他 在 一 間 很 大 的 市 立 醫 院 工 作 。\n", "\n", "BOS it 's clear that you 're wrong . EOS\n", "BOS 很 明 顯 地 你 錯 了 。 EOS\n", "translation: 很 明 顯 地 你 錯 了 。\n", "\n", "BOS they came all the way from brazil . EOS\n", "BOS 他 們 從 巴 西 遠 道 而 來 。 EOS\n", "translation: 他 們 從 巴 西 遠 道 而 來 。\n", "\n", "BOS i had been reading for an hour . EOS\n", "BOS 我 已 經 持 續 讀 了 一 個 小 時 了 。 EOS\n", "translation: 我 已 經 讀 了 一 個 小 時 的 書 。\n", "\n", "BOS i 'll drive you to the airport . EOS\n", "BOS 我 会 开 车 送 你 去 机 场 。 EOS\n", "translation: 我 會 開 車 送 你 開 這 輛 計 程 車 。\n", "\n", "BOS do n't make fun of old people . EOS\n", "BOS 不 要 捉 弄 老 人 家 。 EOS\n", "translation: 別 對 於 這 個 老 人 家 。\n", "\n", "BOS i did not participate in the UNK . EOS\n", "BOS 我 没 有 参 与 对 话 。 EOS\n", "translation: 我 没 有 参 与 对 话 。\n", "\n", "BOS hang on till i get to you . EOS\n", "BOS 坚 持 下 去 直 到 我 找 到 你 。 EOS\n", "translation: 我 期 待 著 我 會 待 著 你 。\n", "\n", "BOS i got the money back from him . EOS\n", "BOS 我 拿 到 了 他 還 給 我 的 錢 。 EOS\n", "translation: 我 收 回 他 的 钱 。\n", "\n", "BOS can i make a reservation for golf ? EOS\n", "BOS 我 能 预 定 一 下 打 高 尔 夫 球 吗 ? EOS\n", "translation: 我 能 预 定 一 下 打 高 尔 夫 球 吗 ?\n", "\n", "BOS he has a son and two daughters . EOS\n", "BOS 他 有 一 個 兒 子 和 兩 個 女 兒 。 EOS\n", "translation: 他 有 一 个 儿 子 和 两 个 女 儿 。\n", "\n", "BOS it was n't very hot last night . EOS\n", "BOS 昨 晚 不 是 很 熱 。 EOS\n", "translation: 昨 晚 不 是 很 熱 。\n", "\n", "BOS it 's obvious that she 's sick . EOS\n", "BOS 顯 然 地 她 生 病 了 。 EOS\n", "translation: 顯 然 地 她 生 病 了 。\n", "\n", "BOS i have a dog and a cat . EOS\n", "BOS 我 有 一 隻 狗 和 一 隻 貓 。 EOS\n", "translation: 我 有 一 条 狗 和 一 只 猫 。\n", "\n", "BOS we elected her captain of our team . EOS\n", "BOS 我 们 选 她 为 我 们 队 的 队 长 。 EOS\n", "translation: 我 們 選 了 她 的 遲 到 。\n", "\n", "BOS i got some sand in my eye . EOS\n", "BOS 我 的 眼 睛 進 了 些 沙 。 EOS\n", "translation: 我 的 眼 睛 進 了 些 沙 。\n", "\n", "BOS leave me a bit of ice cream . EOS\n", "BOS 给 我 留 点 冰 激 凌 。 EOS\n", "translation: 給 我 留 言 。\n", "\n", "BOS i met him on my way home . EOS\n", "BOS 我 在 回 家 的 路 上 遇 見 了 他 。 EOS\n", "translation: 我 在 回 家 的 路 上 遇 見 了 他 。\n", "\n", "BOS he is a reporter for time magazine . EOS\n", "BOS 他 是 时 代 杂 志 的 记 者 。 EOS\n", "translation: 他 是 时 记 本 字 典 的 记 者 。\n", "\n", "BOS i opened the box and looked inside . EOS\n", "BOS 我 打 開 盒 子 看 看 裡 面 。 EOS\n", "translation: 我 打 開 盒 子 看 出 身 監 獄 。\n", "\n", "BOS new york is on the UNK river . EOS\n", "BOS 紐 約 位 在 哈 得 UNK 河 。 EOS\n", "translation: 紐 約 位 在 河 的 路 上 。\n", "\n", "BOS long skirts are out of fashion now . EOS\n", "BOS 現 在 長 裙 過 時 了 。 EOS\n", "translation: 現 在 長 裙 已 經 過 了 。\n", "\n", "BOS there are some boys under the tree . EOS\n", "BOS 樹 下 有 一 些 男 孩 。 EOS\n", "translation: 樹 下 有 一 些 男 孩 。\n", "\n", "BOS i UNK a house with a garage . EOS\n", "BOS 我 租 了 一 間 有 車 庫 的 房 子 。 EOS\n", "translation: 我 租 了 一 間 有 車 庫 的 房 子 。\n", "\n", "BOS the admission is ten dollars a person . EOS\n", "BOS 入 會 費 一 個 人 十 美 元 。 EOS\n", "translation: 入 場 費 一 個 人 1 0 0 0 0 0 美 元 。\n", "\n", "BOS the guy with a UNK is tom . EOS\n", "BOS 长 胡 子 的 是 汤 姆 。 EOS\n", "translation: 汤 姆 是 个 合 同 的 家 伙 。\n", "\n", "BOS i did n't know about your plan . EOS\n", "BOS 我 不 知 道 你 的 計 畫 。 EOS\n", "translation: 我 不 知 道 你 的 計 畫 。\n", "\n", "BOS this book is n't interesting at all . EOS\n", "BOS 這 本 書 一 點 也 不 有 趣 。 EOS\n", "translation: 這 本 書 一 點 也 不 有 趣 。\n", "\n", "BOS he made a clean break with them . EOS\n", "BOS 他 跟 他 们 干 UNK 地 断 绝 来 往 了 。 EOS\n", "translation: 他 為 他 們 打 斷 斷 斷 。\n", "\n", "BOS please call me at my hotel later . EOS\n", "BOS 等 一 下 請 打 電 話 到 我 住 的 旅 館 。 EOS\n", "translation: 请 在 我 打 电 视 旅 馆 到 等 一 等 。\n", "\n", "BOS he walks in the park every morning . EOS\n", "BOS 他 每 天 早 上 在 公 園 裡 散 步 。 EOS\n", "translation: 他 每 天 早 上 在 公 園 裡 散 步 。\n", "\n", "BOS take the elevator to the fifth floor . EOS\n", "BOS 搭 乘 電 梯 到 五 樓 。 EOS\n", "translation: 搭 乘 电 梯 到 五 樓 的 左 右 去 。\n", "\n", "BOS the police will look into the case . EOS\n", "BOS 警 察 会 调 查 这 起 案 件 。 EOS\n", "translation: 警 察 会 调 查 看 。\n", "\n", "BOS how did you get to know him ? EOS\n", "BOS 你 是 怎 么 认 识 他 的 ? EOS\n", "translation: 你 怎 么 认 识 他 的 ?\n", "\n", "BOS i wish you had told me that . EOS\n", "BOS 但 願 你 告 訴 過 我 就 好 了 。 EOS\n", "translation: 我 希 望 你 告 诉 我 。\n", "\n", "BOS i do n't know who he is . EOS\n", "BOS 我 不 知 道 他 是 谁 。 EOS\n", "translation: 我 不 知 道 他 是 谁 。\n", "\n", "BOS will you sell your car to me ? EOS\n", "BOS 你 可 以 把 你 的 車 賣 給 我 嗎 ? EOS\n", "translation: 你 可 以 幫 我 借 我 你 的 車 嗎 ?\n", "\n", "BOS is there anything you ca n't do ? EOS\n", "BOS 有 你 不 能 做 的 事 吗 ? EOS\n", "translation: 你 有 什 么 都 无 法 做 吗 ?\n", "\n", "BOS they made up and became friends again . EOS\n", "BOS 他 們 和 解 了 , 並 再 次 成 為 了 朋 友 。 EOS\n", "translation: 他 們 和 朋 友 怎 麼 樣 。\n", "\n", "BOS do n't do anything like that again . EOS\n", "BOS 不 要 再 做 那 樣 的 事 情 了 。 EOS\n", "translation: 不 要 再 做 什 麼 都 喜 欢 。\n", "\n", "BOS i asked tom what he was reading . EOS\n", "BOS 我 问 了 汤 姆 在 读 什 么 。 EOS\n", "translation: 我 问 汤 姆 他 在 看 上 面 。\n", "\n", "BOS i got this cd player for free . EOS\n", "BOS 我 免 費 得 到 這 個 C D 播 放 機 。 EOS\n", "translation: 我 免 費 得 到 了 這 個 C D 播 放 機 。\n", "\n", "BOS she is getting better day by day . EOS\n", "BOS 她 一 天 一 天 地 好 轉 。 EOS\n", "translation: 她 一 天 一 天 地 好 轉 。\n", "\n", "BOS i asked her to wait a moment . EOS\n", "BOS 我 請 她 等 一 會 兒 。 EOS\n", "translation: 我 請 她 等 一 會 兒 。\n", "\n", "BOS we reached the top of the mountain . EOS\n", "BOS 我 們 到 達 了 山 頂 。 EOS\n", "translation: 我 們 到 了 山 頂 就 黑 山 。\n", "\n", "BOS i ca n't find my umbrella anywhere . EOS\n", "BOS 我 任 何 地 方 都 找 不 到 我 的 傘 。 EOS\n", "translation: 我 在 哪 里 都 没 找 不 到 我 的 傘 。\n", "\n", "BOS i said i would make her happy . EOS\n", "BOS 我 说 我 会 让 她 幸 福 的 。 EOS\n", "translation: 我 說 她 會 議 我 很 快 樂 。\n", "\n", "BOS i saw a light in the distance . EOS\n", "BOS 我 看 见 远 处 有 灯 光 。 EOS\n", "translation: 我 看 见 远 处 有 灯 光 。\n", "\n", "BOS do you ever study in the library ? EOS\n", "BOS 你 曾 經 在 圖 書 館 讀 書 嗎 ? EOS\n", "translation: 你 曾 经 学 习 哪 里 吗 ?\n", "\n", "BOS what do you want to tell me ? EOS\n", "BOS 你 想 跟 我 说 什 么 ? EOS\n", "translation: 你 想 跟 我 说 什 么 ?\n", "\n", "BOS UNK communicate with the airport by radio . EOS\n", "BOS 飛 行 員 用 無 線 電 與 機 場 溝 通 。 EOS\n", "translation: 飛 行 員 用 無 線 電 與 機 溝 通 。\n", "\n", "BOS kyoto is famous for its old temples . EOS\n", "BOS 京 都 以 古 廟 有 名 。 EOS\n", "translation: 京 都 以 古 廟 有 名 。\n", "\n", "BOS tom cut himself with his knife yesterday . EOS\n", "BOS 汤 姆 昨 天 用 刀 切 到 自 己 了 。 EOS\n", "translation: 汤 姆 昨 天 用 刀 不 带 来 救 了 。\n", "\n", "BOS she bought a toy for her child . EOS\n", "BOS 她 買 了 一 個 玩 具 給 她 的 孩 子 。 EOS\n", "translation: 她 買 了 一 個 玩 具 給 她 的 孩 子 。\n", "\n", "BOS i would like to speak english fluently . EOS\n", "BOS 我 想 講 一 口 流 利 的 英 語 。 EOS\n", "translation: 我 想 說 流 利 的 英 語 。\n", "\n", "BOS he bored us with his long stories . EOS\n", "BOS 他 長 長 的 故 事 讓 我 們 覺 得 厭 煩 了 。 EOS\n", "translation: 他 長 頭 不 夠 我 們 的 故 事 。\n", "\n", "BOS keep in mind that you must die . EOS\n", "BOS 你 要 想 到 你 必 须 死 。 EOS\n", "translation: 管 你 去 累 死 你 了 。\n", "\n", "BOS this beach is a paradise for UNK . EOS\n", "BOS 这 个 海 滩 是 冲 浪 者 的 天 堂 。 EOS\n", "translation: 这 只 是 一 个 海 滨 的 天 堂 。\n", "\n", "BOS she knows how to do the UNK . EOS\n", "BOS 她 知 道 怎 麼 游 自 由 式 。 EOS\n", "translation: 她 知 道 如 何 去 做 。\n", "\n", "BOS we got the meeting over with quickly . EOS\n", "BOS 我 們 很 快 的 結 束 了 這 個 會 議 。 EOS\n", "translation: 我 們 很 快 地 抓 到 了 這 場 會 議 。\n", "\n", "BOS i get scared just walking past him . EOS\n", "BOS 只 是 從 他 旁 邊 走 過 去 我 就 覺 得 害 怕 。 EOS\n", "translation: 我 只 是 担 心 他 的 。\n", "\n", "BOS i was late for school this morning . EOS\n", "BOS 我 今 天 早 上 上 學 遲 到 。 EOS\n", "translation: 今 天 早 上 我 遲 到 了 。\n", "\n", "BOS there is UNK light to take pictures . EOS\n", "BOS 拍 照 片 光 线 不 够 亮 。 EOS\n", "translation: 拍 照 片 裡 的 眼 睛 。\n", "\n", "BOS let 's discuss the problem with them . EOS\n", "BOS 让 我 们 和 他 们 讨 论 这 个 问 题 吧 。 EOS\n", "translation: 讓 他 們 讨 论 這 個 問 題 吧 。\n", "\n", "BOS she returned the book to the library . EOS\n", "BOS 她 把 書 還 給 了 圖 書 館 。 EOS\n", "translation: 她 把 書 還 給 圖 書 館 。\n", "\n", "BOS i 've changed my website 's layout . EOS\n", "BOS 我 改 了 一 下 我 的 网 站 的 布 局 。 EOS\n", "translation: 我 改 了 一 下 我 网 站 的 版 面 设 计 。\n", "\n", "BOS where did you have your picture taken ? EOS\n", "BOS 你 从 哪 里 照 的 相 ? EOS\n", "translation: 你 哪 裡 有 關 照 相 關 的 照 片 嗎 ?\n", "\n", "BOS thank you for UNK this delicious cake . EOS\n", "BOS 谢 谢 你 烤 的 美 味 蛋 糕 。 EOS\n", "translation: 谢 谢 你 烤 的 美 味 蛋 糕 。\n", "\n", "BOS he is getting better bit by bit . EOS\n", "BOS 他 一 點 一 點 地 變 好 。 EOS\n", "translation: 他 一 點 地 變 好 轉 。\n", "\n", "BOS i guess that she is over thirty . EOS\n", "BOS 我 猜 她 超 過 三 十 歲 了 。 EOS\n", "translation: 我 猜 想 她 超 三 十 三 十 歲 了 。\n", "\n", "BOS one of the girls was left behind . EOS\n", "BOS 這 些 女 孩 當 中 其 中 一 個 被 留 下 來 了 。 EOS\n", "translation: 一 个 女 孩 的 手 里 离 开 了 。\n", "\n", "BOS to what extent can he be UNK ? EOS\n", "BOS 可 以 相 信 他 到 什 麼 程 度 ? EOS\n", "translation: 能 确 定 他 能 做 什 么 ?\n", "\n", "BOS this door is locked from the inside . EOS\n", "BOS 這 門 從 裡 面 被 反 鎖 了 。 EOS\n", "translation: 這 個 門 被 反 對 面 包 口 面 包 口 臉 。\n", "\n", "BOS can you translate this song for me ? EOS\n", "BOS 你 能 为 我 翻 译 这 首 歌 吗 ? EOS\n", "translation: 你 可 以 幫 我 翻 譯 這 首 歌 嗎 ?\n", "\n", "BOS a card was UNK to the gift . EOS\n", "BOS 一 張 卡 片 被 附 在 了 禮 物 上 。 EOS\n", "translation: 一 張 卡 片 被 附 在 了 禮 物 。\n", "\n", "BOS that is the office where he works . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 那 是 他 工 作 的 辦 公 室 。 EOS\n", "translation: 那 是 他 工 作 的 辦 公 室 。\n", "\n", "BOS tell me what to do with it . EOS\n", "BOS 告 诉 我 拿 它 做 什 么 。 EOS\n", "translation: 告 訴 我 該 做 什 麼 。\n", "\n", "BOS my father is suffering from a cold . EOS\n", "BOS 我 父 親 感 冒 了 。 EOS\n", "translation: 我 父 親 感 冒 了 。\n", "\n", "BOS i think what you say is true . EOS\n", "BOS 我 觉 得 你 说 的 是 真 的 。 EOS\n", "translation: 我 想 你 說 的 是 真 實 的 。\n", "\n", "BOS may i pay with a credit card ? EOS\n", "BOS 我 能 用 信 用 卡 支 付 吗 ? EOS\n", "translation: 我 可 以 用 信 用 卡 付 帳 嗎 ?\n", "\n", "BOS he was late for the UNK bus . EOS\n", "BOS 他 错 过 了 7 点 3 0 分 的 车 。 EOS\n", "translation: 他 遲 到 了 3 0 分 衣 车 。\n", "\n", "BOS have you ever been to new york ? EOS\n", "BOS 您 已 经 去 过 纽 约 了 吗 ? EOS\n", "translation: 你 已 经 去 过 纽 约 了 吗 ?\n", "\n", "BOS he flew a kite with his son . EOS\n", "BOS 他 和 他 的 儿 子 放 风 UNK 了 。 EOS\n", "translation: 他 和 他 儿 子 放 风 休 。\n", "\n", "BOS she gave me a smile of recognition . EOS\n", "BOS 她 給 了 我 一 個 認 可 的 微 笑 。 EOS\n", "translation: 她 給 了 我 一 個 認 可 的 微 笑 。\n", "\n", "BOS the UNK seems to be very pretty . EOS\n", "BOS 新 娘 好 像 非 常 漂 亮 。 EOS\n", "translation: 这 似 乎 很 漂 亮 。\n", "\n", "BOS she asked him to open the window . EOS\n", "BOS 她 要 求 他 打 開 窗 戶 。 EOS\n", "translation: 她 請 他 把 窗 戶 打 開 。\n", "\n", "BOS remember to mail this letter tomorrow morning . EOS\n", "BOS 明 天 早 上 記 得 去 寄 這 封 信 。 EOS\n", "translation: 記 得 明 天 早 上 記 得 寄 這 封 信 。\n", "\n", "BOS we had a welcome party for her . EOS\n", "BOS 我 們 為 她 舉 辦 了 一 個 歡 迎 會 。 EOS\n", "translation: 我 们 为 她 很 高 兴 趣 。\n", "\n", "BOS he gave me whatever help i needed . EOS\n", "BOS 他 給 了 我 任 何 我 需 要 的 幫 助 。 EOS\n", "translation: 他 給 了 我 任 何 我 需 要 的 幫 助 。\n", "\n", "BOS we 're waiting for the right time . EOS\n", "BOS 我 們 在 等 對 的 時 機 。 EOS\n", "translation: 我 們 正 等 著 這 個 時 起 來 。\n", "\n", "BOS i 'm not about to ask him . EOS\n", "BOS 我 不 想 要 問 他 。 EOS\n", "translation: 我 不 想 他 。\n", "\n", "BOS five years is too long to wait . EOS\n", "BOS 五 年 太 漫 長 而 無 法 等 待 。 EOS\n", "translation: 五 年 太 長 而 無 法 等 待 。\n", "\n", "BOS what 're your plans for the weekend ? EOS\n", "BOS 你 週 末 有 什 麼 計 劃 ? EOS\n", "translation: 你 週 末 有 什 麼 計 劃 ?\n", "\n", "BOS they gave a big party for me . EOS\n", "BOS 他 們 為 我 辦 了 一 個 盛 大 的 派 對 。 EOS\n", "translation: 他 們 為 我 辦 了 一 個 盛 大 的 派 對 。\n", "\n", "BOS she made a new suit for him . EOS\n", "BOS 她 做 了 一 套 新 衣 服 給 他 。 EOS\n", "translation: 她 為 他 做 了 一 套 新 衣 服 。\n", "\n", "BOS a fire broke out during the night . EOS\n", "BOS 在 夜 間 發 生 了 火 災 。 EOS\n", "translation: 在 晚 上 火 警 時 發 生 了 火 災 。\n", "\n", "BOS tell me the reason why she got angry . EOS\n", "BOS 告 诉 我 她 为 什 么 生 气 。 EOS\n", "translation: 告 诉 我 她 为 什 么 生 气 。\n", "\n", "BOS i wish to climb mt . fuji again . EOS\n", "BOS 我 希 望 再 爬 一 次 上 富 士 山 。 EOS\n", "translation: 我 希 望 再 爬 一 次 上 富 士 山 。\n", "\n", "BOS he can speak french , and obviously english . EOS\n", "BOS 他 能 说 法 语 , 很 明 显 还 有 英 语 。 EOS\n", "translation: 他 能 說 法 語 , 很 明 顯 中 午 。\n", "\n", "BOS he did not think he needed their UNK . EOS\n", "BOS 他 认 为 他 不 需 要 他 们 的 保 护 。 EOS\n", "translation: 他 不 相 信 他 們 需 要 他 們 的 需 要 的 需 要 的 。\n", "\n", "BOS i want to be the one who UNK . EOS\n", "BOS 我 想 成 为 决 策 的 人 。 EOS\n", "translation: 我 想 成 为 一 个 人 。\n", "\n", "BOS tom has been struck by lightning three times . EOS\n", "BOS 湯 姆 被 閃 電 擊 中 過 三 次 。 EOS\n", "translation: 汤 姆 被 玛 丽 三 次 钟 轻 松 开 始 。\n", "\n", "BOS i think you 're a really nice guy . EOS\n", "BOS 我 認 為 你 真 的 是 一 個 好 人 。 EOS\n", "translation: 我 想 你 是 一 個 好 人 。\n", "\n", "BOS tom has a lot of experience in computers . EOS\n", "BOS 汤 姆 对 电 脑 有 很 多 经 验 。 EOS\n", "translation: 汤 姆 有 很 多 经 验 乐 员 。\n", "\n", "BOS tom was there UNK , but not UNK . EOS\n", "BOS 汤 姆 人 在 心 不 在 。 EOS\n", "translation: 汤 姆 , 但 没 有 那 里 。\n", "\n", "BOS my baby began crying , asking for milk . EOS\n", "BOS 我 的 宝 宝 开 始 哭 了 , 他 想 要 吃 奶 。 EOS\n", "translation: 我 的 宝 开 始 哭 了 , 他 想 吃 奶 。\n", "\n", "BOS my parents ' UNK went through the war . EOS\n", "BOS 我 父 母 那 一 代 经 历 过 战 争 。 EOS\n", "translation: 我 父 母 那 一 代 经 历 过 战 争 。\n", "\n", "BOS his little brother is a famous soccer player . EOS\n", "BOS 他 弟 弟 是 个 有 名 的 足 球 选 手 。 EOS\n", "translation: 他 弟 弟 弟 是 个 足 球 员 。\n", "\n", "BOS i tried to convince tom to come home . EOS\n", "BOS 我 试 着 说 服 汤 姆 回 家 。 EOS\n", "translation: 我 试 着 说 服 汤 姆 回 家 。\n", "\n", "BOS i do n't know how to handle children . EOS\n", "BOS 我 不 知 道 如 何 對 待 孩 子 。 EOS\n", "translation: 我 不 知 道 如 何 對 孩 子 。\n", "\n", "BOS there are not many books on these UNK . EOS\n", "BOS 这 些 书 架 上 没 有 很 多 书 。 EOS\n", "translation: 這 些 書 裡 沒 有 很 多 書 。\n", "\n", "BOS he said nothing , which made her angry . EOS\n", "BOS 他 什 么 也 没 说 , 这 让 她 很 生 气 。 EOS\n", "translation: 他 什 麼 都 沒 說 , 她 為 生 氣 。\n", "\n", "BOS i ca n't believe you 're giving up . EOS\n", "BOS 我 不 能 相 信 你 在 放 弃 。 EOS\n", "translation: 我 不 敢 相 信 你 在 放 弃 。\n", "\n", "BOS i do n't like any of these records . EOS\n", "BOS 我 不 喜 歡 這 些 唱 片 中 的 任 何 一 張 。 EOS\n", "translation: 我 不 喜 欢 那 些 唱 主 钱 。\n", "\n", "BOS some of them seem to be too difficult . EOS\n", "BOS 其 中 一 些 似 乎 太 难 了 。 EOS\n", "translation: 他 们 看 来 很 难 。\n", "\n", "BOS tom knows that i do n't like him . EOS\n", "BOS 汤 姆 知 道 我 不 喜 欢 他 。 EOS\n", "translation: 汤 姆 知 道 我 不 喜 欢 他 。\n", "\n", "BOS they talk as though they were old friends . EOS\n", "BOS 他 们 像 老 朋 友 一 样 交 谈 。 EOS\n", "translation: 他 们 像 老 朋 友 一 样 交 谈 。\n", "\n", "BOS i felt an UNK to cry out loud . EOS\n", "BOS 我 突 然 好 想 大 叫 。 EOS\n", "translation: 我 覺 得 好 像 哭 。\n", "\n", "BOS let 's take a walk in the park . EOS\n", "BOS 讓 我 們 在 公 園 裡 散 步 吧 。 EOS\n", "translation: 我 们 去 公 园 里 散 步 吧 。\n", "\n", "BOS you do n't have to do it immediately . EOS\n", "BOS 你 没 必 要 马 上 去 做 。 EOS\n", "translation: 你 不 必 要 马 上 去 做 。\n", "\n", "BOS this tie does n't go with my suit . EOS\n", "BOS 這 條 領 帶 跟 我 的 西 裝 不 配 。 EOS\n", "translation: 這 條 領 帶 帶 不 去 我 的 西 裝 。\n", "\n", "BOS it 's going to rain , for sure . EOS\n", "BOS 要 下 雨 了 , 我 敢 肯 定 。 EOS\n", "translation: 要 下 雨 了 , 但 是 不 確 定 。\n", "\n", "BOS i 'm getting off at the next station . EOS\n", "BOS 我 下 一 站 下 车 。 EOS\n", "translation: 我 在 下 一 站 下 車 。\n", "\n", "BOS i 'm sure tom will do his best . EOS\n", "BOS 我 确 定 汤 姆 会 尽 力 去 做 。 EOS\n", "translation: 我 确 定 汤 姆 会 尽 力 做 。\n", "\n", "BOS you do n't have to work on sundays . EOS\n", "BOS 你 週 日 不 必 工 作 。 EOS\n", "translation: 你 週 日 不 必 工 作 。\n", "\n", "BOS i 'd like to go abroad one day . EOS\n", "BOS 我 想 有 一 天 去 国 外 。 EOS\n", "translation: 我 想 出 去 那 天 去 。\n", "\n", "BOS the party was put off for a week . EOS\n", "BOS 派 对 延 期 了 一 周 。 EOS\n", "translation: 派 對 上 來 決 定 很 開 始 。\n", "\n", "BOS bring me a sheet of paper , please . EOS\n", "BOS 请 带 一 张 纸 给 我 。 EOS\n", "translation: 请 带 眼 镜 。\n", "\n", "BOS what do you think of tom 's cooking ? EOS\n", "BOS 你 覺 得 T o m 的 廚 藝 如 何 ? EOS\n", "translation: 你 覺 得 T o m 的 廚 藝 如 何 ?\n", "\n", "BOS what do you think of japan 's economy ? EOS\n", "BOS 您 怎 樣 看 日 本 的 經 濟 呢 ? EOS\n", "translation: 你 覺 得 日 本 料 理 怎 麼 樣 ?\n", "\n", "BOS you should have helped him with his work . EOS\n", "BOS 你 應 該 幫 他 工 作 的 。 EOS\n", "translation: 你 應 該 幫 他 工 作 的 。\n", "\n", "BOS the child has a case of chicken UNK . EOS\n", "BOS 这 孩 子 有 水 UNK 的 症 状 。 EOS\n", "translation: 这 孩 子 的 口 重 量 的 数 量 。\n", "\n", "BOS he is n't going to buy a camera . EOS\n", "BOS 他 不 打 算 买 一 个 摄 像 机 。 EOS\n", "translation: 他 不 會 需 要 買 一 個 照 相 機 。\n", "\n", "BOS you ca n't speak english , can you ? EOS\n", "BOS 你 不 会 说 英 语 , 是 吗 ? EOS\n", "translation: 你 不 會 說 英 語 , 是 嗎 ?\n", "\n", "BOS tom made his UNK eat in the dark . EOS\n", "BOS 汤 姆 让 他 的 UNK 人 们 在 黑 暗 下 进 餐 。 EOS\n", "translation: 汤 姆 让 他 的 人 做 饭 。\n", "\n", "BOS the situation is improving , so UNK up ! EOS\n", "BOS 情 況 正 在 改 善 , 所 以 UNK 作 起 來 ! EOS\n", "translation: 情 況 正 在 改 善 , 所 以 我 們 說 改 變 笑 。\n", "\n", "BOS i would like to improve my english pronunciation . EOS\n", "BOS 我 想 改 善 我 的 英 语 发 音 。 EOS\n", "translation: 我 想 改 善 我 的 英 语 发 音 。\n", "\n", "BOS i do n't want to eat lunch now . EOS\n", "BOS 我 现 在 不 想 吃 午 饭 。 EOS\n", "translation: 我 现 在 不 想 吃 午 饭 。\n", "\n", "BOS you will be able to see him tomorrow . EOS\n", "BOS 明 天 你 可 以 看 到 他 。 EOS\n", "translation: 你 明 天 會 來 看 他 。\n", "\n", "BOS it may be that he likes his job . EOS\n", "BOS 他 可 能 喜 欢 他 的 工 作 。 EOS\n", "translation: 他 可 能 喜 欢 他 的 工 作 。\n", "\n", "BOS i do n't know why they are fighting . EOS\n", "BOS 我 不 知 道 他 們 為 什 麼 在 打 架 。 EOS\n", "translation: 我 不 知 道 他 們 為 什 麼 在 打 架 。\n", "\n", "BOS i 'm awfully sorry that i was late . EOS\n", "BOS 非 常 抱 歉 , 我 遲 到 了 。 EOS\n", "translation: 我 很 抱 歉 , 我 遲 到 了 。\n", "\n", "BOS he 's not at all afraid of snakes . EOS\n", "BOS 他 一 點 也 不 怕 蛇 。 EOS\n", "translation: 他 一 點 也 不 怕 蛇 。\n", "\n", "BOS i had a really bad UNK last night . EOS\n", "BOS 昨 晚 我 做 了 一 个 可 怕 的 UNK 梦 。 EOS\n", "translation: 昨 晚 我 做 了 一 個 糟 糕 的 事 情 。\n", "\n", "BOS i do n't want to wait that long . EOS\n", "BOS 我 不 想 等 那 么 久 。 EOS\n", "translation: 我 不 想 等 那 麼 久 。\n", "\n", "BOS what 's your favorite way to cook potatoes ? EOS\n", "BOS 你 最 喜 歡 用 什 麼 方 式 煮 馬 鈴 薯 ? EOS\n", "translation: 你 最 喜 歡 用 什 麼 方 法 煮 豆 子 ?\n", "\n", "BOS she 's almost the same height as you . EOS\n", "BOS 她 差 不 多 和 你 一 样 高 。 EOS\n", "translation: 她 幾 乎 跟 你 一 樣 高 。\n", "\n", "BOS i 'll take you to the bus stop . EOS\n", "BOS 我 会 带 你 到 公 交 车 站 。 EOS\n", "translation: 我 會 帶 你 去 公 交 車 。\n", "\n", "BOS why do n't we get out of here ? EOS\n", "BOS 我 们 为 什 么 不 离 开 这 里 ? EOS\n", "translation: 为 什 么 不 离 开 这 儿 ?\n", "\n", "BOS the man and his wife helped each other . EOS\n", "BOS 这 男 人 和 他 妻 子 互 相 帮 助 。 EOS\n", "translation: 這 位 老 人 和 他 妻 子 互 相 幫 助 。\n", "\n", "BOS tomorrow 's going to be a big day . EOS\n", "BOS 明 天 是 个 大 日 子 。 EOS\n", "translation: 明 天 是 一 個 大 日 子 。\n", "\n", "BOS people should understand that the world is changing . EOS\n", "BOS 人 应 该 明 白 世 界 在 变 。 EOS\n", "translation: 人 應 該 明 白 世 界 在 改 變 的 。\n", "\n", "BOS she insisted that i should see the doctor . EOS\n", "BOS 她 坚 持 让 我 去 看 医 生 。 EOS\n", "translation: 她 坚 持 我 应 该 看 见 到 医 生 。\n", "\n", "BOS UNK UNK UNK the price of many goods . EOS\n", "BOS 大 量 生 產 降 低 許 多 商 品 的 價 格 。 EOS\n", "translation: 許 多 價 格 這 個 價 格 許 多 商 品 有 許 多 商 品 。\n", "\n", "BOS tom is going out this afternoon with mary . EOS\n", "BOS 今 天 下 午 汤 姆 和 玛 丽 会 一 起 出 去 。 EOS\n", "translation: 汤 姆 今 天 下 午 出 去 安 宁 。\n", "\n", "BOS she did n't want to speak to anyone . EOS\n", "BOS 她 不 想 跟 任 何 人 說 話 。 EOS\n", "translation: 她 不 想 跟 任 何 人 說 話 。\n", "\n", "BOS i 'm too tired to walk any further . EOS\n", "BOS 我 累 得 再 也 走 不 動 了 。 EOS\n", "translation: 我 累 得 再 也 不 能 再 也 走 。\n", "\n", "BOS the UNK means of travel is by plane . EOS\n", "BOS 旅 行 最 快 的 方 式 是 乘 飞 机 。 EOS\n", "translation: 旅 行 最 快 的 方 式 是 旅 遊 的 旅 遊 成 的 。\n", "\n", "BOS he UNK a plane bound for los angeles . EOS\n", "BOS 他 登 上 了 前 往 洛 杉 矶 的 飞 机 。 EOS\n", "translation: 他 登 上 了 前 往 洛 杉 矶 的 飞 机 。\n", "\n", "BOS the elevator seems to be out of order . EOS\n", "BOS 电 梯 好 像 故 障 了 。 EOS\n", "translation: 电 梯 好 像 故 障 了 。\n", "\n", "BOS tom refused to even listen to my suggestions . EOS\n", "BOS 汤 姆 甚 至 拒 绝 听 我 的 建 议 。 EOS\n", "translation: 汤 姆 甚 至 拒 绝 听 我 的 建 议 。\n", "\n", "BOS he was n't able to attend the party . EOS\n", "BOS 他 無 法 參 加 這 個 派 對 。 EOS\n", "translation: 他 無 法 參 加 這 個 派 對 。\n", "\n", "BOS he got down the book from the shelf . EOS\n", "BOS 他 從 架 上 拿 下 書 。 EOS\n", "translation: 他 從 架 上 拿 下 這 本 書 。\n", "\n", "BOS i 'm getting off at the next stop . EOS\n", "BOS 我 將 在 下 一 站 下 車 。 EOS\n", "translation: 我 在 下 一 站 下 雨 。\n", "\n", "BOS i 'm getting off at the next station . EOS\n", "BOS 我 會 在 下 一 站 下 車 。 EOS\n", "translation: 我 在 下 一 站 下 車 。\n", "\n", "BOS UNK UNK was blind , deaf and UNK . EOS\n", "BOS 海 倫 凱 勒 眼 盲 , 耳 聾 , 又 UNK 。 EOS\n", "translation: 奴 倫 凱 勒 眼 盲 , 獨 自 身 永 遠 。\n", "\n", "BOS the sum of 5 and 3 is 8 . EOS\n", "BOS 五 和 三 的 總 和 是 八 。 EOS\n", "translation: 五 和 三 十 八 的 總 和 是 八 。\n", "\n", "BOS we 'll think about it in due time . EOS\n", "BOS 到 时 候 我 们 再 考 虑 吧 。 EOS\n", "translation: 我 们 会 尽 快 处 理 它 。\n", "\n", "BOS do n't let tom lie on the floor . EOS\n", "BOS 别 让 汤 姆 躺 在 地 板 上 。 EOS\n", "translation: 别 让 汤 姆 躺 在 地 板 上 。\n", "\n", "BOS what is the UNK of your new book ? EOS\n", "BOS 你 新 書 的 書 名 是 什 麼 ? EOS\n", "translation: 你 新 書 的 書 是 什 麼 ?\n", "\n", "BOS i get two hour 's exercise every day . EOS\n", "BOS 我 每 天 做 兩 個 小 時 的 練 習 。 EOS\n", "translation: 我 每 天 做 兩 個 小 時 的 運 動 。\n", "\n", "BOS i do n't want to fail my exams . EOS\n", "BOS 我 不 想 不 及 格 。 EOS\n", "translation: 我 不 想 考 试 失 败 。\n", "\n", "BOS i was n't quite sure what to say . EOS\n", "BOS 我 不 太 確 定 要 說 什 麼 。 EOS\n", "translation: 我 不 太 確 定 說 什 麼 。\n", "\n", "BOS tom wo n't let you in his house . EOS\n", "BOS 汤 姆 不 会 让 你 进 他 的 屋 子 。 EOS\n", "translation: 汤 姆 不 会 让 你 进 他 的 房 子 。\n", "\n", "BOS the school is five kilometers from my home . EOS\n", "BOS 學 校 離 我 家 有 五 公 里 遠 。 EOS\n", "translation: 學 校 離 我 家 有 五 公 里 遠 。\n", "\n", "BOS london 's climate differs from that of tokyo . EOS\n", "BOS 伦 敦 的 气 候 和 东 京 的 不 同 。 EOS\n", "translation: 伦 敦 的 气 候 和 东 京 的 不 同 。\n", "\n", "BOS your parents did n't come , did they ? EOS\n", "BOS 你 的 父 母 沒 來 , 是 嗎 ? EOS\n", "translation: 你 父 母 沒 來 , 是 嗎 ?\n", "\n", "BOS excuse me for opening your letter by mistake . EOS\n", "BOS 對 不 起 , 我 錯 開 了 你 的 信 。 EOS\n", "translation: 對 不 起 , 我 錯 開 了 你 的 信 。\n", "\n", "BOS you do n't have to answer right away . EOS\n", "BOS 你 不 用 马 上 回 答 。 EOS\n", "translation: 你 不 必 快 速 作 答 。\n", "\n", "BOS she did n't like living in the city . EOS\n", "BOS 她 不 喜 歡 住 在 城 市 裡 。 EOS\n", "translation: 她 不 喜 欢 住 在 城 市 里 。\n", "\n", "BOS the number of cars is on the increase . EOS\n", "BOS 汽 车 的 数 量 在 增 长 。 EOS\n", "translation: 汽 车 的 数 字 很 增 长 。\n", "\n", "BOS i have n't seen her since last month . EOS\n", "BOS 我 從 上 個 月 開 始 就 沒 有 看 到 她 了 。 EOS\n", "translation: 我 從 上 個 月 開 始 就 沒 有 見 過 她 。\n", "\n", "BOS tom did n't want to talk to anyone . EOS\n", "BOS 汤 姆 不 想 跟 任 何 人 说 话 。 EOS\n", "translation: 汤 姆 没 想 跟 任 何 人 说 话 。\n", "\n", "BOS what time does the train arrive at yokohama ? EOS\n", "BOS 火 车 什 么 时 候 到 横 滨 ? EOS\n", "translation: 火 车 什 么 时 候 到 横 滨 ?\n", "\n", "BOS you 're not going in the right direction . EOS\n", "BOS 你 要 南 UNK 北 UNK 了 。 EOS\n", "translation: 你 不 用 处 理 。\n", "\n", "BOS he postponed leaving for hokkaido until next month . EOS\n", "BOS 他 延 遲 到 下 個 月 去 北 海 道 。 EOS\n", "translation: 他 延 期 待 在 下 個 月 。\n", "\n", "BOS at first , i thought i was sick . EOS\n", "BOS 一 开 始 , 我 以 为 我 病 了 。 EOS\n", "translation: 第 一 次 , 我 以 为 我 病 了 。\n", "\n", "BOS i promised him that i would come today . EOS\n", "BOS 我 答 应 他 我 今 天 会 来 。 EOS\n", "translation: 我 答 应 他 今 天 会 来 的 。\n", "\n", "BOS we had three tries and failed each time . EOS\n", "BOS 我 们 试 了 三 次 , 都 失 败 了 。 EOS\n", "translation: 我 们 已 经 试 过 三 次 时 没 有 尝 试 。\n", "\n", "BOS i still prefer to write letters by hand . EOS\n", "BOS 我 更 喜 欢 用 手 写 信 。 EOS\n", "translation: 我 最 喜 欢 写 信 手 指 边 就 是 写 信 。\n", "\n", "BOS it 's no good trying to UNK her . EOS\n", "BOS 試 圖 勸 她 是 沒 有 用 的 。 EOS\n", "translation: 試 圖 勸 她 是 沒 有 用 的 。\n", "\n", "BOS they did n't know what to do first . EOS\n", "BOS 他 們 不 知 道 先 做 什 麼 。 EOS\n", "translation: 他 們 不 知 道 先 為 什 麼 。\n", "\n", "BOS some of my friends can speak english well . EOS\n", "BOS 我 的 一 些 朋 友 英 语 说 得 很 好 。 EOS\n", "translation: 我 的 一 些 朋 友 英 语 说 得 很 好 。\n", "\n", "BOS i want to go to see a movie . EOS\n", "BOS 我 要 去 看 電 影 。 EOS\n", "translation: 我 想 去 看 電 影 。\n", "\n", "BOS to UNK is human , to forgive divine . EOS\n", "BOS 人 皆 有 錯 , 唯 聖 者 能 UNK 。 EOS\n", "translation: 人 皆 有 錯 , 唯 聖 者 能 够 够 拯 。\n", "\n", "BOS tom has loved mary for a long time . EOS\n", "BOS 汤 姆 爱 玛 丽 很 久 了 。 EOS\n", "translation: 汤 姆 爱 玛 丽 很 久 。\n", "\n", "BOS it is n't necessary to answer that letter . EOS\n", "BOS 沒 有 必 要 回 那 封 信 。 EOS\n", "translation: 沒 有 必 要 回 那 封 信 。\n", "\n", "BOS it is high time you were in bed . EOS\n", "BOS 你 早 该 睡 了 。 EOS\n", "translation: 你 睡 觉 了 。\n", "\n", "BOS tom seems to be much UNK than me . EOS\n", "BOS 汤 姆 看 来 比 我 高 兴 。 EOS\n", "translation: 汤 姆 看 来 比 我 高 兴 。\n", "\n", "BOS i 've had to do everything by myself . EOS\n", "BOS 我 必 须 靠 自 己 做 所 有 事 。 EOS\n", "translation: 我 必 须 拒 绝 自 己 做 所 有 事 。\n", "\n", "BOS what do you think i 've been doing ? EOS\n", "BOS 你 觉 得 我 之 前 在 做 什 么 ? EOS\n", "translation: 你 認 為 我 在 做 什 麼 嗎 ?\n", "\n", "BOS we are in the UNK of UNK energy . EOS\n", "BOS 我 們 身 在 原 子 能 時 代 。 EOS\n", "translation: 我 们 有 充 分 的 外 交 通 。\n", "\n", "BOS we failed due to a lack of UNK . EOS\n", "BOS 我 們 因 缺 乏 準 備 而 失 敗 了 。 EOS\n", "translation: 我 们 失 败 了 , 所 以 平 常 失 败 。\n", "\n", "BOS i 'm getting more and more gray hair . EOS\n", "BOS 我 的 白 髮 越 來 越 多 。 EOS\n", "translation: 我 的 白 髮 越 來 越 多 。\n", "\n", "BOS we have to find out where tom is . EOS\n", "BOS 我 们 必 须 查 明 汤 姆 在 哪 里 。 EOS\n", "translation: 我 们 必 须 拒 绝 汤 姆 在 哪 里 。\n", "\n", "BOS i 'll never forget what you told me . EOS\n", "BOS 我 將 永 遠 不 會 忘 記 你 告 訴 過 我 的 話 。 EOS\n", "translation: 我 永 遠 不 會 忘 記 你 告 訴 過 我 的 話 。\n", "\n", "BOS i did n't like beer at that time . EOS\n", "BOS 那 时 候 我 不 喜 欢 啤 酒 。 EOS\n", "translation: 我 不 喜 欢 啤 酒 。\n", "\n", "BOS you ought not to have UNK the secret . EOS\n", "BOS 你 本 不 该 透 露 秘 密 的 。 EOS\n", "translation: 你 不 應 該 有 秘 密 的 。\n", "\n", "BOS i 'm afraid you have the wrong number . EOS\n", "BOS 我 恐 怕 您 打 错 电 话 了 。 EOS\n", "translation: 我 怕 你 有 七 點 的 電 話 號 碼 。\n", "\n", "BOS my sister has made remarkable progress in english . EOS\n", "BOS 我 妹 妹 的 英 语 有 了 明 显 的 进 步 。 EOS\n", "translation: 我 妹 妹 的 英 语 有 了 明 显 的 进 步 。\n", "\n", "BOS you had better wait until the police come . EOS\n", "BOS 你 最 好 等 到 警 察 前 来 。 EOS\n", "translation: 你 最 好 待 在 這 個 警 方 的 警 方 。\n", "\n", "BOS in UNK with tokyo , london is small . EOS\n", "BOS 和 东 京 比 , 伦 敦 很 小 。 EOS\n", "translation: 在 東 京 , 伦 敦 很 小 。\n", "\n", "BOS science begins when you ask why and how . EOS\n", "BOS 為 何 如 何 ? 你 疑 問 的 當 下 就 是 科 學 的 開 端 。 EOS\n", "translation: 科 學 叫 什 麼 時 候 , 你 都 會 開 始 。\n", "\n", "BOS can i use your dictionary for a minute ? EOS\n", "BOS 我 能 用 一 下 你 的 字 典 吗 ? EOS\n", "translation: 我 可 以 用 你 的 字 典 嗎 ?\n", "\n", "BOS do you have this in a bigger size ? EOS\n", "BOS 你 有 比 這 個 再 大 一 點 的 尺 寸 嗎 ? EOS\n", "translation: 你 有 比 這 個 小 約 一 點 的 尺 寸 嗎 ?\n", "\n", "BOS i do n't know where tom was going . EOS\n", "BOS 我 不 知 道 汤 姆 往 哪 去 了 。 EOS\n", "translation: 我 不 知 道 汤 姆 会 在 哪 里 。\n", "\n", "BOS i saw a dirty dog enter the garden . EOS\n", "BOS 我 看 见 一 条 脏 狗 进 了 花 园 。 EOS\n", "translation: 我 看 见 了 一 条 脏 狗 进 花 园 。\n", "\n", "BOS you have a really good sense of direction . EOS\n", "BOS 你 的 方 向 感 很 好 。 EOS\n", "translation: 你 的 方 向 感 很 好 。\n", "\n", "BOS i have to stay in bed all day . EOS\n", "BOS 我 不 得 不 一 整 天 都 待 在 床 上 。 EOS\n", "translation: 我 一 整 天 都 得 呆 在 床 上 。\n", "\n", "BOS i hope i can see you at christmas . EOS\n", "BOS 我 期 望 能 在 圣 诞 节 见 到 你 。 EOS\n", "translation: 我 希 望 能 很 快 就 能 見 到 你 。\n", "\n", "BOS she goes to a girls ' high school . EOS\n", "BOS 她 上 女 子 高 中 。 EOS\n", "translation: 她 上 个 女 儿 高 中 。\n", "\n", "BOS i ca n't believe tom is getting married . EOS\n", "BOS 我 不 能 相 信 汤 姆 要 结 婚 了 。 EOS\n", "translation: 我 不 敢 相 信 汤 姆 结 婚 了 。\n", "\n", "BOS that just does n't make sense to me . EOS\n", "BOS 那 只 是 對 我 來 說 沒 有 意 義 。 EOS\n", "translation: 这 只 是 我 的 感 情 不 同 意 。\n", "\n", "BOS i 'd like to pay by credit card . EOS\n", "BOS 我 想 用 信 用 卡 支 付 。 EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "translation: 我 想 要 用 信 用 卡 支 付 。\n", "\n", "BOS will you tell me why you like her ? EOS\n", "BOS 你 能 告 诉 我 你 为 什 么 喜 欢 她 吗 ? EOS\n", "translation: 你 能 告 诉 我 你 为 什 么 吗 ?\n", "\n", "BOS i ca n't figure out what he means . EOS\n", "BOS 我 不 懂 他 的 意 思 。 EOS\n", "translation: 我 不 懂 他 的 意 思 。\n", "\n", "BOS he told me the story of his life . EOS\n", "BOS 他 给 我 讲 述 了 他 的 一 生 。 EOS\n", "translation: 他 告 訴 我 他 的 故 事 。\n", "\n", "BOS i 'll miss you when you 're gone . EOS\n", "BOS 你 走 後 , 我 會 想 念 你 的 。 EOS\n", "translation: 我 會 想 你 走 的 時 候 , 你 就 會 想 念 著 你 。\n", "\n", "BOS can you imagine walking around on the moon ? EOS\n", "BOS 你 可 以 想 象 在 月 球 上 行 走 吗 ? EOS\n", "translation: 你 可 以 想 象 在 月 球 上 行 走 嗎 ?\n", "\n", "BOS it 's easy for monkeys to climb trees . EOS\n", "BOS 猴 子 爬 树 容 易 。 EOS\n", "translation: 猴 子 爬 树 容 易 。\n", "\n", "BOS you are the master of your own UNK . EOS\n", "BOS 你 才 是 自 己 命 运 的 主 人 。 EOS\n", "translation: 你 是 自 己 的 命 运 中 的 主 要 控 制 。\n", "\n", "BOS air quality has UNK these past few years . EOS\n", "BOS 这 些 年 空 气 质 量 恶 化 了 。 EOS\n", "translation: 這 些 空 氣 有 費 多 久 的 費 。\n", "\n", "BOS he has UNK , so he works hard . EOS\n", "BOS 他 有 抱 負 , 所 以 他 很 努 力 工 作 。 EOS\n", "translation: 他 有 聽 得 這 麼 辛 苦 , 他 很 難 工 作 。\n", "\n", "BOS you 're really brave , are n't you ? EOS\n", "BOS 你 很 勇 敢 , 不 是 嗎 ? EOS\n", "translation: 你 很 勇 敢 , 不 是 嗎 ?\n", "\n", "BOS tom could n't tell mary everything he knew . EOS\n", "BOS 汤 姆 不 能 告 诉 玛 丽 他 知 道 的 所 有 事 。 EOS\n", "translation: 汤 姆 什 么 都 不 能 告 诉 玛 丽 他 知 道 的 。\n", "\n", "BOS he lost a fortune in the stock market . EOS\n", "BOS 他 玩 股 票 UNK 了 。 EOS\n", "translation: 他 玩 股 票 了 一 大 部 短 元 。\n", "\n", "BOS she left her son a lot of money . EOS\n", "BOS 她 留 了 很 多 钱 给 她 儿 子 。 EOS\n", "translation: 她 留 給 她 兒 子 很 多 錢 。\n", "\n", "BOS the only thing i have now are memories . EOS\n", "BOS 我 现 在 仅 有 的 东 西 就 是 我 的 记 忆 了 。 EOS\n", "translation: 我 现 在 有 那 些 东 西 。\n", "\n", "BOS my boss assigned the hard job to me . EOS\n", "BOS 我 老 板 把 艰 巨 的 任 务 指 派 给 了 我 。 EOS\n", "translation: 我 老 板 把 艰 巨 的 话 给 我 。\n", "\n", "BOS do n't forget to put out the fire . EOS\n", "BOS 不 要 忘 了 熄 火 。 EOS\n", "translation: 不 要 忘 了 熄 火 。\n", "\n", "BOS i do n't want him to touch me . EOS\n", "BOS 我 不 想 被 他 感 动 。 EOS\n", "translation: 我 不 想 让 他 感 到 。\n", "\n", "BOS he helped me to get over the difficulties . EOS\n", "BOS 他 帮 助 我 克 服 了 困 难 。 EOS\n", "translation: 他 幫 我 很 難 相 解 釋 。\n", "\n", "BOS i never thought it would come to this . EOS\n", "BOS 我 从 没 想 过 它 会 变 成 这 样 。 EOS\n", "translation: 我 从 没 想 过 这 样 的 会 变 成 为 这 样 。\n", "\n", "BOS i 'm planning to stay at the hotel . EOS\n", "BOS 我 打 算 待 在 旅 館 裡 。 EOS\n", "translation: 我 打 算 待 在 旅 館 裡 。\n", "\n", "BOS UNK , it 's going to rain tomorrow . EOS\n", "BOS 明 天 肯 定 会 下 雨 。 EOS\n", "translation: 明 天 下 雨 , 天 然 就 要 下 雨 。\n", "\n", "BOS in esperanto there are only UNK grammar rules . EOS\n", "BOS 世 界 語 只 有 1 6 個 語 法 規 則 。 EOS\n", "translation: 世 界 語 只 有 1 6 個 語 法 語 法 語 言 。\n", "\n", "BOS it turned out that the rumor was false . EOS\n", "BOS 谣 言 [ 最 后 ] 证 明 是 假 的 。 EOS\n", "translation: 谣 言 [ 最 后 ] 证 明 是 假 的 。\n", "\n", "BOS i guess i have n't made myself clear . EOS\n", "BOS 我 想 我 沒 有 把 話 說 清 楚 。 EOS\n", "translation: 我 猜 不 到 抱 怨 。\n", "\n", "BOS you should 've rejected such an UNK proposal . EOS\n", "BOS 你 本 该 拒 绝 一 个 那 么 不 公 平 的 提 议 。 EOS\n", "translation: 你 應 該 拒 绝 這 樣 的 建 議 。\n", "\n", "BOS i think i 'm going to go now . EOS\n", "BOS 我 认 为 我 现 在 该 走 了 。 EOS\n", "translation: 我 想 我 現 在 就 要 去 。\n", "\n", "BOS i 'd like to have cake for dessert . EOS\n", "BOS 我 想 吃 蛋 糕 當 點 心 。 EOS\n", "translation: 我 想 要 擔 心 !\n", "\n", "BOS you do n't have to take an examination . EOS\n", "BOS 你 不 需 要 考 试 。 EOS\n", "translation: 你 不 必 考 试 一 次 。\n", "\n", "BOS i wish that i could speak french better . EOS\n", "BOS 我 希 望 我 能 说 法 语 说 得 更 好 。 EOS\n", "translation: 我 希 望 我 能 说 法 语 说 得 更 好 。\n", "\n", "BOS do n't forget to take the UNK UNK . EOS\n", "BOS 别 忘 了 带 上 急 救 箱 。 EOS\n", "translation: 別 忘 了 關 係 。\n", "\n", "BOS she wants to know who sent the flowers . EOS\n", "BOS 她 想 知 道 是 谁 送 的 花 。 EOS\n", "translation: 她 想 知 道 是 谁 送 的 花 朵 。\n", "\n", "BOS do you guys want to go with me ? EOS\n", "BOS 你 們 要 和 我 一 起 去 嗎 ? EOS\n", "translation: 你 們 要 跟 我 一 起 去 嗎 ?\n", "\n", "BOS her grandmother lived to be UNK years old . EOS\n", "BOS 她 的 祖 母 活 到 了 8 8 岁 。 EOS\n", "translation: 她 的 祖 母 活 到 了 8 0 年 。\n", "\n", "BOS his mother did n't want to do it . EOS\n", "BOS 他 的 母 親 不 想 做 。 EOS\n", "translation: 他 的 母 親 沒 有 想 法 做 。\n", "\n", "BOS may i see your boarding pass , please ? EOS\n", "BOS 請 讓 我 看 看 您 的 登 機 證 好 嗎 ? EOS\n", "translation: 請 會 讓 我 看 看 看 您 的 登 機 嗎 ?\n", "\n", "BOS the telephone was invented in UNK by bell . EOS\n", "BOS 電 話 於 1 8 7 6 年 由 貝 爾 所 發 明 。 EOS\n", "translation: 電 話 於 1 6 年 由 貝 爾 所 發 明 。\n", "\n", "BOS i ca n't make out what he wants . EOS\n", "BOS 我 不 明 白 他 想 要 什 么 。 EOS\n", "translation: 我 不 能 让 他 想 知 道 他 想 要 什 么 。\n", "\n", "BOS you really are rude , are n't you ? EOS\n", "BOS 你 真 的 很 粗 魯 , 不 是 嗎 ? EOS\n", "translation: 你 真 的 很 粗 魯 , 不 是 嗎 ?\n", "\n", "BOS could you teach me how to play the piano ? EOS\n", "BOS 您 能 教 我 弹 钢 琴 吗 ? EOS\n", "translation: 你 能 教 我 跳 舞 嗎 ?\n", "\n", "BOS would you please have a look at these papers ? EOS\n", "BOS 請 你 看 看 這 些 文 件 。 EOS\n", "translation: 請 你 看 看 這 些 文 件 。\n", "\n", "BOS it is definite that he will go to america . EOS\n", "BOS 他 肯 定 要 去 美 国 。 EOS\n", "translation: 他 肯 定 要 去 美 国 。\n", "\n", "BOS which do you like better , spring or UNK ? EOS\n", "BOS 春 天 和 秋 天 , 你 更 喜 欢 哪 个 ? EOS\n", "translation: 你 最 喜 欢 哪 个 季 节 ?\n", "\n", "BOS i always thought that tom was a bit different . EOS\n", "BOS 我 以 前 总 认 为 汤 姆 是 有 一 些 与 众 不 同 的 。 EOS\n", "translation: 我 以 前 总 认 为 汤 姆 不 同 点 做 。\n", "\n", "BOS she was holding a small parasol in her hand . EOS\n", "BOS 她 手 里 握 着 一 把 小 阳 伞 。 EOS\n", "translation: 她 握 着 一 把 小 阳 伞 。\n", "\n", "BOS he does n't UNK that he 's UNK deaf . EOS\n", "BOS 他 不 知 道 他 自 己 五 音 不 全 。 EOS\n", "translation: 他 不 在 自 己 , 他 不 知 道 自 己 。\n", "\n", "BOS he looks a bit tired , does n't he ? EOS\n", "BOS 他 看 起 來 有 點 累 , 不 是 嗎 ? EOS\n", "translation: 他 看 來 很 累 , 不 是 嗎 ?\n", "\n", "BOS we 'll be in boston for another three weeks . EOS\n", "BOS 我 們 還 會 在 波 士 頓 待 三 個 月 。 EOS\n", "translation: 我 们 要 在 波 士 顿 一 个 人 在 波 士 顿 。\n", "\n", "BOS it would take forever for me to explain everything . EOS\n", "BOS 要 都 解 释 的 话 , 需 要 一 辈 子 的 时 间 。 EOS\n", "translation: 要 不 敢 说 话 的 话 , 我 都 会 为 我 解 释 一 些 。\n", "\n", "BOS i 'd like a glass of water , please . EOS\n", "BOS 請 給 我 一 杯 水 。 EOS\n", "translation: 我 想 要 一 杯 水 , 謝 謝 。\n", "\n", "BOS you can drive a car , ca n't you ? EOS\n", "BOS 你 會 開 車 , 不 是 嗎 ? EOS\n", "translation: 你 會 開 車 , 不 是 嗎 ?\n", "\n", "BOS you ought to have come to see me yesterday . EOS\n", "BOS 你 昨 天 應 該 來 看 我 的 。 EOS\n", "translation: 你 昨 天 應 該 來 看 我 的 。\n", "\n", "BOS tom told me that he had lost his textbook . EOS\n", "BOS 汤 姆 告 诉 我 他 丢 了 课 本 。 EOS\n", "translation: 汤 姆 告 诉 我 他 丢 课 本 最 好 的 教 师 。\n", "\n", "BOS you ca n't understand this sentence , can you ? EOS\n", "BOS 你 不 懂 这 句 句 子 , 不 是 吗 ? EOS\n", "translation: 你 不 了 解 這 句 話 , 你 能 不 能 嗎 ?\n", "\n", "BOS it 's a nice day , is n't it ? EOS\n", "BOS 美 丽 的 一 天 , 不 是 吗 ? EOS\n", "translation: 今 天 氣 很 好 , 不 是 嗎 ?\n", "\n", "BOS i should have known better than to call him . EOS\n", "BOS 早 知 道 我 不 應 該 打 電 話 給 他 。 EOS\n", "translation: 我 本 應 該 更 明 白 的 打 電 話 給 他 。\n", "\n", "BOS they arrived in osaka at the beginning of may . EOS\n", "BOS 他 们 五 月 初 到 了 大 阪 。 EOS\n", "translation: 他 們 直 在 大 阪 後 從 1 6 0 月 開 始 。\n", "\n", "BOS there are a lot of eggs in the box . EOS\n", "BOS 这 个 盒 子 里 有 很 多 蛋 。 EOS\n", "translation: 盒 子 裡 有 很 多 蛋 。\n", "\n", "BOS i often use UNK to access my computers UNK . EOS\n", "BOS 我 经 常 使 用 S S UNK 来 远 程 连 接 到 我 的 电 脑 。 EOS\n", "translation: 我 常 常 用 S 管 我 的 电 脑 。\n", "\n", "BOS he 's already too far away to hear us . EOS\n", "BOS 他 已 經 離 得 太 遠 聽 不 到 我 們 了 。 EOS\n", "translation: 他 已 经 听 到 我 们 说 话 了 。\n", "\n", "BOS he rushed into the room with his coat on . EOS\n", "BOS 他 穿 着 衣 服 冲 进 房 间 。 EOS\n", "translation: 他 穿 着 衣 里 跑 了 房 里 。\n", "\n", "BOS he wrote this book at the age of twenty . EOS\n", "BOS 他 在 2 0 岁 的 时 候 写 了 这 本 书 。 EOS\n", "translation: 他 在 2 0 0 0 0 0 年 中 写 了 这 本 书 。\n", "\n", "BOS could you put this report into italian for me ? EOS\n", "BOS 你 可 以 為 我 把 這 份 報 告 翻 譯 成 意 大 利 文 嗎 ? EOS\n", "translation: 你 能 把 这 些 报 告 翻 譯 成 我 吗 ?\n", "\n", "BOS i 'll take him with me to the hospital . EOS\n", "BOS 我 會 帶 他 跟 我 一 起 去 醫 院 。 EOS\n", "translation: 我 會 帶 他 跟 我 到 醫 院 。\n", "\n", "BOS i ca n't UNK the UNK of the problem . EOS\n", "BOS 我 无 法 找 到 问 题 的 根 源 。 EOS\n", "translation: 我 不 能 不 能 能 问 题 。\n", "\n", "BOS she was asked to write her name in ink . EOS\n", "BOS 她 被 要 求 用 墨 水 写 下 她 的 名 字 。 EOS\n", "translation: 她 被 要 求 用 墨 水 写 下 她 的 名 字 。\n", "\n", "BOS prices are double what they were two years ago . EOS\n", "BOS 價 格 是 兩 年 前 的 兩 倍 。 EOS\n", "translation: 價 格 是 兩 年 前 的 兩 倍 。\n", "\n", "BOS are you saying tom 's hiding something from us ? EOS\n", "BOS 你 说 T o m 对 我 们 隐 藏 了 一 些 事 情 ? EOS\n", "translation: 你 說 T o m 對 我 們 的 東 西 嗎 ?\n", "\n", "BOS i got over the difficulty with my UNK UNK . EOS\n", "BOS 我 UNK UNK 性 克 服 了 困 难 。 EOS\n", "translation: 我 被 我 的 筆 進 入 了 很 難 流 利 。\n", "\n", "BOS what 's your favorite place to vacation in japan ? EOS\n", "BOS 你 最 喜 欢 去 日 本 的 什 么 地 方 度 假 ? EOS\n", "translation: 你 最 喜 歡 在 日 本 料 理 裡 ?\n", "\n", "BOS hurry up , or you will miss the train . EOS\n", "BOS 快 点 , 不 然 你 就 要 错 过 火 车 了 。 EOS\n", "translation: 快 點 , 不 然 你 就 會 錯 過 火 車 了 。\n", "\n", "BOS tom can swim faster than anyone else i know . EOS\n", "BOS 汤 姆 是 我 认 识 的 人 当 中 游 泳 最 快 的 。 EOS\n", "translation: 汤 姆 可 以 游 泳 使 我 知 道 有 没 有 人 。\n", "\n", "BOS she discovered that she had run out of salt . EOS\n", "BOS 她 发 现 她 已 经 断 盐 了 。 EOS\n", "translation: 她 发 现 她 已 经 断 盐 了 。\n", "\n", "BOS tom told me that his father had passed away . EOS\n", "BOS 汤 姆 告 诉 我 他 父 亲 去 世 了 。 EOS\n", "translation: 汤 姆 告 诉 我 他 父 亲 去 世 了 。\n", "\n", "BOS is it ok if i go out with tom ? EOS\n", "BOS 我 跟 汤 姆 外 出 行 吗 ? EOS\n", "translation: 我 跟 汤 姆 外 出 去 吗 ?\n", "\n", "BOS we speak the same language , do n't we ? EOS\n", "BOS 我 們 說 的 是 同 樣 的 語 言 , 不 是 嗎 ? EOS\n", "translation: 我 们 说 一 样 的 语 言 , 不 是 吗 ?\n", "\n", "BOS i 'm sorry i did n't make myself clear . EOS\n", "BOS 對 不 起 , 我 沒 講 清 楚 。 EOS\n", "translation: 對 不 起 , 我 沒 說 清 楚 這 個 意 見 。\n", "\n", "BOS i want a UNK . i need to relax . EOS\n", "BOS 我 想 要 按 摩 。 我 需 要 放 松 。 EOS\n", "translation: 我 想 要 按 摩 。 我 需 要 放 松 。\n", "\n", "BOS how come you know so much about japanese history ? EOS\n", "BOS 你 為 什 麼 知 道 這 麼 多 的 日 本 歷 史 ? EOS\n", "translation: 你 怎 么 想 知 道 日 本 歷 史 ?\n", "\n", "BOS i 'd like to send this package to japan . EOS\n", "BOS 我 想 把 這 個 包 裹 寄 到 日 本 。 EOS\n", "translation: 我 想 將 這 個 包 裹 。\n", "\n", "BOS he loves her . she loves him , too . EOS\n", "BOS 他 愛 她 。 她 也 愛 他 。 EOS\n", "translation: 他 愛 她 , 她 也 愛 他 。\n", "\n", "BOS i will not allow you to use my pen . EOS\n", "BOS 我 不 允 许 你 用 我 的 钢 笔 。 EOS\n", "translation: 我 不 允 许 你 用 我 的 钢 笔 。\n", "\n", "BOS tom could 've figured that out without any help . EOS\n", "BOS 汤 姆 能 不 依 靠 任 何 帮 助 解 决 那 事 。 EOS\n", "translation: 汤 姆 还 不 知 道 , 没 能 做 任 何 帮 助 。\n", "\n", "BOS a great number of books are published every year . EOS\n", "BOS 每 年 都 有 大 量 新 书 出 版 。 EOS\n", "translation: 每 年 都 有 大 量 新 書 出 版 。\n", "\n", "BOS when you hurt others , you also hurt yourself . EOS\n", "BOS 你 若 是 傷 害 別 人 , 你 也 會 傷 害 到 自 己 。 EOS\n", "translation: 當 你 傷 害 你 別 人 時 , 你 也 會 傷 害 。\n", "\n", "BOS it is less UNK today than it was yesterday . EOS\n", "BOS 今 天 不 比 昨 天 UNK 熱 。 EOS\n", "translation: 今 天 沒 有 他 的 駕 駛 執 。\n", "\n", "BOS he will not be able to do the work . EOS\n", "BOS 他 没 能 力 做 这 个 工 作 。 EOS\n", "translation: 他 不 能 工 作 為 這 樣 做 。\n", "\n", "BOS i 'm glad we hired you for this job . EOS\n", "BOS 我 很 高 兴 我 们 录 用 了 你 来 担 任 这 份 工 作 。 EOS\n", "translation: 我 很 高 兴 我 们 录 用 你 来 为 了 这 份 工 作 。\n", "\n", "BOS tom , i want you to handle this one . EOS\n", "BOS 汤 姆 , 我 想 要 你 来 操 作 这 一 个 。 EOS\n", "translation: 汤 姆 , 我 想 知 道 你 来 操 作 。\n", "\n", "BOS he is doing very well considering he UNK experience . EOS\n", "BOS 考 虑 到 他 缺 乏 经 验 , 他 做 得 [ 已 经 ] 非 常 好 了 。 EOS\n", "translation: 他 工 作 為 他 做 得 很 好 。\n", "\n", "BOS he looked around , but he saw no one . EOS\n", "BOS 他 看 向 四 周 , 但 沒 看 到 任 何 人 。 EOS\n", "translation: 他 看 見 , 但 是 沒 看 見 面 。\n", "\n", "BOS if you do your best , you will succeed . EOS\n", "BOS 如 果 你 盡 力 而 為 , 你 就 會 成 功 。 EOS\n", "translation: 如 果 你 盡 力 而 為 , 你 就 會 成 功 。\n", "\n", "BOS some people felt that tom 's behavior was UNK . EOS\n", "BOS 一 部 分 人 感 觉 T o m 的 行 为 举 止 不 太 合 适 。 EOS\n", "translation: 汤 姆 的 人 感 觉 不 舒 服 。\n", "\n", "BOS do n't look a gift horse in the mouth . EOS\n", "BOS 不 要 對 人 家 送 的 禮 物 挑 三 UNK 四 , 嫌 東 嫌 西 的 。 EOS\n", "translation: 不 要 看 一 場 合 兒 的 禮 物 。\n", "\n", "BOS the strong wind UNK that a storm is coming . EOS\n", "BOS 強 風 暗 示 著 即 將 到 來 的 暴 雨 。 EOS\n", "translation: 风 暴 風 中 央 气 爾 暴 風 中 来 不 可 阻 挡 。\n", "\n", "BOS air is to us what water is to fish . EOS\n", "BOS 空 气 对 人 来 说 就 是 水 对 鱼 的 意 义 。 EOS\n", "translation: 空 气 对 我 们 来 说 变 红 了 。\n", "\n", "BOS the sun was shining , yet it was cold . EOS\n", "BOS 虽 然 有 阳 光 照 射 , 但 还 是 很 冷 。 EOS\n", "translation: 海 滩 是 安 全 部 着 的 , 但 还 是 很 冷 。\n", "\n", "BOS it 's not a road , but a path . EOS\n", "BOS 它 不 是 一 條 路 , 而 是 一 條 小 UNK 。 EOS\n", "translation: 這 不 是 一 條 路 , 但 是 一 個 小 路 。\n", "\n", "BOS mastering a foreign language UNK a lot of patience . EOS\n", "BOS 学 好 一 门 外 语 需 要 坚 UNK 不 拔 的 UNK 力 。 EOS\n", "translation: 精 通 外 語 需 要 說 不 耐 心 。\n", "\n", "BOS my father will often read the newspaper during meals . EOS\n", "BOS 我 父 亲 常 在 吃 饭 时 看 报 纸 。 EOS\n", "translation: 我 父 亲 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常 常\n", "\n", "BOS it was foolish of you to accept his offer . EOS\n", "BOS 你 真 笨 去 接 受 他 的 提 議 。 EOS\n", "translation: 你 真 笨 去 接 受 他 的 提 議 。\n", "\n", "BOS i am looking forward to hearing from you soon . EOS\n", "BOS 我 期 待 很 快 就 能 收 到 你 的 信 。 EOS\n", "translation: 我 期 待 很 快 就 能 收 到 你 的 信 。\n", "\n", "BOS it 's not something i 'm very good at . EOS\n", "BOS 这 不 是 我 所 擅 长 的 事 。 EOS\n", "translation: 我 不 是 很 好 的 東 西 。\n", "\n", "BOS a lot of people swim here in the summer . EOS\n", "BOS 许 多 人 夏 天 在 这 里 游 泳 。 EOS\n", "translation: 许 多 人 夏 天 在 这 里 游 泳 。\n", "\n", "BOS because he 's sick , he ca n't come . EOS\n", "BOS 因 為 他 生 病 了 , 所 以 他 不 能 來 。 EOS\n", "translation: 因 為 他 生 病 了 , 他 不 能 來 。\n", "\n", "BOS research on the causes of cancer is very expensive . EOS\n", "BOS 有 關 癌 症 成 因 的 研 究 耗 費 UNK 巨 。 EOS\n", "translation: 有 關 癌 症 成 因 的 研 究 耗 費 。\n", "\n", "BOS this is the place where the battle took place . EOS\n", "BOS 这 是 战 斗 发 生 的 地 方 。 EOS\n", "translation: 這 是 战 斗 发 生 的 地 方 。\n", "\n", "BOS you can go or stay , as you wish . EOS\n", "BOS 你 走 或 留 , 随 你 高 兴 。 EOS\n", "translation: 你 可 以 依 靠 你 去 。 你 , 你 會 很 聰 。\n", "\n", "BOS the teacher has a great influence on his UNK . EOS\n", "BOS 这 个 教 授 对 他 的 学 生 有 很 大 的 影 响 力 。 EOS\n", "translation: 老 師 有 一 個 很 大 的 影 響 。\n", "\n", "BOS you 'll soon get accustomed to this cold weather . EOS\n", "BOS 你 很 快 就 會 習 慣 這 種 冷 天 氣 。 EOS\n", "translation: 你 很 快 就 會 習 慣 這 種 冷 天 氣 。\n", "\n", "BOS it was lucky for you that you found it . EOS\n", "BOS 你 很 幸 運 找 到 了 它 。 EOS\n", "translation: 你 很 幸 運 能 表 示 了 它 。\n", "\n", "BOS i have a friend whose father is a teacher . EOS\n", "BOS 我 有 一 個 朋 友 , 他 的 父 親 是 老 師 。 EOS\n", "translation: 我 有 一 位 父 亲 是 老 师 。\n", "\n", "BOS do n't get off the train till it stops . EOS\n", "BOS 列 车 停 下 前 别 下 车 。 EOS\n", "translation: 不 要 在 火 車 前 開 始 。\n", "\n", "BOS which one of the two brothers did you see ? EOS\n", "BOS 你 见 到 的 是 两 兄 弟 中 的 哪 一 个 ? EOS\n", "translation: 你 有 两 位 兄 弟 姐 弟 吗 ?\n", "\n", "BOS i 'm fairly certain tom lives on park street . EOS\n", "BOS 我 很 确 定 汤 姆 住 在 公 园 街 。 EOS\n", "translation: 我 对 汤 姆 住 在 公 园 市 里 。\n", "\n", "BOS let 's draw lots to decide who goes first . EOS\n", "BOS 来 抽 签 决 定 谁 先 走 吧 。 EOS\n", "translation: 先 生 吧 , 你 先 决 定 做 第 一 印 象 。\n", "\n", "BOS i brought up two kids all on my own . EOS\n", "BOS 我 一 個 人 把 兩 個 小 孩 扶 養 長 大 。 EOS\n", "translation: 我 把 两 个 孩 子 放 松 开 了 。\n", "\n", "BOS the house i bought is pretty far from downtown . EOS\n", "BOS 我 買 的 房 子 離 市 中 心 比 較 遠 。 EOS\n", "translation: 我 買 了 房 子 離 市 的 活 众 不 太 多 。\n", "\n", "BOS his office is past the bank on your left . EOS\n", "BOS 经 过 银 行 , 左 边 就 是 他 的 办 公 室 了 。 EOS\n", "translation: 他 的 辦 公 室 離 你 , 你 的 银 行 了 。\n", "\n", "BOS i want you guys to do me a favor . EOS\n", "BOS 我 想 要 大 家 伙 帮 我 个 忙 。 EOS\n", "translation: 我 想 要 你 们 留 我 。\n", "\n", "BOS we should n't expect too much help from tom . EOS\n", "BOS 我 們 不 該 期 望 從 T o m 那 得 到 太 多 幫 助 。 EOS\n", "translation: 我 们 不 应 该 期 望 汤 姆 的 帮 忙 。\n", "\n", "BOS you had better get away from here at once . EOS\n", "BOS 你 最 好 立 刻 離 開 這 裡 。 EOS\n", "translation: 你 最 好 立 刻 離 開 這 裡 。\n", "\n", "BOS my father is too busy to take a walk . EOS\n", "BOS 我 父 親 太 忙 而 無 法 去 散 步 。 EOS\n", "translation: 我 父 親 太 忙 而 無 法 去 散 步 。\n", "\n", "BOS do n't move , or i 'll shoot you . EOS\n", "BOS 別 動 , 不 然 我 就 開 槍 射 你 。 EOS\n", "translation: 別 開 始 , 我 就 別 緊 急 。\n", "\n", "BOS i thought you had to get up by UNK . EOS\n", "BOS 我 以 为 你 要 7 点 半 起 床 。 EOS\n", "translation: 我 以 为 你 必 须 起 床 。\n", "\n", "BOS i do n't know if he can come tonight . EOS\n", "BOS 我 不 知 道 他 今 晚 會 不 會 來 。 EOS\n", "translation: 我 不 知 道 他 今 晚 會 不 會 來 。\n", "\n", "BOS any UNK , if it is sincere , is UNK . EOS\n", "BOS 任 何 情 绪 , 只 要 它 是 真 诚 的 , 就 说 明 它 是 发 自 内 心 的 自 然 流 露 。 EOS\n", "translation: 任 何 事 , 它 是 诚 实 的 呢 , 它 就 是 真 诚 的 。\n", "\n", "BOS you are no better at remembering things than i am . EOS\n", "BOS 你 记 事 情 的 能 力 并 不 比 我 好 多 少 。 EOS\n", "translation: 你 善 于 數 的 健 康 有 什 么 好 的 生 。\n", "\n", "BOS whether you succeed or not depends on your own efforts . EOS\n", "BOS 你 成 功 与 否 取 决 于 你 自 身 的 努 力 。 EOS\n", "translation: 你 们 成 功 与 否 取 决 于 你 自 己 的 努 力 。\n", "\n", "BOS you 've been late for school more often than before . EOS\n", "BOS 你 比 以 前 更 容 易 上 課 遲 到 了 。 EOS\n", "translation: 你 比 以 前 常 早 上 學 遲 早 就 好 了 。\n", "\n", "BOS give him an UNK and he 'll take a yard . EOS\n", "BOS 得 寸 进 尺 。 EOS\n", "translation: 他 来 信 和 他 还 是 一 家 花 院 。\n", "\n", "BOS if you see a mistake , then please correct it . EOS\n", "BOS 如 果 你 发 现 错 误 , 那 就 请 你 纠 正 它 。 EOS\n", "translation: 如 果 你 給 測 驗 , 那 就 是 錯 的 。\n", "\n", "BOS tom , i want to have a chat with you . EOS\n", "BOS T o m , 我 想 和 你 談 談 。 EOS\n", "translation: 汤 姆 , 我 想 和 你 一 样 。\n", "\n", "BOS tom wrote his name in the sand with a stick . EOS\n", "BOS 汤 姆 用 UNK 子 在 沙 上 写 了 他 的 名 字 。 EOS\n", "translation: 汤 姆 写 下 他 的 名 字 了 一 条 红 闭 上 掉 头 。\n", "\n", "BOS it was not long before we met again by chance . EOS\n", "BOS 没 多 久 , 我 们 又 碰 巧 遇 到 了 。 EOS\n", "translation: 我 们 没 有 很 多 次 机 会 再 见 面 。\n", "\n", "BOS the prince fell in love with a UNK 's daughter . EOS\n", "BOS 王 子 愛 上 了 一 個 UNK 夫 的 女 兒 。 EOS\n", "translation: 王 子 愛 上 了 一 個 女 兒 。\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS they UNK to UNK as the father of english poetry . EOS\n", "BOS 他 們 視 UNK UNK 為 英 詩 之 父 。 EOS\n", "translation: 他 們 視 為 英 詩 之 父 母 為 一 所 寫 的 英 語 。\n", "\n", "BOS tom made a list of places he wants to visit . EOS\n", "BOS 汤 姆 把 他 想 去 的 地 方 列 成 了 一 张 清 单 。 EOS\n", "translation: 汤 姆 把 他 想 去 东 西 兰 的 地 方 列 。\n", "\n", "BOS she followed him home to find out where he lived . EOS\n", "BOS 她 跟 他 到 家 , 以 知 道 他 住 哪 。 EOS\n", "translation: 她 跟 他 到 家 , 以 知 道 他 住 哪 。\n", "\n", "BOS people usually do n't like what they do n't understand . EOS\n", "BOS 人 们 通 常 不 喜 欢 他 们 不 理 解 的 事 物 。 EOS\n", "translation: 人 們 不 喜 歡 他 們 明 並 不 明 白 。\n", "\n", "BOS a good cook does n't throw out yesterday 's soup . EOS\n", "BOS 一 個 好 的 廚 師 不 會 丟 掉 昨 天 的 湯 。 EOS\n", "translation: 一 個 好 的 廚 師 不 錯 誤 。\n", "\n", "BOS the weather was so cold that the lake UNK over . EOS\n", "BOS 天 冷 得 足 以 让 湖 结 冰 。 EOS\n", "translation: 天 空 氣 太 冷 了 。\n", "\n", "BOS i have neither seen nor heard of such a thing . EOS\n", "BOS 我 没 见 过 也 没 听 过 这 样 的 事 。 EOS\n", "translation: 我 没 见 过 不 句 话 的 样 方 都 不 能 听 。\n", "\n", "BOS i do n't mind if it 's hot and spicy . EOS\n", "BOS 辣 点 儿 没 关 系 。 EOS\n", "translation: 如 果 必 不 要 感 冒 传 统 的 话 , 我 就 别 的 身 体 。\n", "\n", "BOS she studied abroad in order to brush up her english . EOS\n", "BOS 她 在 國 外 學 習 以 便 提 升 她 的 英 語 。 EOS\n", "translation: 她 學 習 出 去 世 她 的 英 語 。\n", "\n", "BOS it took me three days to read through this book . EOS\n", "BOS 它 花 了 我 三 天 时 间 去 阅 读 这 本 书 。 EOS\n", "translation: 我 花 了 三 天 的 書 後 才 去 讀 完 了 。\n", "\n", "BOS tom did better this time than he did last time . EOS\n", "BOS 汤 姆 这 次 做 得 比 上 次 好 。 EOS\n", "translation: 汤 姆 最 好 尽 快 该 走 了 。\n", "\n", "BOS tom does n't know whether mary is happy or not . EOS\n", "BOS 汤 姆 不 知 道 玛 丽 是 高 兴 呢 , 还 是 不 高 兴 。 EOS\n", "translation: 汤 姆 不 知 道 玛 丽 是 高 兴 呢 , 还 是 不 高 兴 。\n", "\n", "BOS tom often reads when his children are n't at home . EOS\n", "BOS 汤 姆 经 常 在 孩 子 们 不 在 家 时 阅 读 。 EOS\n", "translation: 汤 姆 经 常 在 家 儿 不 在 家 时 阅 读 。\n", "\n", "BOS how long would it take to swim across the river ? EOS\n", "BOS 游 过 这 条 河 要 多 久 ? EOS\n", "translation: 游 泳 池 要 多 久 以 前 ?\n", "\n", "BOS maybe i 'll go , and maybe i wo n't . EOS\n", "BOS 也 許 我 會 去 , 也 許 我 不 會 。 EOS\n", "translation: 也 許 我 會 去 , 也 許 我 也 不 會 去 。\n", "\n", "BOS i vowed that i would never speak to her again . EOS\n", "BOS 我 發 誓 再 也 不 跟 她 說 話 了 。 EOS\n", "translation: 我 發 誓 再 也 不 跟 她 說 話 了 。\n", "\n", "BOS there are two UNK in the number `` UNK . '' EOS\n", "BOS 2 0 1 0 这 个 数 字 里 有 两 个 零 。 EOS\n", "translation: “ 有 两 个 数 字 , ” “ 有 两 个 数 字 。\n", "\n", "BOS they came up with a plan after a long discussion . EOS\n", "BOS 他 们 终 于 在 漫 长 的 讨 论 之 后 得 出 了 一 个 计 划 。 EOS\n", "translation: 他 們 在 這 個 島 上 的 聲 音 明 了 一 響 。\n", "\n", "BOS he studies english , but he 's also studying german . EOS\n", "BOS 他 学 英 语 , 但 他 也 学 德 语 。 EOS\n", "translation: 他 学 习 英 语 , 但 他 也 不 说 德 语 。\n", "\n", "BOS in the UNK period , UNK parties were very popular . EOS\n", "BOS 在 江 戶 時 代 賞 月 的 宴 會 非 常 受 歡 迎 。 EOS\n", "translation: 在 江 戶 時 代 賞 月 的 宴 會 很 流 。\n", "\n", "BOS i do n't go in for that sort of thing . EOS\n", "BOS 我 讨 厌 那 种 事 。 EOS\n", "translation: 我 一 點 也 不 去 。\n", "\n", "BOS tom is very good at doing things with his hands . EOS\n", "BOS 汤 姆 善 于 动 手 做 事 。 EOS\n", "translation: 汤 姆 善 于 动 手 做 事 。\n", "\n", "BOS there are seven men and four women in my section . EOS\n", "BOS 在 我 的 部 门 里 有 七 男 四 女 。 EOS\n", "translation: 在 我 的 部 门 口 和 我 的 男 人 。\n", "\n", "BOS i do n't expect that they will support my view . EOS\n", "BOS 我 不 期 望 , 他 们 能 够 支 持 我 的 观 点 。 EOS\n", "translation: 我 不 期 望 , 他 们 能 期 一 切 图 。\n", "\n", "BOS he did n't say a word to me all day . EOS\n", "BOS 他 一 天 也 没 跟 我 说 一 句 话 。 EOS\n", "translation: 他 一 天 也 沒 說 話 我 。\n", "\n", "BOS she 's busy now and ca n't speak to you . EOS\n", "BOS 她 現 在 忙 , 沒 有 辦 法 跟 你 們 說 話 。 EOS\n", "translation: 她 现 在 忙 , 不 能 跟 你 说 话 。\n", "\n", "BOS my uncle comes to see me from time to time . EOS\n", "BOS 我 叔 叔 偶 爾 來 看 我 。 EOS\n", "translation: 我 叔 叔 叔 來 自 我 的 時 候 來 就 沒 有 來 。\n", "\n", "BOS i do n't feel like taking a walk this morning . EOS\n", "BOS 我 今 天 早 上 不 想 散 步 。 EOS\n", "translation: 我 今 天 早 上 不 想 散 步 。\n", "\n", "BOS i took him to the most expensive restaurant on campus . EOS\n", "BOS 我 把 他 带 到 校 区 里 最 贵 的 餐 馆 去 了 。 EOS\n", "translation: 我 把 他 带 到 校 区 域 挂 在 纸 上 的 那 条 3 贵 。\n", "\n", "BOS do you think that he is equal to the task ? EOS\n", "BOS 你 认 为 他 能 够 胜 任 这 个 任 务 吗 ? EOS\n", "translation: 你 认 为 他 能 够 胜 任 务 吗 ?\n", "\n", "BOS the beach is an UNK place for children to play . EOS\n", "BOS 海 滩 是 一 个 供 孩 子 们 玩 乐 的 理 想 场 所 。 EOS\n", "translation: 海 滩 是 一 个 孩 子 们 密 的 。\n", "\n", "BOS it seems that most people only UNK in the summer . EOS\n", "BOS 人 們 似 乎 只 在 夏 天 烤 肉 。 EOS\n", "translation: 那 个 看 来 似 门 明 肯 , 一 个 班 很 有 礼 物 。\n", "\n", "BOS i do not for a moment think you are wrong . EOS\n", "BOS 我 从 没 认 为 你 错 了 。 EOS\n", "translation: 我 不 是 為 你 覺 得 你 了 。\n", "\n", "BOS he wishes he had gone to the theater last night . EOS\n", "BOS 昨 晚 他 希 望 他 去 了 剧 场 。 EOS\n", "translation: 他 昨 晚 得 去 剧 场 里 。\n", "\n", "BOS my hands were shaking too much to thread the needle . EOS\n", "BOS 我 的 手 UNK 得 太 厉 害 , 没 法 穿 针 了 。 EOS\n", "translation: 我 的 手 表 達 得 太 厉 害 , 没 法 穿 针 了 。\n", "\n", "BOS tom and mary even always wear the same color clothes . EOS\n", "BOS 汤 姆 和 玛 丽 甚 至 经 常 穿 同 样 颜 色 的 衣 服 。 EOS\n", "translation: 汤 姆 和 玛 丽 甚 至 经 常 穿 同 样 颜 色 的 衣 服 。\n", "\n", "BOS you made the mistake on purpose , did n't you ? EOS\n", "BOS 你 故 意 犯 這 個 錯 , 是 嗎 ? EOS\n", "translation: 你 故 意 犯 這 個 錯 , 是 嗎 ?\n", "\n", "BOS every great writer seems to have been interested in english . EOS\n", "BOS 每 一 個 偉 大 的 作 家 似 乎 已 經 對 英 語 感 興 趣 。 EOS\n", "translation: 每 個 偉 大 的 作 家 似 乎 已 經 對 英 語 感 興 趣 。\n", "\n", "BOS every time i went to his place , he was studying . EOS\n", "BOS 每 次 我 去 他 住 處 , 他 都 在 讀 書 。 EOS\n", "translation: 每 次 我 去 阅 读 他 的 时 候 , 他 已 经 上 国 现 在 在 在 在 在 在 在 在 学 了 。\n", "\n", "BOS you do n't go to school on sunday , do you ? EOS\n", "BOS 你 週 日 不 上 學 , 對 嗎 ? EOS\n", "translation: 你 週 日 不 上 學 , 你 嗎 ?\n", "\n", "BOS i always enjoy listening to classical music in my free time . EOS\n", "BOS 有 空 的 时 候 , 我 总 喜 欢 听 古 典 音 乐 。 EOS\n", "translation: 我 總 是 聽 從 我 的 談 話 題 。\n", "\n", "BOS i am used to hearing the train pass by my house . EOS\n", "BOS 我 已 经 习 惯 了 家 门 口 过 火 车 的 声 音 了 。 EOS\n", "translation: 我 以 前 廣 播 通 過 我 的 火 車 。\n", "\n", "BOS i can speak chinese , but i ca n't read chinese . EOS\n", "BOS 我 會 說 中 文 , 但 是 我 不 會 讀 中 文 。 EOS\n", "translation: 我 會 說 中 文 , 但 是 我 不 會 讀 中 文 。\n", "\n", "BOS i used to eat pizza , but now i do n't . EOS\n", "BOS 我 以 前 吃 披 萨 , 但 现 在 不 了 。 EOS\n", "translation: 我 以 前 吃 披 萨 , 但 现 在 不 了 。\n", "\n", "BOS only one third of the members turned up at the meeting . EOS\n", "BOS 仅 三 分 之 一 的 成 员 出 席 了 会 议 。 EOS\n", "translation: 只 有 三 十 分 成 为 会 的 成 员 会 。\n", "\n", "BOS i should have tried out this electric UNK before buying it . EOS\n", "BOS 我 本 该 在 买 下 这 个 电 动 UNK 须 刀 之 前 试 一 下 的 。 EOS\n", "translation: 我 應 該 把 這 台 中 國 外 的 電 話 來 之 前 必 須 。\n", "\n", "BOS i ca n't get at the exact meaning of the sentence . EOS\n", "BOS 我 抓 不 到 句 子 的 确 切 含 义 。 EOS\n", "translation: 我 無 法 估 確 考 慮 這 句 話 的 話 。\n", "\n", "BOS he quickly made friends with the new boy on the UNK . EOS\n", "BOS 他 很 快 便 与 小 区 里 新 来 的 男 孩 交 上 了 朋 友 。 EOS\n", "translation: 他 很 快 樂 帶 朋 友 使 用 這 個 男 孩 。\n", "\n", "BOS feel free to get yourself a drink if you are thirsty . EOS\n", "BOS 觉 得 渴 了 就 喝 点 。 EOS\n", "translation: 如 果 你 需 要 紧 张 的 话 , 你 就 喝 得 快 点 。\n", "\n", "BOS how long does it take to go to okinawa by plane ? EOS\n", "BOS 坐 飛 機 去 UNK 繩 要 花 多 長 時 間 ? EOS\n", "translation: 坐 飛 機 去 美 國 多 久 ?\n", "\n", "BOS to tell the truth , i do n't agree with you . EOS\n", "BOS 实 话 说 , 我 不 赞 成 你 。 EOS\n", "translation: 說 實 話 , 我 不 赞 成 你 。\n", "\n", "BOS do you know if my father is still in the office ? EOS\n", "BOS 你 知 道 我 父 親 是 否 還 在 辦 公 室 嗎 ? EOS\n", "translation: 你 知 道 我 父 親 在 辦 公 室 嗎 ?\n", "\n", "BOS tom added both his and mary 's name to the list . EOS\n", "BOS 汤 姆 将 他 自 己 和 玛 丽 的 名 字 添 加 到 了 名 单 上 。 EOS\n", "translation: 汤 姆 将 他 的 成 为 玛 丽 在 名 字 和 玛 丽 的 名 单 上 。\n", "\n", "BOS you should not have lent the money to such a person . EOS\n", "BOS 你 不 應 該 借 錢 給 這 樣 的 人 。 EOS\n", "translation: 你 不 應 該 借 錢 給 這 樣 的 人 。\n", "\n", "BOS the child had no UNK on although it was very cold . EOS\n", "BOS 尽 管 天 气 很 冷 , 孩 子 却 没 有 大 衣 穿 。 EOS\n", "translation: 尽 管 天 气 , 这 孩 子 却 没 有 很 冷 。\n", "\n", "BOS all of you are familiar with the truth of the story . EOS\n", "BOS 你 們 所 有 的 人 都 熟 悉 這 個 故 事 的 真 相 。 EOS\n", "translation: 所 有 你 這 個 工 具 是 相 识 的 故 事 。\n", "\n", "BOS i 'm glad that i did n't buy something like this . EOS\n", "BOS 我 很 高 兴 没 有 买 这 样 的 东 西 。 EOS\n", "translation: 我 很 高 兴 不 是 不 吃 这 种 东 西 。\n", "\n", "BOS i had hardly left home when it began to rain heavily . EOS\n", "BOS 當 雨 開 始 下 得 很 大 的 時 候 , 我 幾 乎 不 能 出 門 了 。 EOS\n", "translation: 當 雨 開 始 下 得 很 大 的 時 候 , 我 幾 乎 就 沒 有 出 現 。\n", "\n", "BOS let 's talk over a cup of tea , shall we ? EOS\n", "BOS 我 们 用 喝 茶 的 时 间 谈 谈 , 好 吗 ? EOS\n", "translation: 我 们 用 喝 茶 会 加 拿 杯 茶 吗 ?\n", "\n", "BOS i feel as if i 've UNK up from a UNK . EOS\n", "BOS 我 覺 得 我 好 像 從 惡 夢 中 驚 醒 。 EOS\n", "translation: 我 想 我 是 从 来 不 成 为 下 来 的 一 个 。\n", "\n", "BOS i 'm sure tom wo n't have any trouble finding us . EOS\n", "BOS 我 确 定 汤 姆 找 到 我 们 没 有 任 何 问 题 。 EOS\n", "translation: 我 确 定 汤 姆 不 会 考 虑 我 们 找 到 我 们 有 可 能 的 事 。\n", "\n", "BOS tom is in prison for a UNK he did n't UNK . EOS\n", "BOS 汤 姆 为 他 不 认 的 罪 进 了 监 狱 。 EOS\n", "translation: 汤 姆 在 他 面 前 不 知 道 他 做 了 事 。\n", "\n", "BOS a bicycle will UNK if you leave it in the rain . EOS\n", "BOS 如 果 你 把 自 行 車 留 在 雨 中 , 它 會 生 UNK 的 。 EOS\n", "translation: 如 果 你 開 始 下 雨 。\n", "\n", "BOS there must be a way to arrive at a UNK solution . EOS\n", "BOS 必 须 有 外 交 解 决 的 途 径 。 EOS\n", "translation: 必 须 有 外 交 解 决 的 途 径 。\n", "\n", "BOS there was only one UNK on duty when the UNK started . EOS\n", "BOS 暴 動 開 始 時 只 有 一 位 監 獄 長 值 班 。 EOS\n", "translation: 当 上 开 始 没 有 的 时 候 , 门 烧 决 于 一 个 。\n", "\n", "BOS tom UNK out the towel and hung it up to dry . EOS\n", "BOS 汤 姆 UNK 干 毛 巾 挂 起 来 UNK 干 。 EOS\n", "translation: 汤 姆 干 了 全 式 干 全 带 手 干 全 带 。\n", "\n", "BOS he wore a UNK so that no one could recognize him . EOS\n", "BOS 他 戴 著 面 具 以 至 於 沒 有 人 認 出 他 。 EOS\n", "translation: 他 戴 著 這 件 衣 服 , 不 认 为 他 能 不 认 不 认 识 。\n", "\n", "BOS france is running a welfare state it can no longer afford . EOS\n", "BOS 法 國 是 一 個 福 利 國 家 , 但 它 卻 不 再 能 夠 負 擔 得 起 了 。 EOS\n", "translation: 法 國 是 一 個 福 利 的 想 法 。\n", "\n", "BOS a bird in the hand is worth two in the bush . EOS\n", "BOS 一 鳥 在 手 勝 過 二 鳥 在 林 。 EOS\n", "translation: 一 隻 鳥 在 手 勝 過 二 鳥 在 林 。\n", "\n", "BOS people who will lie for you , will lie to you . EOS\n", "BOS 会 为 你 说 谎 的 人 , 就 会 对 你 说 谎 。 EOS\n", "translation: 人 會 說 你 說 你 , 你 會 說 你 說 話 , 你 說 謊 言 。\n", "\n", "BOS i 'll drop by the post office on the way home . EOS\n", "BOS 我 会 在 回 家 的 路 上 顺 便 去 邮 局 。 EOS\n", "translation: 我 回 家 路 上 会 在 家 的 路 上 开 心 。\n", "\n", "BOS can you give me a ride to the office on wednesday ? EOS\n", "BOS 周 三 你 可 以 载 我 到 办 公 室 吗 ? EOS\n", "translation: 你 能 把 我 们 的 课 上 一 次 谈 吗 ?\n", "\n", "BOS like it or not , we have to attend that meeting . EOS\n", "BOS 不 管 喜 不 喜 歡 , 我 們 都 得 參 加 那 個 會 議 。 EOS\n", "translation: 我 们 不 喜 欢 那 么 参 加 会 议 。\n", "\n", "BOS i go to the office by bicycle except on rainy days . EOS\n", "BOS 除 了 雨 天 , 我 都 是 骑 车 去 上 班 的 。 EOS\n", "translation: 除 了 雨 天 , 我 都 是 骑 车 去 上 班 的 。\n", "\n", "BOS let me read the paper when you have finished with it . EOS\n", "BOS 报 纸 看 完 后 借 我 看 下 。 EOS\n", "translation: 我 看 完 全 松 就 给 你 完 成 。\n", "\n", "BOS he UNK a fortune in stock UNK during the last UNK . EOS\n", "BOS 他 在 上 个 景 气 时 期 炒 股 UNK 下 了 一 笔 钱 。 EOS\n", "translation: 他 在 上 个 景 气 期 炒 股 票 。\n", "\n", "BOS it cost me ten thousand yen to have my television set repaired . EOS\n", "BOS 把 我 的 電 視 機 修 好 花 了 我 一 萬 日 元 。 EOS\n", "translation: 把 电 视 机 对 我 的 数 数 数 数 点 了 。\n", "\n", "BOS as soon as the bell rang the teacher came into the classroom . EOS\n", "BOS 鐘 聲 一 響 起 , 老 師 就 走 進 了 教 室 。 EOS\n", "translation: 老 師 要 按 禮 , 接 受 走 進 去 教 堂 。\n", "\n", "BOS quite by chance , i met my old friend in the airport . EOS\n", "BOS 很 幸 运 地 , 我 在 机 场 遇 到 了 我 的 老 朋 友 。 EOS\n", "translation: 不 管 在 機 場 , 我 在 這 附 近 遇 見 面 。\n", "\n", "BOS do n't you think it 's strange that he 's not here ? EOS\n", "BOS 他 不 在 这 儿 你 不 觉 得 这 很 奇 怪 吗 ? EOS\n", "translation: 你 认 为 他 不 在 这 里 奇 怪 吗 ?\n", "\n", "BOS the leaves of the trees in the garden have turned completely red . EOS\n", "BOS 花 园 里 树 上 的 叶 子 已 经 完 全 变 红 了 。 EOS\n", "translation: 花 园 里 的 叶 子 完 全 变 树 。\n", "\n", "BOS it is not easy to catch a hare with your UNK hands . EOS\n", "BOS 空 手 赤 拳 抓 野 兔 並 不 容 易 。 EOS\n", "translation: 空 子 不 容 易 掉 你 的 手 树 。\n", "\n", "BOS she employed a private detective to keep a watch on her husband . EOS\n", "BOS 她 僱 了 一 個 私 人 UNK 探 看 守 她 的 丈 夫 。 EOS\n", "translation: 她 僱 了 一 個 私 人 跟 她 的 丈 夫 。\n", "\n", "BOS i do n't know if he would have done it for me . EOS\n", "BOS 我 不 知 道 他 是 否 已 经 为 我 做 好 了 。 EOS\n", "translation: 我 不 知 道 他 為 我 做 得 不 能 做 的 事 。\n", "\n", "BOS excuse me , i have to get off at the next stop . EOS\n", "BOS 对 不 起 , 我 要 在 下 一 站 下 。 EOS\n", "translation: 不 好 意 思 , 我 必 续 下 一 點 下 就 可 以 下 。\n", "\n", "BOS i 'm now rich enough to afford to get anything i want . EOS\n", "BOS 我 现 在 富 得 能 买 我 想 要 的 任 何 东 西 。 EOS\n", "translation: 我 现 在 富 有 钱 还 是 想 要 什 么 。\n", "\n", "BOS to the best of my knowledge , the rumor is not true . EOS\n", "BOS 据 我 所 知 , 这 个 谣 言 不 是 真 的 。 EOS\n", "translation: 据 我 所 知 , 这 个 谣 言 不 是 很 是 真 的 。\n", "\n", "BOS it 's quite difficult to master french in 2 or 3 years . EOS\n", "BOS 很 难 在 2 、 3 年 内 掌 握 法 语 。 EOS\n", "translation: 很 难 能 在 2 0 年 内 掌 握 法 语 。\n", "\n", "BOS `` where 's your book ? '' `` on the table . '' EOS\n", "BOS 「 你 的 書 在 哪 ? 」 「 在 桌 上 。 」 EOS\n", "translation: `` 你 的 書 在 哪 裡 ? `` `` `` `` 放 在 桌 上 。\n", "\n", "BOS they fine you in singapore if you throw trash in the streets . EOS\n", "BOS 在 新 加 坡 的 街 道 上 扔 垃 圾 会 被 UNK 款 。 EOS\n", "translation: 他 们 在 新 加 坡 的 街 道 歉 , 把 你 扔 掉 了 出 现 。\n", "\n", "BOS it was difficult for him to hide his pride in his success . EOS\n", "BOS 他 很 难 掩 饰 对 自 己 成 功 的 骄 傲 。 EOS\n", "translation: 他 很 難 承 受 他 的 成 功 , 是 故 的 成 功 的 成 功 。\n", "\n", "BOS as soon as she opened the door , a cat ran out . EOS\n", "BOS 她 一 開 門 , 一 隻 貓 就 跑 了 出 來 。 EOS\n", "translation: 她 一 開 始 打 破 了 , 一 隻 貓 就 跑 步 。\n", "\n", "BOS you should n't say that kind of thing when children are around . EOS\n", "BOS 孩 子 们 在 旁 边 的 时 候 , 你 不 应 该 说 那 种 事 。 EOS\n", "translation: 你 應 該 說 的 話 , 你 應 該 說 的 樣 子 應 該 說 的 。\n", "\n", "BOS i told tom that i thought his house needed to be painted . EOS\n", "BOS 我 告 诉 汤 姆 我 认 为 他 的 房 子 要 刷 漆 。 EOS\n", "translation: 我 告 诉 汤 姆 我 认 为 他 的 房 子 要 刷 漆 。\n", "\n", "BOS step out of the car and place your hands behind your back . EOS\n", "BOS 下 车 , 把 手 放 在 背 后 。 EOS\n", "translation: 在 你 開 始 , 一 把 你 的 车 停 下 手 。\n", "\n", "BOS i ca n't take the place of her as an english teacher . EOS\n", "BOS 我 无 法 取 代 她 做 英 语 老 师 。 EOS\n", "translation: 我 不 能 收 到 她 成 為 這 個 老 師 。\n", "\n", "BOS if he is innocent , it follows that his wife is guilty . EOS\n", "BOS 如 果 他 是 清 白 的 , 那 他 妻 子 就 有 罪 。 EOS\n", "translation: 如 果 他 是 清 白 的 , 他 妻 子 就 有 罪 。\n", "\n", "BOS a couch potato is something that i do n't want to be . EOS\n", "BOS 我 不 想 成 為 整 天 泡 在 沙 發 上 看 電 視 的 人 。 EOS\n", "translation: 我 想 叫 东 西 , 不 是 沙 發 上 的 东 西 。\n", "\n", "BOS in case of an emergency , get in touch with my UNK . EOS\n", "BOS 万 一 有 紧 急 情 况 , 联 系 我 的 代 理 人 。 EOS\n", "translation: 在 我 的 急 情 況 下 , 一 隻 緊 急 情 況 。\n", "\n", "BOS according to tv news , there was a plane crash in india . EOS\n", "BOS 根 据 电 视 新 闻 , 一 架 飞 机 在 印 度 坠 毁 了 。 EOS\n", "translation: 根 據 報 導 , 這 裡 有 1 0 0 0 0 0 0 米 。\n", "\n", "BOS it took me a little more time than usually to fall asleep . EOS\n", "BOS 我 花 了 比 平 常 多 一 點 的 時 間 入 睡 。 EOS\n", "translation: 我 花 了 比 平 常 早 休 假 。\n", "\n", "BOS my brother is not as tall as i was two years ago . EOS\n", "BOS 我 弟 弟 没 我 两 年 前 高 。 EOS\n", "translation: 我 弟 弟 不 高 三 年 前 就 是 我 兩 年 前 就 是 高 了 。\n", "\n", "BOS since i had met him once before , i recognized him right away . EOS\n", "BOS 由 於 我 以 前 見 過 他 一 次 , 所 以 我 馬 上 就 認 出 他 了 。 EOS\n", "translation: 因 為 以 前 見 過 他 , 所 以 我 馬 上 就 認 出 他 來 。\n", "\n", "BOS no other mountain in the world is as tall as mt . UNK . EOS\n", "BOS 世 界 上 任 何 山 UNK 都 达 不 到 珠 UNK 朗 瑪 UNK 的 高 度 。 EOS\n", "translation: 世 界 上 其 他 山 相 當 富 大 , 一 樣 想 活 的 超 市 。\n", "\n", "BOS he always left the problem of his children 's education to his wife . EOS\n", "BOS 他 總 是 把 孩 子 的 教 育 問 題 留 給 他 的 妻 子 。 EOS\n", "translation: 他 老 師 總 是 把 他 的 妻 子 留 在 他 的 教 師 。\n", "\n", "BOS why do n't you wait here while i finish what i 'm doing ? EOS\n", "BOS 为 什 么 你 不 在 这 里 等 到 我 做 完 为 止 ? EOS\n", "translation: 你 為 什 麼 不 在 這 裡 等 我 正 在 做 完 作 。\n", "\n", "BOS london , where i live , used to be famous for its fog . EOS\n", "BOS 我 住 的 地 方 - 倫 敦 , 從 前 以 霧 聞 名 。 EOS\n", "translation: 倫 敦 , 以 前 我 住 哪 裡 的 一 位 有 名 監 獄 。\n", "\n", "BOS this is where i want to live for the rest of my life . EOS\n", "BOS 這 裡 是 我 餘 生 想 待 的 地 方 EOS\n", "translation: 這 裡 我 想 知 道 我 的 生 活 。\n", "\n", "BOS `` the phone is ringing . '' `` i 'll get it . '' EOS\n", "BOS “ 电 话 响 了 。 ” “ 我 来 接 。 ” EOS\n", "translation: “ 电 话 响 了 。 ” “ 我 会 响 。 ”\n", "\n", "BOS when i was a child , i used to swim in that pond . EOS\n", "BOS 当 我 还 是 个 孩 子 的 时 候 , 我 在 这 个 泳 池 里 游 过 泳 。 EOS\n", "translation: 當 我 在 這 個 小 孩 的 時 候 , 我 在 泳 池 才 是 不 見 面 。\n", "\n", "BOS tom told mary he could n't do what she asked him to do . EOS\n", "BOS 汤 姆 告 诉 玛 丽 他 不 能 做 她 要 他 做 的 事 。 EOS\n", "translation: 汤 姆 告 诉 玛 丽 他 做 不 能 做 的 事 。\n", "\n", "BOS sorry , but can you show me the way to the next village ? EOS\n", "BOS 能 不 能 麻 烦 你 告 诉 我 去 邻 村 怎 么 走 ? EOS\n", "translation: 不 抱 歉 , 你 能 把 它 带 到 空 吗 ?\n", "\n", "BOS you look tired . you ought to rest for an hour or two . EOS\n", "BOS 你 看 起 來 很 累 。 你 應 該 休 息 一 兩 個 小 時 。 EOS\n", "translation: 你 看 上 去 很 累 , 你 應 該 休 息 。\n", "\n", "BOS he 's not such a great writer and i think he knows it . EOS\n", "BOS 他 不 是 那 么 出 色 的 作 家 我 想 他 知 道 这 一 点 。 EOS\n", "translation: 他 不 是 这 么 好 的 作 业 , 我 想 知 道 他 想 知 道 它 。\n", "\n", "BOS i know it 's time to go , but i want to stay longer . EOS\n", "BOS 我 知 道 該 走 了 , 但 我 想 留 久 一 點 。 EOS\n", "translation: 我 知 道 該 是 否 要 留 久 的 時 候 , 但 我 想 不 再 呆 了 。\n", "\n", "BOS tom does n't quite get it . could you explain it to him again ? EOS\n", "BOS 汤 姆 不 大 明 白 。 你 能 再 跟 他 解 释 一 遍 吗 ? EOS\n", "translation: 汤 姆 不 太 明 白 你 能 解 释 一 遍 吗 ?\n", "\n", "BOS we 're out of tissue paper , so i need to go buy some . EOS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "BOS 衛 生 紙 用 完 了 , 我 必 須 去 買 。 EOS\n", "translation: 衛 生 紙 用 完 了 , 我 必 須 去 買 。\n", "\n", "BOS i 'll lend you the book as soon as i 'm done reading it . EOS\n", "BOS 我 一 把 这 本 书 读 完 了 就 借 给 你 。 EOS\n", "translation: 我 會 盡 快 把 書 借 給 你 。\n", "\n", "BOS we did not expect him to finish the task in so short a time . EOS\n", "BOS 我 们 没 指 望 过 他 在 那 么 短 的 时 间 里 完 成 工 作 。 EOS\n", "translation: 我 们 没 有 期 望 他 能 力 完 成 这 件 事 。\n", "\n", "BOS i would rather live by myself than do as he tells me to do . EOS\n", "BOS 我 寧 願 自 己 獨 立 生 活 也 不 要 他 來 指 使 我 。 EOS\n", "translation: 我 寧 願 自 己 獨 立 生 活 也 不 要 他 來 指 使 我 。\n", "\n", "BOS mary has a bad back . it 's hard for her to lift things . EOS\n", "BOS 瑪 麗 的 背 不 好 , 她 很 難 把 東 西 舉 起 來 。 EOS\n", "translation: 玛 丽 有 不 够 的 外 切 气 速 原 因 。\n", "\n", "BOS you 're going to wreck your eyesight if you play games all the time . EOS\n", "BOS 要 是 你 老 打 游 戏 的 话 , 你 的 视 力 会 下 降 的 。 EOS\n", "translation: 如 果 你 们 的 话 , 你 都 会 去 参 加 典 。\n", "\n", "BOS if you heard her speak english , you would take her for an american . EOS\n", "BOS 如 果 你 听 到 她 讲 的 英 语 , 你 会 以 为 她 是 美 国 人 呢 。 EOS\n", "translation: 如 果 你 聽 到 她 說 的 英 語 , 你 會 為 你 會 為 你 會 為 你 會 為 你 會 為 你 會 為 你 會 為 你 會 為 你 會 說 。\n", "\n", "BOS had he known what was about to happen , he would have changed his plan . EOS\n", "BOS 要 是 他 知 道 会 发 生 什 么 , 他 就 会 改 变 计 划 。 EOS\n", "translation: 他 以 前 知 道 是 否 知 道 他 发 生 了 什 么 , 他 会 发 生 什 么 , 他 还 会 发 生 了 。\n", "\n", "BOS the ages of the two children put together was equivalent to that of their father . EOS\n", "BOS 两 个 孩 子 的 年 龄 加 起 来 和 他 们 的 父 亲 相 当 。 EOS\n", "translation: 两 个 孩 子 的 年 龄 加 起 来 和 他 们 的 父 亲 戚 。\n", "\n", "BOS tom wrote mary a long letter , but he did n't send it to her . EOS\n", "BOS 汤 姆 给 玛 丽 写 了 封 长 信 , 可 是 没 有 寄 给 她 。 EOS\n", "translation: 汤 姆 给 玛 丽 写 了 封 长 信 , 但 是 她 没 有 寄 给 他 。\n", "\n", "BOS it says in the bible , `` man shall not live on bread alone . '' EOS\n", "BOS 圣 经 里 有 一 句 话 , 叫 做 “ 人 不 能 只 靠 面 包 生 活 ” 。 EOS\n", "translation: 圣 经 里 有 一 句 话 , 叫 做 “ 人 不 能 只 靠 面 包 生 活 ” 。\n", "\n", "BOS `` where were you ? '' `` i was at a friend 's house . '' EOS\n", "BOS “ 你 在 哪 里 ? ” “ 我 在 一 个 朋 友 家 。 ” EOS\n", "translation: “ 你 在 哪 里 ? ” “ 我 在 哪 里 。 ”\n", "\n", "BOS i was nine years old when i asked my mom if UNK UNK really UNK . EOS\n", "BOS 我 九 岁 的 时 候 问 我 妈 妈 圣 诞 老 人 是 否 真 的 存 在 。 EOS\n", "translation: 我 九 岁 的 时 候 问 我 妈 圣 诞 老 人 是 否 真 的 存 在 。\n", "\n", "BOS there are some UNK , but all in all , it 's a good book . EOS\n", "BOS 雖 然 有 一 些 印 刷 錯 誤 , 但 大 致 上 說 來 , 這 是 一 本 好 書 。 EOS\n", "translation: 雖 然 有 一 些 印 刷 錯 誤 , 但 它 。\n", "\n", "BOS at UNK today , our usual restaurant was closed because of a funeral in the family . EOS\n", "BOS 今 天 午 餐 時 間 , 我 們 常 去 的 飯 館 關 門 了 , 因 為 他 們 家 在 辦 喪 事 。 EOS\n", "translation: 今 天 午 餐 時 , 我 們 常 去 的 飯 館 關 門 為 他 們 家 在 辦 法 語 言 , 因 為 他 們 在 辦 喪 事 。\n", "\n", "BOS if you do n't have anything nice to say , do n't say anything at all . EOS\n", "BOS 如 果 你 没 好 话 说 , 那 就 什 么 都 别 说 。 EOS\n", "translation: 如 果 你 不 是 不 是 話 , 那 那 任 何 東 西 , 那 麼 話 , 那 麼 說 話 , 那 麼 說 話 , 那 麼 不 必 要 沒 說 話 , 那 樣 對 的 話 , 那 樣 不 必 要 做 。\n", "\n", "BOS `` where have you been ? '' `` i 've been to the barber 's . '' EOS\n", "BOS 你 去 哪 儿 了 ? 我 去 了 理 发 店 。 EOS\n", "translation: “ 你 去 哪 儿 了 ? 我 去 了 理 发 店 。 ”\n", "\n", "BOS `` he 'd like to have a coffee after work . '' `` i would too . '' EOS\n", "BOS `` 他 想 在 下 班 後 喝 杯 咖 啡 。 `` `` 我 也 想 。 `` EOS\n", "translation: `` 他 想 在 吃 飯 後 面 。 `` 我 也 想 吃 飯 。\n", "\n", "BOS this is a secret just between you and me , so do n't let it slip out . EOS\n", "BOS 这 只 是 你 和 我 之 间 的 秘 密 , 所 以 不 要 让 它 流 出 去 。 EOS\n", "translation: 这 只 是 我 们 之 间 的 秘 密 , 但 你 就 不 让 我 们 在 做 出 去 。\n", "\n", "BOS i want a UNK phone , but i do n't have enough money to pay for one . EOS\n", "BOS 我 想 要 一 支 手 機 , 但 是 我 沒 有 足 夠 的 錢 買 一 支 。 EOS\n", "translation: 我 想 要 一 支 手 機 , 但 我 沒 有 足 夠 的 錢 買 到 。\n", "\n", "BOS after asking for my key at the front desk , i took the elevator to my floor . EOS\n", "BOS 我 到 櫃 檯 拿 了 鑰 匙 , 然 後 就 乘 電 梯 去 了 我 房 間 的 樓 層 。 EOS\n", "translation: 我 到 櫃 檯 拿 了 鑰 匙 , 然 後 就 乘 電 梯 去 了 我 的 樓 層 。\n", "\n", "BOS `` why are you going to japan ? '' `` to attend a conference in tokyo . '' EOS\n", "BOS “ 你 去 日 本 干 嘛 ? ” “ 去 东 京 参 加 一 个 会 议 。 ” EOS\n", "translation: “ 你 去 日 本 干 嘛 ? ” “ 去 东 京 参 加 一 个 会 议 。 ”\n", "\n", "BOS i hope i will have a chance to see you next time i 'm in new york . EOS\n", "BOS 希 望 下 次 我 在 纽 约 还 可 以 有 机 会 见 到 你 。 EOS\n", "translation: 希 望 我 會 有 去 纽 约 还 是 时 间 。\n", "\n", "BOS it would take me too much time to explain to you why it 's not going to work . EOS\n", "BOS 给 你 解 释 这 为 什 么 行 不 通 要 花 很 多 时 间 。 EOS\n", "translation: 为 什 么 你 解 释 这 样 的 时 候 来 不 做 。\n", "\n", "BOS i 've had a UNK throat since this morning . i wonder if i 've caught a cold . EOS\n", "BOS 早 上 起 来 , 嗓 子 变 得 很 沙 UNK , 我 想 是 不 是 感 冒 了 。 EOS\n", "translation: 今 天 早 上 我 来 说 一 棵 绿 灯 , 我 还 没 有 变 得 很 孤 单 。\n", "\n", "BOS my parents usually speak to each other in french , even though my mother is a native english speaker . EOS\n", "BOS 我 父 母 通 常 用 法 语 对 话 , 即 使 我 母 亲 的 母 语 是 英 语 。 EOS\n", "translation: 我 父 母 通 常 用 法 语 对 话 , 即 使 我 母 语 是 英 语 。\n", "\n", "BOS `` will you have some more coffee ? '' `` no , thanks . i 've had enough . '' EOS\n", "BOS “ 你 想 再 来 点 咖 啡 吗 ? ” “ 不 , 谢 谢 。 我 够 了 。 ” EOS\n", "translation: “ 你 想 再 来 点 咖 啡 , 不 是 吗 ? ” “ 我 吃 点 。 ”\n", "\n", "BOS i do n't have a lot of work , but it 's enough to keep me in the office this week . EOS\n", "BOS 其 实 我 工 作 并 不 多 , 但 足 以 让 我 这 周 在 办 公 室 里 忙 着 了 。 EOS\n", "translation: 我 不 夠 , 但 它 是 該 在 這 麼 花 钱 了 。\n", "<<<<<<< finished evaluate, cost 2915.1545 seconds\n" ] } ], "source": [ "# 预测\n", "# 加载模型\n", "model.load_state_dict(torch.load(SAVE_FILE))\n", "# 开始预测\n", "print(\">>>>>>> start evaluate\")\n", "evaluate_start = time.time()\n", "evaluate(data, model) \n", "print(f\"<<<<<<< finished evaluate, cost {time.time()-evaluate_start:.4f} seconds\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "256px" }, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }