目次


ユーザー作成辞書ファイルを IBM SPSS Modeler Text Analytics に取り込む方法

Comments

テンプレートエディターとリソースエディター

IBM SPSS Modeler Text Analytics には、以下の辞書インターフェースが備えられています。

図 1. テンプレートエディターとリソースエディター

上図は、テンプレテートエディターと呼ばれるものです。IBM SPSS Modeler のメイン・ツールバーの「ツール」から「Text Analytics テンプレート・エディター」を選択し開くことができます。

下図は、リソースエディターと呼ばれるものです。インタラクティブ・ワークベンチ・セッションを立ち上げた際に使用するもので、特定のテキストマイニングノードとデータに紐づいたリソースといえます。

テンプレテートエディターとリソースエディターの違いは、図中、赤枠の部分です。インターフェースの左上に、各々、「テンプレテートエディター」、「インタラクティブ ワークベンチ」と表示されるので、見分けることができます。「インタラクティブ ワークベンチ」の場合には、データのフィールド名も併せて表示されます。また「インタラクティブ ワークベンチ」では、インターフェース右上にドロップダウンボックスが表示されます。

なお本稿では、ユーザー用語リストをさまざまな解析で使うことを想定し、「テンプレートエディター」に取り込む方法を解説します。

取り込み後のテンプレートエディター画面

ユーザーがより直感的に理解できるように、取り込みの手順を示す前に、取り込み後の状態を外観しておくことにします。

左のツリーを見てください。「Opinions (Japanese) - 感性意見 TMC」と表示されています。これは、取り込んだ情報を「Opinions (Japanese) - 感性意見 TMC」という新たなテンプレート名で保存したことを意味します。(デフォルトでは「Opinions (Japanese) - 感性意見」という名前なので、TMC という名前を加えて新たに保存しました。) また、ツリーの下にある「TMCdic」というライブラリーは、ユーザーファイルをインポートした時に作成されたものです。

図 2. 取り込み後のテンプレートエディター

さらに、① から ④ について詳しく見ます。

① の部分は、類義語をインポートしたものです。3 行目には、「店」という代表語、「店舗」と「ショップ」という類義語がインポートされています。このテンプレートを用いて抽出を実行すると、「店舗」と「ショップ」は、「店」と同じコンセプトとして出力されます。

② の部分は、品詞タイプをインポートしたものです。「こそアド」が「名詞」、「シュワルツェネッガー」が「人名」といったように、定義されています。

③ の部分は、感性タイプをインポートしたものです。「SU」 (センス疑う) や「KY」 (空気読めない) が、「悪い - 不評・不人気」という感性タイプとして定義されています。

④ の部分は、不要語を直接貼り付けたものです。このテンプレートを用いて抽出を実行すると、「ことさら」「さらに」「とくに」といったコンセプトは、出力結果から除外されます。

2 つの取り込み方

取り込み後の状態を外観したので、次に取り込みの具体的手順を示します。

ユーザー辞書ファイルをテンプレートエディターに取り込むには、2 通りの方法があります。ファイルをテンプレートエディターにインポートする方法、直接テンプレートエディターにコピーして貼り付ける方法です。

図 3. 取り込み方

基本的な考え方としては、④ の場合を除き、ファイルをインポートすることを推奨します。(④ はファイルをインポートできないので、直接コピーのみが可能です。) また ①、②、③ でインポートする場合は、ファイルを UTF-8 コードで保存します。日本語のテキストの多くは、Shift-JIS で保存されているので注意が必要です。(UTF-8 で保存するには、メモ帳やあるいはテキストエディターを用います。)

インポートするには、決まったファイル名を用いなければなりません。類義語の定義には、「syn.txt」 というファイル名を用います。品詞タイプの定義には、「名詞.txt」「地名.txt」 といったように、品詞タイプ名をファイル名に用います。感性タイプの定義には、「悪い - 不評・不人気.txt」など、感性タイプ名をファイル名に用います。以下、その詳細を解説します。

