Предварительная обработка текстовых данных с помощью файлов TFRecords

У меня есть набор данных.tfrecord текстовых документов (электронных писем) с соответствующими метками "0" или "1" (для спама / не спама). Весь этот набор данных уже находится в форме файла.tfrecord. Я пытаюсь превратить электронные письма в сумку слов. У меня есть все вспомогательные методы, но я все еще не знаком с tfrecords. Это то, что я до сих пор читал в файле tf_record:

def read_from_tfrecord(filenames):

    tfrecord_file_queue = tf.train.string_input_producer([filenames], name='queue')
    reader = tf.TFRecordReader()

    _, tfrecord_serialized = reader.read(tfrecord_file_queue)

    tfrecord_features = tf.parse_single_example(tfrecord_serialized,
                        features={
                            'label': tf.FixedLenFeature([], tf.int64),
                            'text': tf.FixedLenFeature([], tf.string),
                        }, name='features')

    text = tfrecord_features['text']
    label = tfrecord_features['label']

    return label, text

Как мне поступить, если я хочу использовать свои вспомогательные методы для изменения "текстов"?

1 ответ

tf.parse_single_example вернет ключи сопоставления словаря тензорам, что означает, что text это тензор. Таким образом, вы можете использовать тензорные операции для преобразования его в пакет слов.

Например:

text = tf.unique(tf.string_split([text]).values).y

Это вернет все уникальные токены (разделенные пробелами) в письме. Возможно, вам придется добавить больше операций для пунктуации и других случаев.

Другие вопросы по тегам