Skip to content

Latest commit

 

History

History
42 lines (37 loc) · 1.99 KB

Note.md

File metadata and controls

42 lines (37 loc) · 1.99 KB

Data storage library

  • かな漢字変換においては、共通接頭辞検索ができるライブラリが必要。

    • Trie(エッジに文字情報がついたツリー)構造がよく使われる。
      • Double Array や LOUDS などがある
      • LOUDS はサイズが小さくなるが、動的な追加削除はできない。
      • 検索速度は Double Array のほうが速い
  • akaza には何に trie を作成しているのか?

    • ユーザー辞書とシステム辞書とシステム言語モデルに利用している。
    • ただし、システム言語モデルは、純粋なキーからの検索しかしていない。
  • 本ライブラリのゴールは以下の通り。

    • メンテナンスコストが低いこと
    • 異常に遅かったり以上に時間がかかったりしないこと。
    • Disk 上で mmap してアクセス可能だとよい。
  • marisa-trie

    • The dictionary format of libmarisa depends on the architecture.
    • LOUDS nested patricia trie
    • Has disk based support
  • libdatrie

    • The trie data is portable across platforms. The byte order in the disk is always little-endian, and is read correctly on either little-endian or big-endian systems.
  • DAWG

  • Darts

    • Maybe, not portable.
    • Last release: 2008
  • cedar

    • Last release: 2014
  • dastrie

    • Last update: 2008
  • hat-trie

    • No disk based support