久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

圖解BERT模型:從零開始構(gòu)建BERT

 黃爸爸好 2019-01-25

本文首先介紹BERT模型要做什么,,即:模型的輸入,、輸出分別是什么,以及模型的預(yù)訓練任務(wù)是什么,;然后,,分析模型的內(nèi)部結(jié)構(gòu),圖解如何將模型的輸入一步步地轉(zhuǎn)化為模型輸出;最后,,我們在多個中/英文,、不同規(guī)模的數(shù)據(jù)集上比較了BERT模型與現(xiàn)有方法的文本分類效果

1. 模型的輸入/輸出

BERT模型的全稱是:BidirectionalEncoder Representations from Transformer,。從名字中可以看出,,BERT模型的目標是利用大規(guī)模無標注語料訓練、獲得文本的包含豐富語義信息的Representation,,即:文本的語義表示,,然后將文本的語義表示在特定NLP任務(wù)中作微調(diào),最終應(yīng)用于該NLP任務(wù),。煮個栗子,,BERT模型訓練文本語義表示的過程就好比我們在高中階段學習語數(shù)英、物化生等各門基礎(chǔ)學科,,夯實基礎(chǔ)知識;而模型在特定NLP任務(wù)中的參數(shù)微調(diào)就相當于我們在大學期間基于已有基礎(chǔ)知識,、針對所選專業(yè)作進一步強化,,從而獲得能夠應(yīng)用于實際場景的專業(yè)技能。

在基于深度神經(jīng)網(wǎng)絡(luò)的NLP方法中,,文本中的字/詞通常都用一維向量來表示(一般稱之為詞向量),;在此基礎(chǔ)上,神經(jīng)網(wǎng)絡(luò)會將文本中各個字或詞的一維詞向量作為輸入,,經(jīng)過一系列復雜的轉(zhuǎn)換后,,輸出一個一維詞向量作為文本的語義表示。特別地,,我們通常希望語義相近的字/詞在特征向量空間上的距離也比較接近,,如此一來,由字/詞向量轉(zhuǎn)換而來的文本向量也能夠包含更為準確的語義信息,。因此,,BERT模型的主要輸入是文本中各個字/詞的原始詞向量,該向量既可以隨機初始化,,也可以利用Word2Vector等算法進行預(yù)訓練以作為初始值,;輸出是文本中各個字/詞融合了全文語義信息后的向量表示,如下圖所示(為方便描述且與BERT模型的當前中文版本保持一致,,本文統(tǒng)一以字向量作為輸入):


從上圖中可以看出,,BERT模型通過查詢字向量表將文本中的每個字轉(zhuǎn)換為一維向量,作為模型輸入,;模型輸出則是輸入各字對應(yīng)的融合全文語義信息后的向量表示,。此外,模型輸入除了字向量,,還包含另外兩個部分:

1.    文本向量:該向量的取值在模型訓練過程中自動學習,,用于刻畫文本的全局語義信息,,并與單字/詞的語義信息相融合

2.    位置向量:由于出現(xiàn)在文本不同位置的字/詞所攜帶的語義信息存在差異(比如:我愛你你愛我),因此,,BERT模型對不同位置的字/詞分別附加一個不同的向量以作區(qū)分

最后,,BERT模型將字向量、文本向量和位置向量的加和作為模型輸入,。特別地,,在目前的BERT模型中,文章作者還將英文詞匯作進一步切割,,劃分為更細粒度的語義單位(WordPiece),,例如:將playing分割為play##ing;此外,,對于中文,,目前作者尚未對輸入文本進行分詞,而是直接將單字作為構(gòu)成文本的基本單位,。

