æ¥æ¬èªãåèªã§èªèãã Python MeCabã§åœ¢æ çŽ è§£æããŠã¿ãã
ããã«ã¡ã¯Rcatã§ãã
ä»åã¯åœ¢æ
çŽ è§£æãã£ãŠãããŸãã
ç§ããã®ååã¯ä»ååããŠç¥ããŸãããäœãããã£ãŠãããšããããããšã§ãã

äžèŠããããã仿§ã ãããšæããããããŸãããããªãã§ããã«ã¯ãªãã¯ãããã®æåã ããããªãããã®åšèŸºãã¡ããã©ããéžæãããŠãããã§ããããïŒ
ä»åã¯ãã®éšåã«çåãæã£ãŠèªäœã®ããŒã«ã«çãããªããèããŠã¿ãããšã«ããŸããã
ã¯ããã«
å©çšèŠçŽ
æ å ±ãäœåã®æŽ»çšæã¯äºåã«å©çšèŠçŽãã確èªãã ããã
ã³ã¡ã³ãã«ã€ããŠ
å©çšèŠçŽã®ã¬ã€ãã©ã€ã³ã確èªã®äžã³ã¡ã³ãããŠãã ãã
æŠèŠ
ãšããããã§å°ã£ãæã®ãã£ããGPTã§ãã
ãšãããããããªæãã§èããŠã¿ãŸãããäœã ããã€ã£ãŠèãæ¹ã§ããã
ãããªå¥Žã«ã芪åã«åœ¢æ
çŽ è§£æãšããæ¹æ³ãæããŠãããŸããã

