----------------------------------------------------------------------
ChaSen 2.03 (2000/6/??)
----------------------------------------------------------------------
[機能拡張・修正]
・全角アルファベットが連続する最長文字列を単語の最小単位とした。これに
  より、例えば「ＭＴＶ」が「Ｍ-ＴＶ」のような2単語ではなく1語の未知語
  として解析されるようになった。
・chasenrc の「注釈」で、品詞のみではなく、品詞あるいはフォーマット文
  字列を指定できるようにした。
・-Oc, -Os で複合語/構成語での出力を切り替えられるようにした。
・make install 実行時に、茶筌ライブラリ libchasen.a もインストールされ
  るようにした。
・コマンドモードの #i 出力を日本語(2バイト文字)から英語にした。
・Windowsでもコンパイルできるようにし，makedic.bat, Windows版QKCパッケー
  ジを追加した．
[不具合修正]
・ChaSenクライアントを使って、末尾が改行でないファイルを解析すると，
  サーバに接続したまま切断しなくなる不具合を修正．
・EUCの3バイト文字(0x8f 0xXX 0xXX)を含む文の解析結果がおかしくなる不具
  合を修正。未知語としての対応のみで、*.dic の単語には使用できない．
・連結品詞と注釈の両方を設定しているときに解析が異常になる不具合を修正。
・Makefile の CHASEN の値を変更するとインストールに失敗する不具合を修正。
・その他、細かい変更や不具合修正。

----------------------------------------------------------------------
ChaSen 2.02 (1999/12/29)
----------------------------------------------------------------------
・*.dic で「形態素」を記述できるようにした。
・*.dic で複合語を定義できるようにした。
  chasenrc で (複合語出力 複合語/構成語) と指定することにより、
  複合語と構成語のどちらで出力するかを選択できる。

----------------------------------------------------------------------
ChaSen 2.01 (1999/12/20)
----------------------------------------------------------------------
・/usr/bin/make などでうまく make できないことがある不具合を修正。

----------------------------------------------------------------------
ChaSen 2.0 (1999/12/15)
----------------------------------------------------------------------
・perl モジュールを組み込んだ。
・chasenrc ファイルで「空白品詞」を指定することにより、解析結果に空白
  の情報も出力できるようにした。
・chasenrc ファイルで「注釈」を指定することにより、SGMLタグのような
  特定の文字列を空白と同様に無視して解析できるようにした。
・(v-gram) chasenrc ファイルの「連結品詞」の機能を拡張し、複数の種類の
  品詞を別々に連結できるようにした。
・連結品詞で、連結される形態素間に空白があるときは連結しないようにした。
・(v-gram) 形態素辞書(*.dic)で「発音」を定義できるようにした。
  出力フォーマットの %a, %A で発音、発音の基本形を出力する。
  また、cforms.cha で発音の語尾を定義できるようにした。
・出力フォーマットの %y, %Y を読みの第一候補を表示するように変更し、
  %y0, %Y0 で読み全体を表示するようにした。%a, %A, %a0, %A0 も同様。
・オプション -lp, -lt, -lf を作った。
  -lp 品詞番号と品詞名のリストを表示。
  -lt 活用型番号と活用型名のリストを表示。
  -lf 活用型番号、活用形番号と活用形名のリストを表示。
・chasenrc の「文法ファイル」の項目が指定されていないときは、chasenrc
  があるディレクトリを指定しているとみなすようにした。
  また「PATDIC」「SUFDIC」が '/' で始まっていない場合、「文法ファイル」
  のディレクトリからの相対パスとみなすようにした。
・-D なしで -R を指定した場合は環境変数 CHASENRC や ~/.chasenrc を無視
  し、Makefile で指定した chasenrc (/usr/local/lib/chasen/dic/chasenrc
  など)を読み込むようにした。
・-o オプションで出力ファイルを指定できるようにした。
・mkchadic/convdic を実行することにより、bi-gram 版の辞書を v-gram 版
  の辞書に変換できるようにした。
・連接コスト0を確率1にし、-1を連接しないという意味に変更した。連接コスト
  の範囲を -1〜32767 に変更した。
・mmap() を使用せずハッシュを使ってファイルから辞書引きする機能をなくし、
  mmap() を使うか辞書をメモリ上に読み込むか(NO_MMAP)のいずれかにした。
  また、SUFARY でも辞書をメモリ上に読み込めるようにした。
・連接ファイルを connect.cha.c から connect.cha に変更した．
  プリプロセッサ(cc -E)で出力されるファイル _connect.cha は makemat
  実行後削除される．
