tensorflow - 在 tensorflow 中将单词剥离为其组成字符

标签 tensorflow tensorflow-hub

我有一个形状为[None, None]、类型为string的张量占位符。例如,它看起来像这样

[[“你好”,“世界”],[“美国人”,“人民”]]

现在我想将此 2D 张量转换为 3D 张量,该张量现在基本上将每个单词剥离为其组成字符。所以输出看起来像 [[["H", "e", "l", "l", "o"], ["W", "o", "r", "l", "d"]], [[“A”、“m”、“e”、“r”、“i”、“c”、“a”、“n”]、[“p”、“e”、“o”、“p ", "l", "e"]]]

由于每个单词的字符数不同,因此新的张量应该用空格填充小单词。 tensorflow 中有没有办法解决这个问题?

最佳答案

运行

import tensorflow as tf
import tensorflow_transform as tft

input_data = tf.placeholder(shape=[None, None], dtype=tf.string, name="words")
words_flatten = tf.reshape(words, [tf.shape(words)[0] * tf.shape(words)[1]])
words_split = tf.string_split(words_flatten, delimiter="")
ngrams = tft.ngrams(words_split, ngram_range=(1,3), separator="")
tokens= tf.sparse_reset_shape(tf.sparse_fill_empty_rows(ngrams, "")[0])
tokens_dense = tf.reshape(
            tf.sparse_to_dense(tokens.indices, tokens.dense_shape, tokens.values, default_value=""),
            [tf.shape(words)[0], tf.shape(words)[1], -1]
        )

tokens_dense 是所需的输出。

关于tensorflow - 在 tensorflow 中将单词剥离为其组成字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54274941/

相关文章:

python - Keras - LeakyReLU保存模型时没有属性名错误

tensorflow - Matterport Mask R-CNN - 不可预测的损失值和较大图像的奇怪检测结果

tensorflow - DNNRegressor、DNNClassifier 和 DNNEstimator 之间的区别 - TensorFlow

python - tensorflow_hub 在 Windows 机器上拉出 BERT 嵌入 - 扩展到 albert

python - Keras 意外的内核正则化器错误

python - TensorFlow 从多个 GPU 中选择要使用的 GPU

python - 使用 ELMo 嵌入段落

python - 如何访问 TF Hub 模块中的 BERT 中间层输出?

python - 如何提供 tensorflow 模块,特别是通用句子编码器?