C#で日本語形態素解析エンジンNMeCabを試してみる。

コンピュータ

NMeCabを使うと日本語の文章を単語ごとに分割してくれるようなので試してみました。

プロジェクトの作成

 mkdir MeCabSample
 cd MeCabSample
 dotnet new console
 dotnet add package NMeCab
 dotnet add package LibNMeCab.IpaDicBin --version 0.10.0

サンプルコード

using System;
using NMeCab.Specialized;

class Program
{
    static void Main()
    {
       using (var tagger = MeCabIpaDicTagger.Create()) // Taggerインスタンスを生成
       {
            var nodes = tagger.Parse("明日の天気予報を確認する。"); // 形態素解析を実行
            foreach (var node in nodes) // 形態素ノード配列を順に処理
            {
                Console.WriteLine($"表層形:{node.Surface}");
                Console.WriteLine($"読み :{node.Reading}");
                Console.WriteLine($"品詞 :{node.PartsOfSpeech}");
                Console.WriteLine();
            }
        }
    }
}

実行結果

dotnet run
表層形:明日
読み :アシタ
品詞 :名詞

表層形:の
読み :ノ
品詞 :助詞

表層形:天気
読み :テンキ
品詞 :名詞

表層形:予報
読み :ヨホウ
品詞 :名詞

表層形:を
読み :ヲ
品詞 :助詞

表層形:確認
読み :カクニン
品詞 :名詞

表層形:する
読み :スル
品詞 :動詞

表層形:。
読み :。
品詞 :記号

きちんと単語単位に分割されていますし、読みも完璧でしたので、何かと使えるライブラリだと思いました。

コメント