繁体   English   中英

保存在 Tensorflow 模型中的自定义文本预处理

[英]Custom text pre-processing saved in Tensorflow model

如何编写可以保存为模型一部分的自定义文本预处理?

假设我想要两个功能:

  1. 使用某些功能自动更正字符串输入。 此操作后文字可能会发生变化
  2. 对字符串输入进行查询扩展,这样结果文本/标记可能包含很少的额外单词(将为其训练权重)。

像这样的东西:

  1. 飞往伦敦-> 飞往伦敦

  2. 飞往伦敦 -> 飞往伦敦loc_city

    -> 这个标记需要提前在词汇表中,这可以做到

在步骤 1 和/或 2 之后,将结果提供给 TextVectorisation / Embedding 层?

standardize回调,但我看不到使用现有 tf.string 操作的明显方法。

理想情况下,有一个回调函数/层接受字符串(或标记)并映射到另一个字符串(或字符串标记)。

您可以像这样获取字符串的第一个字符:

import tensorflow as tf

class StringLayer(tf.keras.layers.Layer):
  def __init__(self):
    super(StringLayer, self).__init__()

  def call(self, inputs):
    return tf.squeeze(tf.strings.bytes_split(inputs), axis=1).to_tensor()[:, 0]

s = tf.constant([['next_string'], ['some_string']])
layer = StringLayer()
print(layer(s))
# tf.Tensor([b'n' b's'], shape=(2,), dtype=string)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM