国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

融合神經(jīng)網(wǎng)絡(luò)與矩陣分解的旅游景點(diǎn)推薦模型

2021-04-28 00:49鄭吟秋汪弘揚(yáng)陳建峽
關(guān)鍵詞:景點(diǎn)向量矩陣

鄭吟秋, 汪弘揚(yáng), 程 玉, 陳建峽

(湖北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院, 湖北 武漢 430068)

近年來旅游業(yè)發(fā)展快速,旅游景點(diǎn)的數(shù)量與網(wǎng)絡(luò)上關(guān)于旅游信息愈發(fā)繁多,導(dǎo)致用戶決定景點(diǎn)的過程變得復(fù)雜與低效。而好的旅游景點(diǎn)推薦服務(wù)可以給用戶推薦符合其興趣偏好的景點(diǎn),從而提高用戶決定景點(diǎn)的效率,同時(shí)也提升用戶的出游滿意度。景點(diǎn)所屬類型易于區(qū)分,且類型相似的用戶對(duì)旅游景點(diǎn)會(huì)呈現(xiàn)出非常類似的喜好,因此,實(shí)現(xiàn)景點(diǎn)推薦的一個(gè)直觀思路就是基于用戶群與景點(diǎn)群的“相似性”,充分利用用戶的偏好與景點(diǎn)的內(nèi)在關(guān)聯(lián)實(shí)現(xiàn)推薦模型。

在推薦系統(tǒng)方面,已有的代表性工作主要分為傳統(tǒng)模型的研究與深度學(xué)習(xí)模型的研究。時(shí)至今日,傳統(tǒng)推薦模型憑借其訓(xùn)練速度快、可解釋性強(qiáng)等特點(diǎn)依然得到較為廣泛的使用,但傳統(tǒng)模型所執(zhí)行的簡單操作并不能充分滿足人們對(duì)推薦模型效果的追求。目前,隨著深度學(xué)習(xí)技術(shù)的持續(xù)發(fā)展及其在多種領(lǐng)域取得的巨大成功,研究者也把深度學(xué)習(xí)應(yīng)用到推薦系統(tǒng)中。神經(jīng)網(wǎng)絡(luò)模型具有較強(qiáng)的擬合能力,隨著深度學(xué)習(xí)技術(shù)的發(fā)展與算力的提升,現(xiàn)有模型的網(wǎng)絡(luò)層數(shù)不斷加深,表達(dá)能力也越來越強(qiáng),從而可以挖掘更多數(shù)據(jù)中隱藏的模式。近年來深度神經(jīng)網(wǎng)絡(luò)在推薦系統(tǒng)領(lǐng)域有兩種應(yīng)用方式:一是作為傳統(tǒng)推薦算法的輔助,利用神經(jīng)網(wǎng)絡(luò)對(duì)用戶和物品的輔助信息進(jìn)行建模;二是將神經(jīng)網(wǎng)絡(luò)作為推薦模型中的核心板塊,利用神經(jīng)網(wǎng)絡(luò)構(gòu)建模型,為用戶推薦感興趣的物品。

針對(duì)旅游進(jìn)行推薦模型研究的思路主要有兩種: 排序模型和序列推薦。李廣麗等在2019年提出基于混合分層抽樣統(tǒng)計(jì)與貝葉斯個(gè)性化排序的推薦模型[1],綜合用戶旅游喜好信息及BPR優(yōu)化結(jié)果,生成混合推薦列表,取得了較好的結(jié)果。同年, 張堯舜等人使用基于序列學(xué)習(xí)的旅游景點(diǎn)推薦[2],分析游客的旅游軌跡信息來為游客作出個(gè)性化的旅游景點(diǎn)推薦,解決了傳統(tǒng)推薦中的冷啟動(dòng)、數(shù)據(jù)稀疏、忽略旅游軌跡中高級(jí)語義和推薦準(zhǔn)確度低的問題。

本文圍繞旅游景點(diǎn)推薦問題展開研究,根據(jù)問題背景和數(shù)據(jù)類型,使用了Tr-DNNMF模型來捕獲用戶和景點(diǎn)數(shù)據(jù)中的有用信息。該模型基于旅游場景,融合了神經(jīng)網(wǎng)絡(luò)和矩陣分解這兩種被廣泛使用的模型,以期望獲得更好的景點(diǎn)推薦效果,并為用戶提供能滿足其興趣偏好的智能推薦服務(wù)。

