ミニプロジェクト 「辞書」

31
ミミミミミミミミ ミミミ 「」 simitaka@SING mitsuya

description

ミニプロジェクト 「辞書」. simitaka@SING 親: mitsuya. 目的. 複数の辞書を利用 状況ごとに辞書を選択 ユーザの学習支援. 設計. DOG. 設計概要. ×. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. DOG. 設計概要. ○. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. 犬. キャッシュ. 設計概要. CD-ROM. WEB 辞書. NDTP サーバ. 辞書クライアント. 辞書選択ポリシ. 優先順位をユーザが設定 状況によって対応. - PowerPoint PPT Presentation

Transcript of ミニプロジェクト 「辞書」

Page 1: ミニプロジェクト 「辞書」

ミニプロジェクト「辞書」

simitaka@SING

親: mitsuya

Page 2: ミニプロジェクト 「辞書」

目的

• 複数の辞書を利用• 状況ごとに辞書を選択• ユーザの学習支援

Page 3: ミニプロジェクト 「辞書」

設計

Page 4: ミニプロジェクト 「辞書」

設計概要

CD-ROM

辞書クライアント

WEB 辞書 NDTP サーバ

DOG

×

Page 5: ミニプロジェクト 「辞書」

設計概要

CD-ROM

辞書クライアント

WEB 辞書 NDTP サーバ

DOG

Page 6: ミニプロジェクト 「辞書」

設計概要

CD-ROM

辞書クライアント

WEB 辞書 NDTP サーバ

犬キャッシュ

Page 7: ミニプロジェクト 「辞書」

辞書選択ポリシ

• 優先順位をユーザが設定• 状況によって対応

Page 8: ミニプロジェクト 「辞書」

検索結果のキャッシュ

• 調べた単語の意味、回数をクライアントで保持– オフラインで実行可能– パフォーマンス向上

• 学習支援への利用– 検索回数の表示– 覚えたページを破いて食べる

• 辞書データは変わらない

Page 9: ミニプロジェクト 「辞書」

実装

Page 10: ミニプロジェクト 「辞書」

対応した辞書

• CD-ROM 搭載サーバ– エコーサーバの応用

• ALC の Web 辞書– http://www.alc.co.jp/– CGI

Page 11: ミニプロジェクト 「辞書」

CD-ROM データ利用

Page 12: ミニプロジェクト 「辞書」

CD-ROM

• EPWING 形式• EB Library を利用

– CD-ROM 書籍にアクセスするための関数

Page 13: ミニプロジェクト 「辞書」

必要なデータ取得まで① CD-ROM との bind

EB_Book 型のオブジェクト

eb_bind()

Page 14: ミニプロジェクト 「辞書」

必要なデータ取得まで②副本の選択

EB_Book 型のオブジェクト

副本0: [国語辞典] 

副本1: [英和辞典]  副本の選択

Page 15: ミニプロジェクト 「辞書」

必要なデータ取得まで③検索

EB_Book 型のオブジェクト

副本0: [国語辞典] 

副本1: [英和辞典] 

D GO

Page 16: ミニプロジェクト 「辞書」

必要なデータ取得まで④テキストデータの取得

EB_Book 型のオブジェクト

副本0: [国語辞典] 

副本1: [英和辞典]  犬

Page 17: ミニプロジェクト 「辞書」

ALC の WEB 辞書の利用

Page 18: ミニプロジェクト 「辞書」

結果の抽出方法

<html> <head> <title>SPACE ALC</title> </head> <body> 辞書です。 <br> 以上 </body></html>

•二つのスタックを使う

•タグ

•要素

Page 19: ミニプロジェクト 「辞書」

結果の抽出方法

<html> <head> <title>SPACE ALC</title> </head> <body> 辞書です。 <br> 以上 </body></html>

•二つのスタックを使う

•タグ

•要素

Page 20: ミニプロジェクト 「辞書」

スタック

html

タグのスタック 要素のスタック

head

title

/title

SPACE ALC

Page 21: ミニプロジェクト 「辞書」

スタック

html

タグのスタック 要素のスタック

head

/head

Page 22: ミニプロジェクト 「辞書」

スタック

html

タグのスタック 要素のスタック

body 辞書です。

br

Page 23: ミニプロジェクト 「辞書」

スタック

html

タグのスタック 要素のスタック

body

/body

以上

Page 24: ミニプロジェクト 「辞書」

スタック

html

タグのスタック 要素のスタック

/html

Page 25: ミニプロジェクト 「辞書」

スタック

タグのスタック 要素のスタック

Page 26: ミニプロジェクト 「辞書」

文字コード変換

• Shift-JIS から EUC へ• popen() 関数を使い nkf で変換して表示

Page 27: ミニプロジェクト 「辞書」

キャッシュ機能

• 検索ワードをキャッシュ– ファイル名 :  .jisyo

• 今まで何回調べたか表示• 5 回同じ単語で「ばーか」

Page 28: ミニプロジェクト 「辞書」

デモ

Page 29: ミニプロジェクト 「辞書」

評価

• 複数辞書の利用 ○• 状況に応じた辞書選択 ○• 学習機能 △• SING 新人は毎日使っている ◎

Page 30: ミニプロジェクト 「辞書」

今後の予定

• キャッシュ機能の拡張性• 他の辞書プロトコルの追加• 学習要素

– クイズ

Page 31: ミニプロジェクト 「辞書」

リリース

http://www.sfc.wide.ad.jp/~simitaka/minipro/2001f/