孫艷豐, 杜鵬飛
(1.北京工業(yè)大學(xué)信息學(xué)部, 北京 100124; 2.北京工業(yè)大學(xué)多媒體與智能軟件技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100124)
聚類是數(shù)據(jù)分析的一項(xiàng)基本任務(wù),將樣本按照相似性關(guān)系分到不同的類別中[1]. 最近,由于深度網(wǎng)絡(luò)所展現(xiàn)出的強(qiáng)大的數(shù)據(jù)表示學(xué)習(xí)能力,應(yīng)用深度網(wǎng)絡(luò)來解決聚類問題受到人們的關(guān)注. 目前,一些深度聚類算法已經(jīng)成功地在各種實(shí)際中進(jìn)行應(yīng)用,例如文本聚類[2]、圖像聚類[3-4]等. 挖掘數(shù)據(jù)原始特征空間中的屬性信息以獲得有判別力的數(shù)據(jù)表示是深度聚類中的一個(gè)關(guān)鍵步驟,例如:Hinton等[5]通過自動(dòng)編碼器(auto-encoder,AE)網(wǎng)絡(luò)驅(qū)動(dòng)表征學(xué)習(xí);Xie等[6]提出了深度編碼聚類(deep embedded clustering,DEC)方法,將原始數(shù)據(jù)空間經(jīng)過參數(shù)化非線性映射到低維特征空間,在低維特征空間優(yōu)化聚類目標(biāo)來學(xué)習(xí)節(jié)點(diǎn)表示;Guo等[7]提出了改進(jìn)的通過保持局部結(jié)構(gòu)進(jìn)行聚類的網(wǎng)絡(luò),該網(wǎng)絡(luò)引入了重構(gòu)損失、融合聚類損失和AE的重構(gòu)損失,從而學(xué)習(xí)到具有局部結(jié)構(gòu)約束的特征. 然而,這些模型只是針對(duì)結(jié)構(gòu)化的數(shù)據(jù)學(xué)習(xí)原始節(jié)點(diǎn)屬性信息,在處理非結(jié)構(gòu)化的圖關(guān)系數(shù)據(jù)聚類時(shí)表現(xiàn)不佳.
針對(duì)圖結(jié)構(gòu)數(shù)據(jù)的聚類問題,最近的研究工作集中于學(xué)習(xí)圖拓?fù)浣Y(jié)構(gòu)的編碼表示,將圖拓?fù)浣Y(jié)構(gòu)與原始節(jié)點(diǎn)屬性更好地結(jié)合. 新興的圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)[8]給這一工作帶來了巨大的突破. GCN基于圖的拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)屬性信息,通過聚合來自相鄰節(jié)點(diǎn)的特征迭代更新節(jié)點(diǎn)編碼. 在此基礎(chǔ)上,Kipf 等[9]提出了圖自動(dòng)編碼器(graph auto-encoder,GAE)和變分圖自動(dòng)編碼器(variational graph auto-encoder,VGAE),GAE利用GCN作為編碼器獲得節(jié)點(diǎn)的表示,VGAE使學(xué)習(xí)到的表示符合高斯先驗(yàn)分布;Fatemi等[10]提出了一種利用高階圖卷積自適應(yīng)地捕獲全局結(jié)構(gòu)信息來學(xué)習(xí)節(jié)點(diǎn)表示的方法;Wang等[11]使用圖注意力融合網(wǎng)絡(luò)作為編碼器來融合圖結(jié)構(gòu)信息和節(jié)點(diǎn)屬性;Pan等[12]進(jìn)一步提出了一種對(duì)抗性正則化圖自動(dòng)編碼器(adversarially regularized graph auto-encoder,ARGA)用于學(xué)習(xí)潛在的節(jié)點(diǎn)表示;Bo等[13]提出了深度結(jié)構(gòu)化聚類網(wǎng)絡(luò)(structural deep clustering network,SDCN),利用深度AE和GCN分別學(xué)習(xí)節(jié)點(diǎn)屬性信息和圖結(jié)構(gòu)信息表示,并通過自監(jiān)督機(jī)制將它們集成到一個(gè)統(tǒng)一的框架中. Peng等[14]提出了注意力驅(qū)動(dòng)的圖聚類網(wǎng)絡(luò)(attention-driven graph clustering network,AGCN),將圖結(jié)構(gòu)信息和節(jié)點(diǎn)屬性信息通過注意力機(jī)制進(jìn)行融合以獲得更利于聚類的節(jié)點(diǎn)表示. 現(xiàn)有的方法都是從原始圖結(jié)構(gòu)和節(jié)點(diǎn)特征中學(xué)習(xí)優(yōu)質(zhì)的嵌入表示,然而,原始的圖結(jié)構(gòu)關(guān)系由于數(shù)據(jù)噪聲或度量的不準(zhǔn)確可能導(dǎo)致關(guān)系描述不精確. 另外,有研究表明,GCN在從圖拓?fù)湫畔⒑凸?jié)點(diǎn)屬性信息中學(xué)習(xí)嵌入表示時(shí)表現(xiàn)出來的性能并不是特別令人滿意[15],因此,如何獲得更準(zhǔn)確的嵌入表示是一個(gè)關(guān)鍵問題.
針對(duì)以上提出的不足之處,本文提出一種深度聚類網(wǎng)絡(luò),即基于多通道圖卷積網(wǎng)絡(luò)(multi-channel graph convolutional network, McGCN)的節(jié)點(diǎn)聚類.
首先介紹一些符號(hào)及概念,屬性圖可以表示為G={V,E,X},其中:V是節(jié)點(diǎn)集合;E是邊集合;X∈Rn×m是節(jié)點(diǎn)的屬性矩陣,n表示節(jié)點(diǎn)數(shù),m表示特征的維數(shù).圖的鄰接矩陣表示為A∈Rn×n,如果Vi和Vj之間有邊,則Aij=1,否則為0.給定一個(gè)圖G和聚類數(shù)k,屬性圖聚類的目的是把圖G中的節(jié)點(diǎn)劃分到k個(gè)不相交的簇中.任務(wù)說明如圖1所示,黃色和藍(lán)色分別表示2種類別的節(jié)點(diǎn),聚類模型根據(jù)拓?fù)湫畔⒑吞卣餍畔⑺鼈兎值?個(gè)簇中.
圖1 屬性圖聚類示例Fig.1 Example of attributed graph clustering
對(duì)于圖數(shù)據(jù)集,本文把原始的拓?fù)鋱D結(jié)構(gòu)稱為拓?fù)鋱D,把基于節(jié)點(diǎn)特征相似度通過K-近鄰(K-nearest neighbor,KNN)算法構(gòu)建的圖結(jié)構(gòu)稱為特征圖.然后,使用AE提取節(jié)點(diǎn)特征的數(shù)據(jù)表示,使用GCN從拓?fù)鋱D和特征圖中提取圖的數(shù)據(jù)表示,以便在不同的空間學(xué)習(xí)嵌入表示.最后,通過一個(gè)自適應(yīng)融合模塊將3個(gè)通道得到的節(jié)點(diǎn)編碼進(jìn)行融合.此外,采用了自監(jiān)督機(jī)制和編碼之間的差異性約束來監(jiān)督訓(xùn)練過程,模型整體框架如圖2所示.
圖2 多通道圖卷積聚類網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of multi-channel graph convolution clustering network
1.2.1 節(jié)點(diǎn)特征的編碼模塊
不考慮節(jié)點(diǎn)之間的連接關(guān)系,只考慮節(jié)點(diǎn)的特征,將節(jié)點(diǎn)特征嵌入到低維空間有很多方法,如去噪自動(dòng)編碼器(denoising auto-encoder,DAE)、稀疏自動(dòng)編碼器(sparse auto-encoder, SAE)、變分自動(dòng)編碼器(variational auto-encoder, VAE)等.本文使用最基本的AE,其主要由2個(gè)部分組成,即將輸入映射到中間層表示的編碼器以及將中間層映射到輸出的解碼器,通過最小化原始特征與重構(gòu)特征之間的重構(gòu)損失來學(xué)習(xí)編碼表示.它的編碼、解碼和重構(gòu)損失公式分別可以表示為
(1)
(2)
(3)
1.2.2 圖結(jié)構(gòu)的編碼模塊
GAE的目標(biāo)是根據(jù)節(jié)點(diǎn)特征和圖鄰接關(guān)系學(xué)習(xí)圖的低維節(jié)點(diǎn)嵌入.近年來,GCN在處理圖數(shù)據(jù)上表現(xiàn)出來的性能得到了廣泛的認(rèn)可,基本思想是根據(jù)鄰接關(guān)系聚合鄰居節(jié)點(diǎn)的特征信息,通過堆疊多層的圖網(wǎng)絡(luò)學(xué)習(xí)更深層次的表示.給定一個(gè)節(jié)點(diǎn)特征矩陣X和鄰接矩陣A,GCN通過A和X生成新的節(jié)點(diǎn)表示,第l層輸出可以表示為
(4)
對(duì)于圖數(shù)據(jù),原始圖關(guān)系可能存在誤差,使得通過原始拓?fù)鋱D和節(jié)點(diǎn)特征得到的嵌入表示并不是令人滿意的,因此,使用節(jié)點(diǎn)之間的特征相似度構(gòu)建特征圖,拓?fù)鋱D和特征圖同時(shí)被用來提取圖數(shù)據(jù)的嵌入表示.這種方法可更充分地從特征空間中挖掘可靠信息.另外,為了使算法能夠適應(yīng)非圖數(shù)據(jù),采用不同K值下KNN算法生成的鄰接關(guān)系來表示拓?fù)鋱D和特征圖.
1.2.3 融合模塊
如何融合這些來自不同通道的節(jié)點(diǎn)編碼是一個(gè)挑戰(zhàn),常用的方法有加權(quán)求和、拼接和注意力機(jī)制等.為了充分融合由AE和GCN得到的嵌入表示,采用了一種基于注意力的動(dòng)態(tài)融合機(jī)制,使得上述3個(gè)通道得到的節(jié)點(diǎn)表示充分交互.具體的圖示如圖2所示,首先將來自3個(gè)通道的嵌入表示(Zae,Zfg,Ztg)兩兩加權(quán)求和進(jìn)行初步融合,得到3個(gè)新的嵌入表示(Zae-fg,Zae-tg,Zfg-tg),融合規(guī)則用公式表示為
Zae-fg=α·Zae+(1-α)·Zfg
Zae-tg=β·Zae+(1-β)·Ztg
Zfg-tg=γ·Zfg+(1-γ)·Ztg
(5)
式中α、β、γ表示融合的超參數(shù).之后,對(duì)Zae-fg、Zae-tg、Zfg-tg應(yīng)用注意力機(jī)制以實(shí)現(xiàn)自適應(yīng)融合,通過全連接層挖掘不同表示之間的關(guān)系,使用tanh(·)激活函數(shù),并且進(jìn)行softmax歸一化,將得到的每個(gè)嵌入表示系數(shù)與對(duì)應(yīng)的嵌入表示加權(quán)求和,得到融合之后的嵌入表示.融合規(guī)則的公式為
Ztemp=[Zae-fg‖Zae-tg‖Zfg-tg]
(6)
ω=W2(tanh(W1·Ztemp+b))
(7)
(8)
式中:Ztemp∈Rn×3×d表示把待融合的嵌入表示(Zae-fg,Zae-tg,Zfg-tg)拼接到一起;W1、W2均為全連接層的權(quán)重;b為偏置;ω∈Rn×3×1表示嵌入表示的融合系數(shù);θ∈Rn×3×1為對(duì)系數(shù)歸一化的結(jié)果.由此可以得到最終的融合表示,將融合后的表示通過softmax函數(shù)得到n個(gè)樣本屬于k個(gè)簇的概率分布Z∈Rn×k,這一過程用公式表述為
Z=softmax(θ1·Zae-fg+θ2·Zae-tg+θ3·Zfg-tg)
(9)
對(duì)網(wǎng)絡(luò)訓(xùn)練后,可以通過Z得到預(yù)測(cè)的簇標(biāo)簽,公式為
yi=arg maxzi
(10)
式中:yi表示第i個(gè)樣本預(yù)測(cè)的簇標(biāo)簽;zi表示Z的第i個(gè)樣本.
由于特征空間的圖結(jié)構(gòu)是通過KNN算法從原始節(jié)點(diǎn)屬性X生成的,為了充分挖掘特征空間的信息,應(yīng)訓(xùn)練編碼器在節(jié)點(diǎn)屬性空間和特征圖空間學(xué)習(xí)到有差異的嵌入表示,同時(shí)也約束節(jié)點(diǎn)屬性空間和拓?fù)鋱D空間的嵌入表示有差異性.為此,本文使用希爾伯特- 施密特獨(dú)立性準(zhǔn)則(Hilbert-Schmidt independence criterion,HSIC)進(jìn)行約束.HSIC是一種基于核的獨(dú)立性度量方法,主要功能是衡量2個(gè)變量的分布差異,其公式可以描述為
LHSIC(Zae,Zfg)=(n-1)-2tr(RKaeRKfg)
(11)
LHSIC(Zae,Ztg)=(n-1)-2tr(RKaeRKtg)
(12)
1.2.4 自監(jiān)督模塊
獲得融合的嵌入表示后,借鑒文獻(xiàn)[16]中的策略,對(duì)融合后的嵌入表示增加約束,以便更好地實(shí)現(xiàn)聚類任務(wù),這也成為現(xiàn)在許多深度聚類方法中實(shí)現(xiàn)聚類的最常用策略[17].其詳細(xì)過程如下:首先,使用Student-t分布作為核來度量由AE學(xué)習(xí)到的嵌入表示中第i個(gè)樣本和第j個(gè)聚類質(zhì)心之間的相似性,計(jì)算公式為
(13)
式中:qij表示樣本zae,i分配到聚類中心μj的概率;zae,i表示AE學(xué)習(xí)到的嵌入表示Zae的第i個(gè)樣本;μj是通過對(duì)Zae進(jìn)行K-means計(jì)算得到的聚類中心;α表示自由度,是一個(gè)超參數(shù),本文實(shí)驗(yàn)中設(shè)置為1.對(duì)每個(gè)樣本進(jìn)行計(jì)算,得到所有樣本分配分布,稱之為聚類軟分配分布Q.
為了增加聚類的內(nèi)聚力,使Q的數(shù)據(jù)表示更接近聚類中心,求得Q的歸一化分布P為
(14)
最后,為了使融合后的分布與融合前的分布相一致,在目標(biāo)分布P的協(xié)助下通過優(yōu)化融合后的嵌入表示分布Z與AE學(xué)習(xí)到的嵌入表示分布Q之間的KL(Kullback-Leibler)散度達(dá)到這一目的,在此使用了2個(gè)約束項(xiàng)
(15)
(16)
式中LKL(PQ)、LKL(PZ)分別表示聚類軟分配分布Q和融合后嵌入表示分布Z與歸一化分布P之間的KL散度.
通過最小化式(15)(16)可以使融合后的分布Z和融合前的分布Q很好地對(duì)齊,由于P是通過Q生成的,而P又反過來監(jiān)督Q的更新,整個(gè)過程中沒有人為的引導(dǎo),因此,稱為自監(jiān)督方式.P、Q和Z之間的約束正則項(xiàng)如圖2中紅色虛線標(biāo)注所示.
本文通過這一監(jiān)督方法把AE和GCN整合到一個(gè)網(wǎng)絡(luò)中,實(shí)現(xiàn)端到端的訓(xùn)練.在對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練之后,通過融合后的表示分布Z可以直接得到預(yù)測(cè)聚類結(jié)果,最終,整個(gè)網(wǎng)絡(luò)的損失函數(shù)設(shè)計(jì)為
L=λ1·LR+λ2·LKL(PQae)+λ3·LKL(PZ)+
λ4·LHSIC(Zae,Zfg)+λ5·LHSIC(Zae,Ztg)
(17)
式中:LR表示AE的重構(gòu)損失;LHSIC(Zae,Zfg)、LHSIC(Zae,Ztg)分別表示對(duì)節(jié)點(diǎn)屬性與特征圖和拓?fù)鋱D編碼得到的嵌入表示之間的差異性損失.
整個(gè)模型的算法步驟如下.
本文在6個(gè)常用的基準(zhǔn)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),包括1個(gè)圖像數(shù)據(jù)集USPS、1個(gè)人類活動(dòng)識(shí)別記錄數(shù)據(jù)集HHAR、1個(gè)文本數(shù)據(jù)集Reuters和3個(gè)圖數(shù)據(jù)集ACM、DBLP、CiteSeer,數(shù)據(jù)集的簡(jiǎn)要描述如表1所示.
表1 數(shù)據(jù)集描述
USPS數(shù)據(jù)集包括9 298個(gè)灰度手寫數(shù)字圖像,共10個(gè)類別(即0~9).
HHAR數(shù)據(jù)集包含智能手表的10 299條傳感器記錄. 樣本被劃分為6類人類活動(dòng)(騎自行車、坐、站、走、上樓梯和下樓梯).
Reuters數(shù)據(jù)集包含大約81萬篇英語(yǔ)新聞故事,并按類別進(jìn)行標(biāo)記. 使用公司/工業(yè)、政府/社會(huì)、市場(chǎng)和經(jīng)濟(jì)作為標(biāo)簽.
ACM數(shù)據(jù)集是來自ACM數(shù)字圖書館的一個(gè)論文網(wǎng)絡(luò)數(shù)據(jù)集,其中邊表示同一作者撰寫. 特征是關(guān)鍵詞的詞袋表示. 樣本按照研究領(lǐng)域分成3類(數(shù)據(jù)庫(kù)、無線通信、數(shù)據(jù)挖掘).
DBLP數(shù)據(jù)集是一個(gè)作者網(wǎng)絡(luò)數(shù)據(jù)集. 節(jié)點(diǎn)表示作者,邊表示作者合作完成的論文. 作者分為4個(gè)領(lǐng)域:數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)和信息檢索.
CiteSeer數(shù)據(jù)集是一個(gè)引文網(wǎng)絡(luò)數(shù)據(jù)集,包含每個(gè)文檔的稀疏詞匯特征向量包和文檔之間的引文鏈接列表. 標(biāo)簽包含6個(gè)領(lǐng)域:代理、人工智能、數(shù)據(jù)庫(kù)、信息檢索、機(jī)器語(yǔ)言和人機(jī)交互.
本文將提出的方法與8種方法進(jìn)行了對(duì)比,其中前3種是基于AE的非圖數(shù)據(jù)聚類方法,后5種是基于GCN的圖數(shù)據(jù)聚類方法.
1) AE方法:對(duì)AE從原始數(shù)據(jù)中學(xué)習(xí)到的嵌入表示執(zhí)行K-means聚類.
2) DEC方法:在上述AE方法基礎(chǔ)上加入約束項(xiàng),將編碼器學(xué)習(xí)嵌入表示和聚類分配兩部分聯(lián)合后進(jìn)行優(yōu)化,不再把兩部分割裂開,從而提高聚類.
3) IDEC方法:在DEC上增加了一個(gè)自編碼器的重構(gòu)損失以更好地學(xué)習(xí)嵌入表示,提高聚類效果.
4) GAE方法:結(jié)合GCN和AE設(shè)計(jì),用于學(xué)習(xí)數(shù)據(jù)表示.
5) VGAE方法:在GAE的基礎(chǔ)上,從原始數(shù)據(jù)中學(xué)習(xí)到一個(gè)分布,從這個(gè)分布中采樣一組數(shù)據(jù)作為嵌入表示進(jìn)行聚類.
6) DAEGC方法:使用GAT網(wǎng)絡(luò)來學(xué)習(xí)嵌入表示,并生成目標(biāo)分布,使其指導(dǎo)嵌入表示進(jìn)行更新.
7) SDCN方法:通過AE學(xué)習(xí)節(jié)點(diǎn)特征表示,并通過GCN學(xué)習(xí)圖結(jié)構(gòu)表示,把這兩部分的嵌入表示融合,進(jìn)行聚類任務(wù).
8) AGCN方法:在SDCN的基礎(chǔ)上,在兩部分嵌入表示融合時(shí)使用了注意力機(jī)制,得到更利于聚類的節(jié)點(diǎn)表示.
9) McGCN方法:即本文提出的方法.
本文的方法和8種對(duì)比方法在6個(gè)基準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表2所示. 表中:ACC表示聚類結(jié)果的準(zhǔn)確度;NMI表示聚類結(jié)果中正確聚類信息的數(shù)量;ARI表示類別劃分的重疊程度;F1是模型準(zhǔn)確率和召回率的調(diào)和平均值.
根據(jù)表中數(shù)據(jù)可以觀察到:本文方法在6個(gè)數(shù)據(jù)集的比較中大部分指標(biāo)都獲得了最好的聚類性能. 精度提升顯著的原因有3個(gè)方面:首先,文中的方法增加了一個(gè)新的圖結(jié)構(gòu),提供了更豐富的信息;其次,加入差異性約束模塊后顯著地增加了節(jié)點(diǎn)表示的多樣性,使其從不同角度學(xué)習(xí)到有區(qū)別的嵌入表示;最后,基于注意力機(jī)制融合模塊,自適應(yīng)地融合了來自各個(gè)通道的嵌入表示,充分地利用了每個(gè)通道中的信息. 在ACM、DBLP數(shù)據(jù)集中,本文提出的方法性能改進(jìn)不明顯. 通過對(duì)模型算法及實(shí)驗(yàn)結(jié)果進(jìn)行分析,認(rèn)為這個(gè)數(shù)據(jù)集的拓?fù)鋱D與特征圖結(jié)構(gòu)比較一致,增加特征圖結(jié)構(gòu)并不能有效地提高聚類精度.
針對(duì)模型中的差異性約束HSIC,本文進(jìn)行了消融實(shí)驗(yàn)來檢驗(yàn)它的作用,實(shí)驗(yàn)結(jié)果如表3所示. 表中:McGCN表示本文提出的具有HSIC約束的模型;McGCN-HSIC表示去掉HSIC約束的模型. 可以發(fā)現(xiàn),擁有HSIC約束的要明顯優(yōu)于沒有HSIC的模型. 這一觀察結(jié)果表明,HSIC約束能夠約束2個(gè)通道中的編碼器,使其學(xué)習(xí)不同的嵌入表示,從而利用更全面的信息來提高網(wǎng)絡(luò)的聚類性能.
表3 HSIC約束對(duì)模型的影響
通過實(shí)驗(yàn)對(duì)McGCN的訓(xùn)練過程進(jìn)行了分析,并與之前的SDCN方法做比較,實(shí)驗(yàn)結(jié)果見圖3.
圖3 正確率與訓(xùn)練次數(shù)的關(guān)系Fig.3 Relationship between accuracy and training times
在Reuters和HHAR的訓(xùn)練過程中存在一些波動(dòng),分析原因是3個(gè)通道學(xué)習(xí)到的嵌入表示差異性較大且沒有一個(gè)具有主導(dǎo)性的嵌入表示,導(dǎo)致在自適應(yīng)融合時(shí)權(quán)重分配多樣化,進(jìn)而表現(xiàn)出正確率波動(dòng). 但是,隨著訓(xùn)練的進(jìn)行,最終的聚類結(jié)果都趨于穩(wěn)定.
1) 本文提出的McGCN方法基于AE和GCN在原始節(jié)點(diǎn)特征空間、拓?fù)鋱D空間和特征圖空間進(jìn)行嵌入表示的學(xué)習(xí),并且通過一個(gè)基于注意力機(jī)制的融合模塊將節(jié)點(diǎn)編碼融合,應(yīng)用Student-t分布得到樣本的軟分配分布,通過自監(jiān)督的方式優(yōu)化軟分配分布與目標(biāo)分布之間的差異,執(zhí)行端到端的訓(xùn)練.
2) 在常用的基準(zhǔn)數(shù)據(jù)集上對(duì)提出的方法進(jìn)行評(píng)估,結(jié)果表明該方法有效地提高了聚類精度.
3) 雖然本文方法已經(jīng)取得了較好的性能,但由于圖結(jié)構(gòu)編碼采用的是GCN,它本質(zhì)上是平等地聚合鄰居節(jié)點(diǎn)信息,沒有更好地結(jié)合節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系屬性,存在一定局限性,未來將探索更有效的圖結(jié)構(gòu)編碼方式.