1 相關(guān)工作

1.1 協(xié)同過濾算法簡介

協(xié)同過濾算法是最經(jīng)典、影響力最大的傳統(tǒng)推薦算法,它根據(jù)用戶的歷史行為記錄進(jìn)行推薦,核心是基于用戶-物品的交互記錄構(gòu)造用戶-物品評(píng)分矩陣,矩陣中已知的元素就是對(duì)應(yīng)的用戶給物品的評(píng)分,這個(gè)評(píng)分矩陣非常稀疏,協(xié)同過濾要做的就是基于評(píng)分矩陣中已有的元素來預(yù)測未知元素的評(píng)分,根據(jù)預(yù)測分?jǐn)?shù)進(jìn)行降序排序,將前面的物品推薦給用戶,協(xié)同過濾算法流程見圖1。

協(xié)同過濾的關(guān)鍵是計(jì)算相似度,主要使用余弦相似度公式、Jaccard公式、皮爾遜相似度等方式計(jì)算,根據(jù)對(duì)象不同可分為基于用戶的協(xié)同過濾和基于物品的協(xié)同過濾。在協(xié)同過濾算法的基礎(chǔ)上延伸出矩陣分解(MF)[3]算法,該算法可在一定程度上解決協(xié)同過濾算法存在的稀疏性問題,并且具備較好的擴(kuò)展性。從直觀上看,矩陣分解是把評(píng)分矩陣近似分解成兩個(gè)向量的乘積,分別表示用戶向量和物品向量,它們代表了用戶的偏好與物品被關(guān)注的因素。在矩陣分解中,用戶向量與物品向量的內(nèi)積就是該用戶對(duì)該物品評(píng)分的預(yù)測。

圖 1 協(xié)同過濾算法流程圖

盡管協(xié)同過濾和矩陣分解算法非常直觀,易于理解,但它們分別利用稀疏的評(píng)分矩陣與內(nèi)積操作進(jìn)行得分預(yù)測,因此模型的泛化能力與表達(dá)能力都不夠強(qiáng),如果面對(duì)歷史行為很少的用戶,就沒法產(chǎn)生準(zhǔn)確的推薦結(jié)果。盡管如此,憑借其特性,在深度學(xué)習(xí)流行的今天,這類傳統(tǒng)協(xié)同過濾推薦模型為深度推薦模型的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。

1.2 基于深度學(xué)習(xí)的推薦算法

近年來,各大互聯(lián)網(wǎng)公司逐漸將深度學(xué)習(xí)運(yùn)用到自己的推薦業(yè)務(wù)中。實(shí)際上,深度學(xué)習(xí)是通過加深神經(jīng)網(wǎng)絡(luò)的層數(shù),使模型有更強(qiáng)的表達(dá)能力,能更好地提取特征,挖掘更多數(shù)據(jù)中隱藏的模式。隨著深度學(xué)習(xí)技術(shù)的演進(jìn)與算力的提升,深度學(xué)習(xí)在推薦系統(tǒng)領(lǐng)域的應(yīng)用出現(xiàn)了兩種趨勢:要么以傳統(tǒng)推薦算法為核心,僅用神經(jīng)網(wǎng)絡(luò)對(duì)用戶和物品的文本、圖片信息進(jìn)行建模;要么把神經(jīng)網(wǎng)絡(luò)作為推薦模型的核心板塊,通過訓(xùn)練為用戶推薦感興趣的物品。由于深度學(xué)習(xí)模型的結(jié)構(gòu)靈活,可根據(jù)實(shí)際場景和數(shù)據(jù)特點(diǎn)調(diào)整結(jié)構(gòu),因此基于深度學(xué)習(xí)的推薦系統(tǒng)是發(fā)展持續(xù)火熱的方向之一。