對于不同的NLP任務(wù),,模型輸入會有微調(diào),對模型輸出的利用也有差異,,例如:

  • 單文本分類任務(wù):對于文本分類任務(wù),,BERT模型在文本前插入一個[CLS]符號,并將該符號對應(yīng)的輸出向量作為整篇文本的語義表示,,用于文本分類,,如下圖所示??梢岳斫鉃椋号c文本中已有的其它字/詞相比,,這個無明顯語義信息的符號會更公平地融合文本中各個字/詞的語義信息。

  • 語句對分類任務(wù):該任務(wù)的實際應(yīng)用場景包括:問答(判斷一個問題與一個答案是否匹配),、語句匹配(兩句話是否表達同一個意思)等,。對于該任務(wù),BERT模型除了添加[CLS]符號并將對應(yīng)的輸出作為文本的語義表示,,還對輸入的兩句話用一個[SEP]符號作分割,,并分別對兩句話附加兩個不同的文本向量以作區(qū)分,如下圖所示,。

  • 序列標注任務(wù):該任務(wù)的實際應(yīng)用場景包括:中文分詞&新詞發(fā)現(xiàn)(標注每個字是詞的首字,、中間字或末字)、答案抽?。ù鸢傅钠鹬刮恢茫┑?。對于該任務(wù),BERT模型利用文本中每個字對應(yīng)的輸出向量對該字進行標注(分類),如下圖所示(B,、I,、E分別表示一個詞的第一個字、中間字和最后一個字),。

  •  ……

根據(jù)具體任務(wù)的不同,,在實際應(yīng)用中我們可以腦洞大開,通過調(diào)整模型的輸入,、輸出將模型適配到真實業(yè)務(wù)場景中,。

2. 模型的預(yù)訓練任務(wù)

BERT實際上是一個語言模型。語言模型通常采用大規(guī)模,、與特定NLP任務(wù)無關(guān)的文本語料進行訓練,,其目標是學習語言本身應(yīng)該是什么樣的,這就好比我們學習語文,、英語等語言課程時,,都需要學習如何選擇并組合我們已經(jīng)掌握的詞匯來生成一篇通順的文本?;氐?/span>BERT模型上,,其預(yù)訓練過程就是逐漸調(diào)整模型參數(shù),使得模型輸出的文本語義表示能夠刻畫語言的本質(zhì),,便于后續(xù)針對具體NLP任務(wù)作微調(diào)。為了達到這個目的,,BERT文章作者提出了兩個預(yù)訓練任務(wù):Masked LMNext Sentence Prediction,。

2.1 Masked LM

Masked LM的任務(wù)描述為:給定一句話,隨機抹去這句話中的一個或幾個詞,,要求根據(jù)剩余詞匯預(yù)測被抹去的幾個詞分別是什么,,如下圖所示。


這不就是我們高中英語常做的完形填空么,!所以說,,BERT模型的預(yù)訓練過程其實就是在模仿我們學語言的過程。具體來說,,文章作者在一句話中隨機選擇15%的詞匯用于預(yù)測,。對于在原句中被抹去的詞匯,80%情況下采用一個特殊符號[MASK]替換,,10%情況下采用一個任意詞替換,,剩余10%情況下保持原詞匯不變。這么做的主要原因是:在后續(xù)微調(diào)任務(wù)中語句中并不會出現(xiàn)[MASK]標記,,而且這么做的另一個好處是:預(yù)測一個詞匯時,,模型并不知道輸入對應(yīng)位置的詞匯是否為正確的詞匯(10%概率),這就迫使模型更多地依賴于上下文信息去預(yù)測詞匯,并且賦予了模型一定的糾錯能力,。

2.2 NextSentence Prediction

Next Sentence Prediction的任務(wù)描述為:給定一篇文章中的兩句話,,判斷第二句話在文本中是否緊跟在第一句話之后,如下圖所示,。


當年大學考英語四六級的時候,,大家應(yīng)該都做過段落重排序,即:將一篇文章的各段打亂,,讓我們通過重新排序把原文還原出來,,這其實需要我們對全文大意有充分、準確的理解,。Next Sentence Prediction任務(wù)實際上就是段落重排序的簡化版:只考慮兩句話,,判斷是否是一篇文章中的前后句。在實際預(yù)訓練過程中,,文章作者從文本語料庫中隨機選擇50%正確語句對和50%錯誤語句對進行訓練,,與Masked LM任務(wù)相結(jié)合,讓模型能夠更準確地刻畫語句乃至篇章層面的語義信息,。

BERT模型通過對Masked LM任務(wù)和Next Sentence Prediction任務(wù)進行聯(lián)合訓練,,使模型輸出的每個字/詞的向量表示都能盡可能全面、準確地刻畫輸入文本(單句或語句對)的整體信息,,為后續(xù)的微調(diào)任務(wù)提供更好的模型參數(shù)初始值,。

