ãã¥ã¼ã©ã«è¨èªã¢ãã«ã¯ä½ãç®çã¨ãã¦ããã®ãï¼ ã ãA Neural Probabilistic Language Modelããéä¸ã¾ã§èªãã
word2vecã§ããããéãã çãããããã«ã¡ã¯ã
ä»æ¥ã¯ãword2vecã®å ã«ãªã£ãè«æã®å ã«ãªã£ãè«æã®å è¡ç 究ã«ãªã£ã¦ããè«æãA Neural Probabilistic Language Model(Yoshua Bengio)ãã®ç´¹ä»ã§ãã
word2vecã¯ãåèªã®ç´ æ§ã§è¶³ãç®ã»å¼ãç®ãã§ããããåèªã®é¡æ¨(ã¢ããã¸ã¼)ãã§ããããåèªã®ç´ æ§ã®é¢ç½ãã注ç®ããã¦ãã¾ããã¨ã¯è¨ãããã¥ã¼ã©ã«ãããã«ããè¨èªã¢ãã«ã¯ãå¥ã«åèªã®ç´ æ§ã§éã¶ããã«ä½ãããããã§ã¯ããã¾ããã
ã¨ãããã¨ã§ããã¥ã¼ã©ã«ãããã«ããè¨èªã¢ãã«ã®æ¬å®¶(ï¼)ã§ããã確ççãã¥ã¼ã©ã«è¨èªã¢ãã«(Bengioå ç)ãã®è«æããããããããä½ãç®çã«ã¢ããªã³ã°ãã¦ããã®ããããªããã¥ã¼ã©ã«è¨èªã¢ãã«ãå¿ è¦ãªã®ããã¨ãããããããç´¹ä»ãããã¨æãã¾ã(主ã«Introductionã®é¨åãã¨ãããã¨ã«ãªãã¾ãã)ã
誤訳ã¯ãªãããã«å¿ããã¦ããã¤ããã§ãããä½ãããã¾ããããææãã ãããã¾ãããå è«æ-æ°å¼+ä¾ãããªæãã§æ¸ãã¦ããã®ã§ãå è«æã¨åããã¦èªãã¨è¯ãã¨æãã¾ãã
ä½ãç®çã«ã¢ããªã³ã°ãã¦ããã®ã
ãã£ããè¨ãã¨ã次ã«æ¥ãåèªãäºæ¸¬ãããã¨ãã§ããããã¯ãã¥ã¼ã©ã«ãããã«ããè¨èªã¢ãã«ã«éã£ã話ã§ã¯ããã¾ãããçµ±è¨çè¨èªã¢ãã«ä¸è¬ã«ã¤ãã¦è¨ã£ã¦ããã¨æãã¾ãã
ããå°ãå³å¯ã«è¨ãã¨ããããåèªåãä¸ããããã¨ãã次ã«ã©ããªåèªãæ¥ãããã®æ¡ä»¶ä»ã確çãå¦ç¿ãããã¨ãã§ããè«æä¸ã§ããçµ±è¨çè¨èªã¢ãã«ã¯ãè¨èªã«ãããåèªã®é£ãªãã®æ¡ä»¶ä»ã確çé¢æ°ãå¦ç¿ãããã¨ãç®çã ãã¨æ¸ããã¦ãã¾ãã
æ°å¼ã§æ¸ãã¨ãã¨ãããã¨ã§ã(nï¼ç´åã®åèªä½åãæ±ãã)ã
ããã¯ãèªé ãBag-of-Wordsã®ããã«ã¯æ¨ã¦ã¦ããªããã¨ãæå³ãã¾ããä¾ãã°ãç§ãã¯ãä»æ¥ãæçããããã¨ããåèªåã®æ¬¡ã«ç¶ãåèªã¯ãããããã¨ãããããã¨ãããããããã¨ããå¤åããããåèªã§ããééã£ã¦ããã«ããããã¨ããããªãã§ããããã®ãããªãåèªåã«å¯¾ãã¦ãã©ãããåèªãæ¥ããããã¨ãã確çãæ±ãããããªã¢ãã«ãå¦ç¿ãã¾ã*1ã
ä½è«ã§ãããä¸æ¹ã§ãLDAã¨ãã¯ç°ãªãã¾ãããã¡ãã¯ææ¸(â æç« )ãæã¤ãããã¯(話é¡ãªã©)ã®åå¸ãæ¨å®ãããããããã¯ãã¨ã®åèªã®åºç¾ç¢ºçãæ¨å®ãã¦ãã¾ããããBag-of-Wordsãã¨ããå½¢ã§ææ¸ãæ±ãã®ã§ãèªé ãæ¨ã¦ã¦ãã¾ãããã¥ã¼ã©ã«ãããã«ããè¨èªã¢ãã«ã¨LDAã¯ããåèªã®ç´ æ§ãç²å¾ã§ãããã¨ããä¸é¢ã¯å°ãã ãä¼¼ã¦ãã¾ããããã以å¤ã¯å¤§ããç°ãªãã¾ãã
ãªããã¥ã¼ã©ã«ãããè¨èªã¢ãã«ãå¿ è¦ãªã®ã
å ã»ã©è¿°ã¹ãçµ±è¨çè¨èªã¢ãã«ã®æèã®ä¸ã§ããªããã¥ã¼ã©ã«ãããã«ããè¨èªã¢ãã«ãå¿ è¦ã¨ãããã®ããã¨ãã話ã§ãã
çç±ã¨ãã¦ã¯ããã¥ã¼ã©ã«è¨èªã¢ãã«ãããåã®çµ±è¨çè¨èªã¢ãã«ã ã¨ã次å ã®åªãããèµ·ãããå¦ç¿å°é£ã ãããã¨æ¸ããã¦ãã¾ãã
ã¾ããæ¢å(å½æ)ææ³ã®åé¡ç¹ã説æãã¾ããä¾ãã°ããç§ãã¯ãä»æ¥ãæçããããã®æ¬¡ã«æ¥ãåèªãäºæ¸¬ãããã¨ããã¨ããç§ãã¯ãä»æ¥ãæçããã(ä½ãã®åèª)ãã¨ããé£ãªããããããåéãã¦ã(ãç§ãã¯ãä»æ¥ãæçããã(ããåèª)ãã®çºçæ°Ã·ãç§ãã¯ãä»æ¥ãæçãããã®çºçæ°)ãè¨ç®ããªããã°ãªãã¾ããããã®ä¾ã§ã¯5åèªã®é£ãªããã¿ã¼ã³ãèãããã¾ããèªå½ã®æ°ãä»®ã«10ä¸ãã£ãã¨ããã¨ãåèªåã®ãã¿ã¼ã³ã¯ãããããã¾ãããã®ãããªè¨å¤§ãªãã¿ã¼ã³ã®ä¸ãããç§ãã¯ãä»æ¥ãæçããã(ä½ãã®åèª)ãã¨ããå¥è·¡çãªé£ãªãã観測ãã¦ã(ä½ãã®åèª)ãã©ããããã®ç¢ºçã§ãã£ã¦ããã®ããã¨ããã®ãã«ã¦ã³ãããªããã°ãªãã¾ãã(ãã¡ãããDBã«ä¿åããã®ãããã©ãã§ãã)ã
ããããã¿ã¼ã³æ°ãè¨å¤§ãããã¨ãã»ã¨ãã©ã®ãã¿ã¼ã³ã¯çºçããªããã¨ããåé¡ãèµ·ããã¾ããã¨ã¯ããããã 観測ãããªãã ãã§ãã£ã¦ãæ¬å½ã«0ã¨ã¯è¨ãã¾ãããããã§ãã»ã¼0ãã®ä»£ããã«ã0.1%ãã¿ãããªå¤ã§ã¹ã ã¼ã¸ã³ã°ãããã次å ãåæ¸ããããã¾ãã
次å åæ¸ã®èãã¨ãã¦ã¯ãä¾ãã°åç´ã«ã¯ãããããã®æ¬¡ã«æ¥ãåèªãäºæ¸¬ãã¦ããããããªãã®ã«ããã¨ããã§ããããå°ãæ£ç¢ºã«è¨ãã°ãn-gramã¢ãã«ã«ãããnãã1ã¨ã2ã¨ããããä½æ¬¡ãªãã®ã«ãã¦ãçµã¿åãããã¿ã¼ã³ãæ¸ããã¾ãããã ããããããã®æ¬¡ã«æ¥ãåèªãäºæ¸¬ã§ããããããç§ãã¯ãä»æ¥ãæçããããã®æ¬¡ã«æ¥ãåèªãäºæ¸¬ã§ããæ¹ãå¬ããã®ã¯æããã§ããããã¡ãã®æ¹ãããæèãæ±²ã¿åããã¯ãã§ãããããã£ããã¬ã¼ããªãã®å ã§ãn-gramã®nãæ¸ãããã¨ã«ãªãã¾ãã
ã¾ããã¹ã ã¼ã¸ã³ã°ã«ã¤ãã¦ã¯言語モデル入門 - Topics Related to Computers and NLPã«ç´¹ä»ããã¦ãã¾ããã¹ã ã¼ã¸ã³ã°ã«ããææ³ãæå¤ã¨perplexityãä½ãã¦ã³ã£ãããã¾ãããKneser-Ney スムージングによる文書生成 - Mi manca qualche giovedi`?ãé¢ç½ãçµæããããã¨æãã¾ãã
ãã¦ããã¥ã¼ã©ã«è¨èªã¢ãã«(ããã¦ãã¥ã¼ã©ã«ãããã使ã£ãè¨èªã¢ãã«)ã¯ä¸ã®åé¡ãã©ã解æ¶ãã¦ããã®ããã¨ãã説æã«å ¥ãã¾ãã
åç´ãªèª¬æã¨ãã¦ã¯ããåèªåããã(åèªã®ç¹å¾´ãååã«ãã表ããããª)ãã¯ãã«åãã¨ãã¦æ±ãã¾ãã
ãããä¾ç¤ºçãªèª¬æã«å¤ãã¦ã¿ã¾ãããç§ãã¯ãä»æ¥ãæçããããã¨ããåã¨å ¨ãåãåã¯çºçãã«ãããã©ãä¼¼ã¦ããåãªãçºçãããããã¨ãããã¨ãå©ç¨ãã¾ããå ·ä½çã«ã¯ã俺ãã¯ãææ¥ãæçããããã¨ããå½¼ãã¯ãæ¨æ¥ãæçããããã¨ããããã¦ã俺ããç§ããå½¼ããä¼¼ããããªèªé ãæèã§ä½¿ããããã¨ãæå¾ ãããã®ã§ãç²å¾ããããããã®åèªã®ç¹å¾´éã¯ä¼¼ã¦ãã¾ããä»ã®åèªãåæ§ã§ããååèªããã ã®æååã¨ãã¦æ±ã£ãã¨ããã³ã³ãã¥ã¼ã¿ã¼ã«ã¯åæååã®é¢ä¿æ§ã¯ãããã¾ããããç¹å¾´éãã¯ãã«ã¯é¡ä¼¼ãã¾ã*2ãçµæã¨ãã¦ããããç¹å¾´éãã¯ãã«åã¨ä¼¼ããããªç¹å¾´éãã¯ãã«åãã¨ãããµãã«ä¸è¬åãããã°ããããåèªåã¨å ¨ãåãåèªåãããã確çã"ã¹ã ã¼ã¸ã³ã°"ããã¾ãã
ã¾ãããã©ã¡ã¼ã¿ã®å¢å ã®ä»æ¹ãæãããã¾ããä¸ã®å³ã¯ãè«æã«è¼ã£ã¦ãããã¥ã¼ã©ã«ãããã®æ§é ã«ã注éãä»ãå ãããã®ã§ãã
ãã¥ã¼ã©ã«è¨èªã¢ãã«ã®ä¸é層ã®åºåã¯ã§è¡¨ãããã®ã§ãããã¯ç¹å¾´éãã¯ãã«ã®å ] ã¨ããã(ç¹å¾´é次å )ãnåãªããã è¡åã§ããç¹å¾´é次å ã¯èªåã§è¨å®ã§ãã¾ã(word2vecã®ã¨ãã¯ããã ã100次å ãããã¨ãã§è¨å®ãã¾ãã)ãçµæã¨ãã¦ãã®ãã©ã¡ã¼ã¿æ°(ãã®å ´åãè¡åã®å¤§ãã)ã¯èªå½æ°ã«ç·å½¢ã«å¢å ããã®ãã©ã¡ã¼ã¿æ°ã¯äºæ¸¬ã«ä½¿ç¨ããåèªåã®æ°()ã«ç·å½¢ã«å¢å ãã¾ããä¸æ¹ã§ãå ã»ã©ã®æ¢åææ³ã§ã¯ãã©ã¡ã¼ã¿ã¯ã«ææ°çã«å¢å ãã¦ãã¾ã£ã¦ãã¾ãããçµæã¨ãã¦ããã¥ã¼ã©ã«ãããã使ã£ãã¢ãã«ã®æ¹ã次å ã®åªããåé¿ã§ãããã¨ããç®æ®µã§ãã
ãªãåèªã®ç´ æ§ãç²å¾ã§ããã®ã
ããã§ããåèªã®ç´ æ§ã¨ã¯ãåèªãã¨ã表ããã¯ãã«ãã§ããword2vecã§ã¯ãããã足ãå¼ããã¦ãã¢ããã¸ã¼ã¨ãé¡ä¼¼åº¦è¨ç®ããã¦ããããã§ããã
ããã¼ããã£ããè¨ãã¨ãã¢ãã«(ãã¥ã¼ã©ã«ããã)ãç¹å¾´é(ç´ æ§)æ½åºããããããã¨è¨ãã¨ããæ°ããã¾ãã
ãã®ã¢ãã«ã¯ãæçµçã«ç²¾åº¦ããã次ã®åèªããäºæ¸¬ã§ããããã«ãåèªã®ç¹å¾´ãååã«ãã表ãããã«å§ç¸®ããç¹å¾´éãã¯ãã«ãç²å¾ãã¾ãããã¨ã³ãããã¼ãä¸ãã¦ããããããªç¹å¾´éãã¨è¨ãã¨ãããããªæ°ããã¾ãã
å ã»ã©ã®ãç§ãã¯ãä»æ¥ãæçããããã®åã®ãã¨ãã«æ»ãã¾ããä¾ãã°ãã(ç¡æå³ãªç¹å¾´é)ã(ç¡æå³ãªç¹å¾´é)ã(ç¡æå³ãªç¹å¾´é)ã(ç¡æå³ãªç¹å¾´é)ã(ç¡æå³ãªç¹å¾´é)ããã¨ããåã®æ¬¡ã®åèªã¯ãå ¨ãäºæ¸¬ã§ãããããªæ°ããã¾ããããã®éã«ååèªãååã«è¡¨ããããªè¯ãç¹å¾´éãç²å¾ã§ããã°ã次ã«æ¥ãåèªãäºæ¸¬ã§ããããã«ãªãã¾ãã
ãã¥ã¼ã©ã«è¨èªã¢ãã«ã®å¦ç¿æã«ã¯ãæ£ããäºæ¸¬ã§ããããã«ãBack propagationã«ãã£ã¦ç¹å¾´éãå¦ç¿ãããæçµçã«è¯ãç¹å¾´é(ç´ æ§)ãå®æãã¾ãã
ãªãåèªã®ç´ æ§ã§è¶³ãç®ï¼å¼ãç®ãã§ããã®ã
ニューラルネットによる単語のベクトル表現の学習 〜 Twitterのデータでword2vecしてみた - 病みつきエンジニアブログã«ã¤ãã¦ã§ãã
çãã«ã¤ãã¦ã¯ãç¥ããªãã®ã§ã誰ãæãã¦ãã ããããã(ã¨ããã®ãèãããã¦ãã®ããã°ãæ¸ããã«çãããã)
ã¡ãªã¿ã«ãã®ãã¥ã¼ã©ã«è¨èªã¢ãã«ã§ããããã§ããã®ããç¥ãã¾ããããã®ã¢ãã«ãã§ããå½æã«ã¯ãã®ãããªè©±ã¯ãªããããªæ°ããã¾ãããåã¯å½æå°å¦çã ã£ãã®ã§ç¥ãã¾ãããã§ãå¤åãTomas Mikolovã«ããRecurrent Neural Network Language Modelãååºãªæ°ããã¾ãããæ´å²ççµç·¯ã¯ãã¾ãç¥ããªãã®ã§ãææããã ããã¨ããã
çµããã«
ãã¥ã¼ã©ã«ãããã¯ç 究ã§ä½¿ã£ããã¨ããªãã®ã§ã誤ããå«ãããããã¾ãããä½ãééããä¸æ£ç¢ºãªè¡¨ç¾ãã¾ãã¯ãããã«ãã表ç¾ãããã¾ãããææãã¦ããã ããã¨å¹¸ãã§ãã
åèæç®
- ニューラルネットによる単語のベクトル表現の学習 〜 Twitterのデータでword2vecしてみた - 病みつきエンジニアブログ
- A Neural Probabilistic Language Model
- ニューラルネットによる単語のベクトル表現の学習 〜 Twitterのデータでword2vecしてみた - 病みつきエンジニアブログ
- これもある意味Deep Learning,Recurrent Neural Network Language Modelの話 [MLAC2013_9日目] — KiyuHub
- Linguistic Regularities in Continuous Space Word Representations
*1:ä¸å¿ãå¦ç¿çµæã¨ãã¦ãéã¿ã®åºæ¹ã§èªé ãè¬ãå»ããããã¨ããªãã¯ãªãã¨æãã¾ãã
*2:æ確ã«ææ³çç¹å¾´ãããã«ç½®ãããããã§ã¯ããã¾ããããç¹å¾´éãã¯ãã«ã®é¡ä¼¼åº¦ã®çµæãè¦ãã¨ãåãåè©ã®ãã®ãä¼¼ã¦ããã¨ãããããã¾ããä¾ãã°ãåæµ·éãã¨ãåå¤å±ããªã©ããã®åä¾ãããã¾ãããå¦ç¿ãã¼ã¿éã足ããªãã¨é¡èã«ãªãã¾ã