・static 変数の宣言時に stderr を代入していたため、glibc 2.1 でコンパイ
  ルエラーとなる不具合を修正。
・makeint 実行時，見出し語だけでなく読みと発音の活用語尾もチェックする
  ようにした．
・SUFDIC を使っているときは言語を je にしていたのを j のみに変更した。
  chasenrc などで言語を指定しないときは言語は j のみになる。
・(vgram) -d の出力のために、%P' で「'名詞'-'一般'」のような出力になる
  ようにした。
・(vgram) -vb の出力のパス番号の不整合をなくすため、連結品詞のパス番号を一番
  最後の形態素の番号にするようにした。
・S式中で '' で囲まれた文字列は '\' をそのまま扱うようにした。
  c:\\chasen と "c:\\chasen" と 'c:\chasen' は同じ文字列となる。
・S式中の '\' の処理の不具合を修正。
・その他、出力形式などの細かい変更。

----------------------------------------------------------------------
ChaSen 2.0b6 (1999/04/20)
----------------------------------------------------------------------
・辞書ファイルの単語コストの範囲を今までの0〜25.5からbi-gram版は
  0〜6553.5に，v-gram版は0〜65535に変更した。
・連接ファイルの連接コストの範囲を0〜255から0〜65535に変更した。
・chasenrc ファイルで「BOS文字列」「EOS文字列」を指定することにより、
  文頭・文末で出力する文字列を設定できるようにした。
・(v-gram版) 未知語品詞の出力文字列を、「未定義語」から「未知語」に変更
  した。
・chasenrc ファイルで未知語品詞とそのコストを複数指定できるようにし
  た。
・(v-gram版)「文節区切り」の機能を持つ品詞を使えるようにした。品詞定義
  ファイルで品詞名の後ろに `/' をつけると文節区切りとして機能する。
・chasenrc ファイルに SUFDIC の項目があればそれを読み込むようにし、
  SUFARY で単語を検索するようにした。
・英語を解析できるようにした。パトリシア辞書は全角しか辞書引きできない
  ので、SUFARY の辞書を使う必要がある。SUFDIC が指定されているときか、
  chasenrc ファイル中で「言語」またはオプション -L に `e' が含まれてい
  るときは半角文字列も辞書引きするようになる。
・(v-gram版) 辞書ファイル(*.dic) で単語のコスト値が書いていなかった場合、
  辞書の「デフォルト品詞コスト」を使うようにした。
・出力フォーマット "%?T/STR1/STR2/" を使えるようにした。活用があれば
  STR1, なければ STR2 を出力する。"%?T(STR1)<STR2>" などの形式も使える。
  そのほかに %?I, %?B, %?F, %?U も使えるようにした。
  また、"%?U/未知語/STR/" の短縮形として "%U/STR/" を使えるようにした。
・出力フォーマット "%Y" を基本形の読みに変更した。従来の、
  読み(未定義語なら"未定義語")は "%?U/未定義語/%y/" で表示できる。
・出力フォーマット "%rABC" を導入し、ルビを表示できるようにした。
  例えば "%r(,)" で「(見出し,読み)」、"%r ()" で「見出し(読み)」と表示
  する。
・BOS文字列、EOS文字列、出力フォーマットで、解析文全体を表示する "%S"
  を使えるようにした。
・(v-gram版) デフォルトの出力(-f),-v,-e,-cの出力の一部をタブ区切りにした。
・(v-gram版) 空行に対しても BOS文字列、EOS文字列を表示するようにした。
・(v-gram版) 辞書ファイル(*.dic)で原形を表す「base」を扱えるようにした。
  基本形を表示するとき、非活用語がbaseを持つときはそれを表示する。
・字種による未知語の長さを変更し、ひらがな・漢字に加えて，数字や記号も
  1文字で未知語として処理するようにした．
・辞書ファイル(*.dic)で「読み」を指定していないときは「見出し語」を表示
  するようにした。
・意味情報をS式から文字列に変更した。
・パトリシア木の辞書引きのとき，文字列をまるごとコピーしていたのを，文
  字列のポインタのみをコピーすることにより高速化した．
・余計な未定義語の追加を行っていたために、長いカタカナ文字列の解析時に
  Bus error などが出ていた不具合を修正。
・chasen_sparse{,_tostr} で解析文字列中にCR(0x0d)やLF(0x0a)があったと
  き、それらを単語の一部として解析していた不具合を修正し、文末と認識す
  るようにした。また，日本語EUCだけでなくJIS(ISO-2022-JP)の文字列も解
  析できるようにした．
・その他細かい不具合を修正。

