1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unityで形態素解析やってみた

Last updated at Posted at 2018-04-29

#はじめに
Unityで形態素解析をやってみました。今回はUnityで形態素解析する方法を参考にUnityで形態素解析をして, Buildするところまで行います。

#動作環境
MacOS : 10.12.6
Unity : 5.6.5

#NMeCabのダウンロード

.NET形態素解析エンジンNMeCabをダウンロードします。
ダウンロードしたフォルダから、dicフォルダとLibNMeCab.dllを下の図のように、Unityにいれます。(NMeCab0.07というフォルダを作りまとめています。)
スクリーンショット 2018-04-29 10.25.33.png

#サンプルコードを動かす
Unityで形態素解析する方法にあるコードを実行し, 動作することを確認します。

test.c#
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NMeCab;

public class test : MonoBehaviour {

    // Use this for initialization
    void Start () {

        string sentence = "Unityで形態素解析";

            MeCabParam param = new MeCabParam();
        param.DicDir = @"Assets/NMeCab0.07/dic/ipadic";

            MeCabTagger t = MeCabTagger.Create(param);
            MeCabNode node = t.ParseToNode(sentence);
            while (node != null)
            {
                if (node.CharType > 0)
                {
                    Debug.Log(node.Surface + "\t" + node.Feature);
                }
                node = node.Next;
            }
            Debug.Log("");
        }

}

#パスを指定する
今回は、Buildした環境で形態素解析を行うことを目的としています。Buildする際はBuild先に応じて

   param.DicDir = @"Assets/NMeCab0.07/dic/ipadic";

のフォルダの場所を変更する必要があります。
Unityで取得できるパス一覧を参考にパスを変更しましょう。
Contentsの下にNMeCab0.07をいれる予定なので、

param.DicDir = Application.dataPath +"/NMeCab0.07/dic/ipadic";

に書き換えます。
Build環境で動くか確認するため、

Debug.Log(node.Surface + "\t" + node.Feature);

text.text = node.Surface + "\t" + node.Feature;

に変更して画面で確認できるようにしましょう。
#実行
では実際に先ほどサンプルを動かしたプロジェクトをBuildしてみましょう。
Buildが完了すると
スクリーンショット 2018-04-29 11.01.37.png
このようなアプリができてると思います。
これを右クリックし、「パッケージの内容を表示」しましょう。
Contentsの下に先ほどプロジェクトにいれたNMeCab0.07のファイルを入れましょう。
スクリーンショット 2018-04-29 11.00.56.png

にしました。
これでアプリを実行します。
スクリーンショット 2018-04-29 10.55.03.png
うまく動作しました。(textだと上書きされて解析しかでてませんでした...)

#まとめ
Unityで形態素解析をBuild環境でも実行できるようにしました。WebGLなどでは試していないのでうまくできるのか気になります。もっとうまいやり方がありましたらご教授願いたいです。

#参考
Unityで形態素解析する方法
Unityで取得できるパス一覧

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?