3. 模型結(jié)構(gòu)

了解了BERT模型的輸入/輸出和預(yù)訓練過程之后,我們來看一下BERT模型的內(nèi)部結(jié)構(gòu),。前面提到過,,BERT模型的全稱是:BidirectionalEncoder Representations from Transformer,也就是說,,Transformer是組成BERT的核心模塊,,而Attention機制又是Transformer中最關(guān)鍵的部分,因此,,下面我們從Attention機制開始,,介紹如何利用Attention機制構(gòu)建Transformer模塊,在此基礎(chǔ)上,,用多層Transformer組裝BERT模型,。

3.1 Attention機制

Attention: Attention機制的中文名叫注意力機制,顧名思義,,它的主要作用是讓神經(jīng)網(wǎng)絡(luò)把注意力放在一部分輸入上,,即:區(qū)分輸入的不同部分對輸出的影響。這里,,我們從增強字/詞的語義表示這一角度來理解一下Attention機制,。

我們知道,,一個字/詞在一篇文本中表達的意思通常與它的上下文有關(guān)。比如:光看字,,我們可能會覺得很陌生(甚至連讀音是什么都不記得吧),,而看到它的上下文鴻鵠之志后,就對它立馬熟悉了起來,。因此,,字/詞的上下文信息有助于增強其語義表示。同時,,上下文中的不同字/詞對增強語義表示所起的作用往往不同,。比如在上面這個例子中,字對理解字的作用最大,,而字的作用則相對較小,。為了有區(qū)分地利用上下文字信息增強目標字的語義表示,就可以用到Attention機制,。

Attention機制主要涉及到三個概念:Query,、KeyValue。在上面增強字的語義表示這個應(yīng)用場景中,,目標字及其上下文的字都有各自的原始Value,,Attention機制將目標字作為Query、其上下文的各個字作為Key,,并將Query與各個Key的相似性作為權(quán)重,,把上下文各個字的Value融入目標字的原始Value中。如下圖所示,,Attention機制將目標字和上下文各個字的語義向量表示作為輸入,,首先通過線性變換獲得目標字的Query向量表示、上下文各個字的Key向量表示以及目標字與上下文各個字的原始Value表示,,然后計算Query向量與各個Key向量的相似度作為權(quán)重,加權(quán)融合目標字的Value向量和各個上下文字的Value向量,,作為Attention的輸出,,即:目標字的增強語義向量表示。


Self-Attention:對于輸入文本,,我們需要對其中的每個字分別增強語義向量表示,,因此,我們分別將每個字作為Query,,加權(quán)融合文本中所有字的語義信息,,得到各個字的增強語義向量,如下圖所示,。在這種情況下,,Query,、KeyValue的向量表示均來自于同一輸入文本,因此,,該Attention機制也叫Self-Attention,。


Multi-head Self-Attention:為了增強Attention的多樣性,文章作者進一步利用不同的Self-Attention模塊獲得文本中每個字在不同語義空間下的增強語義向量,,并將每個字的多個增強語義向量進行線性組合,,從而獲得一個最終的與原始字向量長度相同的增強語義向量,如下圖所示,。

這里,,我們再給出一個例子來幫助理解Multi-head Self-Attention(注:這個例子僅用于幫助理解,并非嚴格正確),??聪旅孢@句話:南京市長江大橋,在不同語義場景下對這句話可以有不同的理解:南京市/長江大橋,,或南京市長/江大橋,。對于這句話中的字,在前一種語義場景下需要和字組合才能形成一個正確的語義單元,;而在后一種語義場景下,,它則需要和字組合才能形成一個正確的語義單元。我們前面提到,,Self-Attention旨在用文本中的其它字來增強目標字的語義表示,。在不同的語義場景下,Attention所重點關(guān)注的字應(yīng)有所不同,。因此,,Multi-head Self-Attention可以理解為考慮多種語義場景下目標字與文本中其它字的語義向量的不同融合方式??梢钥吹?,Multi-head Self-Attention的輸入和輸出在形式上完全相同,輸入為文本中各個字的原始向量表示,,輸出為各個字融合了全文語義信息后的增強向量表示,。因此,Multi-head Self-Attention可以看作是對文本中每個字分別增強其語義向量表示的黑盒,。