前処理

類義語定義ファイルの作成

類義語ファイルには、「syn.txt」というファイル名を用います。

ファイル内には、「類義語」と「代表語」をペアで記述します。1 列目に類義語、2 列目に代表語を記述します。2 列目は代表語なので、複数回出現しても構いません。また 1 列目と 2 列目は、タブ区切りで記述します。(Excel などで編集し、タブ区切りで保存するのが良いでしょう。)

図 4. syn.txt ファイル記述例

上例の最初の 2 行は、「店舗」と「ショップ」という単語が「店」という代表語の類義語として登録されることを意味します。

このように記述されたファイルは、Text Analytics でテンプレートエディターにインポートすると、以下のように表示されます。左右反対となるので注意が必要です。

図 5. syn.txt インポート例

編集後、ファイル名を「syn.txt」、文字コードに UTF-8 を選び保存します。(保存先は任意ですが、ここでは TMCdic というフォルダ内に保存しています。)

図 6. UTF-8 で保存

品詞タイプ定義ファイルの作成

Text Analytics の品詞タイプは、「名詞」「組織名」「人名」「地名」「形容動詞」「形容詞」「動詞」「その他」の 8 つがあります。Text Analytics に取り込む際には、タイプごとにファイルを作る必要があります。例えば、名詞については「名詞.txt」、組織名については「組織名.txt」というように、品詞タイプ名をファイル名とします。ファイル内は、改行を用いて単語を縦に記述します。

以下は、名詞の例です。ファイル名を「名詞.txt」とし、文字コードを UTF-8 に選び保存します。

図 7. 名詞.txt ファイル記述例

同じように、「シュワルツェネッガー」という単語を「人名.txt」、「SPSS」という単語を「組織名.txt」、「LA」という単語を「地名.txt」と記述し、文字コードに UTF-8 を選び保存します。

図 8. 人名.txt、組織名.txt、および地名.txt ファイル記述例

注:形容詞や動詞も、名詞と同じように「形容詞.txt」「動詞.txt」というファイルを作成すれば、インポートすることができます。ただし品詞の特性上、そこに登録する単語の語尾は一定の条件を満たす必要があります。形容詞に関しては語尾が「い」であること、動詞に関しては、「ウ段」(う、く、す、つ、ぬ・・・) であることが条件となります。

感性タイプ定義ファイルの作成

Text Analytics においては、「良い‐嬉しい」「悪い‐怒り」「その他‐疑問」など、計 82 の感性タイプがあります。この中のタイプを指定して定義することができます。以下は、「KY」 (空気読めない) と「SU」 (センス疑う) という単語に、「悪い ‐ 不評・不人気」という感性タイプを割り当てる場合です。ファイル内は、改行を用いて単語を縦に記述します。そして、ファイル名を「悪い‐不評・不人気.txt」とし、UTF-8 で保存します。

図 9. 悪い‐不評・不人気.txt ファイル記述例

以上、①、②、③ のファイルの作成方法を記しました。保存先は任意としましたが、すべてのファイルを 1 つの同じフォルダ内に保存した場合、「ディレクトリー全体のインポート」という機能を用い、一度にまとめてインポートすることができます (後述)。ここではすべて、TMCdic というフォルダに保存しています。

インポート

Text Analytics テンプレートエディターにインポートするには 2 種類の方法があります。「単一ファイルをインポート」と「ディレクトリー全体のインポート」です。

テンプレートエディターの起動

2 通りのインポート方法がありますが、Text Analytics テンプレートエディターの起動までは同じです。Modeler のメニューの「ツール」から「Text Analytics テンプレートエディター」を選択します。以下のダイアログボックスが表示されるので、「Opinions (Japanese) - 感性意見」というテンプレートを選択し「OK」をクリックします。「Opinions (Japanese) - 感性意見」は、製品に同梱されているデフォルトのテンプレートです。