----------------------------------------------------------------------
ChaSen 1.51 (1997/07/29)
----------------------------------------------------------------------
・文字列フォーマットに "-[fecdv]" を指定すると -[fecdv] オプションと同
  じ出力が得られるようにした。例えば chasenrc ファイルに
  (出力フォーマット "-e") と記述すると -e と同じ出力が得られる。
・chasenrc のコピー先を間違えていたため、make install に失敗する不具合
  を修正。
・コマンドモードのコマンドがうまく動かなかった不具合を修正。
・transdic, makeint へのオプションがうまく渡せなかったのを修正。

----------------------------------------------------------------------
ChaSen 1.5 (1997/07/08)
----------------------------------------------------------------------
・ライブラリ化を行い、茶筌のモジュールを他のプログラムに簡単に組み込め
  るようにした。
・サーバ化を行い、クライアントを用いて他のマシンから解析を行うことがで
  きるようにした。また、Emacs Lisp 版のクライアントを作成した。
・-w オプションでコスト幅を指定できるようにした。
・chasenrc ファイルに「区切り文字」を指定することにより、jfgets() の区
  切り文字を設定できるようにした。半角文字を指定することも可能。
  また、区切り文字のデフォルトを "。．！？" に変更した。
・バッファを動的に確保することにより、文字列が長いときでも "Too many
  morphs" の警告が出ないようにした。
・ViCha 用出力オプション -v を新設。
・-d オプションと -b を同時に指定したときに -d の出力形式で最適解パスだ
  け表示できるようにした。
・不正な文字コードが来たときに SIGSEGV などで落ちるのを修正。

----------------------------------------------------------------------
JUMAN 2.0 -> ChaSen 1.0 の主な変更点
----------------------------------------------------------------------
・辞書形式をハッシュデータベースndbmを用いた擬似TRIE構造からパトリシア
  木を用いたものに変更した．辞書のサイズが約4分の1に縮小し，辞書のコン
  パイル時間が大幅に短縮した．
・辞書項目をキャッシュするようにした．システムコールmmapが利用できる場
  合は，それを利用できるようにした．
・解析速度が約8〜11倍になった．
・gccだけでなく，OS付属のccなどでもコンパイルできるようにした．
・日本語EUCだけでなくJIS(ISO-2022-JP)の文字列も解析できるようにした．
・「未定義連接コスト」の導入により，未定義語の出力を減らすことができる
  ようになった。
・「連結品詞」を定義できるようにし，-bオプション(デフォルト)の時，その
  品詞の単語を一単語に連結して表示するようにした．
・活用語尾の読みを定義できるようにした．これにより，「来る」「得る」の
  読みもひらがなで表示できるようになった．
・辞書作成時は，必要がない限りリソースファイル(.chasenrc)を読み込まな
  いようにした．
・句点を入力文字列の区切りとして解析する -j オプションを追加した．
・-r オプションや環境変数CHASENRCでリソースファイル(.chasenrc)を指定で
  きるようにした．
・-F オプションや.chasenrcの「出力フォーマット」で解析結果の出力形式を
  変更できるようにした．
・その他種々のオプションを追加(-V, -d, -C)．

(以下、JUMAN 2.0 -> ChaSen 1.0 の変更点の詳細)

----------------------------------------------------------------------
ChaSen 1.0 (1997/02/19)
----------------------------------------------------------------------
・「連結品詞」を定義できるようにし、最適パスを出力する時に、その品詞の
  単語を一単語に連結して表示するようにした。
・文法ファイルの名前 chasen.* に変更した。chasen.* を優先的に読み込み、
  なければ JUMAN.* を読み込む。

----------------------------------------------------------------------
ChaSen 1.0b7 (1997/01/21)
----------------------------------------------------------------------
・mallocした領域にファイルを読み込むことにより、sortdicを高速化した。
・128文字を超える長い未定義語が含まれている時にSIGSEGVが出るのを修正。
・ccでのコンパイル時に様々なウォーニングが出るのを修正。

----------------------------------------------------------------------
ChaSen 1.0b6 (1997/01/16)
----------------------------------------------------------------------
・EUCだけでなくJIS文字列も解析できるようにした。判別は自動。ただし出力
  はどちらの場合もEUCのみ。
・gccだけでなくccでもコンパイルできるようにした。
・-Fオプションの仕様を変更し、フォーマット文字列の末尾に"\n"があれば最
  後にEOSを、なければ改行を表示するようにした。例えば、「-F "%m "」で
  分かち書き、「-F %y」で漢字かな変換を行うことができる。
