これには iOS 固有のものはありません。mecab で使用している辞書 (おそらく ipadic) には、吉本興業という会社名のエントリが含まれています。名前の両方の部分は別々の名詞としてもリストされていますが、mecab は複合名を 1 つの単語としてタグ付けすることを強く好みます。
Mecab には、化合物をパーツに分割するかどうかをユーザーが選択できる機能がありません。一般に、このような機能を実装するのは難しいことに注意してください。なぜなら、どの化合物を分割でき、どの化合物を分割できないかについて誰もが同意しているわけではないからです。たとえば、容疑者は、容疑者と者からなる複合語ですか? 純粋に形態学的な観点からはおそらくイエスですが、ほとんどの実用的なアプリケーションではおそらくノーです。
分割したい化合物のリストがある場合は、それらを構成する部分のユーザー辞書を作成し、メイン辞書に加えて mecab にこれを使用させることで簡単に修正できます。
これを行う方法に関する日本語のドキュメントがここにあります。特定の例では、以下の手順が含まれます。
吉本と興業の 2 つのエントリを持つユーザー辞書を作成します。
吉本,,,100,名詞,固有名詞,人名,名,*,*,よしもと,ヨシモト,ヨシモト
興業,,,100,名詞,一般,*,*,*,*,こうぎょう,コウギョウ,コウギョウ
両方のエントリが既定の辞書に既に存在すると思われますが、それらをユーザー辞書に追加し、比較的低い特定性インジケーターを指定することで (私は100
両方に使用しました。低いほど、分割される可能性が高くなります)、次のようになります。 mecab は全体よりも部分を好む傾向があります。
ユーザー辞書をコンパイルします。
$> $MECAB/libexec/mecab/mecab-dict-index -d /usr/lib64/mecab/dic/ipadic -u mydic.dic -f utf-8 -t utf-8 ./mydic
コマンドを調整する必要がある場合があります。上記は次のことを前提としています。
Mecab は のソースからインストールされました$MECAB
。パッケージ マネージャーによってインストールされた mecab を使用する場合、mecab-dict-index
ツールを見つけるのが難しい場合があります。ソースからの最適なインストール。
デフォルトの辞書は にあり/usr/lib64/mecab/dict/ipadic
ます。これは mecab パッケージの一部ではありません。これは別のパッケージ (例: this ) として提供され、これも見つけるのが難しい場合があります。
mydic
は、ステップ 1 で作成したユーザー辞書mydic.dic
の名前です。 は、出力として取得するコンパイル済み辞書の名前です (存在する必要はありません)。
システム辞書 (-t
オプション ) とユーザー辞書 (-f
オプション ) はどちらも UTF-8 でエンコードされています。これは間違っている可能性があります。その場合、後で mecab を使用したときにエラー メッセージが表示されます。
mecab の構成を変更します。システム全体のインストールでは、これは名前付き/usr/lib64/mecab/dic/ipadic/dicrc
または類似のファイルです。あなたの場合、それは別の場所にある可能性があります。構成ファイルの末尾に次の行を追加します。
userdic = home/myhome/mydic.dic
上記でコンパイルした辞書への絶対パスが正しいことを確認してください。
その後、入力に対して mecab を実行すると、化合物がその部分に分割されます (Linux システムで mecab 0.994 を使用してテストしました)。
より完全な修正は、デフォルトの辞書のソースを取得し、分割したいすべての複合名詞を手動で削除してから、辞書を再コンパイルすることです。一般的な意見として、CJK トークナイザーを本番モードで長期間にわたって深刻なアプリケーションに使用するには、通常、一定量の辞書のメンテナンス (エントリの追加/削除) を定期的に行う必要があります。