図 10. リソーステンプレートを開く

単一ファイルをインポート

テンプレートエディター画面が起動するので、メニューの「リソース」から「ファイルをインポート」、そして「単一ファイルをインポート」を選択します。

図 11. 単一ファイルをインポート

「ファイルをインポート」というダイアログボックスが表示されるので、インポートしたいファイルを選択し、「インポート」をクリックします。本例では、TMCdic というフォルダに保存した「syn.txt」を選択します。

図 12. インポートするファイルの選択

確認のメッセージが表示されるので、「はい」をクリックするとインポートが実行されます。

図 13. インポート前の確認メッセージ

インポートが完了後、テンプレートエディターの類義語辞書部分に「syn.txt」の単語が追加されていることを確認できます。本例では、「サポート」「取扱説明書」「店」という代表語と、それぞれの類義語が登録されています。

図 14. インポートされた類義語

同様に、他のファイル、「名詞.txt」「人名.txt」や「悪い‐不評・不人気.txt」をインポートすることができます。

ディレクトリー全体のインポート

複数のファイルを用意した場合は、「ディレクトリー全体のインポート」という機能を用いると効率よくインポートできます。ただしその前提として、ファイルはすべて一つのフォルダにまとめて保存しておく必要があります。またフォルダ名がライブラリ名となるので、わかりやすい名前をつけておきます。フォルダ内には、「名詞.txt」「人名.txt」「形容動詞.txt」などの品詞タイプだけでなく、類義語用のファイル「syn.txt」、感性タイプ「悪い‐不評・不人気.txt」(計 82 種類) を含むことができます。

前述のようにテンプレートエディターを起動させます。そしてメニューの「リソース」から「ファイルをインポート」、そして「ディレクトリー全体のインポート」を選択します。

図 15. ディレクトリ全体のインポート

「フォルダーをインポート」というダイアログボックスが表示されるので、ファイルを保存しておいたフォルダを選択します。本例では、TMCdic というフォルダにファイルを保存してあるので、このフォルダを選択します。選択後、「インポート」をクリックします。

図 16. インポートするフォルダの選択

確認のメッセージが表示されるので、「はい」をクリックするとインポートが実行されます。確認のメッセージは、フォルダに含まれているファイルの数だけ出ます。

図 17. インポート前の確認メッセージ

インポートが完了すると、左のツリー表示には、TMCdic というライブラリ名が表示されています。またテンプレートエディターに単語が追加されているのを確認できます。

図 18. TMCdic というライブラリ名とインポートされた単語

注:「SU」「KY」という単語をインポートした場合、「名詞」という品詞タイプと、「悪い - 不評・不人気」という感性タイプの両方が表示されています。両方が表示されている場合、解析実行時 (基本的には) 感性タイプが優先されます。ただし文脈によって例外が生じることが全くないとは言えません。感性タイプが確実に優先されるよう、タイプ欄の「名詞」は空欄に設定し直すことをお奨めします。

直接コピー

不要語 (ストップワード) の貼り付け

不要語は、1 語 1 語手入力することも可能です。ただし、リソーステンプレートにまとめて加える場合には、「コピー」して「貼り付け」を行うことも出来ます。

Excel (あるいはメモ帳などのテキストエディター) で不要語リストを作成します。これらをまとめてコピー (Ctrl +C) します。

図 19. 不要語リスト例

テンプレートエディターの不要語リストにマウスを運び、右クリックしてポップアップメニューを表示させ、「貼り付け」 (Ctrl +V) を選択します。

図 20. 不要語の貼り付け操作例

以下のように、不要語リストに単語が追加されていることを確認できます。本例では、「とくに」「ことさら」「さらに」が登録されています。

図 21. 登録された不要語

リソーステンプレートの保存・読み込み・削除

リソーステンプレートの保存

インポート (あるいはコピー) した辞書内容を解析で使用するためには、現在のリソーステンプレート (Opinions (Japanese) - 感性意見) に上書き保存するか、新規リソーステンプレートとして別名で保存する必要があります。

