sas文本挖掘案例(如何使用SAS计算WordMover的距离)
原文链接:http://tecdat.cn/?p=6181
Word Mover的距离(WMD)是用于衡量两个文档之间差异的距离度量,它在文本分析中的应用是由华盛顿大学的一个研究小组在2015年引入的。
Word Mover距离的定义
WMD是两个文档之间的距离,作为将所有单词从一个文档移动到另一个文档所需的最小(加权)累积成本。通过解决以下线性程序问题来计算距离。
need-to-insert-img
文章图片
T ij表示文档d中的单词i在文档d'中移动到单词j的多少;
C(1;
j)的表示从文件d中的单词我到文件d '中的单词J‘行进’的费用;
这里的成本是word2vec嵌入空间中的两个词'欧几里德距离;
如果字我出现?我在文档d次,我们记
need-to-insert-img
文章图片
WMD是地球移动器距离度量(EMD)的一个特例,这是一个众所周知的运输问题。
如何用SAS计算地球移动的距离?
SAS / OR是解决运输问题的工具。图1显示了一个带有四个节点和节点之间距离的传输示例,我从这个Earth Mover的距离文档中复制了这些节点。目标是找出从{x1 ,x2}到{y1,y2}的最小流量。现在让我们看看如何使用SAS / OR解决这个运输问题。
节点的权重和节点之间的距离如下。
need-to-insert-img
文章图片
图-1运输问题
ARCS;
num arcCost{ARCS};
readdatax_setintoxNODES=[_node_]w=_sd_;
readdatay_setintoyNODES=[_node_]u=_sd_;
readdataarcdataintoARCS=[_tail_ _head_]arcCost=_cost_;
varflow{inARCS}>=0;
impvar sumY =sum{jinyNODES}u[j];
minobj =(sum{inARCS}arcCost[i,j]* flow[i,j])/sumY;
con con_y{jinyNODES}:sum{inARCS}flow[i,j]= u[j];
con con_x{iinxNODES}:sum{<(i),j>inARCS}flow[i,j]<= w[i];
solve with lp / algorithm=ns scale=none logfreq=1;
print flow;
quit;
"}"> datax_set;
input_node_ $ _sd_;
datalines;
x10.74x20.26;
datay_set;
input_node_ $ _sd_;
datalines;
y10.23y20.51;
dataarcdata;
input_tail_ $ _head_ $ _cost_;
datalines;
x1 y1155.7x1 y2252.3x2 y1292.9x2 y2198.2;
proc optmodel;
setxNODES;
num w{xNODES};
setyNODES;
num u{yNODES};
set ARCS;
num arcCost{ARCS};
readdatax_setintoxNODES=[_node_]w=_sd_;
readdatay_setintoyNODES=[_node_]u=_sd_;
readdataarcdataintoARCS=[_tail_ _head_]arcCost=_cost_;
varflow{inARCS}>=0;
impvar sumY =sum{jinyNODES}u[j];
minobj =(sum{inARCS}arcCost[i,j]* flow[i,j])/sumY;
con con_y{jinyNODES}:sum{inARCS}flow[i,j]= u[j];
con con_x{iinxNODES}:sum{<(i),j>inARCS}flow[i,j]<= w[i];
solve with lp / algorithm=ns scale=none logfreq=1;
print flow;
quit;
need-to-insert-img
SAS / OR的解决方案如表-1所示,EMD是目标值:203.26756757。
need-to-insert-img
文章图片
表-1 EMD用SAS / OR计算
我用SAS / OR表2得到的流量数据显示如下,与上述地球移动器距离文档中公布的图表相同。
need-to-insert-img
文章图片
表-2 SAS / OR的流量数据
need-to-insert-img
文章图片
图-2运输问题流程图
如何用SAS计算Word Mover的距离
【sas文本挖掘案例(如何使用SAS计算WordMover的距离)】本文从Word嵌入到文档距离,通过删除WMD的第二个约束来减少计算,提出了一个名为放松的Word Mover距离(RWMD)的新度量。由于我们需要读取文字嵌入数据,因此我将向您展示如何使用SAS Viya计算两个文档的RWMD。
推荐阅读
- 第二阶段day1总结
- 临床统计学学习日志
- iOS富文本为html时,修改默认字体颜色
- Mac下怎么新建|Mac下怎么新建 .txt 文本文件
- 使用NSAttributedString富文本踩到的坑
- Android将文本中的URL转换为超链接工具类(原文本有超链接标签也适用)
- r语言|手把手(R语言文本挖掘和词云可视化实践)
- 论文查重python文本相似性计算simhash源码
- sed去除文本中的双引号
- react-富文本编辑框遇到的问题