最簡單的神經(jīng)網(wǎng)絡(luò)推薦模型是AutoRec[4],只有一個(gè)隱藏層,是在協(xié)同過濾的基礎(chǔ)上加入了自編碼器的思想,有一定的泛化能力。AutoRec模型和Word2Vec模型的結(jié)構(gòu)一致,但優(yōu)化目標(biāo)和訓(xùn)練方法不同。AutoRec利用協(xié)同過濾中的用戶-物品共現(xiàn)矩陣,完成物品向量或用戶向量的自編碼。再利用自編碼的結(jié)果預(yù)估用戶對(duì)物品的評(píng)分。進(jìn)一步加深網(wǎng)絡(luò)層數(shù)后,出現(xiàn)了以微軟Deep Crossing[5]為代表的深度推薦模型。Deep Crossing模型的結(jié)構(gòu)是典型的嵌入加多層神經(jīng)網(wǎng)絡(luò)的模式,該模型首先用embedding層將稀疏特征轉(zhuǎn)化為低維稠密特征,用stacking layer連接分段的特征向量,再通過多層神經(jīng)網(wǎng)絡(luò)完成特征的組合與轉(zhuǎn)換,最終用scoring layer進(jìn)行計(jì)算。

1.3 深度推薦模型的改進(jìn)思路

深度學(xué)習(xí)推薦模型的主要進(jìn)化思路有改變特征交叉方式與改變模型組合方式。前一種以PNN[6]模型(Product-based Neural Network)為例,該模型的關(guān)鍵是,在embedding層和全連接層之間加入Product layer,其中product操作在不同特征域之間進(jìn)行特征組合,增加特征交叉和特征組合時(shí)對(duì)信息表達(dá)的針對(duì)性。此外,PNN還定義了內(nèi)積、外積等操作來捕捉不同的交叉信息,增強(qiáng)模型表征不同數(shù)據(jù)模式的能力 。

改變模型組合的代表是Google的Wide&Deep[7]模型、華為的DeepFM[8]模型。Wide&Deep模型把單輸入層的Wide部分和經(jīng)過多層感知機(jī)的Deep部分連接起來,一起輸入到最終的輸出層。其中,單層的Wide部分讓模型具有記憶性,從而處理大量稀疏的ID類特征,即記住用戶的大量歷史信息,Deep部分則利用DNN強(qiáng)大的表達(dá)能力,挖掘特征內(nèi)在的數(shù)據(jù)模式,讓模型具有泛化性。最終再利用LR輸出層組合Wide部分和Deep部分。

DeepFM是在Wide&Deep的基礎(chǔ)上,用FM部分替換原來的Wide部分,增強(qiáng)淺層網(wǎng)絡(luò)進(jìn)行特征組合的能力。FM部分由一階和二階特征交叉的計(jì)算組成,DeepFM是通過同時(shí)組合原來的Wide部分、二階特征交叉部分和Deep部分這三種結(jié)構(gòu),來進(jìn)一步增強(qiáng)模型的表達(dá)能力。Wide&Deep模型影響力巨大,是因?yàn)楹芏嗌疃葘W(xué)習(xí)推薦模型采用了兩個(gè)、甚至多個(gè)模型組合的形式,利用不同網(wǎng)絡(luò)結(jié)構(gòu)的特性挖掘不同的信息并進(jìn)行組合,這樣就充分利用了不同網(wǎng)絡(luò)的優(yōu)勢,有助于提升模型的推薦效果。

2 TR-NeuMF推薦模型

本文使用的景點(diǎn)推薦模型Tr-DNNMF(Trouism Recommendation Based on Deep Neural Network Matrix Factorization)基于神經(jīng)協(xié)同過濾(Neural Collaborative Filtering, NCF)框架[9],該框架的思路是把模型分成用戶側(cè)和物品側(cè)兩部分,再使用互操作層把這兩部分聯(lián)合起來,產(chǎn)生最終的預(yù)測得分。下面根據(jù)Tr-DNNMF模型流程圖(圖2)與Tr-DNNMF模型的結(jié)構(gòu)圖(圖3)詳細(xì)闡述本文的工作流程、模型的具體結(jié)構(gòu)及訓(xùn)練細(xì)節(jié)。

圖 2 Tr-DNNMF模型流程圖

2.1 數(shù)據(jù)預(yù)處理

