徳永拓之のレビュー一覧
-
Posted by ブクログ
Web+DB Press Plus 日本語入力を支える技術
変わり続けるコンピュータと言葉の世界
著:徳永 拓之
出版社:技術評論社
本書は、いくつかの時代をまたいで、日本語入力を、解説をしている
1977年最初のワープロが登場してから、半世紀足らずですが、驚異的な進化を続けています。
①から、③までを、本書はカバーしています。④は、現在のGPT-4の内容です。
①日本語がコンピュータに登場した時代
専用ワープロからPCのワープロソフトへ
汎用機で漢字プリンター登場
②PC普及、日本語フロントエンドプロセッサ時代
ジャストATOKvsマイクロソフトIME
③機械学習の登場と、言語モデルの登場(2012年ではここまで)
ディープラーニングの時代、Google日本語入力、音声認識等々
④そして、LLM(大規模言語モデル)、生成AIの時代へ
自然言語処理といわれる、自動翻訳、AIが報告書、小説を書く
■かな漢字変換について
入力された、かなを、形態素とよばれる、単位に分解して、ハッシュをつかって
かなと漢字に変換されていくアルゴリズムの解説書です
いかに速く、辞書を引いて、意味のある、文章に変換するか
メモリをうまく使うための、配列の使い方
文章を,木構造、グラフに分解して、再合成する
そのときの、速度を、コストという要素をもとに、優先度づけしていく
部分問題を解決するために、様々なアルゴリズムが投入されていく
さらに、言語モデルと、機械学習をつかって、変換の精度を高めていく
目次
はじめに
本書を読むに当たって
サンプルコードについて
用語について
謝辞
目次
第1章 日本語と日本語入力システムの歩み
1.1 コンピュータで日本語を扱うということ
1.2 日本語を入力するということ
1.3 日本語入力とかな漢字変換
1.4 日本語入力のはじまり
1.5 かな漢字変換のはじまり
1.6 単文節変換から連文節変換へ
1.7 2強時代の到来~統計・機械学習ベースのアルゴリズムへ
1.8 Web検索各社のかな漢字変換エンジンへの参入
1.9 携帯電話における日本語入力
1.10 まとめ
第2章 日本語入力システムの概観
2.1 ユーザ側から見た日本語入力
2.2 システム側から見た日本語入力
2.3 ひらがなの入力方法
2.4 文字入力フレームワークのアーキテクチャ
2.5 かな漢字変換エンジンのユーザインタフェース
2.6 かな漢字変換エンジンのモジュール構成
2.7 かな漢字変換器の作り方
2.8 まとめ
第3章 かな漢字変換エンジンに用いられるデータ構造
3.1 かな漢字変換とデータ構造
3.2 データ構造とは
3.3 かな漢字変換に用いるデータ構造
3.4 ハッシュテーブル
3.5 カッコウハッシュ
3.6 トライ
3.7 ダブル配列
3.8 LOUDS
3.9 その他データ構造のテクニック
3.10 ライブラリの入手について
3.11 まとめ
第4章 かな漢字変換システムの実装
4.1 かな漢字変換をどうやって実現するか
4.2 グラフの作成
4.3 最短経路問題を解く
4.4 単語間の線の距離を決める
4.5 学習用のデータを作る
4.6 まとめ
第5章 統計・機械学習のアルゴリズムとその応用
5.1 機械学習とは
5.2 二値分類
5.3 構造学習とかな漢字変換
5.4 構造化SVM
5.5 条件付き確率場(CRF)
5.6 統計的かな漢字変換とは
5.7 言語モデル
5.8 かな漢字モデル
5.9 変換精度を評価する
5.10 変換誤りへの対処
5.11 まとめ
第6章 日本語入力のこれから
6.1 日本語入力の未来予想
6.2 予測入力
6.3 かな漢字変換器の改良に向けて
6.4 今後の学習に向けて
6.5 まとめ
付録
A.1 数学的な基礎知識
A.2 確率の基礎知識
A.3 学習アルゴリズムの歴史
A.4 機械学習を分類する
A.5 いろいろな学習アルゴリズム
A.6 CRFの目的関数の勾配の導出
索引
出版社サイト
ISBN:9784774149936
判型:A5
ページ数:320ページ
定価:2570円(本体)
2012年03月05日初版第1刷発行 -
Posted by ブクログ
NLP系の本は敷居が高くて敬遠していた。
しかし、少しづつこの辺を理解できるようになってきたし、
ちょっと検索などでN-Gramや辞書などを知る機会があったりNLPerとの交流などを経験して、ついに読んでみた。
日本語入力における処理の問題や様々なグラフの考え方、ビタビアルゴリズムなど、以前に比べてだいぶすっと入ってくるようになった。
SVMや構造化SVM、CRFなどについても詳細に言及されていて良書。
まあ、執筆陣を見てもそれは伝わるか。
とりあえず、自身の成長を少しだけ感じられて良かった。
■目次
★第1章 日本語と日本語入力システムの歩み
1.1 コンピュータで日本語を扱うということ
1.2 日本語を入力するということ
1.3 日本語入力とかな漢字変換
1.4 日本語入力のはじまり
1.5 かな漢字変換のはじまり
1.6 単文節変換から連文節変換へ
1.7 2強時代の到来~統計・機械学習ベースのアルゴリズムへ
1.8 Web検索各社のかな漢字変換エンジンへの参入
1.9 携帯電話における日本語入力
1.10 まとめ
★第2章 日本語入力システムの概観
2.1 ユーザ側から見た日本語入力
2.2 システム側から見た日本語入力
2.3 ひらがなの入力方法
2.4 文字入力フレームワークのアーキテクチャ
2.5 かな漢字変換エンジンのユーザインタフェース
2.6 かな漢字変換エンジンのモジュール構成
2.7 かな漢字変換器の作り方
2.8 まとめ
★第3章 かな漢字変換エンジンに用いられるデータ構造
3.1 かな漢字変換とデータ構造
3.2 データ構造とは
3.3 かな漢字変換に用いるデータ構造
3.4 ハッシュテーブル
3.5 カッコウハッシュ
3.6 トライ
3.7 ダブル配列
3.8 LOUDS
3.9 その他データ構造のテクニック
3.10 ライブラリの入手について
3.11 まとめ
★第4章 かな漢字変換システムの実装
4.1 かな漢字変換をどうやって実現するか
4.2 グラフの作成
4.3 最短経路問題を解く
4.4 単語間の線の距離を決める
4.5 学習用のデータを作る
4.6 まとめ
★第5章 統計・機械学習のアルゴリズムとその応用
5.1 機械学習とは
5.2 二値分類
5.3 構造学習とかな漢字変換
5.4 構造化SVM
5.5 条件付き確率場(CRF)
5.6 統計的かな漢字変換とは
5.7 言語モデル
5.8 かな漢字モデル
5.9 変換精度を評価する
5.10 変換誤りへの対処
5.11 まとめ
★第6章 日本語入力のこれから
6.1 日本語入力の未来予想
6.2 予測入力
6.3 かな漢字変換器の改良に向けて
6.4 今後の学習に向けて
6.5 まとめ
★付録
A.1 数学的な基礎知識
A.2 確率の基礎知識
A.3 学習アルゴリズムの歴史
A.4 機械学習を分類する
A.5 いろいろな学習アルゴリズム
A.6 CRFの目的関数の勾配の導出 -
Posted by ブクログ
ネタバレ[読んだ理由]==================
タイトルが目についたので。最近の日本語変換ソフトがどういう実装になってるのかの参考になればと思って読んでみた。
[読んだ後の感想]==============
巷に流通しているIMEソフトの実装がどうなってるのかの具体的な話はあまりない(そんなの各企業の秘密だから当然といえば当然か)。それよりは辞書検索やデータ構造、統計機械学習などに用いられ得るポピュラーな手法をひと通り紹介してくれている感じ。大学の学部生が研究の参考に読むのとかに良さそうな内容(巻末の「付録」もそんな感じだった)。
[読書録]======================
■第一章:日本語と日本語入力システムの歩み
連文節変換:ひらがなで分をそのまま入力し、それをそのまま変換する方法。
・単語間の繋がりやすさや、文節自体の文節っぽさをスコア化…n文節最長一致法(接続強度法の1つ)
・隣接する単語の間の繋がりやすさをスコア化…ビタビアルゴリズム(動的計画法の1つ)
parameterのチューニングが肝心。90年代を境に人出によるルール整備から、統計・機械学習ベースに移行。ATOKはATOK2008から。
■第二章:日本語入力システムの概観
日本語入力システムを実装する場合、IMEはアプリケーションとは別プロセスにするメリットが大きい。しかし日本語以外のほとんどの言語では、そこまでする必要はない。日本語だけのためにどこまでやるかは要検討。
■第三章:かな漢字変換エンジンに用いられるデータ構造
セット:ある値が登録されているかどうかを確認出来るだけのデータ構造
マップ:あるキーが登録されている場合はそのキーに対して紐付けられた値を返すことができるデータ構造
ハッシュ値衝突の処理
・オープンアドレス法:2個目のキーに対しては別の場所に格納する。線形探査法など。
・チェイン法:キーの衝突した部分はリンクリストで持つ。
・カッコウハッシュ:先に入っている要素の方をどかす
よく使われるハッシュ関数:FNVハッシュ、murmurハッシュ
トライ:ツリー(木)の一種。テーブルや、ダブル配列、LOUDS、などで実装。
■第四章:かな漢字変換システムの実装
まずグラフを構築し、次にそのグラフの最短経路問題を解く。
ノードやエッジのスコアの学習方法:構造化パーセプトロン、
■第五章:統計・機械学習のアルゴリズムとその応用
構造学習問題:出力どうしの間に依存関係があるような問題。
変換精度の評価:適合率と再現率
■第六章:日本語入力のこれから -
Posted by ブクログ
コンピュータの普及した今、いや今だからこそ
まだまだ変化を続ける日本語入力。
自然言語の特性として、絶対的な解法は存在しないのだが
それでもその時その時の実用の範囲で様々な技術が活用されている。
データ構造とアルゴリズムあたりの話は単純に面白かったけど、
その次の章は数式が多くて正直ついて行けなかった。
自分には数学能力が不足してるようだ。
分類や統計や評価なんてのは、チェスや将棋のAI技術もそんな感じなのだろうかと想像する。
資源を活かすためには、いかに切り捨てられる計算を切り捨てるか。
不要だから捨てるのではなく、効果が少ないからと割りきる。
誰もが利用しているシステムで、そんな不安定な試行ふぁ続けられてるのは面白い。
今後も技術的にどんどん変わっていくのだろうけど、
どんなふうに人の感覚まで近づいていくのか、はたまた人の感覚をも超える時が来るのだろうか。
個人がおいそれと足を踏み入れられる業界ではないけれど、
そのアプローチは大いに参考になる。
数式は自分では理解しきれなかったけど、サンプルの擬似コードも随所にあるので時間を置いて読み返してみたいと思う。