&aname(KJminiDicTop);
[[HOMEへ戻る>iPhoneで韓国語]]  [[開発歴へ戻る>開発歴]]&br;
#contents

*WEB版の開発 [#v3528b1b]
 iPhoneでもsafariを使えばWEBサイトを見ることはできますが,文字の大きさやレイアウトなどの点で,必ずしも見やすいとは言えません。WEB版ではその点をiPhoneに合うように工夫するつもりです。&br;
**2011年5月 [#sf9f12f3]
***2011/05/29 タイトル画面を作成 [#qfe120ae]

|1.タイトル画面| |2.カウンター設置画面|
|http://iphone.saloon.jp/image/KJminiDicV01B.png| |http://iphone.saloon.jp/image/KJminiDicV02B.png|

現段階では,検索窓に文字を入力して検索ボタンをクリックすると,検索窓に入力された文字をそのままアラート画面に表示するだけです。&br;
ハングルを入力すればそのままハングルが表示されます。&br;
全体のスタイルはcssファイルで定義しています。&br;
SafariとChromeでは,タイトルバーがきちんとグラデーションで表示されますが,どういうわけか,IEとFirefoxではうまく表示されません。従って韓日小辞典というタイトルも灰色の地に白文字なのでほとんど読み取れません。(当面の対策として文字を明るい緑にしました)&br;
&br;
[[⇒実際のタイトル画面にジャンプ>http://iphone.saloon.jp/KJminiDic/inpAlertV4.html]]&br;
&br;
[[00001.cssの定義]]解説&br;
[[00002.html本体]]解説&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]
***2011/05/30 カウンターを設置 [#da7e5fc3]
ファイルの拡張子をphpにし,[戻る]メニューの横にカウンターを設置しました。&br;
カウンターのルーチンもphpで記述しています。&br;
&br;
[[⇒カウンター設置画面にジャンプ>http://iphone.saloon.jp/KJminiDic/inpAlertV5.php]]
&br;&br;
[[00003.カウンターを設置]]解説&br;
同じIPアドレスから連続してアクセスした場合は&br;
カウンタの値が増えない仕様になっています。&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]
&br;
**2011年6月 [#f04ce267]
***2011/06/02 コードの変換 [#ge95f865]

|3.コード変換画面| |4.インデックスファイル決定画面|
|http://iphone.saloon.jp/image/KJminiDicV03B.png| |http://iphone.saloon.jp/image/KJminiDicV04B.png|

ハングルを入力すれば,それを10進数で表記したUnicodeに変換して表示します。&br;
ただし,ハングルが入力されることを想定してプログラムを組んであるので,ハングル以外の文字を入力すると正しく変換されません。&br;
コード変換に際しては,以下のサイトを参考にしました。&br;
「本当は怖い文字コードの話:第4回」
http://gihyo.jp/admin/serial/01/charcode/0004 &br;
&br;
[[⇒コード変換画面にジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV03.php]]

[[00010.コード変換が必要な理由]]&br;
[[00011.入力データの受け取り]]&br;
[[00012.コード変換のアルゴリズム]]

***2011/06/04 インデックスファイルの決定 [#u59dc8db]
10進数で表記したUnicodeに基づいて,検索すべきインデックスファイルを決定します。&br;&br;
[[⇒インデックスファイル決定画面にジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV04.php]]&br;

[[00021.インデックスファイルを利用する理由]]&br;
[[00022.インデックスファイル決定のアルゴリズム]]&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/09 エディターについて [#n620c8b9]
 大切なことを書き忘れていました。&br;
 Webサイトを構築するには,エディターが必要です。ワープロソフトを流用することで済ませることもできないわけではありませんが,起動や文書の保存に時間がかかったり,プログラミングをする上で不必要な動作をすることが多く,エディターを準備するほうがお勧めです。&br;
 市販のエディターやフリーのエディターの中には優れたものがたくさんありますが,重要なポイントは,ハングルの入力が可能なものでなければなりません。ハングルが入力できないエディターしか準備できなければUnicodeを直接書き込むという方法もありますが,視認性が非常に悪いのでお勧めできません。例えば,次のコードが何を表しているのかすぐにわかる方はいらっしゃらないと思います。&br;

  <例>&#52264;&#48324;&#51060;&#45208; &#54200;&#44204;&#51060;
 &#46972;&#44256; &#54616;&#45716; &#44163;&#51008; <b>&#47924;&#51648;
 &#44032;</b> &#47564;&#46308;&#50612;&#45236;&#45716; &#44163;&#51004;
 &#47196;, &#44536;&#44163;&#51012; &#46832;&#50612;&#45336;&#44592;
 &#50948;&#54644;&#49436;&#45716; &#44277;&#51316;&#54616;&#45716;
 &#44600;&#48150;&#50640; &#50630;&#45796;. (教保0505, p.40)

 一番手っ取り早くすませるにはMacであればテキストエディター,Windowsであれば標準で備わっている「メモ帳」を利用することです。これらのエディターは,ハングルの入力が可能です。&br;
 通常のワープロソフトとほぼ同じ操作法なので,ここでエディターの使い方を解説することは致しませんが,保存の際にはデフォルトのANSIではなく,必ずunicodeまたはutf-8で保存してください。&br;

***2011/06/10 インデックスファイルの作成 [#e1b876c7]
Web辞典の見出し語だけを集めたファイルをインデックスファイルと呼びます。&br;
今回のミニ辞典では,インデックスファイルとして,次のような構造を設定することにしました。1つの見出し語に対して1つのファイルを割り当てることを意味しています。
【注】先頭の<>は全角で書いてありますが,実際は半角です。

<>가<>ga.txt<>&br;
<>가게<>gage.txt<>&br;
<>가게1<>gage1.txt<>&br;
<>가게2<>gage2.txt<>&br;
<>가까이<>gaGGaqi.txt<>&br;
<>가깝다<>gaGGabda.txt<>&br;

 もちろん,これ以外の構造もありうるわけで,いくつかの見出し語を1つのファイルに書き込むことも可能です。その場合にはファイル名の後に見出し語の識別記号を付けます。例えば,次のようになります。&br;

<>가<>ga.txt<>ga<>&br;
<>가게<>ga.txt<>gage<>&br;
<>가게1<>ga.txt<>gage1<>&br;
<>가게2<>ga.txt<>gage2<>&br;
<>가까이<>ga.txt<>gaGGaqi<>&br;
<>가깝다<>ga.txt<>gaGGabda<>&br;

 もう一つ注意すべき点があります。Unicodeあるいはutf-8で保存する際には,「BOM無し」というモードにしておく必要があるという点です。BOMというのは,ここからutf-8コードが始まるという印です。テキストデータの場合は何の問題もありませんが,今回のようにデータを一対一で照合する場合は,先頭のデータがハングルで始まっている場合は,ハングルとして認識できません。そこで,各行の先頭にダミーデータを入れておく必要があります。そうしないと,先頭の見出し語が検索できなくなります。Windowsに標準で備わっている「メモ帳」はutf-8で保存できるのですが,「BOM無し」にできないために,ダミーデータを添えて保存することにしました。ダミーデータとは上に示す<>です。これがあると,要素が何もない配列が発生するので,無駄なデータが生じますが,OSに標準で備わっているエディターさえあれば,どんな環境でも開発できるという点を重視して,ダミーデータ付きで保存することにしました。&br;
【注】先頭の<>は全角で書いてありますが,実際は半角です。

***2011/06/07 インデックスファイルの読み込み [#t6bf5574]
検索枠に入力された単語に基づいて決定したインデックスファイルを読み込みます。&br;
|5.インデックスファイルの読み込み|
|http://iphone.saloon.jp/image/indexFileV2.jpg|
&br;
[[⇒インデックスファイル読み込み画面にジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV05.php]]&br;

[[00023.インデックスファイルの読み込みモジュール]]&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/11 インデックスファイルの検索 [#r1aef543]
検索枠に入力された単語がインデックスファイルの中に含まれているか否かを判定します。&br;
&br;
[[⇒インデックスファイル検索プログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV06.php]]&br;

[[00024.インデックスファイル検索モジュール]]解説&br;
この解説は,2011/06/12に追加しました。&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/12 辞書データの読み込みと表示 [#k4ae34c2]
|6.辞書データの読み込みと表示| |7.データが存在しない場合の表示|
|http://iphone.saloon.jp/image/gadaV2.jpg| |http://iphone.saloon.jp/image/NodataV2.jpg|
&br;
辞書データの表示プログラムは非常に簡単です。&br;
検索枠に入力した単語がインデックスファイルに含まれていれば,その単語に対応するファイルを読み込んで内容を全て表示するだけです。辞書データのファイルはutf-8またはUnicodeで保存しておかねばならないことは言うまでもありません。&br;
辞書データのファイルはHTMLのタグを使用できるので,文字の色を変えたり,ボールドで表示するなど,フォントの指定ができるだけでなく,URLエンコードを利用したジャンプ先の指定も可能です。&br;
なお,見出し項目だけが存在して,内容を記述したファイルが存在しない場合は,「データ準備中です」と表示されます。&br;
&br;
[[⇒辞書データ表示プログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV07.php]]&br;

[[00025.辞書データの読み込みと表示モジュール]]解説&br;
この解説は,2011/06/13に追加しました。&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/13 前後の項目の表示 [#r7ee0dbe]
|8.前後の項目の表示|
|http://iphone.saloon.jp/image/ZengoV2.jpg|
&br;
紙媒体の辞書は,検索したい単語だけでなく,見開きのページをざっと眺めることができます。この点,Web辞典は一覧性に欠けるので,それを補うような手立てを考えておく必要があります。&br;
韓日ミニ辞典では,項目を検索するために読み込んだインデックスファイルを利用して,辞書データの表示内容を挟み込むように,前後の5項目ずつをURLエンコード付きで提示することにします。つまり,下線付きで表示されるので,それをクリックすれば当該の項目にジャンプします。&br;
&br;
[[⇒前後の項目の表示プログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV08.php]]&br;

[[00026.前後の項目の表示モジュール]]解説&br;
前項の「辞書データの読み込みと表示モジュール」に少し追加します。&br;
この解説は,2011/06/14に追加しました。&br;
&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/15 前後の項目の拡張表示 [#c34520e6]
前項では,検索された項目が含まれているインデックスファイルに登録されている範囲内で,前後の項目を5個ずつ表示する仕様になっていました。この方式はプログラムが簡単に組めるのですが,パッチムの部分が変化して,インデックスファイルが変わると,それに続く項目が表示できません。&br;
そこで,最初の項目と最後の項目の場合には,次のインデックスファイルを検索する仕様に拡張することにしました。&br;
&br;
[[⇒前後の項目の拡張表示プログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV09.php]]&br;

[[00027.前後の項目の拡張表示モジュール]]解説&br;
前項の「前後の項目の表示モジュール」に2つの関数呼び出しを追加します。&br;
このモジュールでは,インデックスファイルを1つだけ前後に移動する仕様になっていますが,前後の項目が5個に満たない場合は,さらに移動する仕様に拡張することもできます。この点については皆さんにお任せします&br;
この解説は,2011/06/16に追加しました。&br;
[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/17 同綴語と同形異語 [#s45a1f90]
 語彙教育では,通常「同音異義語」と呼ばれていますが,これには3つのタイプがあります。1番目は,page(ページ〜給仕)のように,綴り字も発音も等しいけれど,別の単語と考えられているもの,2番目は,lead(導く)〜lead(鉛)のように,綴り字は等しいけれど発音が異なるもの,3番目は,son(息子)〜sun(太陽)のように,綴り字は異なるけれど発音が等しいものです。&br;
  日韓Web辞典で扱う同綴語とは,発音は考慮にいれず,綴り字が等しいものを言います。さらに,同形異語という概念も導入します。同形異語とは,油谷幸利(1989)「朝鮮語の同形異語について」『朝鮮学報』第133輯(朝鮮学会)で定義された概念で,以下のように説明されています。&br;

>同形異語とは,「本来異なる語形を持つ語が,合成語を形成したり,語尾や助詞などを取ることによって同形になったもの」を指す。&br;

 日本語で言うと,「おしょくじけん」(お食事券〜汚職事件)のようなものです。韓国語では,最も簡単な例として가게を挙げることができます。従来の辞書であれば,「店」という名詞しか検索できませんが,実際のテキストには,他の分析が可能な用例を見出すことができます。試しに,韓日ミニ辞典で가게を入力してみてください。&br;
 もう少し複雑な例を見てみましょう。皆さんは가지만をどのように分析しますか。韓国語を習い始めたばかりで,助詞しか知らなければ,「種類だけ,枝だけ,茄子だけ」などと訳すと思われますが,語尾を習った段階であれば,「行くが」と訳すこともありうるでしょう。これらの訳語のうちでどれが正しいのかは,가지만を見ただけでは決定できず,前後関係を確認してはじめて決定できます。そこで,私が開発しているWeb辞典には全ての可能性を列挙しておくことを考えています。&br;
 韓国語学習者にとって必要な情報とは,このようなものも含まれているはずです。韓国で出版された国語辞典を置き換えただけの辞書にはこのような情報を期待することはできません。母語話者にとって,가지만が名詞の가지と助詞の는に分析できるだけでなく,가다の語幹である가と語尾の지만に分析できることは常識であって,わざわざ辞書に登録するまでもない情報だからです。  신자는は宗教の話をしているのであれば「信者は」ですが,靴の話をしているのであれば「履こうという」の方が適切な訳語になると思われます。しかし,初級段階の学習者にとって,後者の訳語を得るのは至難の技です。同形異語とは,初級段階の学習者であっても適切な訳語が得られるようにするための装置であると考えています。&br;

[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/18 形態素解析1(体言+助詞の場合) [#aa42961d]
 形態素解析とは,入力された文章を単語(より正確には形態素:意味を持つ最小の言語単位)に分割し,それぞれの形態素に品詞情報を付与するという作業を行うものです。&br;
 通常は何十万語という大規模な辞書を準備しておいて,その辞書との照合を行いながら解析作業を進めますが,日韓ミニ辞典のシステムは,アルゴリズムのみで形態素解析を行うことを大きな特徴としています。&br;
 以下のリンクをクリックして,「책이, 개가, 집에」などと入力してみてください。&br;

[[⇒形態素解析1を含むプログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV10.php]]&br;

[[00030.韓国語形態素解析の考え方]]&br;
[[00031.韓国語形態素解析モジュール]]解説1(2011/06/19に追加)&br;

[[ページTOPへ戻る>#KJminiDicTop]]

***2011/06/22 形態素解析2(用言+語尾の場合) [#oa7e96a5]
 第二段階として,用言+語尾の形態素解析を考えてみましょう。これも第一歩として,用言語幹に1文字の語尾が接続したものから分析を始めます。
 以下のリンクをクリックして,「나는, 먹는, 받을, 있고」などと入力してみてください。&br;

[[⇒形態素解析2を含むプログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV11.php]]&br;
(2011/06/23に追加)&br;

[[00032.韓国語形態素解析の考え方-2-]]&br;

[[ページTOPへ戻る>#KJminiDicTop]]

***予定 形態素解析3(합니다体現在の分析) [#b91f3755]
[[ページTOPへ戻る>#KJminiDicTop]]

***予定 形態素解析4(해요体現在の分析:規則活用のみ) [#o3c14e2d]
[[ページTOPへ戻る>#KJminiDicTop]]

***予定 形態素解析5(해요体現在縮約形の分析:規則活用のみ) [#hf05dd55]
[[ページTOPへ戻る>#KJminiDicTop]]

***予定 形態素解析6(過去終止形の分析:規則活用のみ) [#z83c907f]
[[ページTOPへ戻る>#KJminiDicTop]]

***予定 形態素解析7(接続語尾の分析:지만, 면, 면서, 려고, 러, など) [#j3ba1351]
[[ページTOPへ戻る>#KJminiDicTop]]

***予定 用言の活用形の表示 [#d5d4e481]
[[ページTOPへ戻る>#KJminiDicTop]]

**見出し語 [#c98d7f3e]
가 で始まる見出し語 35項目&br;
각 で始まる見出し語 2項目(延べ 37項目)&br;
간 で始まる見出し語 4項目(延べ 41項目)&br;
갈 で始まる見出し語 3項目(延べ 44項目)&br;

[[ページTOPへ戻る>#KJminiDicTop]]

**分析可能な助詞 [#r6c74fd3]
 2011年6月 : 가/이, 는/은, 를/을, 에, 도, 만&br;

[[⇒形態素解析1を含むプログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV10.php]]&br;

[[ページTOPへ戻る>#KJminiDicTop]]
**分析可能な語尾 [#jb1c0952]
 2011年6月 : 게, 고, 는, 던, 은, 을&br;

[[⇒形態素解析2を含むプログラムにジャンプ>http://iphone.saloon.jp/KJminiDic/KJminiDicV11.php]]&br;

[[ページTOPへ戻る>#KJminiDicTop]]
*アプリ版の開発 [#lae5fe64]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS