

MeCabのchar.defは未知語処理のルールを定義します。その中、Alphabet記号のグルーピング方法も書かれています。私の理解が正しいのなら、その意味は「いつもAlphabet記号が連鎖する」です。

[code]

    # CATEGORY_NAME INVOKE GROUP LENGTH
    ALPHA           1 1 0 
    
[/code]

でも、実際にやってみると、記号の数が少ない場合（２〜４）、解析結果が思った通りではないようです。

[code]

    % mecab -d .
    koko
    k       記号,文字,*,*,*,*,ケー,Ｋ,k,ケー,k,ケー,記号,*,*,*,*,*,*,記号,ケー,ケー,ケー,ケー,1,*,*,3148735148335616,11455
    o       記号,文字,*,*,*,*,オー,Ｏ,o,オー,o,オー,記号,*,*,*,*,*,*,記号,オー,オー,オー,オー,1,*,*,1507988921786880,5486
    k       記号,文字,*,*,*,*,ケー,Ｋ,k,ケー,k,ケー,記号,*,*,*,*,*,*,記号,ケー,ケー,ケー,ケー,1,*,*,3148735148335616,11455
    o       記号,文字,*,*,*,*,オー,Ｏ,o,オー,o,オー,記号,*,*,*,*,*,*,記号,オー,オー,オー,オー,1,*,*,1507988921786880,5486
    EOS
    
[/code]

助けてください！


CC BY-SA 4.0
2023-09-27T05:06:05.847
96354
2023-09-27T07:27:52.793
2023-09-27T07:15:51.000
3060
59173
question
自然言語処理 mecab
MeCabで二つ以上のAlphabet記号をグルーピングしたい

[code]

    k       記号,文字,*,*,*,*,ケー,Ｋ,k,ケー,k,ケー,記号,*,*,*,*,*,*,記号,ケー,ケー,ケー,ケー,1,*,*,3148735148335616,11455
    
[/code]

ここに読みが出ているということは、これは **辞書に登録されています** 。  
辞書に登録されていて、未知語とした時のコストより小さいコストを持つため既知語の連接にされるのでしょう。辞書のコストを自分で編集して、自分が望むように学習し直す必要がありそうです

* * *

他にどの程度影響がでるか分かりませんが  
unk.defの

[code]

    ALPHA,1285,1285,13398,名詞,一般,*,*,*,*,*
    
[/code]

あたりを

[code]

    ALPHA,1285,1285,0,名詞,一般,*,*,*,*,*
    
[/code]

などとして、CSVの4番目でコストを最小の0にして辞書を作り直す(=makeの実行)と、おそらくアルファベットの連接がすべてこの品詞になると思われます。


CC BY-SA 4.0
2023-09-27T06:46:21.320
96356
2023-09-27T07:27:52.793
2023-09-27T07:27:52.793
12274
12274
96354
answer