本例では、新規リソーステンプレートとして別名で保存する方法を示します (推奨)。テンプレートエディターのメニューの「ファイル」から「リソーステンプレートを保存」を選択します。

図 22. リソーステンプレートを保存するためのメニュー

「リソース テンプレートを保存」というダイアログボックスが表示されるので、リソーステンプレート名を入力します。本例では、「Opinions (Japanese) - 感性意見 TMC」という名前を入力し、「保存」をクリックします。

図 23. リソーステンプレート名を指定して保存

保存されると、ライブラリー リソースタブの表示が、以下のように「Opinions (Japanese) - 感性意見 TMC」と変わります。(保存前は、「Opinions (Japanese) - 感性意見」)

図 24. 新規テンプレートとして別名で保存されたリソーステンプレート

上記の作業で、「Opinions (Japanese) - 感性意見 TMC」というリソーステンプレートが新規保存されました。この状態になってはじめて、テンプレートエディターを閉じることができます。この保存を行わないでテンプレートエディターを閉じると、インポートしたライブラリ (辞書) は失われます。

なおテンプレートエディターを閉じようとすると、以下のダイアログが表示されます。仮に保存するのを忘れた場合でも、以下のダイアログの「テンプレートxxxへの変更を保存」にチェックを入れ「OK」を選択すれば保存ができます。

図 25. テンプレートエディターの終了

リソーステンプレートの読み込み (解析に使用)

テンプレートエディターは、リソーステンプレートへのライブラリ (辞書) の追加、削除、更新等の管理を行うためのものです。テンプレートエディターが起動していることと、実際の解析にそのリソーステンプレートが適用されることとは関係がありません。

保存したリソーステンプレート「Opinions (Japanese) - 感性意見 TMC」を実際の解析で使用するには、テキストマイニングノード上で、リソーステンプレートを読み込む必要があります。

Modeler のストリーム上に、入力ノードを置きます。入力ノードにテキストマイニングノードを接続し、テキストマイニングノードを編集します。「モデル」タブの「リソーステンプレート」の「読み込み」ボタンをクリックします。

図 26. リソーステンプレートの読み込み

「リソーステンプレートの読み込み」ダイアログボックスが表示されます。製品に同梱されている「Opinions (Japanese) - 感性意見」に加え、「Opinions (Japanese) - 感性意見 TMC」が追加されているのが分かります。後者を選択し「OK」をクリックします。

図 27. リソーステンプレート読み込みダイアログボックス

テキストマイニングノードの「モデル」タブ上で、「Opinions (Japanese) - 感性意見 TMC」というリソーステンプレートが読み込まれていることを確認できた状態で使用可能となります。この際、テキストの言語が「日本語」であることも併せて確認してください。

図 28. 読み込まれたリソーステンプレートとテキスト言語の確認

テキストの言語が「英語」である場合はエラーの原因となります。「英語」のまま「実行」ボタンを押すと、「テキストマイニングエラー:リソーステンプレートがありません」というエラーが表示され、解析を行うことができません。この場合は、「リソーステンプレート」の「読み込み」をクリックし、「リソーステンプレートの読み込み」ダイアログボックスを表示し、「Opinions (Japanese) - 感性意見 TMC」を選択し直し、「OK」をクリックします。

保存したリソーステンプレートの削除

保存したリソーステンプレートを削除するには、以下のように行います。

Modeler のメニューの「ツール」から「Text Analytics テンプレートエディター」を選択します。テンプレートエディターを立ち上げ、任意のリソーステンプレート (例:「Opinions (Japanese) - 感性意見」) を選択し、「OK」をクリックします。

テンプレートエディターのメニューの「リソース」から「テンプレートを管理」を選択します。

図 29. リソーステンプレートを管理するためのメニュー

削除したいリソーステンプレートを選択し、「削除」をクリックします。

