閱讀450 返回首頁    go 美食


文本分析__使用手冊(new)_機器學習-阿裏雲


文本分析


目錄


詞頻統計

功能介紹

  • 在對文章進行分詞的基礎上,按行保序輸出對應文章ID列(docId)對應文章的詞,統計指定文章ID列(docId)對應文章內容(docContent)的詞頻。

參數設置

輸入參數:經過分詞組件生成兩列—文檔ID列和分詞後的文檔內容列

兩個輸出參數:

第一個輸出端:輸出表包含三個字段—id,word,count,如下圖:

dd

count—統計每個文檔中,對應word詞匯出現的次數

第二個輸出端:輸出包含兩個字段—id,word,如下圖:

dd

本端口輸出表按詞語在文章中出現的順序依次輸出,沒有統計詞語的出現次數,因此同一文檔中某個詞匯可能出現多條記錄。 包輸出表格式主要用於兼容Word2Vec組件使用。

實例

采用阿裏分詞實例數據中,將分別將輸出表的兩個列作為詞頻統計的輸入參數:選擇文檔ID列 — id ; 選擇文檔內容列 — text經過詞頻統計運算後,生成的結果 見本組件中第一個輸出參數展示圖。

pai命令示例

  1. pai -name doc_word_stat
  2. -project algo_public
  3. -DinputTableName=doc_test_split_word
  4. -DdocId=id
  5. -DdocContent=content
  6. -DoutputTableNameMulti=doc_test_stat_multi
  7. -DoutputTableNameTriple=doc_test_stat_triple
  8. -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結果如下:

ddd

pai命令示例

  1. pai -name tfidf
  2. -project algo_public
  3. -DinputTableName=rgdoc_split_triple_out
  4. -DdocIdCol=id
  5. -DwordCol=word
  6. -DcountCol=count
  7. -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數據

輸出依次為:

  1. ·topic-word頻率貢獻表
  2. ·單詞|主題輸出表
  3. ·主題|單詞輸出表
  4. ·文檔|主題輸出表
  5. ·主題|文檔輸出表
  6. ·主題輸出表

topic-word頻率貢獻表的輸出格式如下:

pai命令示例

  1. pai -name PLDA
  2. -project algo_public
  3. -DinputTableName=lda_input
  4. –DtopicNum=10
  5. -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命令示例

  1. pai -name Word2Vec
  2. -project algo_public
  3. -DinputTableName=w2v_input
  4. –DwordColName=word
  5. -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的簡稱)詞法分析係統,對指定列對應的文章內容進行分詞,分詞後的各個詞語間以空格作為分隔符,若用戶指定了詞性標注或語義標注相關參數,則會將分詞結果、詞性標注結果和語義標注結果一同輸出,其中詞性標注分隔符為”/“,語義標注分隔符為”|”。目前僅支持中文淘寶分詞和互聯網分詞。

功能介紹

字段設置(略)
參數設置:
  1. 分詞算法:CRF,UNIGRAM
  2. 識別選項:分詞中,是否識別特殊意義的名詞;
  3. 合並選項:將具有特殊領域的名詞作為整體,不進行切分操作
  4. 字符串切分長度:>=0,數字串按指定長度進行截斷作為檢索單元;默認為0,不對數字串進行長度切分
  5. 使用詞頻糾錯:是否使用糾錯詞典;
  6. 標注詞性:輸出結果中,標注詞性

實例介紹

輸入包含兩列的表,第一列是文檔id,第二列是文檔內容text,如下:

input

輸出結果如下:

output

