Предварительная обработка текстовых данных с помощью файлов 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
Это вернет все уникальные токены (разделенные пробелами) в письме. Возможно, вам придется добавить больше операций для пунктуации и других случаев.