図 30. リソーステンプレートの削除

内容を修正したファイルの再インポート

調査、研究、業務で新たなテキストデータを扱うたびに、新たな用語を見つけるものです。このようなサイクルがある以上、ユーザー側としては、次のような懸念をもつことでしょう。外部ファイルの用語を IBM SPSS Modeler Text Analytics にインポートしたけれども、その元の外部ファイルに新たな用語を追加した場合、Text Analytics のリソーステンプレートと内容を同期できるだろうかという懸念です。

単語を追加した場合の動作

インポートした後に、元ファイルに新たな単語を追加し、そのファイルをインポートし直す場合、差分のみが追加されます。以下、例を示します。

先に示したように、「syn.txt」には、「サポート」「取扱説明書」「店」を代表語とした類義語がすでにインポートされています。

図 31. リソースエディターに登録されている類義語

この「syn.txt」に、新たな類義語「shop」「support」「manual」を追加します。「shop」は「店」に、「support」は「サポート」に、「manual」は「取扱説明書」に加えます。

またここでは、新規代表語として「受付」、その類義語として「reception」を追加します。

図 32. syn.txt に追加した新たな類義語

テンプレートエディターを起動し、メニューの「リソース」から「単一ファイルをインポート」を選択し、単語を追加した新たな「syn.txt」をインポートします。

それぞれの代表語には、「shop」「support」「manual」が追加されています。また今回新たに加えた「受付」と「reception」も、問題なく追加されていることが確認できます。

図 33. リソースエディターに新たに登録された類義語

上記を要約すると次のことが言えます。

  • 既存の「代表語と類義語の関係」を保持した上で、新たに類義語を追加することができる。
  • 新規に「代表語」と「類義語」を追加することもできる。

しかし、過去に定義した「代表語と類義語の関係」と競合するような内容は、避けなければなりません。以下、その例を記します。

代表語と類義語の関係を変えた場合の動作

「syn.txt」に、「manual」を代表語として、「取扱説明書」を類義語として追加した場合を考えてみます。

図 34. syn.txt に追加した新たな類義語 (入れ子状態)

このように登録したとしても、テンプレートエディターを起動し、新たな「syn.txt」をインポートすることはできます。

図 35. リソースエディターに新たに登録された類義語 (入れ子状態)

しかしこの場合、取扱説明書は、代表語であると同時に類義語としても登録されてしまいます。つまり、「manual > 取扱説明書 >取説、取扱い説明書、取り扱い説明書」という入れ子構造で定義していることになり、この状態では正しい解析結果を得ることはできません。

単語を削除した場合の動作

インポートした後に、元ファイルの登録単語を削除し、ファイルを再インポートし直した場合、その削除結果が反映されることはありません。

「syn.txt」で、「取扱説明書」という代表語と、「取り扱い説明書」「取扱い説明書」「取説」という類義語を削除します。しかし、単語を削除した「syn.txt」をインポートしても、テンプレートエディターにインポートされたものは削除されません。

図 36. 単語を削除した syn.txt をインポートした場合のリソースエディター

以上、 IBM SPSS Modeler Text Analytics のテンプレートエディターに外部ファイルを取り込む手順について解説を行いました。ユーザー独自の用語リストがあるのであれば、それを取り込むことで、抽出の精度は確実に向上させることができます。ぜひ活用してみてください。

なお、本稿ではテンプレートエディターについて解説しましたが、IBM SPSS Modeler Text Analytics を用いた一般的なテキスト分析については、以下に示す参考文献を参考にしてください。これは、IBM SPSS Text Analytics for Surveys について解説したものですが、日本語解析エンジン、カテゴリの作成方法など、多くの機能が IBM SPSS Modeler Text Analytics と共通しています。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=ビジネス・アナリティクス, Information Management
ArticleID=1017539
ArticleTitle=ユーザー作成辞書ファイルを IBM SPSS Modeler Text Analytics に取り込む方法
publish-date=10222015