doc2vec gensim的参数model.infer_vector的理解
Understanding of the parameter model.infer_vector for doc2vec gensim
这是否意味着我必须为输入 doc_words 提供文档的标记化单词作为字符串列表或仅作为字符串列表的文档。请澄清
doc_words
应该是一个单独的单词标记列表作为字符串,相当于训练期间每个训练文档的 words
。也就是说:它应该像您的训练数据一样经过预处理和标记化。
(当你问你的问题时,"tokenized words of a document as list of strings or simply a document as a list of string",据我理解这些词,这两个备选方案是同一件事:Python list
,其中每个项目是一个字符串词。)
关于 infer_vector()
的其他重要注意事项:
推理总是从一个低量级的随机向量开始,然后迭代地改进该向量
模型不知道的单词将被默默忽略;在极端情况下,如果你提供一个包含所有未知单词的文本,则不会发生任何推理——但由于上面的随机初始化,你仍然会得到一个向量
如果您未指定 epochs
值,它将重用模型中缓存的值(模型初始化或上次 train()
调用遗留下来的值)。您通常希望它使用至少与训练中使用的一样大的时期数——最常见的是 10-20,但有时更大。 (而且,较大的值可能对较短的文本特别有用。)
这是否意味着我必须为输入 doc_words 提供文档的标记化单词作为字符串列表或仅作为字符串列表的文档。请澄清
doc_words
应该是一个单独的单词标记列表作为字符串,相当于训练期间每个训练文档的 words
。也就是说:它应该像您的训练数据一样经过预处理和标记化。
(当你问你的问题时,"tokenized words of a document as list of strings or simply a document as a list of string",据我理解这些词,这两个备选方案是同一件事:Python list
,其中每个项目是一个字符串词。)
关于 infer_vector()
的其他重要注意事项:
推理总是从一个低量级的随机向量开始,然后迭代地改进该向量
模型不知道的单词将被默默忽略;在极端情况下,如果你提供一个包含所有未知单词的文本,则不会发生任何推理——但由于上面的随机初始化,你仍然会得到一个向量
如果您未指定
epochs
值,它将重用模型中缓存的值(模型初始化或上次train()
调用遗留下来的值)。您通常希望它使用至少与训练中使用的一样大的时期数——最常见的是 10-20,但有时更大。 (而且,较大的值可能对较短的文本特别有用。)