タスクに合わせたトークナイザ、単語分割に関連したポエム2017-04-10タスクに合わせたトークナイザ、単語分割に関連したポエム自然言語処理ポエムを適当に書きます。週末のノリなので、適当です。Sentencepieceの紹介記事を読んだ文書分類でneologdとmecabを比較したまとめSentencepieceの紹介記事を読んだニューラル言語処理向けトークナイザのSentencepieceについて書かれた紹介記事を読みました。自分用の要約するとニューラル言語処理では語彙数が大きくなると扱いにくい単語をサブワードに分割できるものは分割して、語彙数を制限する(数千から数万)方法がよく使われる尤度を最大にするエントロピー圧縮の一部と見なせるスペースもメタ文字に置き換えて生文を食わせることにより、detokenizeが言語によらず簡単になる翻訳等のタスクで助かる!こういうのが必要なくなる単語分割されたものからさらに分割するわけではなく、生文からやるために計算量オーダーの削減が行なわれている従来の単語分割手法を凌ぐBLEUスコアを達成しているということでした。ちまたで話題のneologdを使うと逆にBLEUスコアが(mecabのときよりも)落ちてしまうという実験結果もあって、応用に即した単語分割を使うべきという工藤さんの主張に(再び)納得でした。余談ですが、生命科学系の研究所(DBCLS)でバイトした経験から、M1の初期は応用タスクに最適化された単語分割を学習できないかと思って少し考えた時期がありました。Sentencepieceのようなシンプルな手法がニューラル言語処理向けトークナイザとして役に立つのは面白いなあと、一人でテンションが上がりました。Learning的なノリで解けないかと思っていましたが、挫折で終わりました...。文書分類でneologdとmecabを比較した「応用に即した単語分割を使うべき」というエントリを読んだのと、週末のノリで単語分割を変えてあれこれ遊びたいという欲求が湧いたので、自分のbotで試してみました。機械学習のエントリかどうかを判定してくれるbot君です。タイトルと本文をそれぞれ形態素解析、BoWとして放り込むだけの手抜き実装です。この形態素解析の部分をneologdを使う/使わないで比較してみました。学習/テストデータの分け方で精度が変わってくるため、10回ランダムにデータを分割、F値の平均と標準偏差を出してみました。0.0066neologdを用いた場合、BoWの次元数がmecabの場合よりも増加していました。人工知能の話題でよく出てくる「東ロボくん」もneolodgでは一単語として認識されているので、このような単語により精度が上がっていそうかな。名詞,接尾,人名,*,*,*,くん,クン,クンEOS@overlastさんが過去のNL研等で報告されているように、文書分類のタスクではneologdは有効そうなことが分かりました。効果的な使い方まとめ謎のテンションなので特にまとめはないですが、応用タスクによって単語分割を使い分けることを検討してみてもよさそうです。smoothing書いてるとちゅー!!先週は言語モデル(n-gram)の話があって、パ...2009-07-03ミスの修正とか、品詞を詳しく見るとかバイトですよっと。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。