ChaKi.NET (3.16 Revision 653) | 2021-01-23 23:11 |
ChaMame (1.0.4) | 2020-01-14 17:04 |
Patch Files (TextFormatter for ChaKi.NET (2010/11/20)) | 2010-11-21 23:23 |
その他 (CaboCha-0.66/UniDic用モデルファイル) | 2013-02-18 17:00 |
旧版[ChaKi Legacy] (2.1.0 Build 202) | 2008-11-16 23:47 |
ChaKi.NETにおいて、「Cabocha形式」と呼んでいるテキスト形式は、cabocha(http://chasen.org/~taku/software/cabocha/) の出力オプション "-f1" を指定した場合の出力を指しています。これは、Mecab, Chasen等の形態素解析レイヤの出力に、 行頭が"*"で始まる係り受け解析結果を埋め込んだ形式です。この係り受け情報は、京都大学コーパスにおいて 使用されているものと同一です。
例: * 0 1D 0/1 2.19100439
ChaKi.NETは、Cabochaファイルをインポートする際に、この係り受け情報のうち
を利用しています。
以下のようなアルファベット1文字のラベルが存在します。
これ以外に、Cabochaの係り受け判定でどこにも係らないと判定された文節からダミー文節(文節番号 -1 で表される 仮想的な文節)への係り受けに対して、Cabochaは "O" というラベルをアサインします。 Cabochaの係り受け構造は、全ての文節が 1 つの係り先を持つというルールに従っているため、係り受けがないと 判定されても、必ずダミー文節への係り受けを持つような構造を出力します。(ラベルを分けているのは 正しく係り受けがあると判断されたものと区別するため。)
第1行が文節番号,2行目が文節,3行目が係り先と係り受けラベル とすると,以下のようなタグ付けになります.
0 1 2 3 4 5 今年は, 4月に 統一地方選挙, 7月に 参院選が あります. 5D 2I 4P 4I 5D -1D
これに対し,日本語コーパス(BCCWJ)のタグ付けでは,以下のようになり, 別途,「4月に統一地方選挙」と「7月に参院選」が並列構造として Parallelというリンクで結ばれます.
0 1 2 3 4 5 今年は, 4月に 統一地方選挙, 7月に 参院選が あります. 5D 5D 4P 5D 5D -1D
4Pの係り受けが「7月に」5Dと交差しますが,これを認めています. この文が「今年は,4月に統一地方選挙が,7月に参院選があります」 のように,統一地方選挙の後ろに「が」が入ると,係り関係を 5D とし, 交差がない文になります.
CabochaのラベルがChaKi.NETにおけるLinkアノテーションの種類(タグ)に一致します。ラベルとして、 "D", "P", "A", "I", "O"を認識しますが、係り受け編集においては、"D"のみを使用して行うことが推奨されます。
"P", "A", "I"については、SegmentとGroupによるアノテーション("Parallel" Group, "Apposition" Group)を用いる方が汎用性が高く、係り受けによる表現は今後は用いない方針を取っています。
現在は、上記の標準タグセット("DPAIO")をインポート時に初期状態として必ず定義するようにしていますが、 今後、出現するもののみを初期状態のタグセット定義とするように変更する予定です。
一旦作成したDBのタグセットについては、TagSetDefinitionEditorツール(ChaKi.EXEと同じフォルダにあります)を介して 変更することができます。
インポート時にソースの文字コードを指定します。DB内部では、UTF-16を使用しています。 内部文字コードを変更することはできません。
コーパス定義ファイルは、"Create Corpus"のGUIを介して自動生成される、RDBアクセスのための設定ファイルです。
旧ChaKiと異なり、新しいコーパス定義ファイルにはServer/Client型のRDBにおける接続情報のみが格納されます (POS情報など旧版にあったこれ以外の情報は、DB内のテーブルに格納しています)。そのため、Server/Client型でないSQLiteの場合は.defファイルは 不要です。DBファイルのパス名のみでアクセスが可能だからです。
大別して、
の3種があります。これらはDBスキーマ上は異なる形で扱われます。 特にこれらを区別するために、1を「Lexeme属性」、2を「アノテーションタグ」、3を「書誌情報」と呼ぶこともあります。 2には文節・係り受け情報が含まれます。なお、TagSearchについては、1のみを検索条件とします。
検索に使用される基本9種(Surface, Reading, LemmaForm, Pronunciation, BaseLexeme, Lemma, ParOfSpeech, CType, CForm)は固定です。ただ、表示設定により表示名称を変えたり、表示させないようにすることは可能です。 さらに、UniDicなどの持つ多様な語彙属性のフィールドを追加情報として格納するため、customというフィールドを 持っています。 インポート元のChasen/Mecabのデータから基本9種の属性へのマッピング、およびcustomフィールドの定義については、 「インポート形式をカスタマイズする」に 詳細があります。 なお、customフィールドの値は、語の上にカーソルを持って行ったときに、基本属性と共に Attributeパネルに展開されて表示されます。
インポートソースに出現する語彙から自動収集して、DB内のテーブル(PartOfSpeech, CType, CForm)に格納します。
アノテーションタグは性質に応じてSegment, Link, Groupという3種に分かれます。 Segment(文字範囲にアサインされるアノテーション)に分類されるタグとしては "Bunsetsu", "Nest", "Parallel", "Apposition"というタグがデフォルトでハードコーディングによりDBに登録されます。 "Bunsetsu"タグが文節を表します。他は文内の任意の文字列範囲に付与されるアノテーションです。
現状では、デフォルトでこれらのタグが自動定義されます(変更は可能)。
Nestは、「埋め込み要素」ということになるかと思います。構文的に全体から独立している一部 (注記・引用など)、または構文ツリーの親子関係のうち独立性の高い子の部分(副文など)を表すアノテーションです。
Cabocha形式に追加する形で、アノテーション(Segment, Link, Group)を保存できるようにしたものです。 詳細は、「拡張Cabochaフォーマットへのエクスポート」にあります。
Segment, Link, Groupタグのメタデータ(タグセット定義)については、今のところ含まれません。 メタデータから生成するのではなく、固定的なタグセットがインポート時に自動生成されます。 (但し、DOCIDは DOCタグに対するメタデータであると言えます。)
はい。Cabocha/拡張Cabocha形式では文節はCabocha形式によって表現されており、インポート時にこれが "Bunsetsu"というタグを持つSegment要素に変換されます。逆にエクスポート時には内部表現としてのSegmentから Cabocha形式を生成しています。
拡張Cabocha形式では、"Bunsetsu" Segmentや "D" Linkをアノテーションとして表現することもできますが、 これは今のところ認めていません。
Segment/Linkで文節を表すと自由度が高すぎるのですが、Cabochaの文節には下記のような制約があります:
ChaKi.NETでは、この制約を満たさない文節は扱えません。
Segmentは文字単位で開始終了位置を指定された文字列の連続範囲にアサインされる単純なアノテーションです。 これらのSegmentは、文節との相互作用はありませんし、制約も受けません。
一般的には(アノテーションタグの元となるSLATの考え方からは)、特に同名でなくても構いません。 異なるタグを持つSegment間に張られるLink, Groupというものも仕様上は可能です。 しかし、ほとんどのタグは意味上の制約を持ちます。例えば、係り受け構造を表現するものはCabochaの制約に従っている必要がありますし、 "Parallel" Group が"Apposition" Segment を子として持つことは意味をなしません。
「このSegmentはこのLink/Groupにしか対応しない」という形の制約は、現在のところGUI操作制約により実現していますが、 インポート時には制約を満たさないデータも入力になりえます。これについてはチェックは特に行っていません。
ドキュメントタグがなく、かつ書誌情報ファイル(.bibファイル)を指定しなければ、入力全体で1ドキュメントとして扱います。 この場合、書誌情報は付加されません。
複数ファイルの入力はフォルダを指定して 一括インポートが可能です。この場合、自動的にファイル名からドキュメントタグを生成してファイル=ドキュメントと します。エクスポートは単一ファイルにしかできません。
Mecab/Chasen/Cabocha形式・拡張Cabocha形式いずれも語の列が基本なので、やりとりにおいて 空白情報は失われてしまうか、さもなければ空白も語として扱うか、どちらかを選ばなければなりません。 後者の選択というのは、原文の文字構成が重要である場合とか語分割済みでない場合(punctuation そのまま込みで1文を長い1語とみなす)であるかと思います。
語のレベルで考えると、ChaKiは基本的に検索ツールなので、簡単な例として「語A+語B」という 出現条件で検索することを考えると、AとBの間に語要素としての空白が入るのは、 条件が無意味に複雑になり好ましくありません。 従って、この側面を重視するなら、前者(空白は無視)しか選択肢はなくなります。
文節レベルで考えると、ChaKiの別の重要な機能である係り受け編集の対象になるためには、 前述の通り、Cabochaの制約を満たす"Bunsetsu" SegmentとLinkが必要です。(Cabocha形式は 自動的にこれを満たします。)
こうして見ると、
という線がボトムライン要求としてあることがわかります。
※仕様は将来変更される可能性があります。
setup.msiをダウンロードしたフォルダの権限が不足しているため、そこに置いたsetup.msiファイルの 権限も同様に不足してしまっています。SYSTEMユーザーが「読み取りと実行」できる権限を付与すれば 解決しますが、難しい場合は「ドキュメント」フォルダにsetup.msiファイルをコピーして試してみてください。
64bit環境に32bitのインストーラでインストールを行った場合には、このようなメッセージが出て正しく動作しません。ChaKi.NETは、起動モジュールを64bit/32bitで共通のものとしているため、64bit環境では64bitプロセスとなります。このため、32bitインストーラに含まれる一部の32bitネイティブモジュール(SQLiteのdllなど)のロードに失敗します。
文字がぼやける・アイコンが小さくなるなどDPIの問題に対応する をご覧ください。
インストールファイル ChaKiSetup64.msi または ChaKiSetup.msi を実行したとき、インストーラーダイアログが一瞬表示されただけで消えてしまい、インストールが進まないことがあります。 対応策として、(1)Windowsから一旦サインアウトする、(2)Windowsを再起動する、のいずれかを取ることによりこの問題が解消することが確認されています。