Package: tails-of-words
言葉のしっぽ（tails-of-words）表記ゆれ検出の実装実験概要形態素解析（jumanpp）による名詞の検出knp による固有表現の検出任意品詞の出現数のレポート任意品詞の編集距離のレポートレーベンシュタイン距離ダメラウ・レーベンシュタイン距離ジャロ・ウィンクラー距離それぞれ読みの距離任意品詞の表記ゆれ検出補助動詞の漢字・ら抜き言葉の検出Installpippipinstalltails-of-words別途 jumanpp と knp のインストールが必要ですe.g. brew install jumanppdockerdocker pull srzzumix/tails-of-wordsUsageswing (表記ゆれ検出)$echoコンピュータとコンピューター|tails-of-wordsswing-1,0.86,0.86:コンピュータ(1)vsコンピューター(1):1.03curl-fsSLhttps://srz-zumix.blogspot.com/2021/09/cedec.html|tails-of-words--stdin-typehtmlswing--exclude-alphabet--exclude-ascii-t1-1,0.75,0.75:ブクログ(1)vsブログ(6):1.291,0.67,0.67:ホスト(1)vsリスト(3):1.001,0.67,0.67:ホスト(1)vsテスト(3):1.00$dockerrun--rm-w/work-v$(pwd):/worksrzzumix/tails-of-wordsswing/work/testdata-t11,0.86,0.86:コンピューター(1)vsコンピュータ(1):1.030,1.00,0.67:Max(1)vsmax(1):1.00形態素解析のカスタムuse knp$echo奈良先端科学技術大学院大学|tails-of-words--knpcount-1:奈良1:先端1:科学1:技術1:大学院1:大学1:奈良先端科学技術大学院大学use jaro winkler$echo時間と歌人|tails-of-wordsdistance--jw-0.00,0.89:時間(1)vs歌人(1):0.00use damerau levenshtein$echo時間と歌人|tails-of-wordsdistance--damerau-2,1,0.00,0.67:時間(1)vs歌人(1):0.00
$echo時間と歌人|tails-of-wordsdistance-2,2,0.00,0.33:時間(1)vs歌人(1):0.00typo (補助動詞の漢字・ら抜き言葉検出)$echo5時に来て頂く予定です|tails-of-wordstypo-1:2:に来て頂く:補助動詞の漢字
$echoあの人が来るとは考えれない|tails-of-wordstypo-1:8:考えれない:ら抜き言葉Helpusage:tails-of-words[-h][-v][--dumpversion][--log{DEBUG,INFO,WARN,ERROR,CRITICAL,debug,info,warn,error,critical}][-cCONFIG][-f{csv,xml,html,plain}][--h2t][--knp]{count,distance,show,swing,help}...

positionalarguments:{count,distance,show,swing,help}countcountwords.see`count-h`distancedistancecountedwords.see`distance-h`showshowwords.see`show-h`swingshownotationfluctuations.see`swing-h`typochecktypo.see`typo-h`helpshowsubcommandhelp.see`help-h`optionalarguments:-h,--helpshowthishelpmessageandexit-v,--versionshowprogram's version number and exit--dumpversion         show program'sversionnumberandexit--log{DEBUG,INFO,WARN,ERROR,CRITICAL,debug,info,warn,error,critical}setloglevel-cCONFIG,--configCONFIGconfig.ymlfilepath-f{csv,xml,html,plain},--stdin-type{csv,xml,html,plain},--stdin-format{csv,xml,html,plain}setstdinformattype--h2t,--html2textConvertinputtextwithhtml2text--knpuseknp.tails-of-wordshelpswing
usage:tails-of-wordsswing[-h][-nNUM][-tTHRESHOLD][--jw][--damerau][--no-alnum][--no-ascii][-oOUTPUT][-cCOLUMN][-iHINSI][-eEXCLUDE]SOURCE[SOURCE...]shownotationfluctuations

positionalarguments:SOURCEinputfiles

optionalarguments:-h,--helpshowthishelpmessageandexit-nNUM,--numNUMDisplaynitemsfromthehighestscore.Allifnislessthanorequalto0-tTHRESHOLD,--thresholdTHRESHOLDDisplaywordswhosescoreexceedsthethreshold.--jw,--jaro-winklerusejaro_winkler.--damerau,--damerau-levenshteinusedamerau_levenshtein.--no-alnum,--exclude-alphabetexcludeisalphaorisalnumstring.--no-ascii,--exclude-asciiexcludeisasciistring.-oOUTPUT,--outputOUTPUToutputjsonfilepath.-cCOLUMN,--columnCOLUMNspecificcsvfilecolumnname.-iHINSI,--hinsiHINSIsetcollecthinsi_id.default[6,15]-eEXCLUDE,--excludeEXCLUDEexcludefiles参考CEDEC2021: ゲーム制作効率化のためのAIによる画像認識・自然言語処理への取り組みゲーム制作効率化のためのAIによる画像認識・自然言語処理への取り組み - Speaker Deck【CEDEC2021】ゲーム制作効率化のためのAIによる画像認識・自然言語処理への取り組み - YouTubeCEDEC2022: AIによる自然言語処理を活用したゲームシナリオの誤字検出への取り組みpyknp: Python Module for JUMAN++/KNP — pyknp documentationJUMAN品詞体系 | Yuta Hayashibe貢献このリポジトリは表記ゆれ検出の実験的な実装をしています。
アイディアや PR を歓迎します。