ãã®èšäºã¯ Safie Engineers' Blog! Advent Calendar 14æ¥ç®ã®èšäºã§ã ã¯ããã« ã¯ãããŸããŠããµãŒããŒãµã€ããšã³ãžãã¢ã®å€§çºã§ãã2024å¹Žãæ©ãã幎æ«ã«ãªããŸããã幎æ«ãšããããšã§ä»å¹Žã®æè¡ãã¬ã³ããæ¯ãè¿ããããªã£ãŠããã®ã§ãQiitaã®ããã°èšäºïŒäžæ¬ã®ããŒã¿ãåæããŠã¿ãŸããã ãã®èšäºã§ã¯ã2024幎ã¯ã©ã®ãããªæè¡ãç±ãã£ãããåæããçµæãšãã®åææ¹æ³ã«ã€ããŠå
±æããããšæããŸãã ã¯ããã« Qiita APIã䜿ã£ãããŒã¿åéãšåæ ããŒã¿åéã®æ¹æ³ ããŒã¿åæã®æ¹æ³ ããŸãïŒãã€ã°ã©ã ïŒ ãããã« Qiita APIã䜿ã£ãããŒã¿åéãšåæ ä»åã¯Qiitaã®èšäºãåæããã®ã§ãããQiitaãšãããµãŒãã¹ãéžãã çç±ã¯ãã®ç¥å床ãšããŒã¿åéã®å®¹æãã§ãã ãŸãç¥å床ã§ãããQiitaã¯æè¡ã«é¢ããæ
å ±ãå
±æãããµãŒãã¹ãšããŠæåãªæ¹ã ãšæããŸãããã®äŒå¡ã¯120äžãè¶
ãããããã§ããæ¥æ¬ã®ITãšã³ãžãã¢ã144äžäººãšããããšãèãããšãå€ãã®ãšã³ãžãã¢ããªãããã®åœ¢ã§QiitaãšãããµãŒãã¹ã䜿ã£ãŠããããšã«ãªããŸãã corp.qiita.com ãŸããããŒã¿åéã®å®¹æãã§ãããQiitaã¯å€éšã®éçºè
åãã« API ãå
¬éããŠããŸããããã䜿ãããšã§æŽåœ¢ããã圢ã§ã®ããŒã¿ãç°¡åã«åéããããšãã§ããŸããQiitaã¯åºæ¬çã«æè¡èšäºãæçš¿ãããŸãã®ã§ãæè¡ä»¥å€ã®èšäºã®ããŒã¿ãæ··ãããšããããšã¯ãªããäžã®äžã®ãšã³ãžãã¢ãã©ãããæè¡ã䜿ã£ãŠããã®ããç¥ãã«ã¯é©ãããµãŒãã¹ã§ãã ããŒã¿åéã®æ¹æ³ Qiita API 㯠èšäºã®åéãæçš¿ãªã©å€ãã®APIãçšæãããŠããŸããä»åããŒã¿ãåéããã®ã«äœ¿ã£ãAPIã¯èšäºã®äžèЧãååŸããAPI GET v2/api/items ã§ãããã®API ãçšãããšãææ°ã®èšäºããé çªã«èšäºã®å
容ãååŸããããšãã§ããŸããAPIã®ã¬ã¹ãã³ã¹ã«ã¯ãã¿ã€ãã«ã»å
容ã»ã¿ã°ã»ãããã®æ°ãªã©ã®ããŒã¿ãå«ãŸããŸãã ãã©ã¡ãŒã¿ãšããŠpage(ããŒãžçªå·)ãšper_page(ããŒãžãããã®èšäºæ°)ãæå®ããããšãå¯èœã§ãã äŸãã°ã以äžã®ãããªURLããã©ãŠã¶ã«æã¡èŸŒããšææ°ã®èšäºã®ããŒã¿20ä»¶ãååŸã§ããŸããïŒå¶éã¯ãããŸãããç¹ã«èªèšŒããªããŠãããŒã¿ãåŸãããŸãïŒ https://qiita.com/api/v2/items?page=1&per_page=20 ããŒãžãããã®èšäºæ°ïŒper_pageïŒã100ã«ããŠãpage=1 ããpage=100 ãŸã§ã®ããŒã¿ãåãããšã§1äžæ¬ã®èšäºãååŸããŸããã2024/12/1ã«èšäºãååŸããã®ã§ææ°ã®ãã®ã¯12/1ã§ããæãå€ããã®ã¯2024/10/28ã§ããããšããããšã§ãçŽïŒã¶æåã®èšäºïŒäžæ¬ãåéããããšãã§ããŸããã ããŒã¿åæã®æ¹æ³ ã¿ã°ã䜿ã£ãåæ Qiitaã¯èšäºäœæã®éã«ãèšäºã«å¯ŸããŠã¿ã°ãä»äžããããšãã§ããŸãããã®ã¿ã°ã®äœ¿çšé »åºŠãæ±ããããšã§ä»ãã䜿ãããŠããæè¡ããããããã§ãã çµæã¯ä»¥äžã®ããã«ãªããŸããã ïŒã¿ã°ã®é »åºŠTOPïŒïŒïŒ é äœ ã¿ã° é »åºŠ 1 Python 1033 2 åå¿è
826 3 AWS 652 4 JavaScript 423 5 AI 297 6 React 271 7 Ruby 264 8 TypeScript 256 9 Docker 226 10 Rails 206 ïŒäœã¯Pythonãšããããšã§ãä»ãå§åããŠããŸããã5äœã«ãAIããã©ã³ã¯ã€ã³ããŠããããšããAIç³»ã®æèã§ããæžãããŠãããã§ããã ïŒäœããåå¿è
ãã§ãããããã¯æè¡ãã¬ã³ãã調ã¹ããšããæå³ããã¯å€ããããŒã¿ã§ãããQiitaã¯åå¿è
åãã«æžãããèšäºãå€ããšããããšãããããŸããä»åéããããŒã¿ã¯Qiitaã®ã¿ãªã®ã§ãåå¿è
åãã®èšäºãå€ããšãã£ãããŒã¿ã®åãã¯ããããã§ãã ïŒäœã®Pythonãä»ãå§åãããšããã®ãåå¿è
åãã®èšäºãå€ããããããããŸãããã èšäºã®ã¿ã€ãã«ã䜿ã£ãåæ æ¬¡ã«èšäºã®ã¿ã€ãã«ã䜿ã£ãåæãè¡ããŸãããåææ¹æ³ã¯ã¿ã°ã®å Žåãšã»ãšãã©åãã§ãã¿ã€ãã«ã®äžã§ãã䜿ãããåèªãæ±ããŸããããã ãã¿ã€ãã«ã¯ã¿ã°ã®ããã«åèªåäœã§åããããŠããããã§ã¯ãªãã®ã§ããŸãã¿ã€ãã«ãåèªã«åå²ããå¿
èŠããããŸãã ãã®åŠçã¯ãåèªã®åãã¡æžãããšåŒã°ããŸããããã«ãã§ãããããŸãããªã©ä»åã®åæã«ã¯äžèŠãªã¯ãŒããé€ãããã§ããã ãã®ãããªåŠçã«ã¯ã圢æ
çŽ è§£æããŒã«ã䟿å©ã§ãã圢æ
çŽ è§£æã¯èªç¶èšèªåŠçïŒNLPïŒã®äžã€ã§ããæãæå°ã®åäœïŒåœ¢æ
çŽ ïŒã«åè§£ããåè§£ãã圢æ
çŽ ã«å¯ŸããŠåè©ãªã©ã®æ
å ±ãä»äžããäœæ¥ã®ããšããããŸãã圢æ
çŽ è§£æããŒã«ã«ã¯æ§ã
ãããŸãããä»åã¯æè»œã«äœ¿ããJanomeãšããããŒã«ã䜿ããŸããã Janomeã§ã¯æ°è¡ã®ã³ãŒãã§åœ¢æ
çŽ è§£æãã§ããŸãã 以äžã®ã³ãŒãã§ãç§ã¯æ±äº¬ã§åããšã³ãžãã¢ã§ããããšããæã圢æ
çŽ è§£æããŠã¿ãŸããã from janome.tokenizer import Tokenizer # Janomeã®åœ¢æ
çŽ è§£æåšãåæå tokenizer = Tokenizer() title= "ç§ã¯æ±äº¬ã§åããšã³ãžãã¢ã§ãã" # æãããŒã¯ã³ïŒåœ¢æ
çŽ ïŒã«åå²ããŠãªã¹ãã«ãã tokens = tokenizer.tokenize(title) for token in tokens: print (token) ã³ãŒããå®è¡ãããšä»¥äžã®ãããªåºåãåŸãããŸãã ç§ åè©,代åè©,äžè¬,*,*,*,ç§,ã¯ã¿ã·,ã¯ã¿ã· 㯠å©è©,ä¿å©è©,*,*,*,*,ã¯,ã,㯠æ±äº¬ åè©,åºæåè©,å°å,äžè¬,*,*,æ±äº¬,ããŠãã§ãŠ,ããŒãã§ãŒ ã§ å©è©,æ Œå©è©,äžè¬,*,*,*,ã§,ã,ã åã åè©,èªç«,*,*,äºæ®µã»ã«è¡ã€é³äŸ¿,åºæ¬åœ¢,åã,ãã¿ã©ã¯,ãã¿ã©ã¯ ãšã³ãžã㢠åè©,äžè¬,*,*,*,*,ãšã³ãžãã¢,ãšã³ãžãã¢,ãšã³ãžã㢠ã§ã å©åè©,*,*,*,ç¹æ®ã»ãã¹,åºæ¬åœ¢,ã§ã,ãã¹,ãã¹ ã èšå·,å¥ç¹,*,*,*,*,ã,ã,ã ãç§ã¯æ±äº¬ã§åããšã³ãžãã¢ã§ããããšããæãå°ããªåäœã«åå²ãããŠããŸãããããã«åè©ãèªã¿æ¹ã®æ
å ±ãªã©ãä»äžãããŠããŸãã ä»åã¯åœ¢æ
çŽ è§£æãèšäºã®ã¿ã€ãã«ã«å¯ŸããŠè¡ãããã®çµæããåèªã®é »åºŠãæ±ããŸããã ãŸããåè©ã®ã¿ãåãåºããŠé »åºŠã調ã¹ãŠã¿ãçµæã以äžãšãªããŸãã ïŒåè©ã®é »åºŠTOPïŒïŒïŒ é äœ åèª é »åºŠ 1 æ¹æ³ 746 2 AWS 408 3 AI 401 4 äœæ 381 5 Python 378 6 ç°å¢ 341 7 å 308 8 éçº 307 9 ããŒã¿ 276 10 ãã¡ã€ã« 264 ã¿ã°ãšã¯ã¡ãã£ãšéã£ãããŒã¿ãåºãŠããŸãããäžçªå€ãã®ããæ¹æ³ãã§ãããïŒäœãšåãããéããŸãã å
šäœçã«ã¿ãŠæè¡çšèªããäžè¬çãªçšèªãå€ãåºãŠããŠããŸããŸãããããã§ãåãåºãçšèªãåºæåè©ã«çµã£ãŠã¿ãŸããã ïŒåºæåè©ã®é »åºŠTOPïŒïŒïŒ é äœ åèª é »åºŠ 1 AWS 336 2 AI 230 3 Python 205 4 API 136 5 C 124 6 React 108 7 Google 103 8 Rails 100 9 GitHub 99 10 Cloud 97 æå³ããæãã®ããŒã¿ãåããŸãããAWSãäžäœã§ãã CãïŒäœã«ã©ã³ã¯ã€ã³ããŠããã®ã¯å°ãé©ãã§ãã 7äœãGoogleã§10äœãCloudãªã®ã§ãããã¯Goole Cloud ~ ãå€ãã£ãã®ãããããŸããã è§£æããŒã«ã®åè©æ
å ±ã®æºã ããã§AWSã®é »åºŠãèŠãŠããŠæ°ã¥ããã®ã§ãããã¡ãã£ãšããããã§ããã äžã®ãåè©ãã§åãåºããæã®AWSã®é »åºŠã¯408ã§ããããåºæåè©ãã§åãåºããå Žåã¯336ãšé »åºŠãå°ãããªã£ãŠããŸããŸãããã©ãããããšã§ããããã åãAWSãšããåèªã§ããåºæåè©ãã«åé¡ãããããšãããã°ãå¥ã®åè©ã«åé¡ããããªã©è§£æçµæã«æºããããã®ãããããŸããã ããã§åè©ã®è§£æçµæã®æºãã«ã€ããŠèª¿ã¹ãããã«ããAWSã«ã€ããŠåŠãã ããšããAWSã䜿ã£ãã€ã³ãã©æ§ç¯ããšããïŒã€ã®æã§AWSã®åè©ã«å·®åããããJanomeã䜿ã£ãŠæ€èšŒããŠã¿ãŸããã ãAWSã«ã€ããŠåŠãã ããšãã®å Žå AWS åè©,åºæåè©,çµç¹,*,*,*,AWS,*,* <- åºæåè©ãšããŠåé¡ ã«ã€ã㊠å©è©,æ Œå©è©,é£èª,*,*,*,ã«ã€ããŠ,ããã€ã,ããã€ã åŠã åè©,èªç«,*,*,äºæ®µã»ãè¡,é£çšã¿æ¥ç¶,åŠã¶,ããã³,ããã³ ã§ å©è©,æ¥ç¶å©è©,*,*,*,*,ã§,ã,ã ããš åè©,éèªç«,äžè¬,*,*,*,ããš,ã³ã,ã³ã AWSãåºæåè©ã§åé¡ãããŠããŸãã ãAWSã䜿ã£ãã€ã³ãã©æ§ç¯ã AWS åè©,äžè¬,*,*,*,*,AWS,*,* <- äžè¬åè©ãšããŠåé¡ãããŠãã ã å©è©,æ Œå©è©,äžè¬,*,*,*,ã,ã²,㲠䜿㣠åè©,èªç«,*,*,äºæ®µã»ã¯è¡ä¿é³äŸ¿,é£çšã¿æ¥ç¶,䜿ã,ãã«ã,ãã«ã ã å©åè©,*,*,*,ç¹æ®ã»ã¿,åºæ¬åœ¢,ã,ã¿,ã¿ ã€ã³ãã© åè©,äžè¬,*,*,*,*,ã€ã³ãã©,ã€ã³ãã©,ã€ã³ãã© æ§ç¯ åè©,ãµå€æ¥ç¶,*,*,*,*,æ§ç¯,ã³ãŠãã¯,ã³ãŒã㯠AWSãäžè¬åè©ã§åé¡ãããŠããŸããã åãAWSã§ãç°ãªãåé¡ã®ãããããããŠããŸããã äžè¬ã«åœ¢æ
çŽ è§£æã§ã¯èŸæžã®ããŒã¿ãããšã«åè©ãç¹å®ããã®ã§ãAWSãšããåèªã¯èŸæžã«èŒã£ãŠããªãã£ãã®ãããããŸãããã èŸæžã«èŒã£ãŠããªãåèªã¯æªç¥èªãšåŒã°ããè§£æããŒã«ãåšå²ã®åèªãªã©ããäºæž¬ããŠåè©ãæ±ããŸãããã®çµæã¯åšå²ã®åèªã«äŸåããã®ã§çµæã«æºããçããããšããããŸãã çµæã®æºãã«å¯Ÿãã解決çã¯åœ¢æ
çŽ è§£æããŒã«ã«æèŒãããŠããèŸæžã«AWSãšããåèªã远å ããã°æºããªãåé¡å¯èœã§ãããä»åã¯å€§éæã«åŸåãã€ãããã°è¯ãã®ã§ãããŸã§ã¯ããŠããŸããã ããŸãïŒãã€ã°ã©ã ïŒ æåŸã«ãã€ã°ã©ã ã«ã€ããŠãåºããŠã¿ãŸããã *1 ãã€ã°ã©ã ãšã¯ïŒåèªãé£ç¶ããæååã§ããäžè¬ã«NåèªãŸãã¯Næåãé£ç¶ããæååãn-gramãšèšããŸãã ãªãåºããŠã¿ããã£ãããšãããšãå
ã»ã©åºããåè©ã§ã®é »åºŠåæã®çµæãïŒïŒäœãŸã§ãã衚ã«ã¯åºããŠããªãã£ãã®ã§ãããå®ã¯ïŒïŒäœããæ§ç¯ããšããåèªã§ããã ïŒäœããç°å¢ããªã®ã§ããç°å¢æ§ç¯ããšããèšèãåå²ãããã®ã ãããšæããããã確ãããŠã¿ãããªããŸããã ïŒãã€ã°ã©ã ã®é »åºŠTOPïŒïŒïŒ é äœ ãã€ã°ã©ã é »åºŠ 1 (ç°å¢, æ§ç¯) 131 2 (åå¿è
, åã) 80 3 (Next, js) 79 4 (çæ, AI) 72 5 (察åŠ, æ³) 58 6 (æå, å) 48 7 (Raspberry, Pi) 39 8 (ilasm, stack) 39 9 (stack, machine) 39 10 (解決, æ¹æ³) 38 ãã£ã±ããç°å¢æ§ç¯ã§ãããç°å¢æ§ç¯ããããã«å€§å€ã§ãããã çæAIã¯ãã¬ã³ãã£ã§ããããã®ããã°ã§èª¿æ»ããããã®ã³ãŒãã®å€§éšåãçæAIã§äœæããŸããã Raspberry Pi ã¯ããèãã®ã§ããŒããŠã§ã¢ãžã®å
¥éãšããŠè§Šã£ãŠã¿ãããšæã£ãŠããã®ã§ããããŸã è§ŠããããŠãŸãããæ¥å¹Žããã¯è§Šã£ãŠã¿ããã§ãã çæAIãRaspberry Pi ãªã©ã®ããã«ãïŒåèªã®é »åºŠã§ã¯TOPã«åºãŠããªãã£ãåèªãåºãŠããã®ã§ãã€ã°ã©ã ãæçšãªæ
å ±ã§ããã ãããã« ä»åã®èšäºã§ã¯ãQiitaïŒäžæ¬ã®èšäºã䜿ã£ãŠæè¡ã®ãã¬ã³ãã調æ»ããŠã¿ãŸãããæ®æ®µãä»äºã§ã¯ããŒã¿ãšåãåãããšã¯ãªãã®ã§æ°é®®ãªæ°æã¡ã«ãªããŸããã çµæãšããŠã¯ãAWSãPythonãšãã£ãæè¡ãïŒQiitaã³ãã¥ããã£ã§ã¯ïŒäººæ°ã ãšããããšãããããŸããã åææ¹æ³ã¯ã¿ã°ãåèªã®é »åºŠãæ±ãããšããåçŽãªæ¹æ³ã§ããããããã§ã倧éæãªåŸåã¯èŠããããšæããŸãããã倧éã®ããã¹ãããŒã¿ã«åºäŒãæ©äŒãããã°ã åèªã®åºçŸé »åºŠãçºããŠã¿ãŠã¯ãããã§ããããã *1 : åè©ã«çµã£ãŠãããé£ç¶ããïŒåèªãåºããŠããã®ã§æ£ç¢ºã«ã¯ãã€ã°ã©ã ã§ã¯ãªã