首先對(duì)采集到的原始景點(diǎn)數(shù)據(jù)進(jìn)行預(yù)處理:提取并保存用于訓(xùn)練模型的主要字段,然后對(duì)數(shù)據(jù)進(jìn)行去重、去異常數(shù)據(jù)等清洗工作。根據(jù)相應(yīng)的訓(xùn)練集格式構(gòu)造訓(xùn)練數(shù)據(jù)文件,再通過負(fù)采樣操作給模型提供從隱式數(shù)據(jù)中進(jìn)行學(xué)習(xí)的負(fù)樣本,最后得到了用戶-景點(diǎn)交互數(shù)據(jù)和負(fù)采樣數(shù)據(jù)。通過數(shù)據(jù)處理階段,可以改善數(shù)據(jù)的質(zhì)量,并對(duì)數(shù)據(jù)的分布和相關(guān)信息進(jìn)行初步探索,有助于后續(xù)建模的過程。

2.2 模型結(jié)構(gòu)

Tr-DNNMF模型基于神經(jīng)協(xié)同過濾框架,對(duì)用戶-景點(diǎn)的歷史交互數(shù)據(jù)進(jìn)行訓(xùn)練。首先,分別在旅游數(shù)據(jù)上訓(xùn)練廣義矩陣分解模型(GMF,Generalized Matrix Factorization)和多層感知機(jī)模型(MLP,Multi-Layer Perceptron),然后把這兩個(gè)模型最后一層的特征串聯(lián)起來,將MF(Matrix Factorization)的線性和DNN(Deep Neural Networks)的非線性相結(jié)合,對(duì)用戶-景點(diǎn)的潛在結(jié)構(gòu)進(jìn)行建模,使模型既具備良好的擴(kuò)展性,又有強(qiáng)大的擬合能力。Tr-DNNMF模型原理見圖3。

圖 3 Tr-DNNMF模型結(jié)構(gòu)圖

Tr-DNNMF模型中的MF結(jié)構(gòu)可作為NCF框架下的一個(gè)特例,用戶和景點(diǎn)的One-hot編碼在經(jīng)過嵌入層之后會(huì)分別生成用戶和景點(diǎn)的隱向量,之后在GMF層中逐元素計(jì)算用戶隱向量與景點(diǎn)隱向量的內(nèi)積,在輸出層使用sigmoid激活函數(shù)和對(duì)數(shù)損失函數(shù)。MLP結(jié)構(gòu)使用了多層神經(jīng)網(wǎng)絡(luò),在學(xué)習(xí)用戶和景點(diǎn)潛在特征之間的交互時(shí),在拼接的向量上添加隱藏層,使得模型具備較強(qiáng)的靈活性和一定的非線性,以解釋用戶和景點(diǎn)潛在特征之間的交互,增強(qiáng)了用協(xié)同過濾建模的能力。Tr-DNNMF模型的內(nèi)容可定義為公式(1)~(3):

(1)

式(1)為GMF部分通過計(jì)算用戶u的隱向量和景點(diǎn)i的隱向量的內(nèi)積,以得到推薦得分

(2)

式(2)為MLP部分通過多層神經(jīng)網(wǎng)絡(luò)從用戶-景點(diǎn)數(shù)據(jù)中學(xué)習(xí)交互函數(shù),最終得到預(yù)測分?jǐn)?shù)。

(3)

式(3)為Tr-DNNMF模型最終通過拼接層得到GMF和MLP的融合模型預(yù)測結(jié)果。

為讓融合模型獲得更多的靈活性,Tr-DNNMF模型中GMF和MLP先各自學(xué)習(xí)單獨(dú)的嵌入,而不是使用共享的嵌入,如此可以避免共享GMF和MLP的嵌入向量對(duì)模型融合性能的限制,然后通過連接它們的最后一個(gè)隱藏層將這兩個(gè)模型結(jié)合起來。

2.3 模型訓(xùn)練

