Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚKaggleÊý¾ÝµÄ´Ê´üÄ£ÐÍÎı¾·ÖÀà½Ì³Ì
 
×÷Õß  Zygmunt Z À´Ô´£ºFastML »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2015-9-25
  3271  次浏览      27
 

ÕªÒª£º±¾½Ì³ÌչʾÁ˸ÄÉÆÎı¾·ÖÀàµÄ·½·¨£¬°üÀ¨£º×öÒ»¸öÑéÖ¤¼¯£¬ÎªAUCÔ¤²â¸ÅÂÊ£¬ÓÃÏßÐÔÄ£ÐÍ´úÌæËæ»úÉ­ÁÖ£¬Ê¹ÓÃTF-IDFȨºâ´Ê»ã£¬ÁôÏÂÍ£Óôʣ¬¼ÓÉ϶þԪģÐÍ»òÕßÈýԪģÐ͵ȡ£

ÓÐÒ»¸öKaggleµÄѵÁ·±ÈÈü£¬Äã¿ÉÒÔ³¢ÊÔ½øÐÐÎı¾·ÖÀà£¬ÌØ±ðÊǵçÓ°ÆÀÂÛ¡£Ã»ÓÐÆäËûµÄÊý¾Ý¡ª¡ªÕâÊÇʹÓÃÎı¾·ÖÀà×öһЩʵÑéµÄ¾ø¼Ñ»ú»á¡£

KaggleÓÐÒ»¸ö¹ØÓÚ±¾´Î±ÈÈüµÄtutorial£¬Ëü»á´øÄã×ß½øÁ÷ÐеĴʴü·½·¨ÒÔ¼°word2vec¡£±¾½Ì³Ì¼¸ºõ´ú±íÁË×î¼Ñʵ¼ù£¬×îÓпÉÄÜÈòÎÈüÑ¡ÊÖµÄÓÅ»¯±äµÃºÜÈÝÒס£¶øÕâÕýÊÇÎÒÃÇÒª×öµÄ¡£

ÑéÖ¤

ÑéÖ¤ÊÇ»úÆ÷ѧϰµÄ»ùʯ¡£ÕâÊÇÒòΪÎÒÃÇÖ®ºó»áÍÆ¹ãµ½Î´ÖªµÄ²âÊÔʵÀý¡£Í¨³££¬ÆÀ¹ÀÒ»¸öÄ£ÐÍÍÆ¹ãµÄΨһÃ÷ÖÇ·½Ê½ÊÇʹÓÃÑéÖ¤£ºÈç¹ûÄãÓÐ×ã¹»µÄÀý×Ó£¬Äã¿ÉÒÔ½øÐе¥Ò»ÑµÁ·¡¢ÑéÖ¤·Ö¸î£»ÓÖ»òÕßÈç¹ûÄãÓм¸¸öѵÁ·µã£¬Äã¿ÉÒÔ½øÐмÆËãÉϸü°º¹óµ«È´ºÜÓбØÒªµÄ½»²æÑéÖ¤¡£

Ò»µãÌâÍâ»°£ºÔÚ²»ÉÙKaggle±ÈÈü£¬À´×Ô²»Í¬·Ö²¼¶ø²»ÊÇѵÁ·¼¯µÄÒ»×é²âÊÔ£¬Òâζ×ÅËüÉõÖÁºÜÄѳÉΪ´ú±íÐÔµÄÑéÖ¤¼¯¡£ÕâÊÇÒ»¸öÌôÕ½»¹ÊÇÓÞ´ÀµÄÐÐΪ£¬È¡¾öÓÚÄãµÄ¹Ûµã¡£

ΪÁ˼¤ÀøÑéÖ¤µÄÐèÇó£¬ÈÃÎÒÃǻع˰ٶÈÍŶӲμÓImageNet±ÈÈüµÄÇé¿ö¡£ÕâЩÈËÏÔÈ»²»Àí½âÑéÖ¤£¬ËùÒÔËûÃDz»µÃ²»ÇóÖúÓÚÅÅÐаñÀ´ÆÀ¹À×Ô¼ºµÄŬÁ¦¡£ImageNetÿÖÜÖ»ÔÊÐíÁ½´ÎÌá½»£¬ËùÒÔËûÃÇ´´ÔìÁËÐí¶à¼ÙÕË»§À´ÍØÕ¹ËûÃǵĴø¿í¡£²»ÐÒµÄÊÇ£¬Ö÷°ì·½²»Ï²»¶ÕâÑùµÄ·½·¨£¬¶ø°Ù¶ÈÒ²Òò´ËÏÝÈëÞÏÞΡ£

