金融用語でMeCabの2つの辞書をテスト

2024/12/27に公開

こんにちは、株式会社ナレッジラボでAI・機械学習のエンジニアリングを担当しているダンです。私たちは、社内に散在する経営データの集計・分析・管理を支援する「Manageboard」というサービスを提供しています。Manageboardは、今後ますますAI機能を強化していく予定です。私の記事では、研究開発中に直面した課題について共有いたします。

背景

MeCabは日本語のテキストを効果的に分割するための強力なツールで、テキストを単語やフレーズなどの単位に分割します。この分割結果は、使用する辞書に大きく依存します。中でもよく使われているのがIPA辞書で、MeCabの公式サイトで提供されています。もう一つ、mecab-ipadic-NEologdというカスタマイズされた辞書があります。こちらは新しい単語や専門用語を多数追加しており、特に現代的な用語や専門分野に特化しています。
この記事では、これらの2つの辞書を使って会計に関連する用語をテストし、分割結果を比較してみます。

セットアップとコード

テストを行うため、MeCabライブラリを使用した簡単なPythonスクリプトを作成しました。このスクリプトでは、IPA辞書(ipadic)とカスタム辞書mecab-ipadic-NEologdの2つを使用して、会計関連の単語を分割します。

以下がテスト用のコードです:

import MeCab

# IPA辞書を使ってMeCabを初期化
ipa_tagger = MeCab.Tagger('-d /usr/local/lib/mecab/dic/ipadic')

# mecab-ipadic-NEologd辞書を使ってMeCabを初期化
neo_tagger = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')

# 会計用語のテスト用テキスト
text = '工場労務費'

# 両方の辞書で分割結果を出力
print([line.split(f'\t')[0] for line in ipa_tagger.parse(text).replace(f'\nEOS\n', '').split(f'\n')])
print([line.split(f'\t')[0] for line in neo_tagger.parse(text).replace(f'\nEOS\n', '').split(f'\n')])

このコードでは、MeCab.Tagger()を使用してそれぞれの辞書を読み込み、会計用語工場労務費をテストとして分割します。結果を比較するために、両方の辞書で分割した単語を出力します。

分割結果

以下は、いくつかのテスト用会計用語を使って得られた分割結果です。

テキスト IPA辞書(ipadic) mecab-ipadic-NEologd
工場労務費 工場・労務・費 工場・労務費
(製)賞与引当金 (・製・)・賞与・引当・金 (・製・)・賞与・引当金
【原価】旅費交通費(通勤費) 【・原価・】・旅費・交通・費・(・通勤・費・) 【・原価・】・旅費交通費・(・通勤費・)
製)外注人件費 製・)・外注・人件・費 製・)・外注・人件費

分析

上記の結果から、2つの辞書の間にいくつかの重要な違いが見られます:

  1. 分割の長さ:mecab-ipadic-NEologd辞書は、IPA辞書よりも長いセグメントを生成する傾向があります。例えば、工場労務費では、IPA辞書は「工場」「労務」「」と分割しますが、mecab-ipadic-NEologdでは「工場」「労務費」として1つの単位として扱っています。これは、mecab-ipadic-NEologd労務費を一つの意味のある単位として認識していることを示唆しています。
  2. 新しいまたは専門的な用語の処理:【原価】旅費交通費(通勤費)の場合、mecab-ipadic-NEologd辞書は旅費交通費を1つのまとまったセグメントとして認識していますが、IPA辞書では「旅費」「交通」「」と分割しています。これは、mecab-ipadic-NEologdが専門用語や複合語を適切に認識している例です。
  3. 特殊文字の扱い:丸括弧やダッシュなどの特殊文字に関しては、両辞書ともに若干の問題があります。

結論

MeCabの辞書は、処理するテキストの性質に応じて選択する必要があります。一般的な用語や古い用語を扱っている場合または用語を非常に短いセグメントに分割したい場合はIPA辞書が適していますが、現代的な用語や専門的な分野、例えば会計用語を扱う場合は、mecab-ipadic-NEologdの方が優れている場合が多いです。特に、複雑な専門用語や新しい言葉を含むテキストでは、NEologd辞書がより適切な分割結果を提供します。

会計の専門家や、専門的な用語が含まれるテキストを扱う人々にとって、これらの辞書をテストし、適切な辞書を選ぶことが、テキスト処理の精度や効率を大幅に向上させることにつながると思います。

Discussion