如何使用Tensorflow使用Python从Illiad数据集的标记化单词构建词汇表?

Tensorflow是Google提供的一种机器学习框架。它是一个开放源代码框架,与Python结合使用以实现算法,深度学习应用程序等等。它用于研究和生产目的。它具有优化技术,可帮助快速执行复杂的数学运算。这是因为它使用了NumPy和多维数组。这些多维数组也称为“张量”。该框架支持使用深度神经网络。

Tensor是TensorFlow中使用的数据结构。它有助于连接流程图中的边缘。该流程图称为“数据流程图”。张量不过是多维数组或列表。

我们将使用Illiad的数据集,其中包含来自William Cowper,Edward(德比伯爵)和Samuel Butler的三本翻译作品的文本数据。当给出单行文本时,训练模型以识别翻译器。使用的文本文件已经过预处理。这包括删除文档的页眉和页脚,行号和章节标题。

我们正在使用Google合作实验室来运行以下代码。Google Colab或Colaboratory可以帮助通过浏览器运行Python代码,并且需要零配置和对GPU(图形处理单元)的免费访问。合作已建立在Jupyter Notebook的基础上。

示例

以下是代码片段-

print("Build a vocabulary using the tokens")
tokenized_ds = configure_dataset(tokenized_ds)
vocab_dict = collections.defaultdict(lambda: 0)
for toks in tokenized_ds.as_numpy_iterator():
   for tok in toks:
   vocab_dict[tok] += 1
print("Sort the vocabulary")
vocab = sorted(vocab_dict.items(), key=lambda x: x[1], reverse=True)
vocab = [token for token, count in vocab]
vocab = vocab[:VOCAB_SIZE]
vocab_size = len(vocab)
print("词汇量为: ", vocab_size)
print("前六个词汇条目是:", vocab[:6])

代码信用-https://www.tensorflow.org/tutorials/load_data/text

输出结果

Build a vocabulary using the tokens
Sort the vocabulary
词汇量为: 10000
前六个词汇条目是: [b',', b'the', b'and', b"'", b'of', b'.']

接下来,您将通过按频率对标记排序并保留最前面的VOCAB_SIZE标记来构建词汇表。

解释

  • 根据令牌的频率对令牌进行排序后,便建立了词汇表。

  • 控制台上会显示一些词汇条目。

猜你喜欢