ÑéÖ¤·Ö¸î

ÎÒÃǵĵÚÒ»¸ö²½ÖèÊÇͨ¹ýÆôÓÃÑéÖ¤À´ÐÞ¸Äԭʼ½Ì³Ì´úÂë¡£Òò´Ë£¬ÎÒÃÇÐèÒª·Ö¸îѵÁ·¼¯¡£¼ÈÈ»ÎÒÃÇÓÐ25,000¸öѵÁ·Àý×Ó£¬ÎÒÃǽ«È¡³ö5,000¸ö½øÐвâÊÔ£¬²¢ÁôÏÂ20,000¸ö½øÐÐÅàѵ¡£Ò»ÖÖ·½·¨Êǽ«Ò»¸öÅàѵÎļþ·Ö¸î³ÉÁ½¸ö¡ª¡ªÎÒÃÇ´Óphraug2ÖÐʹÓÃsplit.py½Å±¾£º

python split.py train.csv train_v.csv test_v.csv -p 0.8 -r dupa

ʹÓÃËæ»úÖÖ×Ó¡°Dupa¡±À´ÊµÏÖÔÙÏÖ¡£DupaÊÇÓÃÓÚÕâÑù³¡ºÏµÄ²¨À¼Âë×Ö¡£ÎÒÃÇÏÂÃæ±¨¸æµÄ½á¹ûÊÇ»ùÓÚÕâÖַָ

ѵÁ·¼¯ÊÇÏ൱СµÄ£¬ËùÒÔÁíÒ»ÖÖ·½Ê½ÊǼÓÔØÕû¸öѵÁ·Îļþµ½ÄÚ´æÖв¢°ÑËü·Ö¸î£¬È»ºó£¬Ê¹ÓÃscikit-learnΪ´ËÀàÈÎÎñÌṩµÄºÃ¹¤¾ß£º

from sklearn.cross_validation import train_test_split
train, test = train_test_split( data, train_size = 0.8, random_state = 44 )

ÎÒÃÇÌṩµÄ½Å±¾Ê¹ÓÃÕâÖÖ»úÖÆÒÔ±ãʹÓ㬶ø²»Êǵ¥¶ÀµÄѵÁ·¡¢²âÊÔÎļþ¡£ÎÒÃÇÐèҪʹÓÃË÷ÒýÒòΪÎÒÃÇÕýÔÚ´¦ÀíPandas¿ò¼Ü£¬¶ø²»ÊÇNumpyÊý×飺

all_i = np.arange( len( data ))
train_i, test_i = train_test_split( all_i, train_size = 0.8, random_state = 44 )
train = data.ix[train_i]
test = data.ix[test_i]

¶ÈÁ¿±ê×¼

¾ºÕùµÄ¶ÈÁ¿±ê×¼ÊÇAUC£¬ËüÐèÒª¸ÅÂÊ¡£³öÓÚijÖÖÔ­Òò£¬Kaggle½Ì³ÌÖ»Ô¤²â0ºÍ1¡£ÕâÊǺÜÈÝÒ×½â¾ö£º

p = rf.predict_proba( test_x )
auc = AUC( test_y, p[:,1] )

¶øÇÒÎÒÃÇ¿´µ½£¬Ëæ»úÉ­Áֳɼ¨´óԼΪ91.9%¡£

´Ê´üµÄËæ»úÉ­ÁÖ£¿²»

Ëæ»úÉ­ÁÖÊÇÒ»¸öÇ¿´óµÄͨÓ÷½·¨£¬µ«Ëü²»ÊÇÍòÄܵ쬶ÔÓÚ¸ßάϡÊèÊý¾Ý²¢²»ÊÇ×îºÃµÄÑ¡Ôñ¡£¶øBoW±íʾÊǸßάϡÊèÊý¾ÝµÄÒ»¸öºÜºÃÀý×Ó¡£

