本文为您介绍PAI-Studio提供的语义向量距离算法组件。

基于算法语义向量结果(如Word2Vec生成的词向量),计算给定的词(或者句子)的扩展词(或者扩展句),即计算其中某一向量距离最近的向量集合。其中一个用法是,基于Word2Vec生成的词向量结果,根据输入的词返回最为相似的词列表。

配置组件

PAI-Studio支持通过可视化或PAI命令的方式,配置组件参数:
  • 可视化方式
    页签 参数 描述
    字段设置 id所在列名 输入其唯一标识列。
    向量的列名列表 如f1,f2。
    参数设置 输出的距离最近的向量的数目 默认值为5。
    距离的计算方式 支持如下计算方式:
    • euclidean
    • cosine
    • manhattan

    默认值为euclidean。

    距离的阈值 当两个向量的距离小于此值时输出,默认值为+∞。
    执行调优 计算的核心数 默认自动分配。
    每个核心的内存(MB) 默认自动分配。
  • PAI命令方式
    PAI -name SemanticVectorDistance 
        -project algo_public    
        -DinputTableName="test_input"    
        -DoutputTableName="test_output"    
        -DidColName="word"    
        -DvectorColNames="f0,f1,f2,f3,f4,f5"    
        -Dlifecycle=30
    参数名称 是否必选 描述 默认值
    inputTableName 输入表名
    inputTablePartitions 输入表中指定参与计算的分区 输入表的所有分区
    outputTableName 输出表名
    idTableName 需要计算相近向量的id的列表所在表名。格式为一列,每一行一个id。默认为空,即input表中的所有向量参与计算。
    idTablePartitions id表中参与计算的分区列表,默认为所有分区。
    idColName id所在列名 3
    vectorColNames 向量的列名列表,如f1,f2。
    topN 输出的距离最近的向量的数目。取值范围[1,+∞]。 5
    distanceType 距离的计算方式 euclidean
    distanceThreshold 距离的阈值。当两个向量的距离小于此值时输出。取值范围(0,+∞)。 +∞
    lifecycle 输入出表的生命周期,取值为正整数。
    coreNum 参与计算的核心数,取值为正整数。 系统自动计算
    memSizePerCore 每个核心需要的内存,取值为正整数。 系统自动计算

示例

输出表为四列,分别是original_id、near_id、distance、rank。
original_id near_id distance rank
hello hi 0.2 1
hello xxx xx 2
Man Woman 0.3 1
Man xx xx 2