ã¿ãªããããã«ã¡ã¯ïŒ
ç§ã¯è±èªãå匷ãããã®ããã»ã¹ãããããæ¹æ³ã§ç°¡çŽ åããŸãã ã©ãããããããç¹å®ã®ããã¹ãã®ç¿»èš³ãšè»¢åãšãšãã«åèªã®ãªã¹ããååŸããå¿
èŠããããŸããã ã¿ã¹ã¯ã¯é£ãããªããä»äºã«åãæãããŸããã å°ãåŸã«ã
Pythonã¹ã¯ãªãããäœæãããŸãã
ãPythonã¹ã¯ãªããã¯ãããããã¹ãŠç¥ã£ãŠããŸããããã«ãè±èªã®ããã¹ããå«ããã¹ãŠã®ãã¡ã€ã«ããåšæ³¢æ°èŸæžãååŸãããã£ãã®ã§ãããå°ãç¥ã£ãŠããŸãã ããã§ãã¹ã¯ãªããã®å°ããªã»ãããåºãŠããŸãããããã«ã€ããŠã話ãããããšæããŸãã
ã¹ã¯ãªããã¯ããã¡ã€ã«ãè§£æããè±èªã®åèªãéžæããããããæ£èŠåããŠãçµæã®è±èªã®åèªã®ãªã¹ãå
šäœããæåã®countWordã®åèªãã«ãŠã³ãããã³çºè¡ããããšã«ãã£ãŠæ©èœããŸãã
æçµãã¡ã€ã«ã§ã¯ãåèªã¯æ¬¡ã®ããã«èšè¿°ãããŸãã
[ç¹°ãè¿ãåæ°] [åèªèªäœ] [åèªã®ç¿»èš³]次ã«äœãèµ·ãããïŒ
- ãã¡ã€ã«ããè±èªã®åèªã®ãªã¹ããååŸããããšããå§ããŸãïŒ æ£èŠè¡šçŸã䜿çšïŒã
- 次ã«ãåèªã®æ£èŠåãéå§ããŸããã€ãŸããåèªãèªç¶ãªåœ¢åŒããèŸæžã«ä¿åãããŠãã圢åŒã«æ»ããŸãïŒããã§ã¯ã WordNet圢åŒã«ã€ããŠå°ãåŠç¿ããŸãïŒã
- 次ã«ããã¹ãŠã®æ£èŠåãããåèªã®åºçŸåæ°ãã«ãŠã³ãããŸãïŒããã¯è¿
éãã€ç°¡åã§ãïŒã
- ããã«ã StarDict圢åŒã®è©³çްã«ã€ããŠã説æããŸããããã¯ããããå©çšããŠç¿»èš³ãšæåèµ·ãããè¡ãããã§ãã
- æåŸã«ãçµæãã©ããã«æžã蟌ã¿ãŸãïŒ Excelãã¡ã€ã«ãéžæããŸããïŒã
ç§ã¯
python 3.3ã䜿çšããŸããããå€ãã®å Žåãå¿
èŠãªã¢ãžã¥ãŒã«ãæ¬ èœããŠãããããpython 2.7ã§èšè¿°ããªãã£ãããšãåŸæããªããã°ãªããŸããã
åšæ³¢æ°ã¢ãã©ã€ã¶ãŒã
ããã§ã¯ãç°¡åãªãã®ããå§ããŠããã¡ã€ã«ãååŸããããããåèªã«è§£æããã«ãŠã³ããããœãŒãããçµæãçæããŸãããã
ãŸããããã¹ãå
ã®è±èªã®åèªãæ€çŽ¢ããããã®æ£èŠè¡šçŸãäœæããŸãã
è±èªã®åèªãæ€çŽ¢ããããã®æ£èŠè¡šçŸ
ãoverããªã©ã®ç°¡åãªè±èªã®åèªã¯ã
ãïŒ[a-zA-Z] +ïŒããšãã衚çŸã䜿çšããŠèŠã€ããããšãã§ããŸããè±èªã®ã¢ã«ãã¡ãããã®1ã€ä»¥äžã®æåãããã§æ€çŽ¢ãããŸãã
ãåžä»€å®ããªã©ã®è€åèªãèŠã€ããã®ã¯ããé£ãããªããŸãããåžä»€å®ãããin-ãããããŒãããšãã圢åŒã®é£ç¶ããéšååŒãæ¢ãå¿
èŠããããŸãã æ£èŠè¡šçŸã®åœ¢åŒã¯ã
ãïŒïŒ[a-zA-Z] +-ïŒïŒ* [A-zA-Z] +ïŒãã§ãã
äžééšååŒãåŒã«ååšããå Žåãçµæã«ãå«ãŸããŸãã ãã®ããããåžä»€å®ããšããåèªã ãã§ãªããèŠã€ãã£ããã¹ãŠã®éšååŒãæ€çŽ¢çµæã«å«ãŸããŸãã æ£èŠè¡šçŸã¯ã
ãïŒïŒ?: [A-zA-Z] +-ïŒïŒ* [A-zA-Z] +ïŒããšãã圢åŒãåããŸãã ç§ãã¡ã¯ãŸã ã衚çŸã«ãdid n'tããšãã圢åŒã®ã¢ãã¹ãããã£ãå«ãåèªãå«ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãæåã®éšååŒã®
ã-ïŒãã眮ãæã
ãŸã ã[-']ïŒã ã
ããã ãã§ããæ£èŠè¡šçŸã®æ¹åãçµäºããŸããããã«æ¹åããããšãã§ããŸãããããã«ã€ããŠè©³ãã説æããŸãã
ãïŒïŒïŒïŒ[a-zA-Z] + [-']ïŒïŒ* [a-zA-Z] +ïŒãè±åèªã®åšæ³¢æ°åæåšã®å®è£
è±èªã®åèªãæœåºããããããã«ãŠã³ãããŠçµæãçæã§ããå°ããªã¯ã©ã¹ãäœæããŸãã ããã§ãæ¬è³ªçã«ãåšæ³¢æ°èŸæžã䜿çšããäœæ¥ã¯å®äºã§ããŸãããäœæ¥ã¯ãŸã å§ãŸã£ãã°ããã§ãã åé¡ã¯ãããã¹ãå
ã®åèªãææ³èŠåãèæ
®ããŠæžãããŠããããšã§ããã€ãŸããæ«å°Ÿã«edãingãªã©ã®åèªãããã¹ãå
ã§çºçããå¯èœæ§ããããŸãã å®éãåè©ã®åœ¢åŒïŒamãisãareïŒã§ãããç°ãªãåèªãšããŠã«ãŠã³ããããŸãã
ãã®ãããåèªãåèªã«ãŠã³ã¿ãŒã«è¿œå ããåã«ãæ£ãã圢åŒã«ããå¿
èŠããããŸãã
次ã®ããŒãã«ç§»ããŸã-
è±åèªã®ããŒãã©ã€ã¶ãŒãæžã
ãŸã ã
è±èªã®è£å©è©
ã¹ããã³ã°ãš
èŠåºãèªåã® 2ã€ã®ã¢ã«ãŽãªãºã ããããŸãã ã¹ããã³ã°ãšã¯ããã¥ãŒãªã¹ãã£ãã¯åæãæããããŒã¹ã¯äœ¿çšããŸããã èŠåºãèªåã§ã¯ãããŸããŸãªåèªããŒã¹ã䜿çšãããææ³èŠåã«åŸã£ã倿ãé©çšãããŸãã çµæã®èª€å·®ã¯åæ»æãããã¯ããã«å°ãããããç®çã«å¿ããŠè£é¡ã䜿çšããŸãã
èŠåºãèªåã«ã€ããŠã¯ããã§ã«
ããã
ãããªã©ãhabrã«é¢ããèšäºãããã€ããã
ãŸãã ã 圌ãã¯
AOTããŒã¹ã䜿çšããŠããŸãã ç¹°ãè¿ããããããŸããã§ããããŸããä»ã®èŠåºãèªåã®ããŒã¹ãæ¢ãã®ãé¢çœãã£ãã§ãã
WordNetã«ã€ããŠã話ãããããšæããŸããããã®äžã§è£é¡ãäœæããŸãã ãŸãã
å
¬åŒã®WordNet Webãµã€ãã§ãããã°ã©ã ã®ãœãŒã¹ã³ãŒããšããŒã¿ããŒã¹èªäœãããŠã³ããŒãã§ããŸãã WordNetã«ã¯å€ãã®æ©èœããããŸãããå¿
èŠãªæ©èœã¯ããäžéšãã€ãŸãåèªã®æ£èŠåã ãã§ãã
ããŒã¿ããŒã¹ã®ã¿ãå¿
èŠã§ãã WordNetã®ãœãŒã¹ããã»ã¹ïŒCïŒã¯ãæ£èŠåããã»ã¹èªäœã説æããŠããŸããæ¬è³ªçã«ã¯ãããããã¢ã«ãŽãªãºã ãåãåºããPythonã§æžãçŽããŸããã ããããã¡ãããPythonçšã®WordNetçšã®ã©ã€ãã©ãª
-nltkããããŸããããŸããPython 2.7ã§ã®ã¿åäœããæ¬¡ã«èŠãéããæ£èŠåã§ã¯WordNetãµãŒããŒãžã®ãªã¯ãšã¹ãã®ã¿ãéä¿¡ãããŸãã
ã¬ã³ãã¿ã€ã¶ãŒã®äžè¬çãªã¯ã©ã¹å³ïŒ

å³ãããããããã«ãæ£èŠåãããŠããã®ã¯4ã€ã®åè©ïŒåè©ãåè©ã圢容è©ãå¯è©ïŒã ãã§ãã
æ£èŠåããã»ã¹ãç°¡åã«èª¬æãããšã次ã®ããã«ãªããŸãã
1.åè©ããšã«ã2ã€ã®ãã¡ã€ã«ãWordNetããããŠã³ããŒããããŸã-ã€ã³ããã¯ã¹èŸæžïŒåè©ã«å¿ããååã€ã³ããã¯ã¹ãšæ¡åŒµåãå¯è©ã®å Žåã¯index.advãªã©ïŒãšäŸå€ãã¡ã€ã«ïŒåè©ã«å¿ããæ¡åŒµåexcãšååãããšãã°adv.excã®å ŽåïŒå¯è©ïŒã
2.æ£èŠåäžã«ãäŸå€ã®é
åãæåã«ãã§ãã¯ãããåèªãååšããå Žåããã®æ£èŠåããã圢åŒãè¿ãããŸãã åèªãäŸå€ã§ã¯ãªãå Žåãåèªã®ãŽãŒã¹ãã¯ææ³èŠåã«åŸã£ãŠå§ãŸããŸããã€ãŸããèªå°ŸãåãæšãŠãããæ°ããèªå°Ÿãæ¥çãããæ¬¡ã«åèªãã€ã³ããã¯ã¹é
åã§æ€çŽ¢ãããããã«ããå Žåãåèªã¯æ£èŠåããããšèŠãªãããŸãã ãã以å€ã®å Žåãã«ãŒã«ãçµäºããããåèªã以åã«æ£èŠåããããŸã§ã次ã®ã«ãŒã«ãé©çšãããŸãã
Lemmalizerã®ã¯ã©ã¹ïŒ
åè©ã®åºæ¬ã¯ã©ã¹BaseWordNetItem.py åè©ãæ£èŠåããããã®ã¯ã©ã¹WordNetVerb.py åè©ã®æ£èŠåã®ããã®ã¯ã©ã¹WordNetNoun.py å¯è©WordNetAdverb.pyãæ£èŠåããããã®ã¯ã©ã¹ 圢容è©WordNetAdjective.pyãæ£èŠåããããã®ã¯ã©ã¹ Lemmatizer Lemmatizer.pyã®ã¯ã©ã¹ ããŠãæ£èŠåãçµäºããŸããã ããã§ãåšæ³¢æ°ã¢ãã©ã€ã¶ãŒã¯åèªãæ£èŠåã§ããŸãã ã¿ã¹ã¯ã®æåŸã®éšå-è±èªã®åèªã®ç¿»èš³ãšè»¢åãååŸããŸãã
StarDictèŸæžã䜿çšããå€åœèªç¿»èš³è
StarDictã«ã€ããŠã¯é·ãéæžãããšãã§ããŸããããã®åœ¢åŒã®äž»ãªå©ç¹ã¯ãã»ãšãã©ãã¹ãŠã®èšèªã§å€ãã®èŸæžããŒã¿ããŒã¹ãããããšã§ãã Habrã®StarDictãããã¯ã«é¢ããèšäºã¯ãããŸããã§ããããã®ã®ã£ãããåããæãæ¥ãŸããã StarDict圢åŒãèšè¿°ãããã¡ã€ã«ã¯éåžžããœãŒã¹èªäœã®é£ã«ãããŸãã
ãã¹ãŠã®è¿œå ãç Žæ£ããå Žåããã®åœ¢åŒã§æãæå°éã®ç¥èã»ããã¯æ¬¡ã®ããã«ãªããŸãã
åèŸæžã«ã¯3ã€ã®å¿
é ãã¡ã€ã«ãå«ãŸããŠããå¿
èŠããããŸãã
1.
ifoæ¡åŒµåãæã€ãã¡ã€ã«-èŸæžèªäœã®äžè²«ãã説æãå«ãŸããŠããŸãã
2.æ¡åŒµåã
idxã®ãã¡ã€ã«ã idxãã¡ã€ã«å
ã®åãšã³ããªã¯ã次ã
ã«ç¶ã3ã€ã®ãã£ãŒã«ãã§æ§æãããŸãã
- word_str -'\ 0'ã§çµããutf-8圢åŒã®æååã
- word_data_offset- .dictãã¡ã€ã«ã«æžã蟌ãåã®ãªãã»ããïŒ32ãŸãã¯64ããããµã€ãºïŒã
- word_data_size -.dictãã¡ã€ã«ã®ãšã³ããªå
šäœã®ãµã€ãºã
3.
dictæ¡åŒµåãæã€ãã¡ã€ã«-翻蚳èªäœãå«ãŸããŠããŸãã翻蚳ãžã®ãªãã»ãããç¥ãããšã§ã¢ã¯ã»ã¹ã§ããŸãïŒãªãã»ããã¯idxãã¡ã€ã«ã«èšé²ãããŸãïŒã
æçµçã«ã©ã®ã¯ã©ã¹ã«ãªããã«ã€ããŠèãçŽãããšãªãããã¡ã€ã«ããšã«1ã€ã®ã¯ã©ã¹ãäœæããããããçµåãã1ã€ã®äžè¬çãªStarDictã¯ã©ã¹ãäœæããŸããã
çµæã®ã¯ã©ã¹å³ïŒ

StarDictã®ã¯ã©ã¹ïŒ
èŸæžãšã³ããªã®åºæ¬ã¯ã©ã¹BaseStarDictItem.py ããŠã翻蚳è
ã¯æºåãã§ããŠããŸããä»åºŠã¯ãåšæ³¢æ°ã¢ãã©ã€ã¶ãã¯ãŒãããŒãã©ã€ã¶ãããã³ãã©ã³ã¹ã¬ãŒã¿ãçµã¿åãããå¿
èŠããããŸããmain.pyãã¡ã€ã«ãšSettings.inièšå®ãã¡ã€ã«ãäœæããŸããã¡ã€ã³ãã¡ã€ã«main.py Settings.inièšå®ãã¡ã€ã« ; (, ), PathToBooks = e:\Bienne\Frequency\Books ; WordNet( ) PathToWordNetDict = e:\Bienne\Frequency\WordNet\wn3.1.dict\ ; StarDict( ) PathToStarDict = e:\Bienne\Frequency\Dict\stardict-comn_dictd04_korolew ; , Excel CountWord = 100 ; , ( Excel - , , ) PathToResult = e:\Bienne\Frequency\Books
ããŠã³ããŒãããŠè¿œå ã§ã€ã³ã¹ããŒã«ããå¿
èŠãããå¯äžã®ãµãŒãããŒãã£ã©ã€ãã©ãªã¯xlwtã§ããExcel圢åŒã®ãã¡ã€ã«ãäœæããå¿
èŠããããŸãïŒçµæã¯ããã«æžã蟌ãŸããŸãïŒãPathToStarDict倿°ã®Settings.inièšå®ãã¡ã€ã«ã§ã¯ãã;ãã䜿çšããŠè€æ°ã®èŸæžãäœæã§ããŸãããã®å Žåãåèªã¯èŸæžã®é ã«æ€çŽ¢ãããŸã-åèªãæåã®èŸæžã§èŠã€ãã£ãå Žåãæ€çŽ¢ã¯çµäºããŸãããã以å€ã®å Žåãä»ã®ãã¹ãŠã®StarDictèŸæžãæ€çŽ¢ãããŸããããšãã
ãã®èšäºã§èª¬æãããŠãããã¹ãŠã®ãœãŒã¹ã¯ãgithubããããŠã³ããŒãã§ããŸããéç¥ïŒ- ã¹ã¯ãªããã¯ãŠã£ã³ããŠã®äžã«æžãããŸããã
- 䜿çšãããpython 3.3 ;
- ããã«ãxlwtã©ã€ãã©ãªãExcelã§åäœããããã«é
眮ããå¿
èŠããããŸãã
- åå¥ã«ãWordNetããã³StarDictã®èŸæžããŒã¿ããŒã¹ãããŠã³ããŒãããå¿
èŠããããŸãïŒStarDictèŸæžã®å Žåã¯ãã¢ãŒã«ã€ããããããã¯ãã¡ã€ã«ãdictæ¡åŒµåã§ããã«è§£åããå¿
èŠããããŸãïŒã
- Settings.iniãã¡ã€ã«ã§ãèŸæžã®ãã¹ãšçµæãä¿åããå Žæãæå®ããå¿
èŠããããŸãã
- , StarDict, ( ).