word2vector安装

word2vector是Google开源项目主要是做词向量,理论上语料越大越好.python3在安装过程中出现一些问题.再次记录一下我将python安装源改成了清华大学的,创建如下目录:C:\Users\tk\pip,并在该文件夹下新建:pip.ini内容为:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

首先下载Rtools(https://cran.r-project.org/bin/windows/Rtools/),因为需要GCC编译,所以安装,安装过程记得把添加PATH的勾选上

执行打开Anaconda执行

pip install word2vec

安装过程报错如下如:

  Failed building wheel for word2vec
  Running setup.py clean for word2vec
Failed to build word2vec
Installing collected packages: word2vec
  Running setup.py install for word2vec ... error
    Complete output from command C:\Users\tk\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\tk\\AppData\\Local\\Temp\\pip-install-kp9dm2wz\\word2vec\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\tk\AppData\Local\Temp\pip-record-dv_jlkn2\install-record.txt --single-version-externally-managed --compile:
    running install
    C:\Users\tk\AppData\Local\Temp\pip-install-kp9dm2wz\word2vec\word2vec\src\win32/word2vec.c:21:25: fatal error: win32-port.h: No such file or directory
     # include "win32-port.h"
                             ^

 找不到win32-port.h文件,下面是win32-port.h的源文件:

#if !defined WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <Windows.h>
#include <process.h>
#include <assert.h>
 
typedef struct {
  void *(*pthread_routine)(void *);
  void *pthread_arg;
  HANDLE handle;
} pthread_t;
 
static unsigned __stdcall win32_start_routine(void *arg) {
  pthread_t *p = (pthread_t *)arg;
  p->pthread_routine(p->pthread_arg);
  return 0;
}
 
static int pthread_create(pthread_t *id, void *attr,
                          void *(*start_routine)(void *), void *arg) {
  assert(attr == 0);
  id->pthread_routine = start_routine;
  id->pthread_arg = arg;
  id->handle =
      (HANDLE)_beginthreadex(0, 0, win32_start_routine, (void *)id, 0, 0);
  if (id->handle != 0) return 0;
  return -1;
}
 
static int pthread_join(pthread_t thread, void **retval) {
  WaitForSingleObject(thread.handle, INFINITE);
  if (retval) {
    *retval = 0;
  }
  return 0;
}
 
static void pthread_exit(void *p) { _endthreadex(0); }
 
static int posix_memalign(void **memptr, size_t alignment, size_t size) {
  assert(memptr);
  *memptr = _aligned_malloc(size, alignment);
  if (*memptr) {
    return 0;
  } else {
    return -1;
  }
}

在直接下载word2vector: 

https://pypi.tuna.tsinghua.edu.cn/packages/ce/51/5e2782b204015c8aef0ac830297c2f2735143ec90f592b9b3b909bb89757/word2vec-0.10.2.tar.gz,

压缩包放在C:\Users\XXX\Anaconda3\pkgs目录下并解压,进入word2vec-0.10.2\word2vec\src\win32,

新建win32-port.h并复制上面的win32-port.h内容,进入Anaconda进入:C:\Users\XXX\Anaconda3\pkgs\word2vec-0.10.2运行命令

python setup.py install

然后测试安装是否成功

from gensim.models import word2vec
import gensim
import logging

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Word2Vec是一种用于将文本转换为向量表示的工具,它是通过训练一个神经网络模型来实现的。在Word2Vec的源码中,有几个主要的部分和过程。 首先,源码中包含了数据预处理的步骤。这个步骤包括将原始文本分割成单词,建立词汇表并为每个单词分配一个唯一的标识符。源码还负责将原始文本转换为训练样本,其中每个样本由一个输入单词和一个输出单词组成。 接下来,源码中定义了训练模型的结构和参数。该模型通常是一个两层的神经网络,其中包含一个隐藏层和一个输出层。隐藏层的节点数可以根据需求进行设置。训练模型中的参数包括学习率、迭代次数和训练样本的窗口大小等。 然后,源码中实现了模型的训练过程。训练过程基于输入和输出单词的样本对,通过对模型进行多次迭代来优化模型的参数。在每一次迭代的过程中,模型会根据当前输入单词预测输出单词,并计算预测结果与实际输出之间的误差。然后,模型会使用误差来更新参数,以提高模型的准确性。 最后,源码中还提供了用于将训练好的模型应用于新的文本数据的方法。通过载入训练好的模型参数,并使用这些参数来将新的文本转换为向量表示。 总的来说,Word2Vec的源码实现了一个能够将文本转为向量表示的工具,并通过训练神经网络模型来优化向量表示的准确性。通过了解源码,我们可以更好地理解Word2Vec的原理和实现过程,并且可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值