´ËǰÎÒÃǸ²¸ÇÁË´Ê´ü£¬ÀýÈçA bag of words and a nice little network¡£ÔÚÄÇÆªÎÄÕÂÖУ¬ÎÒÃÇʹÓÃÁËÉñ¾­ÍøÂç½øÐзÖÀ࣬µ«ÊÂʵÊǼòÔ¼µÄÏßÐÔÄ£ÐÍÍùÍùÊÇÊ×Ñ¡¡£ÎÒÃǽ«Ê¹ÓÃÂß¼­»Ø¹é£¬ÒòΪÏÖÔÚÁôϳ¬²ÎÊý×÷ΪĬÈÏÖµ¡£

Âß¼­»Ø¹éµÄÑéÖ¤AUCÊÇ92.8£¥£¬²¢ÇÒËü±ÈËæ»úÉ­ÁÖµÄѵÁ·¿ìµÃ¶à¡£Èç¹ûÄã´òËã´ÓÕâÆªÎÄÕÂѧµã¶«Î÷£º¶ÔÓÚ¸ßάϡÊèÊý¾ÝʹÓÃÏßÐÔÄ£ÐÍ£¬Èç´Ê´ü¡£

TF-IDF

TF-IDF¼´¡°ÊõÓïÆµÂÊ/µ¹ÅÅÎĵµÆµÂÊ£¨term frequency / inverse document frequency£©¡±£¬ÊÇÕâÑùÒ»ÖÖ·½·¨£ºÓÃÓÚÇ¿µ÷¸ø¶¨ÎĵµÖÐµÄ¸ßÆµ´Ê»ã£¬¶ø²»ÔÙÇ¿µ÷³öÏÖÔÚÐí¶àÎĵµÖÐµÄ¸ßÆµ´Ê»ã¡£

ÎÒÃÇTfidfVectorizerºÍ20,000¸öÌØÕ÷µÄµÃ·ÖÊÇ95.6£¥£¬ÓкܴóµÄ¸Ä½ø¡£

Í£ÓôʺÍN-grams

Kaggle½Ì³ÌµÄ×÷ÕßÈÏΪÓбØÒªÈ¥³ýÍ£Óôʣ¨Stopwords£©¡£Í£Óôʼ´commonly occuring words£¬±ÈÈç¡°this¡±£¬¡°that¡±£¬¡°and¡±£¬¡°so¡±£¬¡°on¡±¡£ÕâÊÇÒ»¸öºÜºÃµÄ¾ö¶¨Âð£¿ÎÒÃDz»ÖªµÀ£¬ÎÒÃÇÐèÒª¼ìÑ飬ÎÒÃÇÓÐÑéÖ¤¼¯£¬»¹¼ÇµÃÂð£¿ÁôÏÂÍ£Óôʵĵ÷ÖΪ92.9£¥£¨ÔÚTF-IDF֮ǰ£©¡£

·´¶ÔÒÆ³ýÍ£ÓôʵÄÒ»¸ö¸üÖØÒªµÄÔ­ÒòÊÇ£ºÎÒÃÇÏë³¢ÊÔn-grams£¬²¢ÇÒ¶ÔÓÚn-gramsÎÒÃÇ×îºÃÈÃËùÓдÊÁôÔÚÔ­µØ¡£ÎÒÃÇ֮ǰº­¸ÇÁËn-grams£¬ËüÃÇÓÉn¸öÁ¬ÐøµÄ´Ê×éºÏÔÚÒ»Æð£¬Ê¹ÓöþԪģÐÍ¿ªÊ¼£¨Á½¸ö´Ê£©£º¡°cat ate¡±£¬¡°ate my¡±£¬¡°my precious¡±£¬¡°precious homework¡±¡£ÈýԪģÐÍÓÉÈý¸ö´Ê×é³É£º¡°cat ate my¡±£¬¡°ate my homework¡±£¬¡°my precious homework¡±£»ËÄԪģÐÍ£¬µÈµÈ¡£

Ϊʲôn-gramsÄܹ»work£¿ÏëÏëÕâ¾ä»°£º¡°movie not good¡±¡£ËüÓÐÃ÷ÏԵĸºÃæÇéÐ÷£¬µ«ÊÇÈç¹ûÄã°Ñÿ¸öµ¥´Ê¶¼·ÖÀ룬Ä㽫²»»á¼ì²âÕâÒ»µã¡£Ïà·´£¬¸ÃÄ£ÐÍ¿ÉÄÜ»áÁ˽⵽£¬¡°good¡±ÊÇÒ»¸ö»ý¼«µÄÇéÐ÷£¬Õ⽫²»ÀûÓÚÅжϡ£

