为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Tokenizer 函数tensorflow 对标点符号进行标记

如何使用 Tokenizer 函数tensorflow 对标点符号进行标记

红颜莎娜 2023-09-19 17:03:42
我使用asTokenizer()中的函数tensorflow.keras.preprocessing.text:from tensorflow.keras.preprocessing.text import Tokenizers = ["The quick brown fox jumped over the lazy dog."]t = Tokenizer()t.fit_on_texts(s)print(t.word_index)输出 :{'the': 1, 'quick': 2, 'brown': 3, 'fox': 4, 'jumped': 5, 'over': 6, 'lazy': 7, 'dog': 8}Tokenizer 函数排除标点符号。如何标记标点符号?( .,在此示例中。)
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

一种可能性是用空格将标点符号与单词分开。我用预处理函数来做到这一点pad_punctuation。之后我Tokenizer申请filter=''


import re

import string

from tensorflow.keras.preprocessing.text import Tokenizer


def pad_punctuation(s): return re.sub(f"([{string.punctuation}])", r' \1 ', s)


S = ["The quick brown fox jumped over the lazy dog."]

S = [pad_punctuation(s) for s in S]


t = Tokenizer(filters='')

t.fit_on_texts(S)

print(t.word_index)

结果:


{'the': 1, 'quick': 2, 'brown': 3, 'fox': 4, 'jumped': 5, 'over': 6, 'lazy': 7, 'dog': 8, '.': 9}

该pad_punctuation功能对所有标点符号都有效


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信