我想使用pyns和gensim在英语维基百科上训练word2vec模型.我密切关注https://groups.google.com/forum/#!topic/gensim/MJWrDw_IvXw.
它适用于我,但我不喜欢生成的word2vec模型是命名实体被拆分,这使得该模型不能用于我的特定应用程序.我需要的模型必须将命名实体表示为单个向量.
这就是为什么我打算用spacy解析维基百科文章并将"北卡罗来纳"等实体合并到"north_carolina"中,以便word2vec将它们表示为单个向量.到现在为止还挺好.
spacy解析必须是预处理的一部分,我最初按照链接讨论中的建议使用:
...
wiki = WikiCorpus(wiki_bz2_file, dictionary={})
for text in wiki.get_texts():
article = " ".join(text) + "\n"
output.write(article)
...
Run Code Online (Sandbox Code Playgroud)
这将删除标点符号,停用单词,数字和大小写,并将每篇文章保存在生成的输出文件中的单独行中.问题是spacy的NER并不能真正处理这个预处理文本,因为我猜它依赖于NER(?)的标点符号和大小写.
有谁知道我是否可以"禁用"gensim的预处理,以便它不会删除标点符号等但仍然直接从压缩的维基百科转储解析维基百科文章到文本?或者有人知道更好的方法来实现这一目标吗?提前致谢!