450
美食
文本分析__使用手册(new)_机器学习-阿里云
文本分析
目录
词频统计
功能介绍
- 在对文章进行分词的基础上,按行保序输出对应文章ID列(docId)对应文章的词,统计指定文章ID列(docId)对应文章内容(docContent)的词频。
参数设置
输入参数:经过分词组件生成两列—文档ID列和分词后的文档内容列
两个输出参数:
第一个输出端:输出表包含三个字段—id,word,count,如下图:
count—统计每个文档中,对应word词汇出现的次数
第二个输出端:输出包含两个字段—id,word,如下图:
本端口输出表按词语在文章中出现的顺序依次输出,没有统计词语的出现次数,因此同一文档中某个词汇可能出现多条记录。 包输出表格式主要用于兼容Word2Vec组件使用。
实例
采用阿里分词实例数据中,将分别将输出表的两个列作为词频统计的输入参数:选择文档ID列 — id ; 选择文档内容列 — text经过词频统计运算后,生成的结果 见本组件中第一个输出参数展示图。
pai命令示例
pai -name doc_word_stat
-project algo_public
-DinputTableName=doc_test_split_word
-DdocId=id
-DdocContent=content
-DoutputTableNameMulti=doc_test_stat_multi
-DoutputTableNameTriple=doc_test_stat_triple
-DinputTablePartitions="region=cctv_news"
算法参数
参数key名称 | 参数描述 | 参数value可选项 | 默认值 |
---|---|---|---|
inputTableName | 输入表名 | - | - |
docId | 标识文章id的列名 | 仅可指定一列 | - |
docContent | 标识文章内容的列名 | 仅可指定一列 | - |
outputTableNameMulti | 输出保序词语表名 | - | - |
outputTableNameTriple | 输出词频统计表名 | - | - |
inputTablePartitions | 输入表中指定参与分词的分区名, 格式为: partition_name=value。如果是多级格式为name1=value1/name2=value2;如果是指定多个分区,中间用’,’分开 | - | 输入表的所有partition |
备注:其中参数outputTableNameMulti指定的表是docId列及docId列对应的文章内容(docContent)完成分词后,按各个词语在文章中出现的顺序依次输出。参数outputTableNameTriple指定的表输出docId列及docId列对应的文章内容(docContent)完成分词后,统计得到的各个词语及其在文章中出现的次数。
TF-IDF
- TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。
- 详细介绍,请参考:[维基百科tf-idf]
- 本组件是词频统计输出的基础上,计算各个word对于各个文章的tfidf值
参数设置(略)
实例
以词频统计组件实例中的输出表作为TF-IDF组件的输入表,对应的参数设置如下:选择文档ID列: id选择单词列:word选择单词计数列:count
输出表有9列:docid,word,word_count(当前word在当前doc中出现次数),total_word_count(当前doc中总word数), doc_count(包含当前word的总doc数), total_doc_count(全部doc数), tf, idf, tfidf结果如下:
pai命令示例
pai -name tfidf
-project algo_public
-DinputTableName=rgdoc_split_triple_out
-DdocIdCol=id
-DwordCol=word
-DcountCol=count
-DoutputTableName=rg_tfidf_out;
算法参数
参数key名称 | 参数描述 | 必/选填 | 默认值 |
---|---|---|---|
inputTableName | 输入表名 | 必填 | - |
inputTablePartitions | 输入表分区 | 选填 | 输入表的所有partition |
docIdCol | 标识文章id的列名,仅可指定一列 | 必填 | - |
wordCol | word列名,仅可指定一列 | 必填 | - |
countCol | count列名,仅可指定一列 | 必填 | - |
outputTableName | 输出表名 | 必填 | - |
lifecycle | 输出表生命周期(单位:天) | 选填 | 无生命周期限制 |
coreNum | 核心数,需和memSizePerCore同时设置才起作用 | 选填 | 自动计算 |
memSizePerCore | 内存数,需和coreNum同时设置才起作用 | 选填 | 自动计算 |
PLDA
- 主题模型,返回文档对应的主题
- LDA(Latent Dirichlet allocation),是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出。同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。LDA首先由David M. Blei、Andrew Y. Ng和Michael I. Jordan于2003年提出,目前在文本挖掘领域包括文本主题识别、文本分类以及文本相似度计算方面都有应用。
参数设置
主题个数: 设置LDA的输出的主题个数Alpha:P(z/d)的先验狄利克雷分布的参数beta: P(w/z)的先验狄利克雷分布的参数burn In:burn in 迭代次数,必须小于总迭代次数,默认值:100总迭代次数: 正整数 | 非必选,默认值:150注:z是主题, w是词, d是文档
输入输出设置
输入:数据必须为稀疏矩阵的格式(格式见数据格式说明章节)。目前需要用户自己写一个MR,实现数据的转换输入格式如下:
第一列:docid; 第二列:单词及词频的kv数据
输出依次为:
·topic-word频率贡献表
·单词|主题输出表
·主题|单词输出表
·文档|主题输出表
·主题|文档输出表
·主题输出表
topic-word频率贡献表的输出格式如下:
pai命令示例
pai -name PLDA
-project algo_public
-DinputTableName=lda_input
–DtopicNum=10
-topicWordTableName=lda_output;
算法参数
参数key名称 | 参数描述 | 取值范围 | 是否必选,默认值/行为 |
---|---|---|---|
inputTableName | 输入表名 | 表名 | 必选 |
inputTablePartitions | 输入表中指定参与分词的分区名 | 格式为: partition_name=value。如果是多级格式为name1=value1/name2=value2;如果是指定多个分区,中间用’,’分开 | 非必选,默认值:输入表的所有partition |
selectedColNames | 输入表中用于LDA的列名 | 列名,逗号分隔 | 非必选,默认值:输入表中所有的列名 |
topicNum | topic的数量 | [2, 500] | 必选 |
kvDelimiter | key和value间的分分隔符 | 空格、逗号、冒号 | 非必选,默认值:冒号 |
itemDelimiter | key和key间的分隔符 | 空格、逗号、冒号 | 非必选,默认值:空格 |
alpha | P(z/d)的先验狄利克雷分布的参数 | (0, ∞) | 非必选,默认值:0.1 |
beta | P(w/z)的先验狄利克雷分布的参数 | (0, ∞) | 非必选,默认值:0.01 |
topicWordTableName | topic-word频率贡献表 | 表名 | 必选 |
pwzTableName | P(w/z)输出表 | 表名 | 非必选,默认行为:不输出P(w/z)表 |
pzwTableName | P(z/w)输出表 | 表名 | 非必选,默认行为:不输出P(z/w)表 |
pdzTableName | P(d/z)输出表 | 表名 | 非必选,默认行为:不输出P(d/z)表 |
pzdTableName | P(z/d)输出表 | 表名 | 非必选,默认行为:不输出P(z/d)表 |
pzTableName | P(z)输出表 | 表名 | 非必选,默认行为:不输出P(z)表 |
burnInIterations | burn in 迭代次数 | 正整数 | 非必选,必须小于totalIterations,默认值:100 |
totalIterations | 迭代次数 | 正整数 | 非必选,默认值:150 |
注:z是主题, w是词, d是文档
word2vec
功能介绍
- Word2Vec是Google在2013年开源的一个将词表转为向量的算法,其利用神经网络,可以通过训练,将词映射到K维度空间向量,甚至对于表示词的向量进行操作还能和语义相对应,由于其简单和高效引起了很多人的关注。
- Google Word2Vec的工具包相关链接:https://code.google.com/p/word2vec/
参数设置
算法参数:单词的特征维度:建议 0-1000向下采样阈值 建议值为1e-3-1e-5
输入:单词列和词汇表输出:输出词向量表和词汇表
pai命令示例
pai -name Word2Vec
-project algo_public
-DinputTableName=w2v_input
–DwordColName=word
-DoutputTableName=w2v_output;
算法参数
参数key名称 | 参数描述 | 取值范围 | 是否必选,默认值/行为 |
---|---|---|---|
inputTableName | 输入表名 | 表名 | 必选 |
inputTablePartitions | 输入表中指定参与分词的分区名 | 格式为: partition_name=value。如果是多级格式为name1=value1/name2=value2;如果是指定多个分区,中间用’,’分开 | 非必选,默认值:输入表的所有partition |
wordColName | 单词列名,单词列中每行为一个单词,语料中换行符用</s>表示 | 列名 | 必选 |
inVocabularyTableName | 输入词表,该表为inputTableName的 wordcount输出 | 表名 | 非必选,默认行为:程序内部会对输出表做wordcount |
inVocabularyPartitions | 输入词表分区 | 分区名 | 非必选,默认值:inVocabularyTableName对应表的所有分区 |
layerSize | 单词的特征维度 | 0-1000 | 非必选,默认值:100 |
cbow | 语言模型 | 值为1:表示cbow模型,值为0:skip-gram模型 | 非必选,默认值:0 |
window | 单词窗口大小 | 正整数 | 非必选,默认值:5 |
minCount | 截断的最小词频 | 正整数 | 非必选:默认值:5 |
hs | 是否采用HIERARCHICAL SOFTMAX | 值为1:表示采用,值为0:不采用 | 非必选,默认值:1 |
negative | NEGATIVE SAMPLING | 值为0不可用,建议值5-10 | 非必选,默认值:0 |
sample | 向下采样阈值 | 值为小于等于0:不采用,建议值为1e-3-1e-5 | 非必选,默认值:0 |
alpha | 开始学习速率 | 大于0 | 非必选,默认值:0.025 |
iterTrain | 训练的迭代次数 | 大于等于1 | 非必选,默认值:1 |
randomWindow | window是否随机 | 值为1,表示大小在1~5间随机;值为0,表示不随机,其值由window参数指定 | 非必选,默认值:1 |
outVocabularyTableName | 输出词表 | 表名 | 非必选,默认行为:不输出‘输出词表’ |
outVocabularyPartition | 输出词表分区 | 分区名 | 非必选,默认行为:输出词表为非分区表 |
outputTableName | 输出表 | 表名 | 必选 |
outputPartition | 输出表分区信息 | 分区名 | 非必选,默认行为:输出表为非分区 |
SplitWord
- 基于AliWS(Alibaba Word Segmenter的简称)词法分析系统,对指定列对应的文章内容进行分词,分词后的各个词语间以空格作为分隔符,若用户指定了词性标注或语义标注相关参数,则会将分词结果、词性标注结果和语义标注结果一同输出,其中词性标注分隔符为”/“,语义标注分隔符为”|”。目前仅支持中文淘宝分词和互联网分词。
功能介绍
字段设置(略)
参数设置:
分词算法:CRF,UNIGRAM
识别选项:分词中,是否识别特殊意义的名词;
合并选项:将具有特殊领域的名词作为整体,不进行切分操作
字符串切分长度:>=0,数字串按指定长度进行截断作为检索单元;默认为0,不对数字串进行长度切分
使用词频纠错:是否使用纠错词典;
标注词性:输出结果中,标注词性
实例介绍
输入包含两列的表,第一列是文档id,第二列是文档内容text,如下:
输出结果如下:
pai命令示例
pai -name split_word
-project algo_public
-DinputTableName=doc_test
-DselectedColNames=content1,content2
-DoutputTableName=doc_test_split_word
-DinputTablePartitions="region=cctv_news"
-DoutputTablePartition="region=news"
-Dtokenizer=TAOBAO_CHN
-DenableDfa=true
-DenablePersonNameTagger=false
-DenableOrgnizationTagger=false
-DenablePosTagger=false
-DenableTelephoneRetrievalUnit=true
-DenableTimeRetrievalUnit=true
-DenableDateRetrievalUnit=true
-DenableNumberLetterRetrievalUnit=true
-DenableChnNumMerge=false
-DenableNumMerge=true
-DenableChnTimeMerge=false
-DenableChnDateMerge=false
-DenableSemanticTagger=true
算法参数
参数key名称 | 参数描述 | 参数value可选项 | 默认值 |
---|---|---|---|
inputTableName | 输入表名 | - | - |
selectedColNames | 输入表中用于分词的列名 | 可指定多列,列名间用逗号(,)间隔 | - |
outputTableName | 输出表名 | - | - |
inputTablePartitions | 输入表中指定参与分词的分区名, 格式为: partition_name=value。如果是多级格式为name1=value1/name2=value2;如果是指定多个分区,中间用’,’分开 | - | 输入表的所有partition |
outputTablePartition | 指定输出表的分区 | - | 输出表不进行分区 |
tokenizer | 分类器类型 | TAOBAO_CHN,INTERNET_CHN | 默认为TAOBAO_CHN,淘宝中文分词;INTERNET_CHN,互联网中文分词 |
enableDfa | 简单实体识别 | true,false | true |
enablePersonNameTagger | 人名识别 | true,false | false |
enableOrgnizationTagger | 机构名识别 | true,false | false |
enablePosTagger | 是否词性标注 | true,false | false |
enableTelephoneRetrievalUnit | 检索单元配置-电话号码识别 | true,false | true |
enableTimeRetrievalUnit | 检索单元配置-时间号码识别 | true,false | true |
enableDateRetrievalUnit | 检索单元配置-日期号码识别 | true,false | true |
enableNumberLetterRetrievalUnit | 检索单元配置-数字字母识别 | true,false | true |
enableChnNumMerge | 中文数字合并为一个检索单元 | true,false | false |
enableNumMerge | 普通数字合并为一个检索单元 | true,false | true |
enableChnTimeMerge | 中文时间合并为一个语意单元 | true,false | false |
enableChnDateMerge | 中文日期合并为一个语意单元 | true,false | false |
enableSemanticTagger | 是否语义标准 | true,false | false |
三元组转kv
功能介绍
- 给定三元组(row,col,value)类型为XXD 或 XXL, X表示任意类型, D表示Double, L表示bigint,转成kv格式(row,[col_id:value]),其中row和value类型和原始输入数据一致,col_id类型是bigint,并给出col的索引表映射到col_id
- 输入表形式如下
id | word | count |
---|---|---|
01 | a | 10 |
01 | b | 20 |
01 | c | 30 |
- 输出kv表如下,kv分隔符可以自定义
id | key_value |
---|---|
01 | 1:10;2:20;3:30 |
- 输出word的索引表如下
key | key_id |
---|---|
a | 1 |
b | 2 |
c | 3 |
PAI命令示例
PAI -name triple_to_kv
-project algo_public
-DinputTableName=test_data
-DoutputTableName=test_kv_out
-DindexOutputTableName=test_index_out
-DidColName=id
-DkeyColName=word
-DvalueColName=count
-DinputTablePartitions=ds=test1
-DindexInputTableName=test_index_input
-DindexInputKeyColName=word
-DindexInputKeyIdColName=word_id
-DkvDelimiter=:
-DpairDelimiter=;
-Dlifecycle=3
算法参数
参数名称 | 参数描述 | 参数值可选项 | 默认值 | 备注 |
---|---|---|---|---|
inputTableName | 必选,输入表名 | - | - | 不能为空表 |
idColName | 必选,转成kv表时保持不变的列名 | - | - | - |
keyColName | 必选,kv中的key | - | - | - |
valueColName | 必选,kv中的value | - | - | - |
outputTableName | 必选,输出kv表名 | - | - | - |
indexOutputTableName | 必选,输出key的索引表 | - | - | - |
indexInputTableName | 可选,输入已有的索引表 | - | “” | 不能是空表,可以只有部分key的索引 |
indexInputKeyColName | 可选,输入索引表key的列名 | - | “” | 输入indexInputTableName时必选此项 |
indexInputKeyIdColName | 可选,输入索引表key索引号的列名 | - | “” | 输入indexInputTableName时必选此项 |
inputTablePartitions | 可选,输入表的分区 | - | “” | 只能输入单个分区 |
kvDelimiter | 可选,key和value之间分隔符 | - | : | - |
pairDelimiter | 可选,kv对之间分隔符 | - | ; | - |
lifecycle | 可选,输出结果表的生命周期 | - | 不设生命周期 | - |
coreNum | 可选,指定instance的总数 | - | -1 | 默认会根据输入数据大小计算 |
memSizePerCore | 可选,指定memory大小,范围在100~64*1024之间 | - | -1 | 默认会根据输入数据大小计算 |
实例
测试数据
新建数据SQL
drop table if exists triple2kv_test_input;
create table triple2kv_test_input as
select
*
from
(
select '01' as id, 'a' as word, 10 as count from dual
union all
select '01' as id, 'b' as word, 20 as count from dual
union all
select '01' as id, 'c' as word, 30 as count from dual
union all
select '02' as id, 'a' as word, 100 as count from dual
union all
select '02' as id, 'd' as word, 200 as count from dual
union all
select '02' as id, 'e' as word, 300 as count from dual
) tmp;
运行命令
PAI -name triple_to_kv
-project algo_public
-DinputTableName=triple2kv_test_input
-DoutputTableName=triple2kv_test_input_out
-DindexOutputTableName=triple2kv_test_input_index_out
-DidColName=id
-DkeyColName=word
-DvalueColName=count
-Dlifecycle=1;
运行结果triple2kv_test_input_out
+------------+------------+
| id | key_value |
+------------+------------+
| 02 | 1:100;4:200;5:300 |
| 01 | 1:10;2:20;3:30 |
+------------+------------+
triple2kv_test_input_index_out
+------------+------------+
| key | key_id |
+------------+------------+
| a | 1 |
| b | 2 |
| c | 3 |
| d | 4 |
| e | 5 |
+------------+------------+
字符串相似度
功能介绍
计算字符串相似度在机器学习领域是一个非常基本的操作,主要用在信息检索,自然语言处理,生物信息学等领域。本算法支持Levenshtein Distance,Longest Common SubString,String Subsequence Kernel,Cosine,simhash_hamming五种相似度计算方式。支持两两计算和top n计算两种输入方式。
Levenshtein(Levenshtein Distance)支持距离和相似度两个参数,相似度=1-距离,距离在参数中表示为levenshtein,相似度在参数中表示为levenshtein_sim。
lcs(Longest Common SubString)支持距离和相似度两个参数,相似度=1-距离,距离在参数中表示为lcs,相似度在参数中表示为lcs_sim。
ssk(String Subsequence Kernel)支持相似度计算,在参数中表示为ssk。
参考:Lodhi, Huma; Saunders, Craig; Shawe-Taylor, John; Cristianini, Nello; Watkins, Chris (2002). “Text classification using string kernels”. Journal of Machine Learning Research: 419–444.
cosine(Cosine)支持相似度计算,在参数中表示为cosine。
参考:Leslie, C.; Eskin, E.; Noble, W.S. (2002), The spectrum kernel: A string kernel for SVM protein classification 7, pp. 566–575
simhash_hamming,其中SimHash算法是把原始的文本映射为64位的二进制指纹,HammingDistance则是计算二进制指纹在相同位置上不同的字符的个数,支持距离和相似度两个参数,相似度=1-距离/64.0,距离在参数中表示为simhash_hamming,相似度在参数中表示为simhash_hamming_sim。
SimHash详细介绍请见pdf;
HammingDistance详细介绍请见维基百科链接wiki
两两计算
PAI命令
PAI -name string_similarity
-project algo_public
-DinputTableName="pai_test_string_similarity"
-DoutputTableName="pai_test_string_similarity_output"
-DinputSelectedColName1="col0"
-DinputSelectedColName2="col1";
算法参数
参数名称 | 参数描述 | 参数可选项 | 参数默认值 |
---|---|---|---|
inputTableName | 必选,输入表的表名 | - | - |
outputTableName | 必选,输出表的表名 | - | - |
inputSelectedColName1 | 可选,相似度计算中第一列的列名 | - | 表中第一个为类型为string的列名 |
inputSelectedColName2 | 可选,相似度计算中第二列的列名 | - | 表中第二个为类型为string的列名 |
inputAppendColNames | 可选,输出表追加的列名 | - | 不追加 |
inputTablePartitions | 可选,输入表选中的分区 | - | 选择全表 |
outputColName | 可选,输出表中相似度列的列名。列名中不能有特殊字符,只能用英文的a-z,A-Z及数字和下划线_,且以字母开头,名称的长度不超过128字节。 | - | output |
method | 可选,相似度计算方法 | levenshtein, levenshtein_sim, lcs, lcs_sim, ssk, cosine, simhash_hamming, simhash_hamming_sim | levenshtein_sim |
lambda | 可选,匹配字符串的权重,ssk中可用 | (0, 1) | 0.5 |
k | 可选,子串的长度,ssk和cosine中可用 | (0, 100) | 2 |
lifecycle | 可选,指定输出表的生命周期 | 正整数 | 没有生命周期 |
coreNum | 可选,计算的核心数 | 正整数 | 系统自动分配 |
memSizePerCore | 可选,每个核心的内存(单位为兆) | 正整数,范围(0, 65536) | 系统自动分配 |
示例
测试数据
create table pai_ft_string_similarity_input as select * from
(select 0 as id, "北京" as col0, "北京" as col1 from dual
union all
select 1 as id, "北京" as col0, "北京上海" as col1 from dual
union all
select 2 as id, "北京" as col0, "北京上海香港" as col1 from dual
)tmp;
pai命令
PAI -name string_similarity
-project sre_mpi_algo_dev
-DinputTableName=pai_ft_string_similarity_input
-DoutputTableName=pai_ft_string_similarity_output
-DinputSelectedColName1=col0
-DinputSelectedColName2=col1
-Dmethod=simhash_hamming
-DinputAppendColNames=col0,col1;
输出说明
方法simhash_hamming输出结果如下:
方法simhash_hamming_sim输出结果如下:
字符串相似度-topN
PAI命令
PAI -name string_similarity_topn
-project algo_public
-DinputTableName="pai_test_string_similarity_topn"
-DoutputTableName="pai_test_string_similarity_topn_output"
-DmapTableName="pai_test_string_similarity_map_topn"
-DinputSelectedColName="col0"
-DmapSelectedColName="col1";
算法参数
参数名称 | 参数描述 | 参数可选项 | 参数默认值 |
---|---|---|---|
inputTableName | 必选,输入表的表名 | - | - |
mapTableName | 必选,输入的映射表名 | - | - |
outputTableName | 必选,输出表的表名 | - | - |
inputSelectedColName | 可选,相似度计算中左表的列名 | - | 表中第一个为类型为string的列名 |
mapSelectedColName | 可选,相似度计算中映射表的列名,左表中的每一行都会和映射表中所有的字符串计算出相似度,并最终已top n的方式给出结果 | - | 表中第一个为类型为string的列名 |
inputAppendColNames | 可选,输入表在输出表追加的列名 | - | 不追加 |
inputAppendRenameColNames | 可选,输入表在输出表追加的列名的别名,在inputAppendColNames不为空时有效 | - | 不使用别名 |
mapAppendColNames | 可选,映射表在输出表追加的列名 | - | 不追加 |
mapAppendRenameColNames | 可选,映射表在输出表追加的列名的别名 | - | 不使用别名 |
inputTablePartitions | 可选,输入表选中的分区 | - | 选择全表 |
mapTablePartitions | 可选,映射表中的分区 | - | 选择全表 |
outputColName | 可选,输出表中相似度列的列名, 列名中不能有特殊字符,只能用英文的a-z,A-Z及数字和下划线_,且以字母开头,名称的长度不超过128字节。 | - | output |
method | 可选,相似度计算方法 | levenshtein_sim, lcs_sim, ssk, cosine, simhash_hamming_sim | levenshtein_sim |
lambda | 可选,匹配字符串的权重,ssk中可用 | (0, 1) | 0.5 |
k | 可选,子串的长度,ssk和cosine中可用 | (0, 100) | 2 |
topN | 可选,最终给出的相似度最大值的个数 | (0, +∞) | 10 |
lifecycle | 可选,指定输出表的生命周期 | 正整数 | 没有生命周期 |
coreNum | 可选,计算的核心数 | 正整数 | 系统自动分配 |
memSizePerCore | 可选,每个核心的内存(单位为兆) | 正整数,范围(0, 65536) | 系统自动分配 |
示例
测试数据
create table pai_ft_string_similarity_topn_input as select * from
(select 0 as id, "北京" as col0 from dual
union all
select 1 as id, "北京上海" as col0 from dual
union all
select 2 as id, "北京上海香港" as col0 from dual
)tmp;
pai命令
PAI -name string_similarity_topn
-project sre_mpi_algo_dev
-DinputTableName=pai_ft_string_similarity_topn_input
-DmapTableName=pai_ft_string_similarity_topn_input
-DoutputTableName=pai_ft_string_similarity_topn_output
-DinputSelectedColName=col0
-DmapSelectedColName=col0
-DinputAppendColNames=col0
-DinputAppendRenameColNames=input_col0
-DmapAppendColNames=col0
-DmapAppendRenameColNames=map_col0
-Dmethod=simhash_hamming_sim;
输出说明
停用词过滤
功能介绍
停用词过滤,是文本分析中一个预处理方法。它的功能是过滤分词结果中的噪声(例如:的、是、啊等)。
参数设置
组件说明
两个输入桩,从左到右依次为:
- 输入表,即需要过滤的分词结果表;对应的参数名为inputTableName
- 停用词表,表的格式为一列,每行为一个停用词;对应的参数名为noiseTableName
参数界面说明
- 可以选择需要过渡的列
执行调化说明
- 可以自己配置并发计算核心数目与内存,默认系统自动分配
PAI命令
PAI -name FilterNoise -project algo_public
-DinputTableName=”test_input” -DnoiseTableName=”noise_input”
-DoutputTableName=”test_output”
-DselectedColNames=”words_seg1,words_seg2”
-Dlifecycle=30
算法参数
参数名称 | 参数描述 | 参数可选项 | 参数默认值 |
---|---|---|---|
inputTableName | 必选,输入表的表名 | - | - |
inputTablePartitions | 可选,输入表中指定参与计算的分区 | - | 输入表的所有partitions |
noiseTableName | 必选,停用词表 | 格式为一列,每一行一个词 | - |
noiseTablePartitions | 可选,停用词表的分区 | 全表 | |
outputTableName | 必选,输出表 | - | - |
selectedColNames | 必选,待过滤列,多列时以逗号为分隔 | - | - |
lifecycle | 可选,指定输出表的生命周期 | 正整数 | 没有生命周期 |
coreNum | 可选,计算的核心数 | 正整数 | 系统自动分配 |
memSizePerCore | 可选,每个核心的内存(单位为兆) | 正整数,范围(0, 65536) | 系统自动分配 |
示例
源数据
- 分词的结果表 temp_word_seg_input
停用词表 temp_word_noise_input
1 创建实验
2 选择待过滤列 seg
3 运行结果
最后更新:2016-09-09 09:58:16
上一篇:
统计分析__使用手册(new)_机器学习-阿里云
下一篇:
网络分析__使用手册(new)_机器学习-阿里云
RemoveTags__标签相关API_API 参考_负载均衡-阿里云
处理非结构化数据__快速开始_大数据计算服务-阿里云
步骤2:https网站接入__快速入门(网站业务)_DDoS 高防IP-阿里云
阿里云ECS全球启用秒级计费
多行数据操作__Java-SDK_SDK 参考_表格存储-阿里云
查询实例列表__实例相关接口_API 参考_云服务器 ECS-阿里云
角色管理__用户及授权管理_安全指南_大数据计算服务-阿里云
查询字节缓存命中率__资源监控接口_API 手册_CDN-阿里云
ALIYUN::SLS::MachineGroup__资源列表_资源编排-阿里云
典型场景__产品简介_业务实时监控服务 ARMS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云