whs*_*s2k 5 nlp apache-spark word2vec pyspark doc2vec
我有一个pyspark数据框,其中包含大约300k个唯一行的语料库,每个行都有一个"doc",每个文档包含几个文本句子.
在处理之后,我有每行/ doc的200维矢量化表示.我的NLP流程:
我理解这个实现如何使用skipgram模型根据使用的完整语料库为每个单词创建嵌入.我的问题是:这个实现如何从语料库中每个单词的向量转到每个文档/行的向量?
它与gensim doc2vec实现中的过程相同,它只是简单地将每个文档中的单词向量连接在一起吗?:gensim如何计算doc2vec段落向量.如果是这样,它如何将向量切割到指定大小200(它只使用前200个单词?平均值?)?
我无法从源代码中找到信息:https://spark.apache.org/docs/2.2.0/api/python/_modules/pyspark/ml/feature.html#Word2Vec
任何帮助或参考材料,超级赞赏!
从词向量到文本范围的单个向量的一种简单方法是将向量平均在一起。而且,这对于某些任务来说通常效果很好。
然而,这不是Doc2Vec
班级的gensim
做法。该类实现了“段落向量”技术,其中以类似于词向量的方式训练单独的文档向量。
doc-vectors 参与训练有点像浮动合成词,涉及每个滑动窗口/目标词预测。它们不是由预先存在的词向量组成或连接的,尽管在某些模式下,它们可能与词向量同时训练。(但是,在 gensim 中使用参数 启用的快速且通常性能最佳的 PV-DBOW 模式dm=0
根本不训练或使用输入词向量。它只训练有助于预测单词的文档向量每个文本示例。)
由于您提到了多个库(Spark MLib 和 gensim),但您没有展示您的代码,因此不确定您 现有的流程究竟在做什么。
归档时间: |
|
查看次数: |
2456 次 |
最近记录: |