perlã§é«éãªé¡ä¼¼æ¤ç´¢ã¨ã³ã¸ã³ãæ§ç¯ã§ããããã«ãã¦ã¿ã
ãã¿ã¾ãããã¿ã¤ãã«ã¯ããé£ãæ°å³ã§ãã
é¡ä¼¼æ¤ç´¢ã¨ã³ã¸ã³ã¨ãããããã®ã¢ã¤ãã¢ç¨åº¦ã®è©±ãªãã§ããã以åããèãã¦ããé¡ä¼¼æ¤ç´¢ã¨ã³ã¸ã³é¢¨ã®ãã¿ããã£ãã®ã§ãã¡ãã£ã¨perlã§æ¸ãã¦ã¿ãã®ã§ãããã¤ãæãã¦ã¿ã¾ãã
Luigi ã https://github.com/miki/Luigi
é¡ä¼¼æ¤ç´¢ãªã®ã§Luigiãã«ã¤ã¼ã¸ã¨ãèªã¿ãã人ã¯ããèªãããã£ã¦ãè¯ãã§ããï¼å·ï¼
èãæ¹ã¨ä»çµã¿
é¡ä¼¼ææ¸ã®æ¤ç´¢ãã¨ãªãã¾ãã¨ä¸è¬çã«ã¯è¶
é«æ¬¡å
ã§ã®ç©ºéã¤ã³ããã¯ã¹ã¨ããå¿
è¦ã«ãªãã¾ãã
æããR-TreeãSR-Treeãªã©ãããããã¨ææ¡ããã¦ãã¾ãããããé«æ¬¡å
ã«ãªãã¨ã次å
ã®åªããã«ããããã©ã¼ãã³ã¹ãåºãªããªãããªãã¦è¨ããã¦ãã¾ããã
ããã§æè¿ã§ã¯LSHã«ä»£è¡¨ããããããªãããé«åº¦ãªãè¿ä¼¼ãåã®ã¤ã³ããã·ã³ã°ææ³ã人æ°ãéãã¦ããããã§ãã
ã§ãä»åèããLuigiãå®ã¯è¿ä¼¼åã®ã¤ã³ããã¯ã¹ã§ãããã ãæç³»è³ã§èããã®ã§ãããç°¡åï¼ã¤ã¡ã¼ã¸ããããã¨æãã¾ãã
ï¼ï¼ï¼ã¾ãæ¤ç´¢å¯¾è±¡ã¨ãªããã¼ã¿ãç¨æãã¾ããææ¸ã©ãã«ã«å¯¾ãã¦ãã®ææ¸ã®ç¹å¾´èªãã¹ã³ã¢ä»ãã§ä¸¦ãã§ãããããªãã¼ã¿ã§ãã
$data = { ææ¸label => { åèª => score, åèª => score, åèª => score, ... }, ææ¸label => { åèª => score, åèª => score, åèª => score, ... }, ææ¸label => { åèª => score, åèª => score, åèª => score, ... }, }
ï¼ï¼ï¼ä¸è¨ã®ãã¼ã¿ã«å¯¾ãã¦ãã¾ãéé層åã¯ã©ã¹ã¿ãªã³ã°ï¼K-Meansãªã©ï¼ãå®æ½ã
ï¼ï¼ï¼åã¯ã©ã¹ã¿ã®éå¿ç¹ã¨ãã®ãã¯ãã«ãããã¯ã¢ããããããï¼åº¦(1)ã®ãããªãã¼ã¿æ§é ãä½ã
ï¼ï¼ï¼ï¼ï¼ï¼ã§ä½ã£ãéå¿ç¹ã®ãã¼ã¿ã«å¯¾ãã¦æ¹ãã¦ã¯ã©ã¹ã¿ãªã³ã°ãå®æ½ããï¼ï¼ï¼ã«æ»ã
æçµçã«å¦çãã¹ããã¼ãããªããªãã¾ã§ãããç¹°ãè¿ãã¾ãã
ããã¨åãã¼ãããæå³ãã¨ãã¦ã¾ã¨ãããããã©ã³ã¹ã®ã¨ããæ¨æ§é ãã§ããããã¾ãã
æ¤ç´¢æã«ã¯æ¤ç´¢ããããã¼ã¯ã¼ãããã¯ãã«åããä¸ã§ããã®ããªã¼ã®Rootãã¼ãããæãã¦ããã¾ãã
åãã¼ãã§ã¯èªåã®åãã¼ãã®éå¿ãã¯ãã«ã¨ã¯ã¨ãªã¼ãã¯ãã«ã®é¡ä¼¼åº¦ï¼ãããã¯è·é¢ï¼ãè¨ç®ããé¡ä¼¼åº¦ãé«ãã£ãåãã¼ããé¸ã°ããããã«ãã®åä¾ï¼å«ï¼ãã¼ãã¸ã¨ããã¦ããã¾ããæå¾ã«èï¼ãªã¼ãï¼ã«ãã©ãçããããªã·ãã¤ã
ã¡ãã£ã¨èª¿ã¹ã¦ã¿ãã¨ããopencvã®ããã¥ã¢ã«ãµã¤ããããã§ãHierarchical K-Means Treeï¼é層åKMeansããªã¼ï¼ããªãã¦è¨èãåºã¦ãããããªã®ã§ããã£ã¦ããã¨ã¯åããªã®ããããã¾ããã
å®é¨çµæ
ç°¡æãªå®é¨çµæã§ããæQAãµã¤ãã®ãã¼ã¿ãï¼ä¸ä»¶ã»ã©ç¨æãã¦ã¤ã³ããã¯ã¹ãä½ãã¾ããã
ããã«å¯¾ãã¦ãã¤ã³ãã«ã¨ã³ã¶ããä¸å«ãã確å®ç³åãããã¨ã¿èªåè»ãã¨ä½ã®è絡ããªããé©å½ã«ãã¼ã¯ã¼ããæãã¦ã¿ã¾ããã
ãã¼ã¿ãï¼ä¸ä»¶ã¨å°ãªãã®ã§ãå ¥åããè¨èã«å¤§ãã¦ã®ãããå ·åãã¡ãã£ã¨ã¼ããããã¦ã¾ãããããã§ãé¡ä¼¼ææ¸æ¤ç´¢ã«ã¯ãªã£ã¦ãã¾ãã
ãªãåçµæã¯å·¦ã®æ°å¤ãé¡ä¼¼åº¦ãå³ã®æååãQAã®ææ¸ã©ãã«ã§ãã
ä¸é¨ã«ã¯[keyword expand elapsed]ã¨[similarity search elapsed]ã¨ããé
ç®ãããã¾ãããããã¯çµéç§æ°ã§ãã
keyword expand ã¯å
¥åããããã¼ã¯ã¼ããYahooAPIãå©ãã¦ãªã³ã¶ãã©ã¤ã§ç¹å¾´ãã¯ãã«ã«å¤æããå¦çã§ãããªã®ã§ã©ããã¦ãä½éã§ãã
similarity search ã®é¨åãå®éã«Luigiãã¤ã³ããã¯ã¹ããªã¼ããã©ã£ã¦æ¤ç´¢ããå¦çã®ç§æ°ã¨ãªã£ã¦ãã¾ãã
Input keyword: ã¤ã³ãã«ã¨ã³ã¶
0.581558925433416 ã¤ã³ãã«ã¨ã³ã¶ã®ææçµè·¯ã«ã¤ã㦠- çç©å¦ -
0.506834581525096 触ããç©ã§ã¤ã³ãã«ã¨ã³ã¶ã«ææããå¯è½æ§ã«ã¤ã㦠- ç æ° -
0.416235552701384 ã¤ã³ãã«ã¨ã³ã¶ãå®æ²»ã - ãã«ã¹ã±ã¢(å¥åº·ç®¡ç) -
0.257363443533322 ã¤ã³ãã«ã¨ã³ã¶ã«ããé¶ã®æ®ºå¦å - èªç¶ç°å¢åé¡ -
0.183202534089901 æ°åã¤ã³ãã«ã¨ã³ã¶ã®ææè 人æ°ã«ã¤ã㦠- ç æ° -
0.107096136233281 ææããã®ã§ããããã - ã¦ã£ã«ã¹å¯¾ç -
0.107073400034487 ã©ããªçç¶ã§ã¦ã¤ã«ã¹ã«æ±æãããã¨å¤æã§ããã®ã§ããï¼ - ã¦ã£ã«ã¹å¯¾ç -
0.10196785878913 èªè¦çç¶ãªãã§ææã¯ããï¼ - ã¦ã£ã«ã¹å¯¾ç -
0.100320950732344 ã¦ã¤ã«ã¹ã®ææäºé² - ã¦ã£ã«ã¹å¯¾ç -
- -
[keyword expand elapsed ] 1.24062
[similarity search elapsed] 0.007747
- -
Input keyword: ä¸å«
0.928112763412724 ä¸å«ã®ã¯ãã¾ãï¼ - ææç¸è« -
0.74892012063956 ä¸å«ããã女æ§ãç解ã§ããã®ãï¼ - 夫婦ã»å®¶æ -
0.723756525050272 é½åã®ããå¥³ï¼ - ææç¸è« -
0.640222414512117 ä¸å« æ °è¬æ - 夫婦ã»å®¶æ -
0.581905311603478 æ¢å©è ã®äººã¨ä»ãåã£ã¦ã¾ãã»ã»ã» - ææç¸è« -
0.519328972624065 ã¯ããã¦ã®æºå¸¯ãã§ãã¯ï¼ç·æ§ã®æ¹åçãé¡ããã¾ãï¼ - ææç¸è« -
0.469573317060705 夫ãæªãï¼å¦»ãæªãï¼ãï¼ä¸å«ã®äºã»ã»é·æã§ãï¼ - ææç¸è« -
0.437586348780523 æ¢å©è ã§ããæããã¦ãã¾ãã¾ããã»ã»ã» - ææç¸è« -
0.406506723588201 ãã®ç·æ§ã®å¿çã¯ï¼ - ææç¸è« -
0.40090569692471 æåæ§ããªãï¼äººã®å¿ãããããªãï¼äººã¯ç æ°ãªã®ããæ§æ ¼ãªã®ã§ããããï¼... - 夫婦ã»å®¶æ -
0.397803793924256 妻åãã¡ã®å½¼ã«ç§ã¸ã®ææ ã¯ããã®ã»ã»ã»ï¼ - ææç¸è« -
0.36090868212552 å³ã ããè·å ´ã®å¥³æ§ã«ã®ã£ãã³ã¨è¨ããããã(é·æã§ã) - ææç¸è« -
0.357805881567324 ãéã®ããã¨è¨ãã妻ãä»äººã¨ãã¡æ®ã - 夫婦ã»å®¶æ -
0.330370489228686 ä¸å«ã®ææã«ã¤ã㦠- ææç¸è« -
0.295080022135181 妻åã¯å¤«ã®ä¸å« - ãã®ä»(ã©ã¤ã) -
0.268932663691503 å¥ããä¸å«ç¸æãå¦å¨ ããã - ææç¸è« -
0.260702721742602 åä¾ã®çºã«é¢å©ããªãã¨ããé¸æ - ææç¸è« -
0.248174912998768 奥ããã®æãè¾¼ã¿ã»ã»ã» - æ³å¾ -
0.215141243969756 èªåã®æµ®æ°OKã®å¥³æ§ã¸è³ªå - ææç¸è« -
0.205917241884543 é¢å©ããããã®æºå - 夫婦ã»å®¶æ -
0.202873460208085 æ½®æï¼ï¼ - ææç¸è« -
0.143639484514496 10å¹´åã®å½¼æ°ãã¾ã好ãã«ãªã£ã¦ãã¾ãã¾ãã - 夫婦ã»å®¶æ -
0.136331768702082 帰å - æ³å¾ -
0.123197055943046 é¢å©å¾ããåå± ãããã親ãåä¾ã®å¦æ ¡ã«ã°ããªãæ§ã«ããæ¹æ³ - 夫婦ã»å®¶æ -
0.117817802306074 éã³ï¼æµ®æ°ï¼ç¸æã«è²·ãã¾ããï¼ - ææç¸è« -
- -
[keyword expand elapsed ] 0.676104
[similarity search elapsed] 0.011468
- -
Input keyword: 確å®ç³å
0.448847725667931 ã¢ãã£ãªã¨ã¤ãå ±é ¬ã®ç¢ºå®ç³å - ç¨é -
0.331799631447844 ç¨åç½²ã®å±åºã«ã¤ã㦠- èµ·æ¥ -
0.301505276386864 æ¶é¤å®¶æã«ã¤ã㦠- ç¨é -
0.251311917852604 å½æ°å¥åº·ä¿éºã¨ç¢ºå®ç³å - å¥åº·ä¿éº -
0.231278394261396 éä¸ããå å ¥ããæ¶é¤æ§é¤ã¯ã»ã»ã»ï¼ - ç¨é -
0.21445531184007 æ¶è²»ç¨ç³åãï¼æ¥é ããã5ï¼ ãå ç®ããã¾ãã - ç¨é -
0.209033457089336 å¹´éçæ´»è ã®æ ªåå¼ã§ã®å©ç - ç¨é -
0.208093399571145 ä½ãå¹´åã§ãéè²ç³åã«ããã¡ãªããã£ã¦ããã¾ããï¼ - ç¨é -
0.201014863628649 å¹´éã¨æ§é¤ - å¹´é -
0.118114070134288 æå¾ã38ä¸å以ä¸ã®å ´åãé å¶è ç¹å¥æ§é¤ç³åæ¸ã«è¨è¼ããå¿ è¦ã¯ï¼ - ç¨é -
- -
[keyword expand elapsed ] 0.509284
[similarity search elapsed] 0.006793
- -
Input keyword: ãã¨ã¿èªåè»
0.33857076472299 åè³¼å ¥ - å½ç£è» -
0.290008657323579 ãã¨ã¿ã®ã¤ããµã ã«ä¹ã£ã¦ããæ¹ã¨è»é«ãè½ã¨ãã¦ããæ¹ã¸ã - å½ç£è» -
0.255260034426658 ãã¨ã¿ã®ããã½ãè³¼å ¥ãããã¨æã£ã¦ã¾ã - å½ç£è» -
0.180490218245698 ãã¨ã¿ã§ã¹ã©ã¤ããã¢ã®ãããå§ããã¡ããªã¼ã«ã¼ãæãã¦ä¸ããã - å½ç£è» -
0.173544528124501 ãã¨ã¿ã®å¢ç£ã§ã»ã»ã» - ãã¥ã¼ã¹ã»æäºåé¡ -
0.158633301729542 ãããã³ã®ã©ã³ãã³ã°ã³ã¹ã - å½ç£è» -
0.123424426531673 è»ã«è©³ããæ¹ã«ãèããã¾ãã - å½ç£è» -
0.11085629266251 è»ã®è»ç¨®ã«è©³ãããªãããï¼ - ãã®ä»(è») -
0.100809731019605 åè»ç¨®ã§ãã£ã¼ã¼ã«ããã¬ã½ãªã³ä¹ãæããæå©ãªå£²å´ã¯ï¼ - å½ç£è» -
- -
[keyword expand elapsed ] 0.843112
[similarity search elapsed] 0.006991
- -
å®éã«åããã¦ã¿ãã¨Luigiã«ããé¡ä¼¼ææ¸æ¤ç´¢é¨ã§ã¯0.006ç§åå¾ã§çããè¿ãã¦ããã®ããããã¾ãã
ãã®ãµã³ãã«ã§ã¯ï¼ä¸ä»¶ã®ãã¼ã¿ã対象ã«ãã¾ããããï¼ï¼ä¸ä»¶ç¨åº¦ã«å¢ããã¦ã¿ã¦ã0.01ã0.04ç§ç¨åº¦ã§ããã
課é¡
課é¡ã¯ããããããã¾ãã
ã¾ãã¯Luigiã¨ããååãããµã¤ã§ããTree::Hierarchical::KMeans ã ã¨é·éããã®ã§é©å½ã«ã¤ãã¾ãããããã¿ãã¿éãã¦ãªãã ãã¡ãã£ã¨ããºã«ã·ã¤ããã
ãã¨å®é¨ã³ã¼ããªã®ã§ãï¼ã¤ããã¹ãæ¸ãã¦ãªãããã¹ã¯ãªããã®æ§æãæ¸ããªãã風ã§ããå®é¨çãªã¢ããªã®ã§å®æ度ã¯ããªãä½ãã§ãã
ã¤ã³ããã¯ã¹ã®æ´æ°ãã§ãã¾ãããä»ã®ã¨ããæ´æ°ããã«ã¯ä½ãç´ããããªãã§ãã
ããã¨ãã
ãã£ã¨ãã¡ã¢ãªã«å ¨é¨ã®ãã¦ãã®ã§éãã§ããperlã§0.006ç§ã¨ãã£ã¦ããªãéãã¨æãã¾ããC++ã§æ¸ãç´ãããããã«ãããããã
ãã¨ç²¾åº¦ãããããããã
ãã¼ã¹ã¨ãªãã¯ã©ã¹ã¿ãªã³ã°ãã¼ã«ï¼Bayonã使ããã¦ããã£ã¦ã¾ãï¼ãåªç§ã ãããã¨ããã®ãããã¾ãããå®ã¯ç¬èªã«å·¥å¤«ãã¦ãããã¤ã³ããããã¾ãã
ä»åã®ãããªãã¯ã©ã¹ã¿ãªã³ã°çµæã®ç©ã¿ä¸ãæ¹å¼ããªã¼ãã«å¯¾ãã¦ãåç´ã«ãã¼ãããã 辿ãã ãã®æ¤ç´¢ãè¡ãã¨ãé¡ä¼¼åº¦ã®æ¸¬å®ã«ããã¾ããå¤ããªãã¾ãã
ããã¯åãã¼ãã§ã®æ¤ç´¢å¯¾è±¡ããéå¿ç¹ãã§ãããåã¯ã©ã¹ã¿ã®åæ£å
·åãªã©ã¯èæ
®ããã¦ããªãã®ã§ãçµæ§ãªç¢ºçã§èª¤ã£ããã¼ãã¸ã¨å°ããã¦ãã¾ãã¾ãã
ãããRootã«è¿ãã¨ããã§ééãã¨å
¨ç¶éãã¯ã©ã¹ã¿ã¸ã¨å°ããã¦ãã¾ãã¨ããè´å½çãªç½ ãå¾
ã£ã¦ãã¾ãã
ããã§Luigiã§ã¯æãé¡ä¼¼ãã¦ãããã¼ãæ°åã並åãã¦ãã©ããããªä»çµã¿ãã¨ã£ã¦ãã¾ãã
ãã®ä¸ã§çãæ®ã£ããã¼ãã®åãã¼ããã¡ã«å¯¾ãã¦ããï¼ã¤ã§ã¯ãªãè¤æ°ã®åè£ãæã£ã¦è¾¿ããããªèãæ¹ã§ãã
試ãã¦ã¿ãã¨ãããï¼ã¤ã ãã対象ã«ããã¨ï¼ãï¼å²åå¾ã®ç²¾åº¦ããåºã¾ããããåæã«ï¼ãï¼åãããã辿ãããã«ããã ãã§ã誤å¤æã¯ã»ã¼ãªããªãããã§ãã
ã¨ããããã§ãèå³ã®ãã人ã¯githubããè½ã¨ãã¦ä½¿ã£ã¦ã¿ã¦ãã ããã