Deep learning 如何存储单词向量嵌入?

Deep learning 如何存储单词向量嵌入?,deep-learning,lstm,word2vec,opennlp,word-embedding,Deep Learning,Lstm,Word2vec,Opennlp,Word Embedding,我对NLP和Deep Learning领域非常陌生,我想了解在使用Word2Vec对整个语料库进行矢量化后,我是否需要在本地存储单词矢量值? 如果是,我想为android制作一个聊天机器人。有人可以指导我吗?word2vec嵌入可以保存: 在深度模型的第一层中。这是一种罕见的方法,因为在这种情况下,您不能将此word2vec用于其他任务 作为磁盘上的独立文件。对于大多数用例来说,它是更可行的方法 我建议使用gensim框架来培训word2vec。在这里,您可以了解更多如何训练word2vec

我对
NLP
Deep Learning
领域非常陌生,我想了解在使用
Word2Vec
对整个语料库进行矢量化后,我是否需要在本地存储单词矢量值?
如果是,我想为
android制作一个聊天机器人。
有人可以指导我吗?

word2vec嵌入可以保存:

  • 在深度模型的第一层中。这是一种罕见的方法,因为在这种情况下,您不能将此word2vec用于其他任务
  • 作为磁盘上的独立文件。对于大多数用例来说,它是更可行的方法
我建议使用gensim框架来培训word2vec。在这里,您可以了解更多如何训练word2vec并将其保存到磁盘:

特别是,保存通过以下方式执行:

model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
model.save("word2vec.model")

聊天机器人的训练是一个更加困难的问题。我可以尝试向您建议一个可能的工作流程,但您应该澄清您心目中的聊天机器人是什么类型的?例如,它是否应该回答任何问题(开放域)?它应该生成答案还是只有预定义的答案

基本上像个助手。如果输入为“3小时后唤醒我”,则应将动作设置为报警当前时间+3小时。在设置警报后,它应该会生成一个类似“如你所愿,3小时后我会叫醒你”之类的人性化文本。我认为在这种情况下,你必须1)创建一个神经网络,该网络接收输入一个带有请求的序列,并预测该请求的类别。这里有一个很好的教程:2)创建一个额外的NER(命名实体识别)模型,它将提取输入请求的参数。在您的示例中,“3”就是这样的参数(报警时间)。你可以自己训练,但我建议你学习spacy。谢谢。但是如何将wordvector作为独立文件存储在androidIn中?在我的回答中,您可以看到将word2vec模型保存到磁盘的命令。你可以从android上使用它。我看到的唯一问题是:word2vec是一款相当大的型号(可以达到10GB以上)。我认为您应该在服务器上执行所有逻辑。