如何将相似度高于 .6 的单词写入字典中的特定单词到 pandas 中的数据框
How to write words having similarity above .6 to a specific word from a dictionary to a dataframe in pandas
我有一个 word2vec 字典,其中包含与给定单词相似的单词列表。
例子
model.most_similar("ltd")
[('limited', 0.7886955142021179),
('limi', 0.6512018442153931),
('limite', 0.6031635999679565),
('wilford', 0.5938706994056702),
('lt', 0.583463728427887),
('lighttech', 0.5828145146369934),
('rmc', 0.5821658372879028),
('tomoike', 0.5752800703048706),
('jd', 0.5751883387565613),
('nxp', 0.5725069046020508)]
我想创建包含 root 和 similar_words(相似度高于 .6)
的数据框
目前我能写出所有词根对应的相似词
words = y
similar = [[item[0] for item in model.most_similar(word)[:6]] for word in words]
similarity_matrix = pd.DataFrame({'Root_Word': words, 'Similar_Words': similar})
当前输出
Root_Word Similar_word
[st] [st., sreet, rd;, yop, tseun, tsven]
[limited] [ltd, lt, wt, serial, (h.k., dk]
[centre] [cent, ct, cte, entre, ctr., ce]
预期输出只有相似度高于 .6 的相似词。
如何做到这一点
根据您目前的方法:
similar = [[item[0] for item in model.most_similar(word) if item[1] > 0.6] for word in words]
我有一个 word2vec 字典,其中包含与给定单词相似的单词列表。
例子
model.most_similar("ltd")
[('limited', 0.7886955142021179),
('limi', 0.6512018442153931),
('limite', 0.6031635999679565),
('wilford', 0.5938706994056702),
('lt', 0.583463728427887),
('lighttech', 0.5828145146369934),
('rmc', 0.5821658372879028),
('tomoike', 0.5752800703048706),
('jd', 0.5751883387565613),
('nxp', 0.5725069046020508)]
我想创建包含 root 和 similar_words(相似度高于 .6)
的数据框目前我能写出所有词根对应的相似词
words = y
similar = [[item[0] for item in model.most_similar(word)[:6]] for word in words]
similarity_matrix = pd.DataFrame({'Root_Word': words, 'Similar_Words': similar})
当前输出
Root_Word Similar_word
[st] [st., sreet, rd;, yop, tseun, tsven]
[limited] [ltd, lt, wt, serial, (h.k., dk]
[centre] [cent, ct, cte, entre, ctr., ce]
预期输出只有相似度高于 .6 的相似词。
如何做到这一点
根据您目前的方法:
similar = [[item[0] for item in model.most_similar(word) if item[1] > 0.6] for word in words]