Tr-DNNMF模型從零開始訓(xùn)練GMF和MLP,采用了Adam算法,通過對(duì)頻繁的參數(shù)進(jìn)行較小的更新和對(duì)不頻繁的參數(shù)進(jìn)行較大的更新,動(dòng)態(tài)地改變每個(gè)參數(shù)的學(xué)習(xí)率。與原始SGD相比,這兩個(gè)模型使用Adam的收斂速度更快。在給Tr-DNNMF模型輸入預(yù)先訓(xùn)練好的參數(shù)后,使用原始的SGD,因?yàn)锳dam需要保存動(dòng)量信息,以便正確地更新參數(shù),而Tr-DNNMF模型只使用預(yù)先訓(xùn)練好的模型進(jìn)行參數(shù)初始化,不保存動(dòng)量信息,故不適合使用基于動(dòng)量的方法來進(jìn)一步優(yōu)化Tr-DNNMF模型。模型的輸出層使用ReLU作為激活函數(shù),使模型輸出的預(yù)測分?jǐn)?shù)表示用戶和景點(diǎn)相關(guān)的概率,然后通過對(duì)數(shù)損失函數(shù)計(jì)算真實(shí)值與預(yù)測值的損失,進(jìn)行參數(shù)更新。

Tr-DNNMF模型采用point-wise方法學(xué)習(xí)模型參數(shù),使用的損失函數(shù)為平方損失的回歸函數(shù)。由于Tr-DNNMF模型的目標(biāo)函數(shù)是非凸的,基于梯度的優(yōu)化方法只能找到局部最優(yōu)解,因此初始化對(duì)模型的收斂和性能起著重要作用,采用隨機(jī)初始化。由于Tr-DNNMF模型是GMF和MLP的結(jié)合,本文使用GMF和MLP的預(yù)訓(xùn)練模型來初始化Tr-DNNMF模型。首先對(duì)GMF和MLP進(jìn)行訓(xùn)練直到收斂。然后把它們的模型參數(shù)作為Tr-DNNMF模型相應(yīng)部分參數(shù)的初始化。在輸出層連接兩個(gè)模型的權(quán)值,此過程中需通過對(duì)超參數(shù)的調(diào)整來決定兩個(gè)預(yù)訓(xùn)練模型之間的權(quán)衡。

3 實(shí)驗(yàn)與分析

3.1 實(shí)驗(yàn)數(shù)據(jù)

本文使用的用戶評(píng)分?jǐn)?shù)據(jù)來自攜程網(wǎng),進(jìn)行了數(shù)據(jù)預(yù)處理。用戶評(píng)分?jǐn)?shù)據(jù)包含4999條用戶-景點(diǎn)交互記錄,每行的格式為(用戶ID,景點(diǎn)ID,用戶評(píng)分,時(shí)間戳),見表1,數(shù)據(jù)稀疏度為0.0189%,由于模型是從隱式數(shù)據(jù)中學(xué)到交互數(shù)據(jù)中用戶與景點(diǎn)的關(guān)聯(lián)性,故模型不會(huì)利用真實(shí)的評(píng)分,而是通過把交互樣本被標(biāo)記為0(負(fù)樣本)或1(正樣本)來構(gòu)建訓(xùn)練數(shù)據(jù),進(jìn)行后續(xù)訓(xùn)練過程。

表1 景點(diǎn)交互數(shù)據(jù)示例

3.2 實(shí)驗(yàn)設(shè)置

本文使用MLP、GMF和Tr-DNNMF這三種模型實(shí)現(xiàn)了對(duì)用戶-景點(diǎn)交互數(shù)據(jù)的建模,前兩種模型使用小批量Adam優(yōu)化方法,針對(duì)Tr-DNNMF使用了隨機(jī)梯度下降算法。Tr-DNNMF模型的參數(shù)及數(shù)值見表2,其中模型的預(yù)測因子(factor number)為模型最后一層隱藏層的神經(jīng)元個(gè)數(shù)。表2是三種模型在HR@10和NDCG@10指標(biāo)上的對(duì)比,實(shí)驗(yàn)結(jié)果表明模型融合后的性能更好。

表2 實(shí)驗(yàn)參數(shù)設(shè)置

3.3 評(píng)價(jià)指標(biāo)

本文使用了命中率(HR)、歸一化折損累計(jì)增益(NDCG)作為評(píng)估模型性能的評(píng)價(jià)指標(biāo),并將這兩個(gè)指標(biāo)的排名都設(shè)置為10。在實(shí)驗(yàn)中,每個(gè)測試用戶計(jì)算了這兩個(gè)指標(biāo)的平均值。HR是目前TOP-N推薦研究中十分流行的評(píng)價(jià)指標(biāo),能夠很直觀地衡量測試景點(diǎn)是否出現(xiàn)在前10名的景點(diǎn)列表中。HR的計(jì)算見公式(4):

