F-nameのブログ

はてなダイアリーから移行し、更に独自ドメイン化しました。

文字列・テキスト処理の基礎(自然言語処理第2回)

アルゴリズムは理解するのが難しそうだけど、高度な数学は使われていないらしい。

 

コンピュータの中で文字やテキストがどう扱われているか。
日常ではデジタル化されたtextが溢れている。多くの人の作業に。テキストはどう表現されているか。書籍などでは文字そのものが並んでいるが。電子テキストはコンピュータではどのように扱われている?0又は1、ビット。8ビットを1バイト。1つの文字は1バイトから数バイト。文字コード。63年に制定されたアメリカでのASCIIが基礎。7ビットで1つの文字。ASCIIの一覧。16進数。0から15まで。10をA、などとする。制御文字領域。開業や1文字削除など。様々な文字コード。日本語の文字。普通に用いれられている文字は数千以上。1バイトでは256文字しか無理。2バイトを使う。JIS漢字。78年に制定。ASCIIの制御文字領域は使わない。常用漢字。10年に定められた2136字。使用頻度の高い第1水準。第2水準。文字コードが違う場合は?複数の文字コードを使用する場合。エスケープシーケンス。この先はJIS漢字。JISコード。ASCIIコードの始まり。8ビット目を用いる日本語EUC。ASCIIはそのまま、JIS漢字は8ビット目を1とする。EUCはUNIXで元々は用いられた。文字コードに限界が。世界中の文字を統一的な文字コードとしてUnicode。80年代に提唱され国際標準との一致が図られている。内部コードとしても採用されている。16進数4桁。統合漢字。効率が悪い問題が在る。最も用いられている英語が2倍になってしまう。文字毎に変化させる解決案としてUTF-8。漢字は3バイトで表現。大文字のAはASCIIの範囲なので1バイト。α。2バイト表現。石の文字のUnicodeなど。
漢字の話。古代の中国から輸入。日本でも中国でも様々な変化が。50年代に簡体字。現在の中国で用いられている。従来の漢字は繁体字。台湾香港などで。日本の漢字とは複雑な関係。文字毎に同じ文字だったり違ったり。日本の漢字と簡体字繁体字が同じ。3000以上。「雪」。Unicodeでは文字コードも同じ。日本の漢字と繁体字が同じで、簡体字が違う。「愛」など2000以上。日本の漢字と簡体字が同じものもある。日本でも旧字体として残っている。日本の漢字と繁体字簡体字が全く違うことも。UTF-8コードも調べられる。
単語を調べる時。国語辞典はあいうえお順。英和辞典はアルファベット順。辞典で単語を調べることが出来る。考えられる順序を辞書式順序。順序関係を定義して並べるのはデータ処理の基本。数の大小によって定義を。辞書式順序。文字コードの値を。大文字のAと小文字のb。Aの方がbより小さい。前から順に比較する。異なる文字が現れる前に一方の文字列が終われば、短い文字列の方が小さいとする。
文字列の探索。単語について取り出して処理を。システムの持つ辞書を調べる時に。コンピュータも辞書を引く。キー、単語に関する情報、訳語に相当するものをバリュー。高速に処理するハッシュ法。文字列に限定しない探索アルゴリズム。コンピュータ科学の基礎は前提とする。文字列の探索。各文字コードで表せる。数字で表現される。キーの値がIである時。キーの取りうる値は非常に多い。何らかの形で整数にマッピング。キーのマッピングを行う関数をハッシュ関数。ハッシュ表。別のキーがたまたまマッピングされる問題が。衝突。チェイン法。ハッシュ関数。余りを求める関数。0から256の257、その数で割る。ポインターによるリストで管理。順にポインタを辿る。ハッシュドポテト。細かく切り刻む。キーを切り刻んでハッシュ表に格納。キーに対応するバリューも格納する。問題によってはハッシュ法が効率が悪い場合も。日本語を単語に。形態素解析。文の文字列の中から辞書にあるものを全て探す手順が必要。車、来る、待つ。ハッシュ法では文の先頭から始まるすべての文字列を調べる。すべての部分文字列について探索。大変効率の悪い処理に。新聞は20文字から30文字程度。約200回の探索。これは大変。トライ法。木構造の形でキー構造を管理。与えられたキー集合。各キーに対して、子ノードへの。来る、というキー。ノードが作られてマークをつける。実際にはポインタを作ってバリューを格納する。車というキー。キー集合中にキーが無ければポインタは作られない。木構造のデータ、簡単に探索できる。くるまでま、という単語を探す必要はなくなる。効率的に探せる。単語に分割する時には可能な単語を見つけた上で、どれが確からしいか判断する。
文字列テキスト処理の基礎。コンピュータの中で処理する基礎の基礎。複雑な仕組みに驚く。文字コードは決まりごと、約束事、国際標準になっていることで正しく行われる。たまに不具合もある。文字コードの種類の認識が上手くいかない場合。

 

自然言語処理 (放送大学教材)

自然言語処理 (放送大学教材)