3.2 Transformer Encoder

Multi-headSelf-Attention的基礎(chǔ)上再添加一些佐料,,就構(gòu)成了大名鼎鼎的Transformer Encoder。實際上,,Transformer模型還包含一個Decoder模塊用于生成文本,,但由于BERT模型中并未使用到Decoder模塊,因此這里對其不作詳述,。下圖展示了Transformer Encoder的內(nèi)部結(jié)構(gòu),,可以看到,,Transformer EncoderMulti-head Self-Attention之上又添加了三種關(guān)鍵操作:

  • 殘差連接(ResidualConnection):將模塊的輸入與輸出直接相加,作為最后的輸出,。這種操作背后的一個基本考慮是:修改輸入比重構(gòu)整個輸出更容易(錦上添花雪中送炭容易多了?。_@樣一來,,可以使網(wǎng)絡(luò)更容易訓練,。

  • Layer Normalization:對某一層神經(jīng)網(wǎng)絡(luò)節(jié)點作0均值1方差的標準化。

  • 線性轉(zhuǎn)換:對每個字的增強語義向量再做兩次線性變換,,以增強整個模型的表達能力,。這里,變換后的向量與原向量保持長度相同,。


可以看到,,Transformer Encoder的輸入和輸出在形式上還是完全相同,因此,,Transformer Encoder同樣可以表示為將輸入文本中各個字的語義向量轉(zhuǎn)換為相同長度的增強語義向量的一個黑盒,。

3.3 BERT model

組裝好TransformerEncoder之后,再把多個Transformer Encoder一層一層地堆疊起來,,BERT模型就大功告成了,!


在論文中,作者分別用12層和24Transformer Encoder組裝了兩套BERT模型,,兩套模型的參數(shù)總數(shù)分別為110M340M,。

4. BERT模型的文本分類效果

在本文中,我們聚焦文本分類任務(wù),,對比分析BERT模型在中/英文,、不同規(guī)模數(shù)據(jù)集上的文本分類效果。我們基于Google預(yù)訓練好的BERT模型(中文采用chinese_L-12_H-768_A-12模型,,下載鏈接:https://storage./bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip,;英文采用uncased_L-12_H-768_A-12模型,下載鏈接:https://storage./bert_models/2018_10_18/uncased_L-12_H-768_A-12.zip),。我們一共選擇了6個數(shù)據(jù)集進行實驗,,各數(shù)據(jù)集的訓練集/測試集大小、分類任務(wù),、類別數(shù)和語言類型如下表所示。

數(shù)據(jù)集

訓練集大小

測試集大小

分類任務(wù)

類別數(shù)

語言類型

商品評論情感分析

9653

1145

情感極性分類

3

中文

Sentiment_XS

29613

11562

情感極性分類

2

中文

立場分析

2914

1249

立場分類

3

英文

AG’s News

120000

7600

新聞分類

4

英文

Yelp Review  Full

650000

50000

情感分類

5

英文

Yahoo! Answers

1400000

60000

問答系統(tǒng)

10

英文

4.1 商品評論情感分析

該數(shù)據(jù)集旨在分析微博中表達的對特定商品的情感傾向:正面,、負面或中立,。我們選擇了三種方法與BERT模型進行對比:

  • XGBoostNGram特征+XGBoost分類器

  • Char-level CNN:將未分詞的文本直接輸入卷積神經(jīng)網(wǎng)絡(luò)(已對比發(fā)現(xiàn)Word-level CNN效果略差)

  • Attention-based RNN:將分詞后的文本輸入循環(huán)神經(jīng)網(wǎng)絡(luò)(已對比發(fā)現(xiàn)Char-level RNN效果略差),并且在最終分類前采用Attention機制融合輸入各個詞對應(yīng)的hidden states

BERT模型與三種對比方法的正面,、負面,、中立情感分類F1值如下:

方法

正面F1

負面F1

中立F1

XGBoost

67%

60%

91%

Char-level CNN

69%

74%

92%

Attention-based  RNN

66%

71%

91%

BERT

71%

76%

92%

從上表中可以看到,,BERT模型在正、負,、中立F1值上均碾壓了所有對比方法,!

4.2 Sentiment_XS

該數(shù)據(jù)集來自于論文“SentimentClassification with Convolutional Neural Networks: an Experimental Study on aLarge-scale Chinese Conversation Corpus” DOI:10.1109/CIS.2016.0046),旨在對短文本進行正/負面情感極性分類,。我們選擇論文中的部分代表性對比方法與BERT模型進行對比,,包括:支持向量機分類器(SVC)、邏輯回歸(LR),、Naive Bayes SVMNBSVM)和卷積神經(jīng)網(wǎng)絡(luò)(CNN),,分類準確率如下表所示(對比方法的實驗數(shù)據(jù)來自于論文)。

