データベース テスト
以前書いた発音記号を含んだDICTフォーマットの辞書を使って簡単なテスト用のデータベースを作ってみた。
使用した辞書は次の4つ: English - German(約93000語), French - English(約8000語), German -English(約81000語), Netherlandish - English (約22000語)
まず最初に「単語」と「言語」(それが何語の単語なのか)、「発音記号」の3つの項目を持ったSQLiteデータベースを作った。その上で、Pythonの正規表現を使って辞書ファイルからそれぞれのデータを取出し、データベースに格納した。
検索の方は以下の順序で行われる。
1. 入力された検索タームを含む単語をDB内の4カ国語の単語中から検索する
2. もし一致する単語がみつかれば、その発音記号をDBから取り出す。
3. 取り出した発音記号に「対応する」単語を検索して、結果を表示する
4. 2-3の繰り返し
このうち、実際にテストしてみた結果、3の「対応する」がやはり曲者であることがよくわかった。単純にSQLの=文(文字列が同じ)やLIKE文(あいまい検索)だと、おもったほど単語がヒットしない。発音の近さをどのように定義し、検索のアルゴリズムを作るかが、やはりキーになりそう。
ここでは、LIKE文を使って、まったく同じ発音記号から「始まる」単語を探した場合の結果を示す。
$ python sqlserch.py now
Nauru German nauːruː
nautisch German nautiʃ
nautische German nautiʃə
$ python sqlserch.py kiss
kies Netherlandish kis
kiesheid Netherlandish kishɛi˘t
kieskeurig Netherlandish kiskørəx
kist Netherlandish kist
(それぞれ単語、言語名、発音記号)
特に関係はないが、SQLiteのGUIクライアントソフトが欲しい…
Project Phonethica
Buy Bactrim Online, Cost For Bactrim ^^ Online Canada No Prescription Septra
Search
Archives
- November 2007
- September 2007
- August 2007
- April 2007
- March 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
No Responses to “データベース テスト”
Please Wait
Leave a Reply