※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

この項目は141F氏に頂いた講評に対する私の見解です。月見草の「妥当性の検証」としてお読み下さい。

「月見草開発に用いた文章サンプル」で私は「計算によらないと三連接四連接の評価は一部しか出来ないのではないか」という事を数値的な根拠から申し上げました。それがどの程度必要なことかという判断は人それぞれであろうかと思います。いくら考慮してもあちらを立てればこちらが立たずではありますので、「そんなに考慮しても無駄、しなくとも良い配列が出来る」という可能性は勿論あります。ですけれど「月見草」では、それをある程度の精度で、最大限考慮するとしています。

「計算だけで良い配列ができるか」といわれますと「否」ということになります。こういった計算の前提には常に幾ばくかの誤りが含まれているのは勿論です。「妥当性の検証」が必要であって、これには「数値的検証」「試打」「感覚的に」など色々あるかと思います。例えば花配列の「し」「れ」の位置は私にはどうしても納得出来ませんが、その理由は「運指の可視化」の項をご覧いただければ一目瞭然かと思います。私の見解としては「花配列」の出来が不十分であるとするなら、試打を経ていないからではなく、試打を経るまでもなく「数値的」「感覚的」に妥当でないということです。

「月見草」でも「数値的」「感覚的」に妥当と思える配列が生成されるよう、何度でも評価関数を修正しているのは言うまでも有りません。但し「感覚」は人によりけりなのは勿論のことですから、納得されない方がいらっしゃるのは如何ともし難いことです。
「141F氏の感覚」では「いん」「こなっ」が同指であることは妥当ではないのかも知れません。一方で私は「仕方がない」と思っています。この差は一体どこから来るのかと言いますと、「仮名文字単位の運指」を親指シフトの配列と、花・月のような「1・2ストローク混在系」で比較したら、「原理的に後者の方が悪いに決まっている」というところから来ているのではないでしょうか。「いうん」より頻度の高い大事なキーが3つも4つもあるだけ配列が制限されますし、30%の文字は二打鍵使うのですから、指を忙しく動かさなければなりません。その代償として親指の心配をしなくて良いわけです。この優劣は理屈でも数値でも表せませんので、両方試して頂くよりないかと思います。


さてN-GRAMの精度は重大な問題です。何文字程度のサンプルが必要かは欲しいデータ次第で変わってきます。
月見草は「跳躍や同指異鍵などの数値指標」を最小化するという計算方法はとっていません。評価可能な限り打鍵四連接まで滑らかな運指となるように計算しています。その為には、ある程度の精度のかな四連接のデータが必要です。

N-GRAMには、当然いろいろな誤差が含まれます。
(1)どれだけ大量のデータを集めても、その集め方による偏りはかなりある。
(2)すべての語彙が一様な確率分布をしてはいない。低頻度の語彙が続けて出現することが多々ある。
(3)上の(2)は無視して一様分布とみなしうるとしても、出現頻度には確率的な誤差が生じる。
(4)ご指摘頂いた変換誤差。

(1)は仕方がないし、ここでは(2)についての検証もしません。

141F氏は(4)の「MeCabの変換精度」を問題視されていますが、私は許容誤差と判断しています。誤読は高々数%ですし、頻度の高いものほど正しく読みますから、N-GRAM精度に与える影響はもっと限定的でしょう。その程度の誤差で済むのであれば、三連接四連接の多くを計算に入れるメリットのほうが大きいと私は考えています。

一方で(3)はずっと深刻な問題であるということを指摘したいと思います。「10万字サンプルの経験」で「1800万字」を批評するのは無理なことです。「正確な読みの10万字に最適化」は駄目であるとして、「不正確な1800万字に最適化」は「もっと駄目」ではなくて「本質的に違う、遥かに良い、比較不可能」なのです。
なぜなら、10万字では「文字の出現頻度」「中頻度以上の二連接」「最高頻度の三連接以上」については評価出来ますが、それ以上の詳細な評価をするには、どれほど厳選したサンプルを選び、変換誤差を0にしようとも、根本的に量が足りないのです。高々数%の変換誤差とは、オーダーの違う誤差がそこには存在するのです。

以下当方にて公開しておりますN-GRAMから数字をとります。勿論誤差がありますが一応「真の値の近似値」として話を進めます。煩雑を避けるためなので我慢して頂きたいと思います。

かな4連接について言いますと出現頻度10万字に1回迄とすると上位10400位まで、全体の43%程度です。
一般の文章から任意に取り出したかな4連接が「10万字サンプル」に含まれている確率は半分も無いということになります。
それでも、上位から順に綺麗に含まれているのなら悪くないと思います。しかし実際は、重要な連接の頻度に大変な誤差がどうしても発生してしまうはずです。その一方で頻度の極端に低いものを大量に含むこともまた避けられません。