方法

分類準確率

SVC

81.89%

LR

81.84%

NBSVM

81.18%

CNN

87.12%

BERT

90.01%

可以看到,,BERT模型在Sentiment_XS數(shù)據(jù)集上的分類準確率再次碾壓了所有對比方法,!

4.3 立場分析

該數(shù)據(jù)集來自于國外文本分析評測比賽SemEval-2016的任務(wù)6A:有監(jiān)督立場分類,旨在分析文本中對5個話題的支持,、反對或中立態(tài)度,,包括:有神論、氣候變化,、女權(quán)運動,、Hillary Clinton和墮胎合法化。因此,,該數(shù)據(jù)集實際上對應(yīng)5個話題子集,。分類效果的官方評估指標為支持類別F1值和反對類別F1值的宏平均。我們選擇了當前立場分析領(lǐng)域的四個最優(yōu)方法與BERT模型進行對比,,包括:

  • SVMNGram特征+支持向量機分類器,,該方法取得了當時參加評測的所有方法的最優(yōu)分類效果

  • MITRE:基于循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)的方法,在參加評測的神經(jīng)網(wǎng)絡(luò)方法中取得最優(yōu)效果

  • pkudblab:基于卷積神經(jīng)網(wǎng)絡(luò)的方法,,在參加評測的神經(jīng)網(wǎng)絡(luò)方法中效果僅次于MITRE

  • TGMN-CR:結(jié)合動態(tài)記憶模塊與循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,,近期提出的最新方法

上述方法與BERT模型在5個數(shù)據(jù)子集上的分類效果如下表所示(對比方法的數(shù)據(jù)來自于論文:A Target-GuidedNeural Memory Model for Stance Detection in TwitterDOI10.1109/IJCNN.2018.8489665),。

方法

有神論

氣候變化

女權(quán)運動

Hillary Clinton

墮胎合法化

SVM

65.19%

42.35%

57.46%

58.63%

66.42%

MITRE

61.47%

41.63%

62.09%

57.67%

57.28%

pkudblab

63.34%

52.69%

51.33%

64.41%

61.09%

TGMN-CR

64.6%

43.02%

59.35%

66.21%

66.21%

BERT

75.51%

46.04%

55.35%

67.54%

62.5%

從上表中可以看到,,BERT模型在2個數(shù)據(jù)子集中都取得了最優(yōu)效果,尤其是有神論數(shù)據(jù)集,,F1值超過當前最優(yōu)算法約10%,!不過,在其余三個數(shù)據(jù)子集中,,BERT模型的表現(xiàn)比較一般,。

4.4 AG’s News& Yelp Review Full & Yahoo! Answers

這三個數(shù)據(jù)集算是文本分類領(lǐng)域的經(jīng)典數(shù)據(jù)集了,分別對應(yīng)新聞分類,、情感分類和問答系統(tǒng)任務(wù),。這里,,我們選擇了4種在這三個數(shù)據(jù)集上進行過實驗驗證的方法與BERT模型進行對比,包括:

  • char-CNN:將未分詞的文本直接輸入卷積神經(jīng)網(wǎng)絡(luò)

  • FastText:一種用于文本分類的快速神經(jīng)網(wǎng)絡(luò)方法

  • VDCNNVery Deep CNN,,顧名思義,,非常非常深的卷積神經(jīng)網(wǎng)絡(luò)Region embedding:利用局部文本語義信息增強文本中每個詞的語義向量表示,輸入到一個簡單神經(jīng)網(wǎng)絡(luò)中進行分類

  • DPCNNDeep Pyramid CNN,,同樣是非常深的神經(jīng)網(wǎng)絡(luò),,通過池化操作使網(wǎng)絡(luò)的每層神經(jīng)元個數(shù)不斷減半,因此,,整個神經(jīng)網(wǎng)絡(luò)看起來像是一個金字塔結(jié)構(gòu)

