我正在学习深度学习,作为我自己的第一个练习,我正在尝试构建一个系统来学习一项非常简单的任务——将每个单词的首字母大写。作为第一步,我尝试创建“字符嵌入”——每个字符的向量。我正在使用以下代码:
import gensim
model = gensim.models.Word2Vec(sentences)
其中 sentence 是我从这个长长的 Wikipedia 页面中获取的字符列表的列表。例如,句子[101] 是:
[' ', ' ', ' ', ' ', 'S', 'p', 'e', 'a', 'k', 'i', 'n', 'g', ' ', 'a', 't', ' ', 't', 'h', 'e', ' ', 'c', 'o', 'n', 'c', 'l', 'u', 's', 'i', 'o', 'n', ' ', 'o', 'f', ' ', 'a', ' ', 'm', 'i', 's', 's', 'i', 'l', 'e', ' ', 'e', 'x', 'e', 'r', 'c', 'i', 's', 'e', ... ]
为了测试模型,我做了:
model.most_similar(positive=['A', 'b'], negative=['a'], topn=3)
我希望在顶部得到'B',因为'A'-'a'+'b'='B',但我得到了:
[('D', 0.5388374328613281),
('N', 0.5219535827636719),
('V', 0.5081528425216675)]
(另外,我的大写应用程序运行得不太好,但这可能是因为嵌入)。
我应该怎么做才能获得识别大写的嵌入?