• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于自然語(yǔ)言處理的Word2Vec詞向量應(yīng)用

      2020-08-13 10:02:56石鳳貴
      黑河學(xué)院學(xué)報(bào) 2020年7期
      關(guān)鍵詞:詞匯表分詞列表

      石鳳貴

      (馬鞍山師范高等??茖W(xué)校 軟件工程系,安徽 馬鞍山 243041)

      計(jì)算機(jī)底層處理的是“0”和“1”,“0”和“1”是計(jì)算機(jī)特有的語(yǔ)言。計(jì)算機(jī)底層只能識(shí)別和計(jì)算數(shù)字,那么處理文本數(shù)據(jù)時(shí),首先需要對(duì)文本數(shù)據(jù)進(jìn)行數(shù)字化預(yù)處理。早期采用One-Hot獨(dú)熱編碼處理,但沒有考慮詞的含義和詞與詞的關(guān)系。目前,最常見且效果較好的是詞向量方法,其經(jīng)典模型是Word2Vec[1]。詞向量包括詞和向量。英文中詞之間有明顯的分隔標(biāo)記,中文中詞與詞之間沒有明顯的分隔,不同的斷句中文意思不同。制作詞向量之前需要進(jìn)行文本分詞。文中將介紹詞向量機(jī)制和Word2Vec詞模型應(yīng)用。

      1 中文分詞

      計(jì)算機(jī)進(jìn)行文本分析與理解的首要任務(wù)就是分詞。中文語(yǔ)句結(jié)構(gòu)復(fù)雜,不同的斷句表達(dá)的意思不同,同一個(gè)詞不同的語(yǔ)句和文本中表達(dá)的意思不盡相同,詞語(yǔ)的劃分難以界定。

      句子中含有歧義詞、網(wǎng)絡(luò)詞、新詞。分詞就是采用一定的分詞規(guī)則和機(jī)制將語(yǔ)句切分為詞組成的詞列表,分詞算法主要有基于詞表的分詞算法、基于機(jī)器學(xué)習(xí)的分詞算法和基于理解的分詞算法[2]。

      基于詞表的分詞算法是一種字符串匹配的分詞算法,包括正向最大匹配、逆向最大匹配和雙向匹配等,這種分詞算法簡(jiǎn)單、快速、易實(shí)現(xiàn)。在字符串匹配的分詞算法基礎(chǔ)上,優(yōu)化衍生出了其他的分詞算法?;跈C(jī)器學(xué)習(xí)的分詞算法是一種基于統(tǒng)計(jì)的分詞算法,在處理歧義及新詞上較好,但需要依賴標(biāo)注語(yǔ)料和訓(xùn)練。

      目前,出現(xiàn)了多種分詞算法和分詞工具,每種分詞工具既有優(yōu)點(diǎn),也有缺點(diǎn)??梢砸朐u(píng)價(jià)機(jī)制對(duì)分詞算法和工具進(jìn)行評(píng)價(jià),評(píng)價(jià)標(biāo)準(zhǔn)主要有混淆矩陣、準(zhǔn)確率、精確率、召回率和F1值。

      2 詞向量

      自然語(yǔ)言處理對(duì)詞語(yǔ)語(yǔ)義的理解需要將詞轉(zhuǎn)化為數(shù)學(xué)表示形式,然后按照數(shù)學(xué)規(guī)則進(jìn)行計(jì)算。自然語(yǔ)言處理需要解決三大問題:一是分詞、詞性標(biāo)注和命名實(shí)體識(shí)別的語(yǔ)法層面任務(wù);二是詞嵌入即詞向量,將詞映射到向量空間;三是句向量,將句子映射到向量空間。其中詞嵌入是自然語(yǔ)言處理的一個(gè)關(guān)鍵技術(shù)[2]。

      2.1 “嵌入”數(shù)學(xué)含義

      Embed詞中文意思為“嵌入”,其分詞在數(shù)學(xué)中是一個(gè)專有名詞——Embedding(嵌入),廣泛應(yīng)用于代數(shù)、拓?fù)浜蛶缀蔚葦?shù)學(xué)領(lǐng)域,主要表征數(shù)學(xué)結(jié)構(gòu)中的一個(gè)實(shí)例被包含在另外一個(gè)實(shí)例中。

      如“整數(shù)”包含在“有理數(shù)”中,有理數(shù)為一個(gè)group,則整數(shù)為一個(gè)subgroup,整數(shù)“嵌入”到有理數(shù)中。假設(shè)對(duì)象X被嵌入到對(duì)象Y中,那么Embedding就可以表示為一個(gè)單射、結(jié)構(gòu)保持的映射,結(jié)構(gòu)保持依賴于X和Y的數(shù)據(jù)結(jié)構(gòu)實(shí)例而定。整數(shù)集合中的每個(gè)數(shù)在有理數(shù)集合中均能找到唯一的一個(gè)對(duì)應(yīng)數(shù)即其本身,同時(shí),每個(gè)數(shù)的性質(zhì)同樣在有理數(shù)集合中得到了保持[3]。

      2.2 詞嵌入

      Word Embedding(詞嵌入)并不是要把詞鑲嵌到某個(gè)地方,而是要把詞嵌入到一個(gè)空間,需要關(guān)注的是映射關(guān)系。Word Embedding是NLP(Natural Language Processing,自然語(yǔ)言處理)中一組語(yǔ)言模型(Language Model)和特征學(xué)習(xí)技術(shù)(Feature Learning Technique)的總稱,把詞匯表中的詞映射成實(shí)數(shù)構(gòu)成的向量。

      詞嵌入或分布式向量(Distributional Vectors)就是將自然語(yǔ)言表示的詞語(yǔ)轉(zhuǎn)換為計(jì)算機(jī)能夠理解的向量或矩陣形式的技術(shù)。計(jì)算機(jī)要理解自然語(yǔ)言,需要考慮詞的語(yǔ)義(包括同義、近義)、語(yǔ)料中詞的上下文關(guān)系和向量的維度(即處理復(fù)雜度)等。同義詞或表示同類事物的詞之間的距離應(yīng)該很近,需要用一種理想的表示方式來(lái)表示詞才能更好地理解詞語(yǔ),從而更容易去做翻譯、問答、信息抽取等進(jìn)一步的工作[4]。

      早期,表達(dá)詞的方法有One-Hot、N-Gram、Cooccurrence matrix等。

      2003年,Bengio提出了NLM,也就是Word Embedding的雛形。

      2013年,Mikolov在之前的基礎(chǔ)上進(jìn)行了優(yōu)化,提出了Word2Vec,包含Continuous Bag-of-Words Model和 Skip-Gram Model。

      Word Embedding基于分布式假設(shè),用低維向量表示一個(gè)詞,從而基于向量的計(jì)算實(shí)施對(duì)詞的計(jì)算。Word Embedding就是用數(shù)學(xué)的方法構(gòu)建詞與上下文之間的關(guān)系模型。

      2.3 One-Hot

      One-Hot稱為獨(dú)熱編碼,把每個(gè)詞用一個(gè)長(zhǎng)的向量表示,詞表的大小為向量的維度,是一種稀疏向量,絕大數(shù)元素為0,表示當(dāng)前詞的元素為1。如:

      “計(jì)算機(jī)”表示為[0 1 0 0 0 0 0 0 0...]

      “電腦”表示為[0 0 0 1 0 0 0 0 0...

      One-Hot采用稀疏方式存儲(chǔ),程序?qū)崿F(xiàn)起來(lái)較簡(jiǎn)潔容易,但存在“語(yǔ)義鴻溝”,詞之間都是孤立的。分布式表達(dá)(Distributional Representation)考慮了詞的相關(guān)性和相似性,采用向量的距離來(lái)衡量,向量的距離可以使用歐氏距離和向量余弦值衡量。

      One-Hot是一種簡(jiǎn)單的Word Embedding方法,把語(yǔ)料中的詞匯去重后按照一定的順序排列為詞匯表,每個(gè)詞表示為一個(gè)長(zhǎng)度為N的向量,N為單詞總數(shù)。向量中,該詞所在的分量為1,其余為0。

      例如,有語(yǔ)料庫(kù)如下[4]:

      John likes to watch movies. Mary likes movies too.

      John also likes to watch football games.

      假設(shè)詞匯表排序結(jié)果如下:

      {"John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5,"also":6, "football": 7, "games": 8, "Mary": 9, "too": 10}

      那么則有如下word的向量表示:

      John: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

      likes: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0]

      ……

      同時(shí)文檔也可以表示成向量,直接將各詞的詞向量表示相加,則上面兩句話表示為:

      [1, 2, 1, 1, 2, 0, 0, 0, 1, 1]

      [1, 1, 1, 1, 0, 1, 1, 1, 0, 0]

      但One-Hot存在很大的局限性:沒有考慮語(yǔ)義的相似性,如“Woman”和“Lady”語(yǔ)義上相近;英語(yǔ)單詞復(fù)數(shù)表示;詞之間的位置關(guān)系;詞向量太長(zhǎng)。

      2.4 共現(xiàn)矩陣

      對(duì)于One-Hot中沒有考慮詞之間的位置關(guān)系,可以采用N—Gram方法,但會(huì)導(dǎo)致計(jì)算量急劇增長(zhǎng),可以采用共現(xiàn)矩陣(Co-occurrence matrix)解決這個(gè)問題。根據(jù)共現(xiàn)矩陣思想,可以認(rèn)為一個(gè)詞的意思與其臨近的前后緊密詞相關(guān)??梢栽O(shè)定一個(gè)窗口來(lái)找詞的臨近緊密詞,如圖1所示[4]:

      圖1 設(shè)定窗口找臨近詞

      窗口大小為2,與“rests”共同出現(xiàn)的詞為life、he、in、peace。于是可以利用這種共現(xiàn)關(guān)系來(lái)生成詞向量。

      假設(shè)語(yǔ)料庫(kù)中有3份文本:

      文本1:我喜歡運(yùn)動(dòng)。

      文本2:我喜歡學(xué)習(xí)。

      文本3:我熱愛NLP。

      設(shè)定窗口大小為1,則可以得到一個(gè)對(duì)陣矩陣——共現(xiàn)矩陣,見表1?!拔摇焙汀跋矚g”作為鄰居同時(shí)出現(xiàn)2次,因此表1中“我”和“喜歡”交叉位置值為2。所以,可以實(shí)現(xiàn)將word(詞)變換成向量,共現(xiàn)矩陣中每一行或每一列對(duì)應(yīng)一個(gè)詞的向量表示。

      表1 共現(xiàn)矩陣表

      盡管共現(xiàn)矩陣一定程度上解決了詞之間的位置問題,但面臨著維度災(zāi)難,word詞的向量太長(zhǎng),處理多文本時(shí)可操作性較差。

      2.5 語(yǔ)言模型

      語(yǔ)言模型就是通過統(tǒng)計(jì)方法計(jì)算一個(gè)句子的概率的模型,可以進(jìn)行形式化的描述(公式1):

      3 Word2Vec模型

      Word2Vec是Word Embedding模型,由Tomas Mikolov在Google就職時(shí)提出的,是Google開源的一個(gè)工具包,作為Python的第三方工具包。Word2Vec包括CBOW(Continuous Bag-of-Words)算法和Skip-Gram算法。Word2Vec不同于Word Embedding之前的方法,能夠計(jì)算詞的語(yǔ)義相似性和類比。語(yǔ)義類比反應(yīng)的是如下關(guān)系:

      “皇上”–“皇后”≈ “男人”–“女人”

      “英國(guó)”–“倫敦”≈ “法國(guó)”–“巴黎”≈“首都”

      文本數(shù)據(jù)中的每一個(gè)詞,制作了一個(gè)映射,而不是簡(jiǎn)單的用一個(gè)數(shù)字來(lái)表示,重點(diǎn)考慮了詞的含義和詞與詞之間的影響。

      3.1 分詞與處理數(shù)據(jù)格式

      訓(xùn)練Word2Vec模型前,需要進(jìn)行文本預(yù)處理,包括對(duì)語(yǔ)料進(jìn)行分詞、去停用詞等。然后把分詞結(jié)果處理成Word2Vec處理的格式,可使用如下方法實(shí)現(xiàn):

      word2vec.LineSentence(source, max_sentence_length=10000,limit=None)

      word2vec.PathLineSentences(path,max_sentence_length =10000,limit = None )

      word2vec.Text8Corpus(fname,max_sentence_length =10000 )

      source為分詞結(jié)果文件或分詞列表,每句一行,每個(gè)詞用空格隔開。PathLineSentences()處理path目錄下所有文件,自動(dòng)合并,語(yǔ)料較大時(shí)推薦使用該方法,防止內(nèi)存過載。Text8Corpus()所有分詞內(nèi)容作為一個(gè)列表,文本容量較大時(shí)不推薦使用這個(gè)方法。上述方法都生成一個(gè)可迭代的對(duì)象,封裝的內(nèi)容是分詞后的詞組成的列表。不同的是,LineSentence()是每行封裝成一個(gè)列表,這個(gè)列表的最大長(zhǎng)度是max_sentence_length;而Text8Corpus()是對(duì)整個(gè)語(yǔ)料庫(kù)進(jìn)行分割,每次都是max_sentence_length這個(gè)長(zhǎng)度的列表。

      (1)分詞

      import jieba

      import jieba.analyse

      from gensim.models import word2vec

      import textPreprocessing as textPre # 為作者之前自行封裝的一個(gè)文本預(yù)處理模塊工具

      # 分詞(保存為文件)

      corpus_file = "data/corpus.txt" # 語(yǔ)料摘選自《西游記》,見圖2

      stopword_file = "dicts/stopwords.txt"

      corpus_seg_file = "data/corpus_seg.txt"

      corpus_seg = textPre.segment_file_line(corpus_file,stopword_file, corpus_seg_file)

      圖2 《西游記》摘選語(yǔ)料

      圖3 分詞結(jié)果

      (2)分詞表處理成gensim處理格式

      from gensim.models.word2vec import LineSentence,PathLineS entences,Text8Corpus

      s_ls = LineSentence(corpus_seg_file)

      list(s_ls)

      處理結(jié)果:

      [['ufeff', '蓋聞', '天地', '之?dāng)?shù)', '十二萬(wàn)', '九千', '百歲', '一元', '一元', '分為'],

      ['十二', '乃子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌'],

      ……,

      ['五千四百歲', '正當(dāng)', '寅會(huì)', '生', '人生', '獸', '生禽', '正謂', '天地人'],

      ['三才', '定位', '故曰', '生于', '寅']]

      #

      s_pls = PathLineSentences("data") # 處理目錄下所有文件

      list(s_pls)

      #

      s_t8 = Text8Corpus(corpus_seg_file)

      list(s_t8)

      處理結(jié)果:

      [['ufeff','蓋聞','天地',……,'三才','定位','故曰','生于','寅']]

      3.2 訓(xùn)練詞向量模型

      word2vec.Word2Vec(sentences=None, size=100, window=5,min_count=5)

      sentences是3.1中處理的數(shù)據(jù),size是生成詞向量的大小即特征向量的維度,window是一個(gè)詞上下文的最大關(guān)聯(lián)距離,即考慮上下文幾個(gè)詞對(duì)這個(gè)詞有影響,min_count是忽略詞頻小于這個(gè)值的詞。

      from gensim.models import word2vec

      model = word2vec.Word2Vec(s_ls,size = 100,window=5,min_count=2)

      model.save("model/wordvec_model.model") # 保存模型

      3.3 應(yīng)用模型

      使用語(yǔ)料訓(xùn)練模型后,就可以使用模型查看詞的向量、計(jì)算詞的相關(guān)詞、詞之間的相似度等。需要注意的是,若詞未在文本中出現(xiàn),會(huì)報(bào)錯(cuò);若詞出現(xiàn)在文本中,但加載使用模型時(shí)仍然報(bào)錯(cuò),可能是訓(xùn)練模型的參數(shù)min_count設(shè)置過大。

      # 查看某一個(gè)詞的向量(要在分詞詞典內(nèi))

      print('"百歲"詞向量: ',model['百歲'])

      # 查看某個(gè)詞關(guān)系密切的幾個(gè)詞

      print('"萬(wàn)物"相關(guān)詞: ',model.most_similar(u'萬(wàn)物',topn=10))

      # 查看構(gòu)成的詞匯表

      print('模型詞匯表: ',model.wv.vocab.keys())

      輸出結(jié)果:

      "百歲"詞向量:

      [ 3.1722072e-03 3.8287034e-03 1.0290809e-03-4.7823749e-03

      ……

      -2.9335637e-03 4.8004515e-03 3.8950804e-03-4.2258538e-03]

      "萬(wàn)物"相關(guān)詞:

      [('寅 ', 0.20572435855865479), ('正 當(dāng) ',0.10449893772602081), ('曰', 0.10259617865085602), ('未',0.09095393121242523), ('謂之', 0.08863461762666702), ('之會(huì)',0.08583557605743408), ('丑會(huì)', 0.07503118366003036), ('天地', 0.06942173093557358), ('氣', 0.0571199469268322), ('亥',0.05302652716636658)]

      模型詞匯表:

      dict_keys(['天地', '百歲', '一元', '丑', '寅', '巳', '未', '酉', '戌', '亥', '氣', '萬(wàn)物', '五千四百歲', '故曰', '之會(huì)', '曰', '正當(dāng)', '子', '謂之', '生', '至此', '丑會(huì)', '交合'])

      如果模型已訓(xùn)練好,可以直接加載模型,省去模型訓(xùn)練步驟。

      model_load = word2vec.Word2Vec.load("model/wordvec_model.model")

      print(model_load['故曰'])

      similar_list = model_load.most_similar(u'萬(wàn)物',topn=5)

      print('與"萬(wàn)物"詞最相似的5個(gè)詞:')

      for item in similar_list:

      print(item[0], ":", item[1])

      輸出結(jié)果:

      [1.7317259e-03 4.7753360e-03 -3.1557090e-03 3.9798431e-03

      ……

      -3.7062964e-03 -1.6768617e-03 -2.4658823e-03-1.3406312e-03]

      與"萬(wàn)物"詞最相似的5個(gè)詞:

      寅 : 0.20572435855865479

      正當(dāng) : 0.10449893772602081

      曰 : 0.10259617865085602

      未 : 0.09095393121242523

      謂之 : 0.08863461762666702

      4 Word2Vec模型應(yīng)用

      以《西游記》全文為語(yǔ)料。

      4.1 設(shè)置參數(shù)

      size = 400 # 每個(gè)詞的向量維度

      window = 5 # 詞向量訓(xùn)練時(shí)的上下文掃描窗口大小,窗口為5就是考慮前5個(gè)詞和后5個(gè)詞

      min_count = 5 # 設(shè)置最低頻率,默認(rèn)是5,如果一個(gè)詞語(yǔ)在文檔中出現(xiàn)的次數(shù)小于5,那么就會(huì)丟棄

      workers = multiprocessing.cpu_count() # 訓(xùn)練的進(jìn)程數(shù),默認(rèn)是當(dāng)前運(yùn)行機(jī)器的處理器核數(shù)。

      xyjCorpus_file = "data/西游記.txt" # 語(yǔ)料

      xyjCorpus_seg_file = "data/西游記_seg.txt"

      stopword_file = "dicts/stopwords.txt"

      model_file = 'model/word_embedding_{0}.model'.format(size)# 模型文件名

      4.2 訓(xùn)練模型

      # 訓(xùn)練模型:如果模型存在就直接加載模型

      def trainWordvec():

      if os.path.exists(model_file) == False: #判斷模型文件是否存在,不存在則訓(xùn)練模型,否則直接加載

      '分詞'

      if os.path.exists(xyjCorpus_seg_file) == False: # 如果分詞表已存在,則省去分詞步驟

      xyjCorpus_seg = textPre.segment_file_line(xyjCorpus_file,stopword_file, xyjCorpus_seg_file)

      '分詞表處理成gensim處理格式'

      xyjCorpus_seg_gensim = LineSentence(xyjCorpus_seg_file)

      '訓(xùn)練'

      xyjModel = word2vec.Word2Vec(xyjCorpus_seg_gensim, size=size, window=window, min_count=min_count,workers=workers)

      '保存模型'

      xyjModel.save(model_file)

      else:

      xyjModel = word2vec.Word2Vec.load(model_file)

      return xyjModel

      'End'

      model_xyj = trainWordvec()

      4.3 應(yīng)用模型

      (1)輸出詞向量

      '輸出詞向量:詞需要在詞匯表中出現(xiàn)過'

      word = "孫悟空"

      print('"',word,'"詞向量:',)

      print(model_xyj[word])

      輸出結(jié)果:

      " 孫悟空 "詞向量:

      [ 0.00654764 0.14949934 -0.1149347 0.01632355-0.09168267 -0.04984085 …… 0.11063104 0.20870967-0.06634782 0.09105506]

      (2)計(jì)算一個(gè)詞的相似詞

      '計(jì)算一個(gè)詞的相似詞(相關(guān)詞)'

      word_cal = "八戒"

      words_similar = model_xyj.most_similar(word_cal) #window*2個(gè)

      print('"', word_cal,'"的最相似詞:')

      print(words_similar) # [(詞,相關(guān)度)]

      print()

      for item in words_similar:

      print(item[0], " :", item[1])

      輸出結(jié)果:

      " 八戒 "的最相似詞:

      [('沙 僧 ', 0.9997132420539856), ('行 者 ',0.9996129870414734), ('師父', 0.9991767406463623), ('笑',0.9984909892082214), ('說(shuō)', 0.9979647397994995), ('哥',0.9979634284973145), ('不瞞', 0.9978933334350586), ('罷',0.9978001713752747), ('哥哥', 0.9976719617843628), ('悟空',0.9975489377975464)]

      沙僧 : 0.9997132420539856

      行者 : 0.9996129870414734

      師父 : 0.9991767406463623

      笑 : 0.9984909892082214

      說(shuō) : 0.9979647397994995

      哥 : 0.9979634284973145

      不瞞 : 0.9978933334350586

      罷 : 0.9978001713752747

      哥哥 : 0.9976719617843628

      悟空 : 0.9975489377975464

      (3)計(jì)算兩個(gè)詞的相似度

      '計(jì)算兩個(gè)詞之間的相似度(計(jì)算兩個(gè)詞向量的余弦值)'

      similar1 = model_xyj.similarity("唐僧","鐵扇公主")

      print(similar1)

      similar2 = model_xyj.similarity("三太子","豬八戒")

      print(similar2)

      輸出結(jié)果:

      0.99750483

      0.9998449

      (4)計(jì)算兩個(gè)列表的相似度

      '計(jì)算兩個(gè)詞列表的相似度即余弦'

      list1 = ['豬八戒', '三太子']

      list2 = ['太上老君', '猴子']

      similar3 = model_xyj.n_similarity(list1, list2)

      print(list1,list2,"相似度為:",similar3)

      輸出結(jié)果:

      ['豬八戒', '三太子'] ['太上老君', '猴子'] 相似度為:0.9999646

      (5)選出列表中不同類的詞

      list3 = ['哪吒','孫悟空', '玉皇大帝','豬八戒' ]

      print(list3,"不同類的詞為:",model_xyj.doesnt_match(list3))

      輸出結(jié)果:

      ['哪吒', '孫悟空', '玉皇大帝', '豬八戒'] 不同類的詞為: 玉皇大帝

      5 結(jié)語(yǔ)

      詞向量又叫詞嵌入,是自然語(yǔ)言處理中語(yǔ)言模型和特征學(xué)習(xí)技術(shù)的總稱。Word2Vec是一款廣泛使用的詞向量模型,用來(lái)生產(chǎn)詞向量。本研究以《西游記》全文為語(yǔ)料,詳細(xì)介紹Word2Vec詞模型的應(yīng)用,包括參數(shù)設(shè)置、模型訓(xùn)練、模型應(yīng)用。

      猜你喜歡
      詞匯表分詞列表
      巧用列表來(lái)推理
      學(xué)習(xí)運(yùn)用列表法
      擴(kuò)列吧
      結(jié)巴分詞在詞云中的應(yīng)用
      值得重視的分詞的特殊用法
      巧妙提取英文詞匯表的純英文單詞
      電腦迷(2014年16期)2014-04-29 03:32:41
      不含3-圈的1-平面圖的列表邊染色與列表全染色
      高考分詞作狀語(yǔ)考點(diǎn)歸納與疑難解析
      論英語(yǔ)不定式和-ing分詞的語(yǔ)義傳承
      詞匯表
      葵青区| 天柱县| 府谷县| 开封县| 德阳市| 弥渡县| 平和县| 伊金霍洛旗| 屏边| 屯昌县| 龙州县| 高碑店市| 兰西县| 兴安盟| 中牟县| 望江县| 新余市| 兴化市| 石嘴山市| 华容县| 海口市| 克山县| 湖南省| 乐安县| 扶沟县| 扎囊县| 永胜县| 吉首市| 孟连| 辉南县| 根河市| 德化县| 威信县| 山阳县| 葵青区| 城步| 奉节县| 沈丘县| 会东县| 信阳市| 马山县|