KNPに関するFAQ

動作について

複数の文からなるテキストを入力して解析できますか?

JUMANへの入力時に一文一行にして、その解析結果をKNPに入力してください。なお、構文・格解析(デフォルト)は文単位で独立して解析しますが、照応解析(-anaphoraオプション)は複数文からなる文脈を参照しながら解析します。

"Can't allocate memory for ..."のようなエラーが出て止まるのですが。

メモリが不足しています。2GB以上のメモリを搭載したPCで動かすことを推奨しています。また、非常に長い文を入力した場合には4GB程度必要になることもあります。

入力文の長さに制限はありますか?

一文の長さの上限は200形態素(300〜400文字程度)になります。それ以上の長さの文が入力されると「ERROR:Cannot make mrph」というエラーをコメント行に出力して、その文の解析をスキップします。

半角スペースを含む文が解析できないのですが。

JUMAN/KNPでは、入力文が全角文字で記述されていることを前提としています。半角スペースなどの半角文字は全角文字に変換してから入力してください。

出力について

<体言>はどのような場合に出力されますか?

以下は常に「体言」です.

助詞が後続するなど条件によっては,

も「体言」になります.

詳しくは knp/rule/bnst_basic.rule の

 ;;;;; 用言,体言,その他の区別

と書いてある辺りを御覧ください.

<ID:●●●>は何を示していますか?

<ID:>タグは、節の表層的なタイプを表しています。 たとえば、「~と比べると、」という節に対して、<ID:~と>を付与しています。 多少の汎化を行っており、「~と比べると」のように読点がなくても、同じ<ID:~と>が付与されます。

<ID:>タグの付与は、KNPのrule/bnst_type.phraseというルールに従って行っており、 "ID:"でgrepしていただければ、どのような種類があり、どのような表現に付与しているかがわかると思います。 全部で150種類程度あります。

<連体修飾>と<連体節>の違いは何ですか?

<連体節>もしくは<係:連格>は述語の連体形に付与しており、いわゆる連体修飾節を表しています。 それに対して、<連体修飾>は、「名詞+の」、連体詞、述語の連体形など、体言・用言を含むあらゆる連体修飾に対して付与しています。 従って、<連体節>が付いていれば<連体修飾>が付いているはずです。

<連体修飾>の付与ルールは、mrph_filter.ruleの<T連体修飾>が元になっています。 <T連体修飾>を元に、bnst_basic.ruleで<連体修飾>を付与しています。 (ちなみに、<T連体修飾>の頭の「T」は最終結果に表示しないという意味です。)

<正規化代表表記>, <用言代表表記>は何ですか?