pai命令示例

  1. pai -name split_word
  2. -project algo_public
  3. -DinputTableName=doc_test
  4. -DselectedColNames=content1,content2
  5. -DoutputTableName=doc_test_split_word
  6. -DinputTablePartitions="region=cctv_news"
  7. -DoutputTablePartition="region=news"
  8. -Dtokenizer=TAOBAO_CHN
  9. -DenableDfa=true
  10. -DenablePersonNameTagger=false
  11. -DenableOrgnizationTagger=false
  12. -DenablePosTagger=false
  13. -DenableTelephoneRetrievalUnit=true
  14. -DenableTimeRetrievalUnit=true
  15. -DenableDateRetrievalUnit=true
  16. -DenableNumberLetterRetrievalUnit=true
  17. -DenableChnNumMerge=false
  18. -DenableNumMerge=true
  19. -DenableChnTimeMerge=false
  20. -DenableChnDateMerge=false
  21. -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命令示例

  1. PAI -name triple_to_kv
  2. -project algo_public
  3. -DinputTableName=test_data
  4. -DoutputTableName=test_kv_out
  5. -DindexOutputTableName=test_index_out
  6. -DidColName=id
  7. -DkeyColName=word
  8. -DvalueColName=count
  9. -DinputTablePartitions=ds=test1
  10. -DindexInputTableName=test_index_input
  11. -DindexInputKeyColName=word
  12. -DindexInputKeyIdColName=word_id
  13. -DkvDelimiter=:
  14. -DpairDelimiter=;
  15. -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

  1. drop table if exists triple2kv_test_input;
  2. create table triple2kv_test_input as
  3. select
  4. *
  5. from
  6. (
  7. select '01' as id, 'a' as word, 10 as count from dual
  8. union all
  9. select '01' as id, 'b' as word, 20 as count from dual
  10. union all
  11. select '01' as id, 'c' as word, 30 as count from dual
  12. union all
  13. select '02' as id, 'a' as word, 100 as count from dual
  14. union all
  15. select '02' as id, 'd' as word, 200 as count from dual
  16. union all
  17. select '02' as id, 'e' as word, 300 as count from dual
  18. ) tmp;

運行命令

  1. PAI -name triple_to_kv
  2. -project algo_public
  3. -DinputTableName=triple2kv_test_input
  4. -DoutputTableName=triple2kv_test_input_out
  5. -DindexOutputTableName=triple2kv_test_input_index_out
  6. -DidColName=id
  7. -DkeyColName=word
  8. -DvalueColName=count
  9. -Dlifecycle=1;

運行結果triple2kv_test_input_out

  1. +------------+------------+
  2. | id | key_value |
  3. +------------+------------+
  4. | 02 | 1:100;4:200;5:300 |
  5. | 01 | 1:10;2:20;3:30 |
  6. +------------+------------+

triple2kv_test_input_index_out

  1. +------------+------------+
  2. | key | key_id |
  3. +------------+------------+
  4. | a | 1 |
  5. | b | 2 |
  6. | c | 3 |
  7. | d | 4 |
  8. | e | 5 |
  9. +------------+------------+

字符串相似度

功能介紹

計算字符串相似度在機器學習領域是一個非常基本的操作,主要用在信息檢索,自然語言處理,生物信息學等領域。本算法支持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命令
  1. PAI -name string_similarity
  2. -project algo_public
  3. -DinputTableName="pai_test_string_similarity"
  4. -DoutputTableName="pai_test_string_similarity_output"
  5. -DinputSelectedColName1="col0"
  6. -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) 係統自動分配
示例

測試數據

  1. create table pai_ft_string_similarity_input as select * from
  2. (select 0 as id, "北京" as col0, "北京" as col1 from dual
  3. union all
  4. select 1 as id, "北京" as col0, "北京上海" as col1 from dual
  5. union all
  6. select 2 as id, "北京" as col0, "北京上海香港" as col1 from dual
  7. )tmp;

pai命令

  1. PAI -name string_similarity
  2. -project sre_mpi_algo_dev
  3. -DinputTableName=pai_ft_string_similarity_input
  4. -DoutputTableName=pai_ft_string_similarity_output
  5. -DinputSelectedColName1=col0
  6. -DinputSelectedColName2=col1
  7. -Dmethod=simhash_hamming
  8. -DinputAppendColNames=col0,col1;

