.NET Core で形態素解析を行うメモ

.NET Core で日本語の文章の形態素解析がしたくなった。 日本語の形態素解析エンジンでまず思いつくのは MeCab。 その MeCab .NET に移植した NMeCab を最初使うつもりだったんだけど、 残念ながら NMeCab は .NET Core にまだ対応していなかった。

それならフォークして .NET Standard 化しようと思ったら、既に .NET Standard 化したパッケージが NuGet に存在していたので、それを使わせてもらうことに。

www.nuget.org

簡単なサンプルは下記の通り。辞書ファイルは GitHub にある NMeCabNetStandard のリポジトリに含まれていたので、ダウンロードして抜き出したやつを指定した。

using NMeCab;
using System;
using System.IO;

namespace MeCabSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var mecab = MeCabTagger.Create(new MeCabParam
            {
                DicDir = Path.Combine(AppContext.BaseDirectory, "dic"),
            });

            var result = mecab.Parse("五等分の花嫁");

            Console.WriteLine(result);

            Console.ReadLine();
        }
    }
}

f:id:griefworker:20181128155200p:plain