标题:支持兴趣点数据(POI)的空间语义分析工具 Google Word2Vec

简介

  • Google的Word2Vec是一种经典的语言模型,它从大量文本语料中以无监督学习的方式学习语义知识,把非结构化的词转换为结构化的向量。
  • 我们在Google公布的源代码基础上进行了修改并封装,可用于将兴趣点数据(POI)向量化,以便于进一步的分析。
  • 该程序支持中文,修复了源代码中存在的一些错误。
  • 如需详细了解该模型,请参考Google的公布的官方资料:https://code.google.com/archive/p/word2vec/

程序运行环境需求(必须)

  • Windows 8/10/11 (32/64位)
  • Microsoft Visual C++ 2010 Redistributable 及以上

程序使用方法

files_word2vec

图1 本程序文件目录
  • 程序为控制台程序,通过批处理文件run.bat文件设置参数与执行。
  • 解压word2vec_exe文件夹后,首先使用文本编辑器打开run.bat,对Word2vec_Vs2010.exe后的参数进行修改,参数具体设置附后。
  • 保存后,运行run.bat即可开始训练。
  • 本程序自带一个数据样例questions-words.txt(data文件夹下),相关参数已配置好,可以直接运行run.bat进行测试。

程序参数设置

参数总览:
Word2Vec_Vs2010.exe -train -output -size -window -sample -hs -negative -min-count -alpha -cbow -iter -binary

各参数说明:
-trian: 指定训练数据文件

格式为一行表示一篇文档,可参考data文件夹中的questions-words.txt,每行中每个词用空格隔开,例如:
Athens Greece Baghdad Iraq …
Athens Greece Bangkok Thailand …
Athens Greece Beijing China …

-output: 指定训练得到的词向量文件的输出位置

可参考data文件夹中的vec.txt,首行的两个数字表示总共的词数以及向量维数,其余每一行表示的是一个词的词向量,形式为“词 词向量”,用空格隔开,例如:
California 0.395242 -0.514422 1.130360 …
Texas 0.298822 -0.469757 1.172753 …
Florida 0.228366 -0.359737 1.018904 …

-size: 输出结果的向量维数
-window: 上下文窗口大小,默认值是5
-sample: 高频词亚采样的阈值
-hs: 是否采用层次softmax
-negative: 每个词进行negative sampling的次数
-min-count: 被截断的低频词阈值
-alpha: 开始的learning rate
-cbow: 是否使用使用CBOW算法
-iter: 迭代次数
-binary: 输出文件是否为二进制文件

程序对样例数据(questions-words.txt)配置的默认参数
-train ./data/questions-words.txt -output ./data/vec.txt -size 100 -window 5 -sample 1e-4 -negative 1 -hs 0 -binary 0 -cbow 1 -iter 20 -min-count 1

程序下载

点此下载软件(wordvec_exe.zip)

论文应用

  • Yao Y, Li X, Liu X, et al. Sensing spatial distribution of urban land use by integrating points-of-interest and Google Word2Vec model[J]. International Journal of Geographical Information Science, 2017, 31(4): 825-848.(站外链接,IJGIS

fig_word2vec_231113

图2 基于向量化POI聚类得到的城市空间结构

Q.E.D.