輸出說明

方法simhash_hamming輸出結果如下:

image

方法simhash_hamming_sim輸出結果如下:

image


字符串相似度-topN

PAI命令
  1. PAI -name string_similarity_topn
  2. -project algo_public
  3. -DinputTableName="pai_test_string_similarity_topn"
  4. -DoutputTableName="pai_test_string_similarity_topn_output"
  5. -DmapTableName="pai_test_string_similarity_map_topn"
  6. -DinputSelectedColName="col0"
  7. -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) 係統自動分配
示例

測試數據

  1. create table pai_ft_string_similarity_topn_input as select * from
  2. (select 0 as id, "北京" as col0 from dual
  3. union all
  4. select 1 as id, "北京上海" as col0 from dual
  5. union all
  6. select 2 as id, "北京上海香港" as col0 from dual
  7. )tmp;

pai命令

  1. PAI -name string_similarity_topn
  2. -project sre_mpi_algo_dev
  3. -DinputTableName=pai_ft_string_similarity_topn_input
  4. -DmapTableName=pai_ft_string_similarity_topn_input
  5. -DoutputTableName=pai_ft_string_similarity_topn_output
  6. -DinputSelectedColName=col0
  7. -DmapSelectedColName=col0
  8. -DinputAppendColNames=col0
  9. -DinputAppendRenameColNames=input_col0
  10. -DmapAppendColNames=col0
  11. -DmapAppendRenameColNames=map_col0
  12. -Dmethod=simhash_hamming_sim;

輸出說明

image


停用詞過濾

功能介紹

停用詞過濾,是文本分析中一個預處理方法。它的功能是過濾分詞結果中的噪聲(例如:的、是、啊等)。

參數設置

組件說明

filter_noise_icon

兩個輸入樁,從左到右依次為:

  • 輸入表,即需要過濾的分詞結果表;對應的參數名為inputTableName
  • 停用詞表,表的格式為一列,每行為一個停用詞;對應的參數名為noiseTableName
參數界麵說明

filter_noise_select_columns

  • 可以選擇需要過渡的列
執行調化說明

filter_noise_opt

  • 可以自己配置並發計算核心數目與內存,默認係統自動分配

PAI命令

  1. PAI -name FilterNoise -project algo_public
  2. -DinputTableName=”test_input” -DnoiseTableName=”noise_input”
  3. -DoutputTableName=”test_output”
  4. -DselectedColNames=”words_seg1,words_seg2”
  5. -Dlifecycle=30

算法參數

參數名稱 參數描述 參數可選項 參數默認值
inputTableName 必選,輸入表的表名 - -
inputTablePartitions 可選,輸入表中指定參與計算的分區 - 輸入表的所有partitions
noiseTableName 必選,停用詞表 格式為一列,每一行一個詞 -
noiseTablePartitions 可選,停用詞表的分區 全表
outputTableName 必選,輸出表 - -
selectedColNames 必選,待過濾列,多列時以逗號為分隔 - -
lifecycle 可選,指定輸出表的生命周期 正整數 沒有生命周期
coreNum 可選,計算的核心數 正整數 係統自動分配
memSizePerCore 可選,每個核心的內存(單位為兆) 正整數,範圍(0, 65536) 係統自動分配

示例

源數據
  • 分詞的結果表 temp_word_seg_input

filter_noise_demo_seg_input

  • 停用詞表 temp_word_noise_input

    filter_noise_demo_noise_input

1 創建實驗

filter_noise_demo

2 選擇待過濾列 seg

filter_noise_demo_configfilter_noise_demo_select_column

3 運行結果

filter_noise_demo_result


最後更新:2016-09-09 09:58:16

  上一篇:go 統計分析__使用手冊(new)_機器學習-阿裏雲
  下一篇:go 網絡分析__使用手冊(new)_機器學習-阿裏雲