ÔÚÁíÒ»·½Ã棬¶þԪģÐÍ¿ÉÒÔ½â¾öÎÊÌ⣺ģÐÍ¿ÉÄÜ»áÁ˽⵽£¬¡°not good¡±ÓиºÃæÇéÐ÷¡£

ʹÓÃÀ´×Ô˹̹¸£´óѧÇé¸Ð·ÖÎöÒ³ÃæµÄ¸ü¸´ÔÓµÄÀý×Ó£º

This movie was actually neither that funny, nor super witty.

¶ÔÓÚÕâ¸öÀý×Ó£¬¶þԪģÐͽ«ÔÚ¡°that funny¡±ºÍ¡°super witty¡±ÉÏʧ°Ü¡£ÎÒÃÇÐèÒªÖÁÉÙÈýԪģÐÍÀ´²¶×½¡°neither that funny¡±ºÍ¡°nor super witty¡±£¬È»¶øÕâЩ¶ÌÓïËÆºõ²¢²»Ì«³£¼û£¬ËùÒÔ£¬Èç¹ûÎÒÃÇʹÓõÄÌØÕ÷ÊýÁ¿ÓÐÏÞ£¬»òÕý¹æ»¯£¬ËûÃÇ¿ÉÄܲ»»áÈÃËü½øÈ뵽ģÐÍ¡£Òò´Ë£¬ÏñÉñ¾­ÍøÂçÒ»ÑùµÄ¸ü¸´ÔÓµÄÄ£Ð͵͝Òò»áʹÎÒÃÇÀëÌâ¡£

Èç¹û¼ÆËãn-gramsÌýÆðÀ´Óе㸴ÔÓ£¬scikit-learnÁ¿»¯Äܹ»×Ô¶¯µØ×öµ½ÕâÒ»µã¡£ÕýÈçVowpal Wabbit¿ÉÒÔ£¬µ«ÎÒÃDz»»áÔÚÕâÀïʹÓÃVowpal Wabbit¡£

ʹÓÃÈýԪģÐ͵ÄAUCµÃ·ÖΪ95.9£¥¡£

ά¶È

ÿ¸ö×Ö¶¼ÊÇÒ»¸öÌØÕ÷£ºËüÊÇ·ñ³öÏÖÔÚÎĵµÖУ¨0/1£©£¬»ò³öÏÖ¶àÉٴΣ¨´óÓÚµÈÓÚ0µÄÕûÊý£©¡£ÎÒÃǴӽ̳ÌÖпªÊ¼Ô­Ê¼Î¬Êý£¬5000¡£Õâ¶ÔËæ»úÉ­ÁÖºÜÓÐÒâÒ壬ÕâÊÇÒ»¸ö¸ß¶È·ÇÏßÐԵġ¢ÓбíÏÖÁ¦µÄ¡¢¸ß²îÒìµÄ·ÖÀ࣬ÐèÒªÒ»¸öÅ䏸Ïà¶Ô±È½Ï¸ßµÄÀý×ÓÓÃÓÚάÊý¡£ÏßÐÔÄ£ÐÍÔÚÕâ·½Ãæ²»Ì«¿ÁÇó£¬ËûÃÇÉõÖÁ¿ÉÒÔÔÚd>>nµÄÇé¿öÏÂwork¡£

ÎÒÃÇ·¢ÏÖ£¬Èç¹ûÎÒÃDz»ÏÞÖÆÎ¬Êý£¬¼´Ê¹ÕâÑùÒ»¸öСµÄÊý¾Ý¼¯Ò²»áʹÎÒÃǺľ¡ÄÚ´æ¡£ÎÒÃÇ¿ÉÒÔÔÚ12 GB RAMµÄ»úÆ÷ÉÏ´ø¶¯´óÔ¼40,000¸öÌØÕ÷¡£ÉõÖÁÒýÆð½»»»¡£

¶ÔÓÚ³õѧÕßÀ´Ëµ£¬ÎÒÃdz¢ÊÔ20,000¸öÌØÕ÷¡£Âß¼­»Ø¹é·ÖÊýΪ94.2£¥£¨ÔÚTF-IDFºÍn-grams֮ǰ£©£¬Óë5,000¸öÌØÕ÷µÄµÃ·Ö92.9£¥½øÐбȽϡ£¸ü¶àµÄ·ÖÊýÉõÖÁ¸üºÃ£º30,000¸öÌØÕ÷µÄµÃ·Ö96.0%£¬40,000¸öÌØÕ÷µÄµÃ·Ö96.3%£¨ÔÚTF-IDFºÍn-gramsÖ®ºó£©¡£

