目的:有许多语句需要组织和聚类(类似的关键字组织在一起)。
我的技术知识:在过去三个星期里学习了Python和Tensorflow相关的内容。学到了一些基本知识。
keywords = pd.read_csv("copy.csv")
cover_words = []
for row in keywords.Keyword:
cover_words.append(row)# Tokenizer
tokenizer = Tokenizer(num_words = 10000, oov_token='<OOV>')
tokenizer.fit_on_texts(cover_words)
word_index = tokenizer.word_index
# Sequences
Sequences = tokenizer.texts_to_sequences(cover_words)
sentences_padded = pad_sequences(Sequences, padding='post', truncating='post')embedding_layer = layers.Embedding(20000, 4)
tf_data = tf.convert_to_tensor(sentences_padded, tf.float32, name='t')
result = embedding_layer(tf_data)我的下一个想法是用循环把句子的单词向量加起来,得到“句子向量”。然后用循环来找出向量的余弦相似性,相似度越近,就越接近。
但是现在我遇到了一个问题,因为句子长度不一样,所以我使用sentences_padded = pad_sequences(Sequences, padding='post', truncating='post')使所有的句子都是相同的长度。所以,如果我需要把句子中的单词向量加起来才能得到句子向量,那是不是把太多无效的向量加进去了呢?
我也不知道如何去除这个无效的向量。另外,我也不知道上面的内容是否正确,或者是否有更简单的方法。
发布于 2020-11-09 08:30:00
使用嵌入的平均值,而不是求和它们。
https://stackoverflow.com/questions/64739194
复制相似问题