ミニプロジェクト 「辞書」 simitaka@SING 親:mitsuya 目的 • 複数の辞書を利用 • 状況ごとに辞書を選択 • ユーザの学習支援 設計 設計概要 CD-ROM × WEB辞書 DOG 辞書クライアント NDTPサーバ 設計概要 ○ CD-ROM WEB辞書 DOG 辞書クライアント NDTPサーバ 設計概要 CD-ROM WEB辞書 NDTPサーバ 犬 辞書クライアント キャッシュ 辞書選択ポリシ • 優先順位をユーザが設定 • 状況によって対応 検索結果のキャッシュ • 調べた単語の意味、回数をクライアントで 保持 – オフラインで実行可能 – パフォーマンス向上 • 学習支援への利用 – 検索回数の表示 – 覚えたページを破いて食べる • 辞書データは変わらない 実装 対応した辞書 • CD-ROM搭載サーバ – エコーサーバの応用 • ALCのWeb辞書 – http://www.alc.co.jp/ – CGI CD-ROMデータ利用 CD-ROM • EPWING 形式 • EB Libraryを利用 – CD-ROM 書籍にアクセスするための関数 必要なデータ取得まで ①CD-ROMとのbind eb_bind() EB_Book 型のオブジェクト 必要なデータ取得まで ②副本の選択 副本0: [国語辞典] 副本1: [英和辞典] EB_Book 型のオブジェクト 副本の選択 必要なデータ取得まで ③検索 副本0: [国語辞典] 副本1: [英和辞典] EB_Book 型のオブジェクト D O G 必要なデータ取得まで ④テキストデータの取得 副本0: [国語辞典] 副本1: [英和辞典] EB_Book 型のオブジェクト 犬 ALCのWEB辞書の利用 結果の抽出方法 •二つのスタックを使う •タグ •要素 <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/
© Copyright 2024 ExpyDoc