ΪÁ˽â¾öÄÚ´æÎÊÌ⣬ÎÒÃÇ¿ÉÒÔʹÓÃhashing vectorizer¡£È»¶ø£¬Ïà¶ÔÓÚ֮ǰµÄ96.3%£¬ËüÖ»µÃµ½ÁË93.2£¥µÄ·ÖÊý£¬²¿·ÖÔ­ÒòÊÇËü²»Ö§³ÖTF-IDF¡£

½áÓï

ÎÒÃÇչʾÁ˸ÄÉÆÎı¾·ÖÀàµÄ·½·¨£º

  • ×öÒ»¸öÑéÖ¤¼¯
  • ΪAUCÔ¤²â¸ÅÂÊ
  • ÓÃÏßÐÔÄ£ÐÍ´úÌæËæ»úÉ­ÁÖ
  • ʹÓÃTF-IDFȨºâ´Ê»ã
  • ÁôÏÂÍ£ÓôÊ
  • ¼ÓÉ϶þԪģÐÍ»òÕßÈýԪģÐÍ

¹«ÖÚÅÅÐаñµÃ·Ö·´Ó³ÁËÑéÖ¤µÃ·Ö£º¶¼´óÔ¼ÊÇ96.3£¥¡£ÔÚÌá½»µÄʱºò£¬ËüÔÚ500Ãû²ÎÈüÕßÖÐ×ã¹»½øÈëǰ20Ãû¡£

Äã¿ÉÄÜ»¹¼ÇµÃ£¬ÎÒÃÇÁôÏÂÁËÏßÐԻعéµÄ³¬²ÎÊý×÷ΪĬÈÏÖµ¡£´ËÍ⣬ÏòÁ¿»¯ÓÐËü×Ô¼ºµÄ²ÎÊý£¬Äã¿É¿ÉÆÚÍû¸üʵ¼ÊЩ¡£Î¢µ÷ËüÃǵĽá¹ûÓÐÒ»¸öÊÊÁ¿µÄ¸ÄÉÆ£¬´ïµ½96.6%¡£

ÔÙ´Î˵Ã÷£¬ÕâÆªÎÄÕµĴúÂë¿ÉÔÚGithubÉϵõ½¡£

UPDATE£ºMesnil£¬Mikolov£¬RanzatoºÍBengioÓÐһƪÇé¸Ð·ÖÀàµÄpaper£ºEnsemble of Generative and Discriminative Techniques for Sentiment Analysis of Movie Reviews £¨code£©¡£ËûÃÇ·¢ÏÖ£¬Ê¹ÓÃn-gramµÄÏßÐÔÄ£ÐÍÓÅÓڵݹéÉñ¾­ÍøÂ磨RNN£©ºÍʹÓþä×ÓÏòÁ¿µÄÏßÐÔÄ£ÐÍ¡£

È»¶ø£¬ËûÃÇʹÓõÄÊý¾Ý¼¯£¨Stanford Large Movie Review Dataset£©±È½ÏС£¬ÓÐ25,000¸öѵÁ·ÊµÀý¡£ Alec Radford ±íʾ£¬ÔÚÑù±¾ÊýÁ¿½Ï´ó£¬´óÖ´Ó100,000µ½1000,000£¬RNN¿ªÊ¼ÓÅÓÚÏßÐÔÄ£ÐÍ¡£


Credit: Alec Radford / Indico, Passage example

¶ÔÓÚ¾ä×ÓÏòÁ¿£¬×÷ÕßÓÃÂß¼­»Ø¹é·ÖÎö·¨¡£ÎÒÃÇÄþÔ¸¿´µ½100άÏòÁ¿ËÍÈë·ÇÏßÐÔÄ£ÐÍËæ»úÉ­ÁÖ¡£

ÕâÑù£¬ÎÒÃDZ°Î¢µØ·¢ÏÖËæ»úÉ­ÁֵķÖÊýÖ»ÊÇ85-86 %£¨Ææ¹Ö¡­¡­ÎªÊ²Ã´£¿£©£¬ÕâÈ¡¾öÓÚÊ÷µÄÊýÁ¿¡£¸Ãpaper׼ȷµØËµ£¬Âß¼­»Ø¹éµÄ¾«¶È´óԼΪ89%¡£

   
3271 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