Download presentation
Presentation is loading. Please wait.
Published byしげじろう おいもり Modified 約 8 年前
2
基本編の用語説明 その2 エディタと日本語入力
3
エディタ エディタ (editor) :文書を作成、編集する アプリケーションソフトウェア 教育用計算機システムのエディタは、 テキストエディット テキストエディット 基本的な編集方法はここここ カーソル:文字が入力される位置を表している目印 カッペ、コピペ カッペ、コピペ 検索と置換 検索と置換 編集結果の保存 編集結果の保存 文系のみなさんには興味はないだろうが emacs というエディ タもある emacs
4
さて、いよいよ日本語入力だが。。。 文字コード: コンピュータの内部 対応 画面やキーボードで見える文字 ( 2 進数で表現) 文字コード (人間に読める:フォント) フォント:画面にみえる字の形 Unicode: 世界の主な文字を文字集合として 16 ビットの 文字コード詳しくはここここ アスキーコード: 7 ビットで英数字を表す文字コード ビット: 2 進数 1 桁のこと。計算機で情報を表す最小単位 漢字コード:漢字は 8 ビットでは表現できないので、 16 ビット以上使うコードになる 漢字コード ShiftJIS(SJIS), EUC, JIS などが混在。 ShiftJIS(SJISEUCJIS これらのコードが混在した状態でいったいどうやって文字コード を認識するのだろうか?
5
ISO 646 (ASCII) 文字セット 0123456789ABCDEF 2!“ #$ %&‘()*+,./ 30123456789:;<=>? 4 @ ABCDEFGHIJKLMNO 5PQRSTUVWXYZ[\]^_ 6`abcdefghijklmno 7pqrstuvwxyz{|}~
6
JIS 漢字 sjis 00 21 5E 5F 7E 81 9F E0 EF 第 2 バイト 00 21 40 7E 80 JIS カタカナ JIS X0201 ここは 1 バイト 文字 シフトJIS ( sjis ) の漢字領域のシフト この行き来( 1 バイト 文字と2バイト文字 の行き来)は特殊文 字列( ISO2022 エス ケープシーケンス) で行う JIS コード SJIS コー ド
7
MacOS での日本語入力はここここ 全角と半角 – 半角カタカナや全角英文字は避けましょう。
8
ここから先は難しいので、根性の無い人は、 これ以上進んではいけません: コードの歴史 ASCII(American Standard Code for Information Interchange) ANSI ISO 646 = 95 文字のラテン文字 アルファベット+数字+特殊文字 制御コード: LF, CR などの表示制御と ACK,DEL などの通信制御 、など JISX0201 では ASCII の特殊文字の一部が異 なる(¥の使用など)
9
日本語コードの話 1 バイトでは最大256文字 字種の多い言語では多バイトコード 1 バイトコードで事足りる欧米言語と多バ イトコードが必要なアジアの言語とのバ トルグランド 文字コードのような基本的情報インフラ の標準化は社会への影響莫大
10
ISO2022 エスケープシーケンスにより文字を拡張 するための各種のメカニズム 各国の ISO646 (アメリカなら ASCII 、 日本なら JIS X 0201 ) を別個の文字集合 として指定し切り替えて使える。 ちなみに西ヨーロッパの文字では、 ISO8859/1
11
ISO2022 エスケープシーケン ス 変化先の文字コードエスケープシーケンス ASCIIESC ( B JIS X0201 ( ASCII 対 応部分) ESC ( J JIS カタカナ ESC ( I JIS 0208ESC $ B
12
JISコードの歴史 JISX0208(1978) 当時は JISC6226 カタカナ(いわゆる 半角カタカナ)および全角英字はいまや 無用の長物ないしは有害 半角カタカナと全角英字は 97JIS では使わ ないことに決めた シフトJIS 78JIS 83JIS 90JIS 97JIS
13
内部状態を持つ文字コードと 持たない文字コード 1 バイトコードの ASCII は内部状態なし 2バイトの内部状態なしコードを目指し たのがユニコード エスケープシーケンスのある文字コード ISO2022 に則るコードは内部状態を持つ。 内部状態を持つと何がまずいのか?
14
JIS コードにおける漢字 78JIS の第1水準 2965文字=都道府 県 名、市町村名を全て記述で きる。 第2水準 3384 文字 JISX 0212 の補助漢字 5801文字
15
日本語EUC Unix で常用される 2 バイトコード – 第 1 バイト最上位ビット=0 JIS X0201 ( ASCII 対応部分) – 第 1 バイト最上位ビット=1 かつ第 2 バイト最上 位ビット=1 JIS 漢字 – 第 1 バイト= 8E かつ第 2 バイト最上位ビット=1 JIS カタカナ – 第 1 バイト= 8E かつ第 2 バイト最上位ビット=1 かつ第 3 バイト最上位ビット=1 JIS 補助漢字 上位ビットを見るだけで字種を判別できる
16
シフトJIS JISX0208で使用していない文字を漢 字の 1 バイト目に使う。すなわち、 1 バイト目、 – 最上位ビット= 0 JIS X0201( 英数字など ASCII 対応部分) – 最上位ビット= 1 JIS カタカナ –#x81-9F ( JIS X 0201 では未使用), E0-EF ( ISO2022 の制御符号部分) 漢字 2 バイト目は #x40-EF 合計24576文字 台湾、中国、韓国版として Big5, GBK,UHC
17
JIS 漢字 00 21 5E 5F 7E 81 9F E0 EF 第 2 バイト 00 21 40 7E 80 JIS カタカナ JIS X0201 シフトJISの漢字領域のシフト
18
漢字の形 「包摂」 とは 異なる字形を同一視の 基準のこと。 例えば、「高」や「富」 や「国」のふたつの字形など そもそも字形のぶれをきちんと定義でき るのか? 計算機技術によって解決できる種類の問 題?
19
文字と文字コードと字形の関係 文字 文字コード 字形 字形のゆれ 包摂基準で規定 文字と字形の 関係は複雑怪奇 「島」「嶋」 目的に応じて決める
20
情報検索という目的だとどうなるか 人名を検索したいなら「嶋」と「島」は 別の文字コードにしておくべき A と a が同じ文字コードでは困るこ ともあるので別のコードに 字形が増えると文字コードが増える。検 索ではいくつかの文字コードを同一視す るようなプログラムを書く
21
用字系と使用言語の関係 「どの言語で書かれたテキストか」と 「どの用字系が使われているか」を区別 することも多言語処理では重要 同じ字と思しき字でも使われる用字系が 違うと異なるコードが割り振られるべき。 ユニコードのCJK(日中韓統一漢字 コード)は、3ヶ国語の漢字を字形が似 ているという理由で同じコードに割り当 てている。
22
左右 縦横 文を 右から左に書くか、 左から右に 書くか 文を縦書きするか、横書きするか このような問題は文字コードの問題か、 言語の問題か、用字系の問題か 平文( plain text ) vs 構造化文書
23
Plain Text vs 構造化文書 Plain text は単なる文字コードの連なり。 表示や論理的構造を持たない。 ネットワークエチケットのひとつにメー ルは Plain text で書くということがある。 構造化文書はタグによって、文書の論理 構造や表示の指示、あるいは使用言語な どまで指定したもの。 LaTex , SGML 、 XML 、 HTML など
24
自動文字コード認識 ISO2022 のエスケープシーケンスを探す JIS 、 SJIS 、 EUC などを仮定して復元。日 本語らしい言語統計になるのが正しい文 字コード 言語統計とは? 文字の頻度統計、 N-gram 統計、単語の頻 度
25
文字コード変換ツール( UNIX) nkf - 変換先コード ファイル名 変換先コードは j 、 s 、 e 、 m
26
便利な情報リソース 情報通信辞典: http://www.e-words.ne.jp/ 情報通信辞典:
27
使用言語の推定 あるテキストの文字コードが分かると次 はそのテキストが記述されている言語を 推定 使用言語推定 – 言語特有の文字コード、文字列パタン、 – 言語固有の文字出現頻度、 – 言語固有の文字列 (n-gram) 出現頻度 – などによって判断
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.