・活用形に読みをつけられるようにした。
  (基本形  得る  える)
  のように、3番目の要素に読みを書く。なければ活用(2番目の要素)と同じ。
  古いバージョンのChaSenでは読みは無視されるので問題ない。
  これにより、「来る」「得る」の読みもひらがなで表示できるようになる。

----------------------------------------------------------------------
ChaSen 1.0b5 (1996/11/15)
----------------------------------------------------------------------
・makeintの新バージョンtransdicを採用．処理の高速化と省メモリ化を実現．
・makematで同じエントリが重複して登録されるバグを解消．また消費メモリ
  を18.5Mから5.6M(SunOS 4.1.4の場合)に減らした．
・茶筌リソースファイル(例えば，~/.chasenrc)に，「未定義連接コスト」を
  設け，連接コストが未定義であるときの連接コストを設定できるようにした．
  未定義語連接コストを0以外にした時は，未定義語と同じ単語が辞書にあれ
  ば未定義語を無視するようにした．system.chasenrcではその値を100に設定
  してある．これにより未定義語の出力を減らすことができる．
・ViJUMANの茶筌対応版である「美茶」(近日公開！)のために，コマンドイン
  タプリタ(-C オプションで有効)を実装．#から始まる行をコマンドとみなす． 
・デフォルトのオプション出力 (-f) を変更し，文字列が長いときは途中で切
  らず文字列すべてを表示するようにした．また，未定義語のときも見出し語
  だけでなく読みと基本形も表示するようにした．
・内部辞書の拡張子を「なし」から「.int」(例 chadic.int)に変更した．
・形態素辞書のデフォルトのファイル名を jumandic.* から chadic.* に変え
  た．.chasenrcの指定に御注意下さい．
・~/.chasenrc があれば ~/.jumanrc より優先的に読み込むようにした．
  また，環境変数 CHASENRC が設定されていれば，そちらを読み込むようにし
  た．
・ChaSenの公式漢字表記を「茶筌」とした．これは本学がある奈良県生駒市高
  山町の特産品である茶筌の表記に従ったものである．

----------------------------------------------------------------------
ChaSen 1.0b4 (1996/10/17)
----------------------------------------------------------------------
・juman/parse.c:check_code()を修正し、JUMAN2.0と同じように半角の空白が
  単語の区切りとなるようにした。'I drink' が1語に解析されるようにする
  オプションを用意するかどうかは検討中。

----------------------------------------------------------------------
ChaSen 1.0b3 (1996/10/15)
----------------------------------------------------------------------
・Makefileに-DUSE_MMAPを指定した状態で複数の辞書を指定した際，遅くなっ
  ていたのを修正した．
・make install を実装した．
・mkjmdic/dicsort.c を作り，sort -s +0 -1 | uniq | gawk... と同じ動作
  をするようにした．これにより 辞書作成時に GNU sort, GNU awk は不要に
  なった．

----------------------------------------------------------------------
ChaSen 1.0b2 (1996/10/15)
----------------------------------------------------------------------
・ドキュメントの修正．

----------------------------------------------------------------------
JUMAN 2.0 -> ChaSen 1.0b1 (1996/10/14)
----------------------------------------------------------------------
・辞書形式をハッシュデータベースndbmを用いた擬似TRIE構造からパトリシ
  ア木を用いたものに変更した．
・辞書項目をキャッシュするようにした．システムコール mmap が利用でき
  る場合は，それを利用できるようにした．
・辞書作成時に参照されるファイルの変更．
  1. makemat
	JUMAN.connect
	JUMAN.kankei
	JUMAN.katuyou
	JUMAN.grammar
     をすべてカレントディレクトリから読み込み，
	JUMANTREE.table
	JUMANTREE.matrix
     をカレントディレクトリに書き出す．
  2. makeint
	JUMAN.katuyou
	JUMAN.grammar
	JUMANTREE.table
	JUMANTREE.matrix
     をカレントディレクトリか，そこになければ .jumanrcで指定された文法
     ディレクトリから読み込む．辞書ファイル *.dic はすべてカレントディ
     レクトリから読み込む．結果は標準出力に出力される．
  3. patによる辞書作成時は JUMAN*は読み込まない．
  4. 解析時
	JUMAN.katuyou
	JUMAN.grammar
	JUMANTREE.table
	JUMANTREE.matrix
     を.jumanrcで指定された文法ディレクトリから読み込む．
・種々のオプションを追加 (-j, -r, -V, -d, -F)．

----------------------------------------------------------------------
茶筌に関する問い合わせは，chasen@cl.aist-nara.ac.jpまで．
