[groonga-dev,00705] Re: MeCabとの組合わせについて

Zurück zum Archiv-Index

Masaharu YOSHIOKA yoshi****@ist*****
2012年 2月 24日 (金) 14:49:23 JST


須藤様

コメントどうも有難うございます。

MeCabでのトークナイズは問題ありません。対象となっているデータは、主に日
本語の1845文字のデータで、途中にエラーを起こすような文字があるのか確認
するために、部分文字列を作成して、登録をしてみました。

その結果、特定の文字を使いするとエラーが起きるという状況ではなく、1380
文字程度より長くなると、エラーが起きるという状況でした。エラーを起こす
文字数が一貫しないのは、UTF-8で、ASCII文字を含むデータであるためではな
いか(ある一定のバイト数以上で問題が起きる)とも考えられます。

確認のため、適当な文字列の繰り返しで作成した長い文字列でも問題が起こる
ことも確認しています。

なにか、他に、チェックした方が良い点などがございましたら、お教えくださ
い。

よろしくお願いします。

>>>>> On Fri, 24 Feb 2012 13:45:00 +0900 (JST)
>>>>> kou****@clear*****(Kouhei Sutou)  said:
> 
> 須藤です。
> 
> In <20120****@ist*****>
>   "[groonga-dev,00703] MeCabとの組合わせについて" on Fri, 24 Feb 2012 12:36:57 +0900 (JST),
>   Masaharu YOSHIOKA <yoshi****@ist*****> wrote:
> 
> > データベース構築の際に、最新のMeCab0.993を使うとおおむね問題ないのです
> > が、Mecab 0.98を使うと、下記のエラーが出ます。
> > 
> > /usr/local/lib/ruby/gems/1.9.1/gems/rroonga-1.3.1/lib/groonga/record.rb:70:in `[]=': invalid argument: too long key: (5455): #<Groonga::VariableSizeColumn id: <272>, name: <Articles.contents>, path: </home/data/wnews/groonga/wnews.db.0000110>, domain: <Articles>, range: <Text>, flags: <>> (Groonga::InvalidArgument)
> > pat.c:751: grn_pat_add()
> 
> うーん、トークナイズした結果が5455バイトの文字列になるのは考
> えづらいのでMeCabがうまくトークナイズできていないような気が
> します。とすると、怪しいのが辞書の設定です。
> 
> おそらく、↑のエラーが発生するときに設定しているテキストは把
> 握していると思いますので、以下のようにmecabコマンドでわかち
> 書きできているか確認してもらえますか?
> 
>   % echo "問題のあるテキスト" | mecab

北海道大学大学院情報科学研究科コンピュータサイエンス専攻 准教授
〒060-0814 北海道札幌市北区北14条西9丁目
吉岡 真治		e-mail: yoshi****@ist*****
           URL: http://www-kb.ist.hokudai.ac.jp/~yoshioka/




groonga-dev メーリングリストの案内
Zurück zum Archiv-Index