Common Lisp
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
characters.lisp
conn.lisp
dict-counters.lisp errata Apr 8, 2018
dict-errata.lisp
dict-fix.lisp
dict-grammar.lisp loosen filter-is-noun so that all kanji words match. could be bad? Jul 14, 2018
dict-load.lisp
dict-split.lisp
dict.lisp
ichiran.asd
ichiran.lisp
kanji.lisp
numbers.lisp return specific condition when parse-number fails Mar 13, 2017
package.lisp function to produce diffs between any strings Mar 16, 2018
romanize.lisp
settings.lisp.template
tests.lisp

README.md

Ichiran

Ichiran is a collection of tools for working with text in Japanese language. It contains experimental segmenting and romanization algorithms and uses open source JMdictDB dictionary database to display meanings of words.

The web interface is under development right now. You can try it at ichi.moe.

Notes

Currently incompatible with latest Postmodern due to this issue. Please use ichiran branch of my fork of Postmodern until this is fixed.

Installation

  1. Download JMDict and JMDict data from here. Optionally also obtain kanjidic2.xml to use ichiran/kanji functionality.
  2. Create a settings.lisp file based on the provided settings.lisp.template file with the correct paths to the abovementioned files and the database connection parameters.
  3. The code can be loaded as a regular ASDF system. Use quicklisp to easily install all the dependencies. However note the Postmodern remark above.
    • Easy mode: Use database dump from the release page to create a suitable database. Make sure settings.lisp contains the correct connection parameters. Use (ichiran/maintenance:add-errata) to make database up to date.
    • Hard mode: Use (ichiran/maintenance:full-init) to completely initialize the database. Use (ichiran/maintenance:load-jmdict) followed by (ichiran/maintenance:load-best-readings) to initialize only ichiran/dict and not ichiran/kanji. Either way, this will take a few hours or so.
  4. Use (ichiran/test:run-all-tests) to check that the installation satisfies the tests.
  5. Before using any word segmenting functionality, run (ichiran/dict:init-suffixes t) to create a suffix cache, which will improve the quality of segmentation.

Documentation

There is no documentation yet. Any API is considered unstable at this point.

The basic functionality is (ichiran:romanize "一覧は最高だぞ" :with-info t), but feel free to explore further.