(4)

其中#users是用戶數(shù),#hits是測試集中的item出現(xiàn)在Top-N推薦列表中的用戶數(shù)。

NDCG通過給排名靠前的熱門景點(diǎn)分配更高的分?jǐn)?shù)來說明熱門景點(diǎn)的位置,它在折損累計(jì)增益(DCG)的基礎(chǔ)上進(jìn)行歸一化處理,取值在0-1之間。DCG假設(shè)相關(guān)度高的結(jié)果排在前面,高分的相關(guān)性更高,DCG與NDCG的計(jì)算分別見公式(5)和公式(6)。

(5)

(6)

其中,reli表示排在第i位的商品用戶是否喜歡(值為1是喜歡,為0是不喜歡),p是推薦列表長度,iDCG是理想情況下的值。

3.4 實(shí)驗(yàn)結(jié)果

本文在建模用戶-景點(diǎn)交互數(shù)據(jù)時(shí),對(duì)factor_num和num_layers等參數(shù)進(jìn)行了參數(shù)調(diào)優(yōu)過程。實(shí)驗(yàn)了factor_num為[8,16,32,64]的情況和num_layers為[3,4,5]的情況,當(dāng)factor_num取值為64,num_layers取值為4時(shí)模型性能較好。如果factor_num取值過大會(huì)導(dǎo)致模型過擬合。模型在該參數(shù)配置下的實(shí)驗(yàn)結(jié)果見表3。

表3 基于交互數(shù)據(jù)推薦的實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)結(jié)果表明Tr-DNNMF模型比MLP模型的NDCG@10提高了7%,HR@10提高了0.5%,比GMF模型的NDCG@10提高了37%,HR@10提高了38%。

4 結(jié)論

根據(jù)景點(diǎn)推薦問題實(shí)現(xiàn)了Tr-DNNMF模型,詳細(xì)介紹了模型結(jié)構(gòu)與訓(xùn)練流程。本文用該模型在用戶對(duì)景點(diǎn)的交互數(shù)據(jù)上進(jìn)行了大量實(shí)驗(yàn),并與單模型進(jìn)行推薦性能的對(duì)比測試。實(shí)驗(yàn)結(jié)果表明,Tr-DNNMF模型具有良好的景點(diǎn)推薦效果,與單模型相比,性能有較大的提升。為進(jìn)一步提升景點(diǎn)推薦的效果,可從以下三個(gè)方面考慮:1)利用時(shí)間(如不同季節(jié)、節(jié)日效應(yīng)),地理環(huán)境等多種上下文信息進(jìn)行訓(xùn)練,實(shí)現(xiàn)不同類別景點(diǎn)的推薦權(quán)重的智能調(diào)節(jié),推薦更滿足用戶需求的景點(diǎn);2)除了用戶評(píng)分?jǐn)?shù)據(jù),模型還可以利用包括景點(diǎn)圖片和景點(diǎn)描述文本的輔助信息,構(gòu)建更適合旅游場景的模型;3)利用圖嵌入和基于鄰域的推薦算法,進(jìn)一步提升模型在高稀疏度數(shù)據(jù)上的效果。

猜你喜歡
景點(diǎn)向量矩陣
向量的分解
聚焦“向量與三角”創(chuàng)新題
打卡名校景點(diǎn)——那些必去朝圣的大學(xué)景點(diǎn)
多項(xiàng)式理論在矩陣求逆中的應(yīng)用
英格蘭十大怪異景點(diǎn)
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
沒有景點(diǎn) 只是生活
景點(diǎn)個(gè)股表現(xiàn)
矩陣
宝山区| 营口市| 海宁市| 监利县| 宁化县| 曲麻莱县| 龙里县| 宁德市| 兰州市| 金乡县| 伊通| 朝阳市| 海盐县| 大悟县| 德钦县| 共和县| 广河县| 沙雅县| 无极县| 安国市| 琼中| 和顺县| 阿尔山市| 丹东市| 阜新| 黔江区| 仙居县| 阿拉善盟| 镇坪县| 桂阳县| 集安市| 剑阁县| 望都县| 隆昌县| 繁峙县| 垦利县| 普格县| 余庆县| 祥云县| 南川市| 思南县|