上述對比方法與BERT模型在三個數(shù)據(jù)集上的分類準確率如下表所示(對比方法的數(shù)據(jù)來自于論文:A New method ofRegion Embedding for Text ClassificationDeep PyramidConvolutional Neural Networks for Text Categorization),。

方法

AG’s News

Yelp Review Full

Yahoo! Answers

char-CNN

87.2%

62%

71.2%

FastText

92.5%

63.9%

72.3%

VDCNN

91.3%

64.7%

73.4%

Region  embedding

92.8%

64.9%

73.7%

DPCNN

93.1%

69.4%

76.1%

BERT

94.6%

66.0%

74.2%

上表表明,BERT模型在AG’s News數(shù)據(jù)集上取得了最高的分類準確率,,在Yelp Review FullYahoo! Answers數(shù)據(jù)集上也都取得了次高的分類準確率,。需要注意的是,我們目前僅使用12Transformer Encoder結(jié)構(gòu)的BERT模型進行實驗,,后續(xù)會進一步檢驗24TransformerEncoder結(jié)構(gòu)的BERT模型的分類效果,,可以期待,BERT模型的分類效果應(yīng)該會隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深而進一步有所提高,。

5. 結(jié)語

本文分析了BERT模型的內(nèi)部結(jié)構(gòu)與原理,,并在文本分類任務(wù)上檢驗了模型效果。從實驗結(jié)果中可以看出,,BERT模型的文本分類效果在許多中/英文數(shù)據(jù)集上都超過了現(xiàn)有方法,,體現(xiàn)出了很強的泛用性。后續(xù)我們將繼續(xù)檢驗BERT模型在其它NLP任務(wù)中的效果,,并研究提升模型訓練效率的方法,,歡迎大家批評與指正!

Citations

Devlin J, Chang M W, Lee K, et al. Bert:Pre-training of deep bidirectional transformers for language understanding[J].arXiv preprint arXiv:1810.04805, 2018.

Vaswani A, Shazeer N, Parmar N, et al.Attention is all you need[C]//Advances in Neural Information ProcessingSystems. 2017: 5998-6008.

Zhang L, Chen C. Sentimentclassification with convolutional neural networks: an experimental study on alarge-scale Chinese conversation corpus[C]//Computational Intelligence andSecurity (CIS), 2016 12th International Conference on. IEEE, 2016: 165-169.

Mohammad S, Kiritchenko S, Sobhani P, etal. Semeval-2016 task 6: Detecting stance in tweets[C]//Proceedings of the 10thInternational Workshop on Semantic Evaluation (SemEval-2016). 2016: 31-41.

Zarrella G, Marsh A. MITRE atsemeval-2016 task 6: Transfer learning for stance detection[J]. arXiv preprintarXiv:1606.03784, 2016.

Wei W, Zhang X, Liu X, et al. pkudblabat semeval-2016 task 6: A specific convolutional neural network system foreffective stance detection[C]//Proceedings of the 10th International Workshopon Semantic Evaluation (SemEval-2016). 2016: 384-388.

Wei P, Mao W, Zeng D. A Target-GuidedNeural Memory Model for Stance Detection in Twitter[C]//2018 InternationalJoint Conference on Neural Networks (IJCNN). IEEE, 2018: 1-8.

Joulin A, Grave E, Bojanowski P, et al.Bag of tricks for efficient text classification[J]. arXiv preprintarXiv:1607.01759, 2016.

Conneau A, Schwenk H, Barrault L, et al.Very deep convolutional networks for natural language processing[J]. arXivpreprint, 2016.

Johnson R, Zhang T. Deep pyramidconvolutional neural networks for text categorization[C]//Proceedings of the55th Annual Meeting of the Association for Computational Linguistics (Volume 1:Long Papers). 2017, 1: 562-570.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章