310 likes | 436 Views
ミニプロジェクト 「辞書」. simitaka@SING 親: mitsuya. 目的. 複数の辞書を利用 状況ごとに辞書を選択 ユーザの学習支援. 設計. DOG. 設計概要. ×. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. DOG. 設計概要. ○. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. 犬. キャッシュ. 設計概要. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. 辞書選択ポリシ. 優先順位をユーザが設定 状況によって対応.
E N D
ミニプロジェクト「辞書」 simitaka@SING 親:mitsuya
目的 • 複数の辞書を利用 • 状況ごとに辞書を選択 • ユーザの学習支援
DOG 設計概要 × CD-ROM WEB辞書 NDTPサーバ 辞書クライアント
DOG 設計概要 ○ CD-ROM WEB辞書 NDTPサーバ 辞書クライアント
犬 キャッシュ 設計概要 CD-ROM WEB辞書 NDTPサーバ 辞書クライアント
辞書選択ポリシ • 優先順位をユーザが設定 • 状況によって対応
検索結果のキャッシュ • 調べた単語の意味、回数をクライアントで保持 • オフラインで実行可能 • パフォーマンス向上 • 学習支援への利用 • 検索回数の表示 • 覚えたページを破いて食べる • 辞書データは変わらない
対応した辞書 • CD-ROM搭載サーバ • エコーサーバの応用 • ALCのWeb辞書 • http://www.alc.co.jp/ • CGI
CD-ROM • EPWING 形式 • EB Libraryを利用 • CD-ROM 書籍にアクセスするための関数
eb_bind() 必要なデータ取得まで①CD-ROMとのbind EB_Book型のオブジェクト
副本の選択 必要なデータ取得まで②副本の選択 副本0: [国語辞典] 副本1: [英和辞典] EB_Book型のオブジェクト
D O G 必要なデータ取得まで③検索 副本0: [国語辞典] 副本1: [英和辞典] EB_Book型のオブジェクト
必要なデータ取得まで④テキストデータの取得必要なデータ取得まで④テキストデータの取得 副本0: [国語辞典] 犬 副本1: [英和辞典] EB_Book型のオブジェクト
結果の抽出方法 • 二つのスタックを使う • タグ • 要素 <html> <head> <title>SPACE ALC</title> </head> <body> 辞書です。<br> 以上 </body> </html>
結果の抽出方法 • 二つのスタックを使う • タグ • 要素 <html> <head> <title>SPACE ALC</title> </head> <body> 辞書です。<br> 以上 </body> </html>
スタック /title title SPACE ALC head html タグのスタック 要素のスタック
スタック /head head html タグのスタック 要素のスタック
スタック br body 辞書です。 html タグのスタック 要素のスタック
スタック /body body 以上 html タグのスタック 要素のスタック
スタック /html html タグのスタック 要素のスタック
スタック タグのスタック 要素のスタック
文字コード変換 • Shift-JISからEUCへ • popen()関数を使いnkfで変換して表示
キャッシュ機能 • 検索ワードをキャッシュ • ファイル名 : .jisyo • 今まで何回調べたか表示 • 5回同じ単語で「ばーか」
評価 • 複数辞書の利用 ○ • 状況に応じた辞書選択 ○ • 学習機能 △ • SING新人は毎日使っている ◎
今後の予定 • キャッシュ機能の拡張性 • 他の辞書プロトコルの追加 • 学習要素 • クイズ
リリース http://www.sfc.wide.ad.jp/~simitaka/minipro/2001f/