gzipを使用した言語判定モデル、精度がほとんどのニューラルモデルを上回る 38
ストーリー by nagazou
高精度 部門より
高精度 部門より
言語判定には、ディープニューラルネットワーク(DNN)が広く使われているが、この方法は計算量が大きいことから大量のデータとリソースが必要であり、実際の利用時や最適化、新しいデータへの適用にはコストがかかるという問題が起きるそうだ。そこで、簡単で軽量かつ汎用的な代替手法がACL 2023で提案されたという。手法としてはタレコミにあるように、シンプルなコンプレッサ(gzipなど)とk近傍法を組み合わせたないようだという(ACL アンソロジー、Stephen Diehl氏のツイート)。
Patilise 曰く、
Patilise 曰く、
ACL 2023でk近傍法とgzipを組み合わせた言語判定モデルが発表された。軽量(大量のデータと処理能力が不要)、パラメータ調整不要でPythonスクリプトにして14行という簡素なものだったが、ほとんどのニューラルモデルと同程度または上回る精度となった。すべてのデータセットでgzipを上回る精度が得られたのはBERTだけだった。
昔、話が長い人は (スコア:1)
tarしてgzipしろと言われたものだが、意味があったんだな。
Re:昔、話が長い人は (スコア:1)
Excel bookも保存するときには毎回gzipしてるんでしたっけ
Re: (スコア:0)
deflate圧縮という意味では間違っていないがgzipじゃなくてzipだ。拡張子を.zipに変えればZipフォルダーとして開ける
Re: (スコア:0)
deflate圧縮という意味では間違っていないがgzipじゃなくてzipだ。拡張子を.zipに変えればZipフォルダーとして開ける
初期のxlsxはしょっちゅう壊れるdestroy圧縮ってかんじだったなぁ
# まぁ解凍した中身は生きていたから壊れるのはメタ情報だけなんだろうけど
Re: (スコア:0)
時代は変わったな
こないだファイル送ろうとしたらwindowsPCに圧縮ツールが
入ってなくてやむなくcygwinでtarしてgripして送った
向こうは問題なく解凍できたようだが次はzipで送れって言われた
Re: (スコア:0)
何でわざわざCygwin?
tarなんてWindowsに標準搭載されてるでしょ
Windows 10のInsider Previewで標準コマンドラインツールにtarとcurlが追加される [srad.jp]
Re: (スコア:0)
ファイルorフォルダを右クリックして
「送る → 圧縮 (zip形式) フォルダー」でzip圧縮できるから
そっちの方が手軽よ
Re: (スコア:0)
空のzipファイル作って放り込むてもあるな。
次の次はzipの中身が文字化けしてるから直して送り直せと言われそうだな。
Re: (スコア:0)
ファイル名が文字化けすることはあっても中身が文字化けはちょっと考えられないが
Re: (スコア:0)
おまえ耳年増なだけで、実際使ったことねえだろ?
Windowsのlibarchiveは一応入ってるってだけで、Linuxとかのと比べ極めて古いんだわ
しかもどういう握り方したのかしらんが、gzipはともかく、.bz2や.xzすら扱えないんで正直使い物にならん
だいたいlibarchive自体、そんなビルドされることを想定してないから
Re: (スコア:0)
Windows 11のBuild 23493以降では改善していた。
GUIがrar/7-Zipなどに対応した余録だな。ていうか元米はgzipで圧縮してるんだから.bz2や.xzサポートなんかどうでもいいじゃん。
Re: (スコア:0)
勝手にWSL入れられないのにCygwinなら入れられるという状況が理解できんな
横からですが、WSL入れるにはWindowsの機能の有効化あたりでAdmin権限が必須だけど、CygwinはAdmin権限不要でインストールできるみたいな話なんじゃないかなと思います。
Re: (スコア:0)
管理者権限なしPCだとc:\cygwinにインストールできないので、1ユーザー専用でホームディレクトリ配下に入れることになると思うんだけど
ナウなヤングが使ってるっていうwingetでユーザー領域に入れるアーカイバあったりしないかなあ(知らない)
Re: (スコア:0)
tarしてgzipしろと言われたものだが、意味があったんだな。
古のおやじギャグとともに学んだな
# tar玉しってーるか
拡張命令セット (スコア:0)
将来gzip高速化の拡張命令セットがAI高速化命令としてCPUに搭載されるんかな
Re:拡張命令セット (スコア:1)
Intel Quick-Assist Technology [intel.co.jp] とかで既に搭載されてるのでは。
Re: (スコア:0)
gzipはいろんなところで(仕様としては)使えるからねえ。
Re: (スコア:0)
拡張アダプターならすでにあった
PCIe3 FPGA 圧縮アクセラレーター・アダプター
https://www.ibm.com/docs/ja/power8?topic=POWER8/p8hcd/fcej12.html [ibm.com]
> 最大 1.8 GB/秒の圧縮/圧縮解除スループット
Re: (スコア:0)
Web高速化のために、
AES拡張命令
乱数拡張命令
が出来たのだから、
gzip/deflate拡張命令があってもいい気がしますね
簡単で軽量? (スコア:0)
ニューラルネットも基本的に積和演算しまくるだけの簡単なお仕事で
LZアルゴリズムの方があれこれ複雑な事してるような気もするが
Re: (スコア:0)
計算「内容」についてはLZアルゴリズムが積和演算より複雑とはあまり思えないが…
この場合は参照データがスライド辞書のサイズなどで明確に制限されるdeflateと違って、ニューラルネットは学習が進むほど参照データが巨大になるため計算量が増えるってことじゃないかな?
Re: (スコア:0)
gzipの場合「データセット」は圧縮対象のファイルに制限されるが、ニューラルネットでは通常オープンエンドの巨大なデータセットを使うというのもあるな
k近傍法を組み合わせたないようだという (スコア:0)
スラド民のレベルに合わせた?
Re: (スコア:0)
「組み合わせたな、異様だ」と言う [誰が?]
言語判定? ができるって具体的になに? (スコア:0)
例えば、そのテキストファイルで使用されている言語が判定できるってこと?
ENかDEかとか?
Re: (スコア:0)
そうだよ。
Re: (スコア:0)
さすがに誰か書くかなと思って見守ってましたがいたたまれないので書きますが
元論文ではtext classificationです
やってる内容は普通のテキスト分類タスクです
スラドではよくあるフェイクニュースです
Re: (スコア:0)
classificationができるならベクトル化もできるし、十分有用なのでは?
Re: (スコア:0)
#4498062です
ベクトル化の意味が分かりませんがもちろん有用だと思いますよ
言語判定よりさらに一般的なタスクをさせてるので
小説の作者推定 (スコア:0)
昔、小説の作者を推定するのにzip圧縮率が使えるという話があったような気がする
spam判定 (スコア:0)
昔のスラドの投稿システムで、投稿をgzip圧縮してみて圧縮率が高すぎたらspamと判定するというのがあった気がする
gzip圧縮度≒情報量 (スコア:0)
っていう原理なのね。言語の判定以外にもいろいろ応用がききそうな…?
微妙 (スコア:0)
gzipとそれ以外で評価方法が違って、評価方法を揃えると順位落ちるって話や
https://kenschutte.com/gzip-knn-paper/ [kenschutte.com]
訓練用データとテスト用データに重複があるって話
https://github.com/bazingagin/npc_gzip/issues/13 [github.com]
があって、現状はいまいち。
Re: (スコア:0)
>訓練用データとテスト用データに重複があるって話
こっちは今回のgzip手法の評価が不利な状況で良い評価出したってことでは?
kNNは影響受けないけど事前学習必要なDNNは重複あったほうが有利になってるはずだから
(自信ないから間違ってたらおしえてください)
Re:微妙 (スコア:1)
極端なケースでテストデータと訓練データが同じなら1近傍で正解率100%になるし、この論文は2近傍(と言いつつTop-2)なので有利になってると思う。
Re: (スコア:0)
#4498077です
確かにkNNも普通に影響受けますね
何でこんな誤解したのか自分でもわからなくて恥ずかしい
trainとtestが完全同一で2近傍だと2つのうち1つが確定で正解してますね
kNNとDNNどっちのほうが有利な影響を受けてるかですが
この状況だと直感的にはデータ構造が複雑であればあるほどkNNのほうがDNNに比べてアンフェアに有利になってしまう感じします
直感だけど
Re: (スコア:0)
しかもkNNのほうだけ2-NNじゃなくてTop-2になってるならtrainとtestが完全同一なら
正解率100%になるのでは?
trainとtestの重複が指摘されてるOODのほうはkNN有利になる気がしますね
Re: (スコア:0)
https://github.com/bazingagin/npc_gzip/issues/3 [github.com]
で
>3. This strategy is used for all non-parametric methods like W2V and SentenceBERT.
と主張してるのでkNNだけTop-2になってるってのは違うっぽいのかな?
何にせよTop-2だとtrainとtestの重複が無かったとしても、単純にリークになってるような気がします