言語解析を行う¶
本ガイドでは、テキスト分析 AAPFアドオンによる言語解析を行います。
言語解析機能とは、テキストの形態素解析や構文解析を行う機能であり、すべてのテキスト処理の前段階で呼び出されます。
言語解析を行うことで、文書中の高頻出の単語を見つけたり、その単語の原型や品詞が何であるかを解析することができます。
今回は形態素解析を実行するシナリオを示します。
データを準備する¶
言語解析機能を動かすための設定ファイルを準備します。
ユーザがアクセス可能なディレクトリにdester-python-getting_started-1.2.0_2.zipを格納します。
格納したファイルを解凍します。
$ unzip dester-python-getting_started-1.2.0_3.zip
ディレクトリを移動します。
$ 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 | 。 | 。 | 記号-句点 |
今回は形態素解析結果の一部を表示しており、「表層形、原型、品詞」以外にも形態素解析によって得られる情報があります。