
はてなキーワード:GIZAとは
きっかけは、学生時代にちょっとしたレポートでテキストの単語出現頻度を数えようとしたとき、「あれ、そもそも日本語ってどうやって単語に分けんの?」って疑問が出たところからだ。
英語ならスペースで切れるけど、日本語はそうはいかない。で、いろいろ調べて「形態素解析」って言葉にたどり着いた。
その瞬間にちょっとハマったんだよね。
辞書をもとに文を機械的に切り刻んで、品詞をラベル付けして、統計を取って、構文を推定する。まるで人間の頭の中を数理的に覗いているようで。
そこからMeCabとかJumanとかKyTeaとか、いろんなツールを触った。
Pythonでテキスト処理のパイプラインを組んだり、mecab-ipadic-NEologdを突っ込んで新語に対応させたり。
「言葉を数理で扱える」って発見が、ちょっとした中毒になった。
その頃はMosesとかGIZA++とか、ああいう統計翻訳系のツールも触ってたね。
単語アラインメントの確率モデルをいじって、「確率的に対訳辞書を作る」みたいな遊びをしてた。
とにかく、NLPの世界には「人間の言葉を数学で再現できるかもしれない」という変な魅力があった。
深層学習がまだ主流じゃなかったから、n-gramやHMM、CRFなんかが主戦場で、論文読むたびに確率式の展開を手で追ってた。
最初はPoC(Proof of Concept)しかやらせてもらえなかった。
感情分析とか、Stance Detectionとか、「この文は文法的に典型か非典型か」を判別するための言語モデルの構築とか、エンティティリンキング、質問応答(Question Answering)。とにかくNLPの典型的なタスクを一通り。
学術的には面白かったけど、現場で求められてたのは「論文再現じゃなくて、実用的な精度と速度」だった。
PoCで終わって、実装には至らない案件が山のように積み上がっていった。
あの時期、NLP業界全体が「技術的にはすごいけどビジネスには落とし込めてない」って空気だった。
でもさ、LLM(大規模言語モデル)が出てきてから、世界がひっくり返った。
正直、最初は「Transformerの延長だろ」と思ってたけど、数ヶ月で実感が変わった。
それまでチマチマ特徴量を設計して、分類器を学習して、F値を0.02上げるために夜中までパラメータをいじってたのが、全部一瞬で過去になった。
ChatGPTが出て、蒸留やファインチューニングでほとんどのNLPタスクが置き換えられるようになったとき、「あれ、今までの俺の知識、ほとんど無駄だったんじゃね?」って一瞬マジで虚無になった。
でも、そこで終わらなかった。プロダクション環境を任せてもらえるようになって、推薦システムとかパーソナライゼーションの設計をやるようになって、ようやく「ユーザーベクトルを使う」という文脈でNLPが再接続した。
単なるテキスト処理から、「テキストを媒介にして人間の行動を理解する」方向に進んだ。
埋め込み表現をベースにユーザーの嗜好を推定して、レコメンドやメルマガのパーソナライズをやる。
自然言語はもう目的じゃなくて、インターフェイスになった。そうやって初めて、「NLPがビジネスに食い込む瞬間」ってのを肌で感じた。
PoCなんてやってても金にはならん。動くシステム、回る仕組み、再現性のある成果、それを出せないと、どんなに学問的に立派でも意味がない。
でも、PoCの積み重ねがなかったら、今の設計思想もなかったと思う。無駄に見える実験が、実は土台になってる。
自然言語処理って、そういう「積層的な知識と挫折の積み上げ」が一番の資産なんだよな。
Permalink |記事への反応(15) | 06:37
anond:20220517213328を見て自分もやりたくなったので今更ですがやらせてください。
キリがないので1アーティスト1曲縛りで。
順位付けしようとしたけど結局好きなアーティスト順にしか並べてないことに気づいて発売順に並べることにしました。
以上、50曲。選曲とコメントで合計6時間ぐらいかかった気がする。でも楽しかった。