言語解析を行う

本ガイドでは、テキスト分析 AAPFアドオンによる言語解析を行います。
言語解析機能とは、テキストの形態素解析や構文解析を行う機能であり、すべてのテキスト処理の前段階で呼び出されます。
言語解析を行うことで、文書中の高頻出の単語を見つけたり、その単語の原型や品詞が何であるかを解析することができます。

今回は形態素解析を実行するシナリオを示します。

データを準備する

言語解析機能を動かすための設定ファイルを準備します。

  1. ユーザがアクセス可能なディレクトリにdester-python-getting_started-1.2.0_2.zipを格納します。

  2. 格納したファイルを解凍します。

    $ unzip dester-python-getting_started-1.2.0_3.zip
    
  3. ディレクトリを移動します。

    $ cd dester-python-getting_started-1.2.0_3
    

分析を実行する

今回は、自動車の不具合のサンプルデータから「走行中にエンジン警告灯が点灯した。」という文を 言語解析して形態素解析の結果を確認します。

1. 必要なモジュールのインポート

テキスト分析 AAPFアドオンを利用するために、dester_pythonをimportします。

In [1]:

import os
import pandas as pd
import dester_python

2. 設定ファイルの読み込み

createDeSTERProperties()メソッドで設定ファイルを読み込みます。 DATA_DIR_PATHには データを準備する で解凍した設定ファイルのパスを指定して下さい。

以下では、 データを準備する で解凍したディレクトリと、ipynbファイルが同じディレクトリにある場合の例を示しています。

In [2]:

# 解析対象の文字列
text = '走行中にエンジン警告灯が点灯した。'

# 設定ファイルのパスを指定します。
CUR_DIR_PATH = os.path.abspath(os.path.curdir)
DATA_DIR_PATH = os.path.join(CUR_DIR_PATH, 'examples/morphological_analysis/data/')

# 設定ファイルのパスを指定します。
conf_path = os.path.join(DATA_DIR_PATH, 'morphological_analysis.conf')

# 設定ファイルを読み込みます。
properties = dester_python.createDeSTERProperties(conf_path)

3. 言語解析の実行

読み込んだ設定ファイルをもとに、言語解析を実行します。

In [3]:

# 言語解析を実行します。
analyzingProcess = dester_python.createDeSTERAnalyzingProcess(properties)
analyzingProcess.startAnalyzeProcess()
rawDocument = dester_python.createRawDocument('docId', text)
document = analyzingProcess.run(rawDocument)

4. 結果の表示

言語解析の実行結果を表示します。

In [4]:

# 形態素解析結果を表示します。
df = pd.DataFrame(columns=['表層形', '原型', '品詞'])
words = document.getWords()
num = 0
for word in words:
        num += 1
        df.loc[num] = [word.getForm(), word.getLemma(), word.getPos()]

analyzingProcess.endAnalyzeProcess()

df
表層形 原型 品詞
1 走行 走行 サ変
2 名詞-一般
3 助詞-格助詞
4 エンジン エンジン 名詞-一般
5 警告灯 警告灯 名詞-一般
6 助詞-格助詞
7 点灯 点灯 サ変
8 する サ変語尾
9 助動詞-一般
10 記号-句点

今回は形態素解析結果の一部を表示しており、「表層形、原型、品詞」以外にも形態素解析によって得られる情報があります。