出現頻度10万分の1がどの程度か、例を挙げると…、

かして、 ものを、 のにゅー しょう・ います・ んでは( れるばあ かしない しゃめい よんこう うのとう じちょう とのなか うりつが だれもが みにつけ れないこ どものこ ぼくはこ んばいし おもうし いてのし ょうはし おいてじ いやです もどった たしはた _やまだ _かたち だといっ _によっ これって あつめて いごまで すかーと するなど とりもど ただいな いんにな はしらな _ついに さいとに _ことに そこんの ねんには 

全体で10万字ですと、今挙げた文字列の出現回数が其々1回という事になります。しかしそんなに上手くいくはずもなく、短い間に数回出てくることもあれば、一度も出現しないということも当然あるはずです。確率的には36.8%は出現しません。また2回出現する確率が18.4%、三回出現する確率が6.1%、四回出現する確率が1.5%…とこれでは頻度を云々する以前の問題です。


10万字サンプルで「さまざま」は何回出現したのでしょうか。

さまざま 850 四連接1314位

これがどの程度重要か続きを見ると

_そのか なかなか んがえた よって、 おおきい いちゅう んなのこ かのうで ことをい かんこく さいしゅ ょうきん だという _こんど ぷろぐら ちいさい めいわく だいじゅ にじょう きゅうか っぽんで

かなり使いそうな文字列が並んでいます。実際この辺りまで数えても四連接上位20%まで行かないのです。
しかしながら、全部で10万字では現れる回数は各々平均5回ぐらいです。実際の回数は…

出現しない確率が1.4%、1回出現する確率5.9%、2回出現する確率12.6%、3回出現する確率18.0%、4回出現する確率19.3%、5回出現する確率16.6%、6回出現する確率11.9%、7回出現する確率7.3%、8回出現する確率3.9%・・・

とまあ2割4割の誤差が当たり前という世界です。ですからこの辺りの結構メジャーな言い回しに対して適正化すると…

跳躍や同指異鍵などの数値指標は1.3.x版~1.4.x版と版を経る毎に悪化の一途をたどりましたが、「10万字の限界」を乗り越えて汎用性を手に入れようと足掻いてきた積み重ねが、現在の蜂蜜小梅配列につながっていきます。

…という事になられたのは、もっともな事かと思います。1800万字の意味は漏れを無くすと言うよりも、ボリュームゾーンである中頻度の連接頻度について精度を得るということなのです。

10万字サンプルはファイルサイズが50MBを超えて、再計算1回につき15分前後、
PCで全文解析するのは、小梅配列の10万字サンプルぐらいがおそらく実用に耐えうる上限値でしょう。

エクセルの計算能力とPCの計算能力は違います。エクセルで「月見草配列」の生成計算をしたら100年掛かるでしょう。
「月見草配列」の計算はN-GRAMによっていますが、それは分速数万配列の評価をするためです。
かな10万字を計算のために保持するには100KBあれば十分です。「運指の可視化」の集計プログラムは全文解析を行っていますが、1800万字で複数の配列について集計しても数分で完了します。

分母を大きくするためには、下位ビットを Noise Shaping して抽象度を高めることが必須になります。
しかし、その切り捨てた部分にこそ、意味不明な大量のゴミの山の中にこそ、最大公約数という言葉で括ることができない、執筆者のクセみたいなものが含まれているはず。

ですから8/1800万、順位27万超まで評価しているのです。10万字サンプルでこれだけ含むことは不可能であるということは自明ですし、100万字サンプルでも、いくらでも漏れがあるでしょう。これがどのような文字列か一例を挙げますと、

やかなさ ぺきなさ しつなさ _ななさ いはなさ ははなさ んはなさ たべなさ まりなさ とをなさ りをなさ あんなさ つうにさ んかにさ のきにさ ぼくにさ かこにさ うごにさ ーすにさ せずにさ らたにさ しつにさ いぶにさ がわにさ はんにさ ぱんにさ (あのさ ばいのさ おうのさ んきのさ むけのさ のごのさ いしのさ っしのさ はしのさ わしのさ ーすのさ らすのさ わせのさ らそのさ いちのさ ふとのさ いぬのさ

こんな感じで、「まあどうでもよさそう」な文字列が殆どですが、それでも8回出現しているのです。10万字サンプルでは頻度を云々する以前に、20個に1個ぐらいしか含まれていないのではないかと推定されます。100万字全文でも、半分も出現しないでしょう。
その一方で、このような頻度の文字列は大量にありますから、10万字しかなくともこのような低頻度の文字列が多数含まれることになります。10万字サンプルに含まれる四連接のうち、三割は出現率1/100万以下のものであると推定されるのです。
またこれらと比べて「10万字で一度出現するかどうか」という文字列はずっと大事そうに見えます。10万字サンプルではその頻度の差は誤差レベルになりますけれど、それは問題ないのでしょうか。
「月見草」では10万字に含まれているとしても、10%以上を「1800万字内での頻度に基づいて」捨てて、一方、何百万字か出現しないことがあるとしても、「1800万字内である程度出現するなら」評価するとしています。尚、捨てるといっても完全に無視するのでなく、四連接で頻度が低くとも三連接で評価しているのは勿論です。
100万字程度の全文評価なら同じぐらいの計算資源で実現可能ですが、それよりどう考えても優れていると判断しての7/1800万以下切り捨てです。「たまたま出現する・しない」を優先したほうが良いというのは私には理解不能な思想です。

「10万字サンプルとは無関係に1/100万とかいった頻度のものを評価している。」
ということであれば、結構なことかと思います。人間の「何となく」という評価の精度は結構高いですから、少なくとも本人にとって良くなりますし、それで良しとする人もいるはずですから。
しかし客観性を担保することは無理ですから、私はその方法を取りません。

最後に「141F氏による検証」の再検証を通してMECABの精度、N-GRAMへの影響がどの程度のものか確認しておきます。

まず最初に、申し訳ないですが「学問的態度」として注文します。「悪い例」を持ち出すのは結構ですけれど、それだけで、「間違いが多い」と断じるのは主観的評価に過ぎません。「間違いは許容しない」ということでしたら結構ですけれど、「間違いが多い」と仰るのであれば、「10万字のうち何千字の間違いがあってN-GRAMにどの程度の誤差がある」と言ったように定量的に評価していただくと有難いです。私にはそのための資料の手持ちがありませんから。
あるいは、いまから私が再検証しますように、「これはどのような原因による間違いで、同じような間違いがどの程度見込まれる。」という定性的な評価でも結構です。

(笑)
(えみ 1008 三連接2726位
わら 5463
らわ 3481
えみ 1672
みえ 3559

三連接2700位というのは、私にとっては「人力で配列するとしてどれだけ配慮できるのか」という頻度ですが、二連接頻度に20%の影響があるのですから、このエラーはたしかに問題だと思います。「月見草配列」の「えみ」はもっと悪い運指でも良くて、「良い運指の無駄遣い」になっているとも見られます。

同程度の間違いが沢山あるのなら大問題で、MECAB語であって日本語ではないと言われても仕方が有りません。
しかしなぜこれを間違えるかといえば、最近のネット上でしか用いられない表現は、辞書に含まれていないからです。辞書には30万語程度は収録されているようですから、普通の文章表現でこの程度の頻度の語彙が辞書から漏れていることはまず有りません。漏れが多くなってくるのは出現率100万分の1以下での話です。
「10万字サンプル」では、この程度の出現頻度では平均的に何十%も誤差があり、前後百ぐらいを調べたら一度も出現しないものもありそうですし、一度しか出現しない「誤差80%超」が幾つもあるはずです。MeCabがこのような頻度の間違いを犯すのは例外的ですから「瑕瑾」としてはいけないでしょうか。

「行っ」「悪戯等」
確かに誤読なのでしょうけれども、常に間違えるわけでは有りません。というよりも結構正しく読みます。
「こなっ」は確かにひどい運指ですが、誤差が大きくて不当に低く評価したとは思いません。

四連接276~285位
ことがあ 2249
からない 2246
んですか 2244
ったこと 2236
んとうに 2236
おこなっ 2234
かりませ 2233
いしてい 2230
ができる 2228
なった。 2224

いたずら 142 四連接13798位
あくぎ 18 三連接73352位(内 悪戯の誤読と見なせるもの3回、ほかは悪逆・悪行)

「術がありません」「風雨雪」これは辞書に含まれていませんので、いつでも間違えそうです。しかし問題とするような頻度ではないと思います。

術があ 1800万字で1回。
術がな 1800万字で6回。

すべがな 圏外
すべが 圏外
べがな 10 94095位
ゅつがな 18 126144位


風雨雪 出現していませんが妥当であるかどうかはわかりません。しかし、はるかに頻度が高いと思われる「風雨」の頻度を見ても90万字に一回といったところです。これは勿論、辞書に含まれていて、正しく読まれています。
ふうう 29 56218位
(内 ふううん 8、ふううっと 1)
ううせつ 圏外
ううゆき 圏外
うせつ 1161 2298位
うゆき 31 54705位(雨雪は1回)