MeCabã©ã€ãã©ãªã§åœ¢æ çŽ è§£æ(åèªæœåº)
ãšããããã§ãããããã¯ãããªãã©ã€ãã©ãªã䜿ããªããã©ãããåäœãããã®ãèŠãŠããããšæããŸãã
ã€ã³ã¹ããŒã«
ãã®ã©ã€ãã©ãªã¯2éšæ§æã«åãããŠããã®ã§ã2ã€ã®ã€ã³ã¹ããŒã«ã³ãã³ããå¿
èŠã§ãã
1ã€ç®ãã©ã€ãã©ãªæ¬äœã§2ã€ç®ãèŸæžã®ããŒã¿ã«ãªããŸããæ¥æ¬èªã®åèªãèªèããã®ã«å¿
èŠãšããããšã§ããã
pip install mecab-python3
pip install mecab-ipadicã¡ãªã¿ã«å
¬åŒãªãã¡ã¬ã³ã¹ã¯ãã¡ã
èŸæžã«ã¯äœçš®é¡ãããã¿ããã§ããã®èŸºã¯å
¬åŒã®æ¹ã確èªããŠãã ããã
ãšãããããããããããŠãããã®ãã€ã³ã¹ããŒã«ããŠããŸãã
ãµã¯ããšäœ¿çšãã
ãã ãã èšã£ãŠãŠã仿¹ãªãã®ã§ãã£ããšäœ¿ããŸãã
äœ¿ãæ¹ã¯ç°¡åã§ã©ã€ãã©ãªãã€ã³ããŒãããŠã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹ããåŸãæååãæž¡ãã ã
>>> import MeCab
>>> tagger = MeCab.Tagger()
>>> print(tagger.parse("ããã¯ãšãŠããããããŠãããããã§ã"))
ãã ãã³ ãã³ ç« åè©-æ®éåè©-äžè¬ 1
㯠㯠ã 㯠å©è©-ä¿å©è©
ãšãŠã ãã㢠ãã㢠è¿ã å¯è© 0
ãããã ã«ã¯ã€ã¯ ã«ã¯ã€ã€ 坿ã 圢容è©-äžè¬ åœ¢å®¹è© é£çšåœ¢-äžè¬ 3
㊠ã ã ㊠å©è©-æ¥ç¶å©è©
ããããã ã¢ã€ã©ã·ãŒ ã¢ã€ã©ã·ã€ æããã 圢容è©-äžè¬ åœ¢å®¹è© çµæ¢åœ¢-äžè¬ 4
ã§ã ãã¹ ãã¹ ã§ã å©åè© å©åè©-ãã¹ çµæ¢åœ¢-äžè¬
EOS
>>> print(tagger.parse("ç«ã¯ãšãŠã坿ããŠæãããã§ã"))
ç« ãã³ ãã³ ç« åè©-æ®éåè©-äžè¬ 1
㯠㯠ã 㯠å©è©-ä¿å©è©
ãšãŠã ãã㢠ãã㢠è¿ã å¯è© 0
坿ã ã«ã¯ã€ã¯ ã«ã¯ã€ã€ 坿ã 圢容è©-äžè¬ åœ¢å®¹è© é£çšåœ¢-äžè¬ 3
㊠ã ã ㊠å©è©-æ¥ç¶å©è©
æããã ã¢ã€ã©ã·ãŒ ã¢ã€ã©ã·ã€ æããã 圢容è©-äžè¬ åœ¢å®¹è© çµæ¢åœ¢-äžè¬ 4
ã§ã ãã¹ ãã¹ ã§ã å©åè© å©åè©-ãã¹ çµæ¢åœ¢-äžè¬
EOS確ãã«åèªéãã«åãããŠããŸããã
åºåããŒã¿ã¯ã¿ãã§åºåãããTSV圢åŒãªã®ã§ããããæŽ»çšããŠãªã¹ãã«å€æãããšä»¥äžã®ãããªæãã
ã¯ãããã£ãããã ãã§åèªããšã«åå²ãå®äºããŸããããã°ãã§ããã
>>> [line.split('\t')[0] for line in tagger.parse("ç«ã¯ãšãŠã坿ããŠæãããã§ã").splitlines() if '\t' in line]
['ç«', 'ã¯', 'ãšãŠã', '坿ã', 'ãŠ', 'æããã', 'ã§ã']䜿ãé
䜿ãéãšããŠã¯ãæç« ã®æãè¿ããã€ã³ããæ±ºããããã«äœ¿ãããšèããŠããŸãã
掻çšäºäŸ
ãã¡ãã¯äžã§ç޹ä»ããŠãããè±èªã®åç»ãå
šèªåã§æ¥æ¬èªã«ç¿»èš³ããŠå¹ãæ¿ããŠåå¹ãå
¥ããããã®ããŒã«ã§äœæããåç»ã®äžéšãªã®ã§ããããã®åå¹ã®æãè¿ããæåæ°äŸåã«ãªã£ãŠããŸãã
ãã®äŸé¡ã®åç»ã§ã¯Google翻蚳ã§èªã¿äžããã®ã§ããªããªãåºåããã€ãããäžæãéåžžã«é·ããªã£ãŠåå¹ã®è¡æ°ãå¢ããŠããã®ãç¹åŸŽã§ãã
ããããæã®å¯Ÿçã§ãã

äžã®æ¹ãèŠããšãªã©ãã¯ã¹ãšããåèªãªã®ã«ãªã©ãã¯ã§æãè¿ãããŠããŸã£ãŠããŸãããããããã®ã¯åå¹ãšããŠèªã¿ã«ããã§ãã
ããã§ãä»åã®åœ¢æ
çŽ åæãçšããŠã©ãã§æãè¿ãã¹ãããšãã£ãããã°ã©ã ã远å ããŸããã
ãã®çµæãäžã®æ¹ã§ãã
"äœããŸãã"ã§æ¹è¡ãããŠ"èŠãã"ã§æ¹è¡ãããŠããŸããã
æåŸã®"ãŸã"ã埮åŠã§ãããå€ååèªãšããŠã¯"ã"ãš"ãŸãã"ãªãã§ããããã
å°ãªããšãäžã®æããã¯èªã¿ããããªã£ããšæããŸãã
ãœãŒã¹ã³ãŒã
å ã»ã©ã®å šèªååç»ç¿»èš³ããŒã«ã«çµã¿èŸŒãã ãœãŒã¹ã¯ãã¡ãã§ãã
