如何在 Tensorflow Transform 中计算 TF-IDF(使用 tft.tfidf 函数)
How to calculate TF-IDF (using tft.tfidf function) in Tensorflow Transform
在浏览 tensorflow 转换中的文档时,我遇到了执行 TD-IDF 的函数。
tft.tfidf(
x, vocab_size, smooth=True, name=None
)
由于文档在提供如何执行 TD-IDF 的示例方面不清楚,我尝试使用 example_string
example_strings=[["I", "like", "pie", "pie", "pie"], ["yum", "yum", "pie"]]
词汇大小为 1000。(只是随机数)但下面的代码给我一个属性错误。
tft.tfidf(example_strings, vocab_size=1000)
AttributeError: 'list' 对象没有属性 'indices'
请帮我解决这个问题,因为我对 Tensorflow 转换操作还很天真。
如果您想使用 TFT (here an example) 计算 tfidf,您可以这样做
example_strings = ["I like pie pie pie", "yum yum pie"]
VOCAB_SIZE = 100
tf.compat.v1.disable_eager_execution()
tokens = tf.compat.v1.string_split(example_strings)
indices = tft.compute_and_apply_vocabulary(tokens, top_k=VOCAB_SIZE)
bow_indices, weight = tft.tfidf(indices, VOCAB_SIZE + 1)
否则你也可以用TF Tokenizer:
tk = tf.keras.preprocessing.text.Tokenizer(num_words=VOCAB_SIZE)
tk.fit_on_texts(example_strings)
tk.sequences_to_matrix(tk.texts_to_sequences(example_strings), mode='tfidf')
在浏览 tensorflow 转换中的文档时,我遇到了执行 TD-IDF 的函数。
tft.tfidf(
x, vocab_size, smooth=True, name=None
)
由于文档在提供如何执行 TD-IDF 的示例方面不清楚,我尝试使用 example_string
example_strings=[["I", "like", "pie", "pie", "pie"], ["yum", "yum", "pie"]]
词汇大小为 1000。(只是随机数)但下面的代码给我一个属性错误。
tft.tfidf(example_strings, vocab_size=1000)
AttributeError: 'list' 对象没有属性 'indices'
请帮我解决这个问题,因为我对 Tensorflow 转换操作还很天真。
如果您想使用 TFT (here an example) 计算 tfidf,您可以这样做
example_strings = ["I like pie pie pie", "yum yum pie"]
VOCAB_SIZE = 100
tf.compat.v1.disable_eager_execution()
tokens = tf.compat.v1.string_split(example_strings)
indices = tft.compute_and_apply_vocabulary(tokens, top_k=VOCAB_SIZE)
bow_indices, weight = tft.tfidf(indices, VOCAB_SIZE + 1)
否则你也可以用TF Tokenizer:
tk = tf.keras.preprocessing.text.Tokenizer(num_words=VOCAB_SIZE)
tk.fit_on_texts(example_strings)
tk.sequences_to_matrix(tk.texts_to_sequences(example_strings), mode='tfidf')