DataikuのNLPプラグイン紹介

2021年のインテックアドベントカレンダー12/24の記事です。
DataikuのNLPプラグインから、以下の３プラグインを使ってみた紹介記事です。
これらはどれも、デフォルトで日本語が利用できます。

 - Text Preparation
 - NLP-Visualization
 - DeepL Translation

#Text Preparation
https://www.dataiku.com/product/plugins/nlp-preparation/

ver1.2.1を試します。
このプラグインに入っている機能は以下３つ。全てJapanese対応です。
 - Language Detection
 - Spell Checking
 - Text Cleaning

##インストール
特に悩むことも無く、さくっとインストールできました。
この後もインストールでは詰まらなかったので、以後インストールについては割愛します。

## Language Detection
どの言語か判別してくれるというものです。
ちなみに、判別対象としてどの言語を使うか、指定する必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/85cecf71-a50d-3383-9e0f-7ac00671cf45.png)

とりあえずlivedoorニュースコーパスのtitleに適用。
出力はこんな感じ。左5列は入力データです。Scoreも出ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/0a4dcebc-d415-5ca6-6054-3f2b90c2ea5d.png)


元文章は全て日本語ですが、言語判別の結果、１件判別できないのが混ざっていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/83f0ced3-5121-97c8-7f8e-2c1dbb6f4afc.png)


こちらの文章です。なるほど、これぐらいアルファベットが混ざっていると判別できないこともある模様。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/7bedfe3d-db70-054e-3a75-1e33ab8d565a.png)

## Spell Checking
次は、スペルミスを教えてくれる機能。どの項目か指定して、言語も指定します。
livedoorニュースコーパスのbodyに適用。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/c5f8df55-1821-db6c-4750-c91865ddc835.png)

出力はこんな感じ。左5列は入力データです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/9d7e1c8b-414a-b3c8-5da3-e0470404a38c.png)

一番上の文章をとってきて比較してみます。
こちらが元文章。長いので中略しています。

```text
山田優が結婚会見で披露した婚約指輪は「ハリー・ウィンストン」の2カラットのダイヤの指輪。推定一千万円とか。芸能人ならではの豪華な価格の指輪だが、巷のカップルたちはどんなブランドの指輪を婚約指輪に選んでいるのだろうか？
escala cafeが2012年5月に実施したWebアンケート「エンゲージリングがほしい指輪ブランド」によると、
第1位／「ティファニー」……31.3％
第2位／「ハリー・ウィンストン」……13.3％
第3位／「カルティエ」……12.3％
第4位／「4℃」……9.2％
第5位／「ブルガリ」……4.4％
第6位／「アーカー」……1.6％
第6位／「アガット」……1.6％
第6位／「ヴァンクリーフ＆アーペル」……1.6％
第6位／「ピアジェ」……1.6％
第6位／「ミキモト」……1.6％
11位以下は略。有効回答数316件（対象escala cafe会員22歳〜34歳の働く女性）
ここでも人気のハリー・ウィンストンは最高級宝飾品ブランドとして認識されており、世界中で多くの富裕層や有名人が顧客となっている。女性なら一度は訪れたいお店でもある。
「普段は敷居が高くて入れないんですが、こういう機会だから」と夏に結婚するサチさん(28歳)は、ハリー・ウィンストン店を含む人気上位三店を彼と訪れたそうだ。

中略

前述のサチさん、当初の彼の予算をかなりオーバーした高額な指輪を買ってもらったそうだ。
「こんな高価なものを買ってもらって彼には感謝しています。彼のいい奥さんになれるように頑張りたいと思います」
「ダイヤモンドに目がくらみいい奥さんになる」というのは、間違っているとは言えないが、彼女の喜ぶ顔が見たいと奮発して指輪を買ってくれた彼への感謝の気持ちを忘れないことが、2人の愛を長続きさせる秘訣にはなる。(オフィスエムツー／佐枝せつこ)
（参考）BRILLIANCE+
```

こちらがスペルチェックし変換してくれたもの。

```text
山田優が結婚会見で披露した婚約指輪は「ハリー・ウィンストン」の2カラットのダイヤの指輪。推定一千円とか。芸能人ならではの豪華な価格の指輪だが、巷のカップルたちはどんなブランドの指輪を婚約指輪にんでいるのろうか？
escape safeが2012年5月に実施したWebアンケート「エンゲージリングがほし指輪ブランド」によると、
第1位／「ティファニー」……31.3％
第2位／「ハリー・ウィンストン」……13.3％
第3位／「カルティエ」……12.3％
第4位／「4℃」……9.2％
第5位／「ブルガリア」……4.4％
第6位／「アーサー」……1.6％
第6位／「アボット」……1.6％
第6位／「ヴァンクリーム＆アール」……1.6％
第6位／「アジア」……1.6％
第6位／「ミナモト」……1.6％
11位以下は略。有効回答数316件（対象escape safe会員22歳〜34歳のく女性）
ここでも人気のハリー・ウィンストンは最高級宝飾品ブランドとして認識されており、世界中で多くの富裕層や有名人が顧客となっている。女性なら一度は訪れたいお店でもある。
「普段は敷居がくて入れないんですが、こうい機会だから」と夏に結婚するサムさん(28歳)は、ハリー・ウィンストン店をむ人気上位三店を彼と訪れたそうだ。

中略

前述のサムさん、当初の彼の予算をかなりオーバーした高額な指輪をってもらたそうだ。
「こんな高価なものをってもらて彼には感謝しています。彼のいいさんになれように頑張りたいと思います」
「ダイヤモンドに目がくらいいいさんになる」といのは、間違いているとは言えないが、彼女のぶ顔が見たいと奮発して指輪をってくれた彼への感謝の気持ちを忘れないことが、人の愛を長続きさせる秘訣にはなる。(オフィスエムツー／枝しつこ)
（参考）BRILLIANT+
```

推定一千万円のダイヤの指輪が推定一千円になっていたり、夏に結婚するサチさんがサムさんになっていたりと、スペルチェックの精度は残念ながらちょっと微妙。


## Text Cleaning
文章からごみをとってくれる機能です。
句読点や単位、絵文字など、何気にいろいろとってくれそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/bf760792-1460-7071-034f-5ac200f5f75d.png)


こちらが結果。最後尾にクリーニング後の文章をくっつけていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/3459b0ad-7693-d5e2-3800-76a4d32a6fac.png)

さきほどと同じ、指輪の記事のクリーニング後文章がこちらです。

```text
山田 優 結婚 会見 披露 婚約 指輪 ハリー ウィンストン カラット ダイヤ 指輪 推定 一千万 円 芸能 人 豪華 価格 指輪 巷 カップル どんな ブランド 指輪 婚約 指輪 選ぶ だ escala cafe 年 月 実施 web アンケート エンゲージ リング ほしい 指輪 ブランド 第 位 ティファニー 第 位 ハリー ウィンストン 第 位 カルティエ 第 位 第 位 ブルガリ 第 位 アーカー 第 位 アガット 第 位 ヴァン クリーフ アーペル 第 位 ピアジェ 第 位 ミキモト 位 以下 略 有効 回答 数 件 対象 escala cafe 会員 歳 歳 働く 女性 ここ 人気 ハリー ウィンストン 最 高級 宝飾 品 ブランド 認識 世界 中 多く 富裕 層 有名 人 顧客 女性 一度 訪れる 店 普段 敷居 高い 入れる いう 機会 夏 結婚 サチ 歳 ハリー ウィンストン 店 含む 人気 上位 三 店 彼 訪れる 彼 指輪 全く 興味 人 私 好き 決める いい 言う 最初 ティファニー 店 行く 接客 くれる 年配 女性 こんな かわいい 嫁 最低 くらい 提示 指輪 金額 50万 円 咄嗟 彼 顔色 変わる 実 彼 予算 30万 円 後 カルティエ 回る ハリー ウィンストン 店 入る 店内 彼 かなり ビビる ます 咄嗟 サチ ここ 見る だけ 彼 耳打ち ほっと 彼 店 入る たび 店員 サチ 会話 サチ ダイヤモンド 詳しい 驚く って 高価 買う もらう 納得 いく だ 雑誌 ネット 徹底 的 調べる ます ダイヤモンド g i a 米国 宝石 学会 品質 評価 国際 基準 基づく c 呼ぶ cut カット 輝き carat カラット 重さ color カラー 色 clarity クラリティ 透明 度 要素 コンビネーション 評価 広い 知る 芸能 人 記者 会見 何 カラット 指輪 もらう 聞く カラット 宝石 重い カラット あたり グラム 相当 カラット ダイヤモンド 直径 約 mm ジュエリー 店 行く 必ず c 説明 予め 知る 値段 質 比較 たとえ 見る だけ ハリー ウィンストン 店内 サチ 堂々 事前 ダイヤモンド 予備 知識 男性 一人 指輪 買う くる いう 彼女 サプライズ 男性 一人 店 いらっしゃる ます 迷う 末 200万 円 指輪 購入 ます けど 彼女 気 入る 後日 別 2人 交換 いらっしゃる ます 宝石 店 勤務 美香子 200万 円 指輪 気 いる なんて なん わがまま 筆者 憤慨 周り 独女 聞く そんな 高価 自分 選ぶ だ 私 場合 彼 趣味 合う できる 一生 自分 選ぶ ほしい 声 圧倒 的 やはり 高価 品物 自分 気 入る 選ぶ いただく 一番 彼 納得 彼女 選ぶ 嬉しい 見る いらっしゃる ます 美香子 最初 二人 来る いい 余計 世話 ダイヤモンド 愛 証 大きい 愛 イコール 高価 指輪 もらう 女優 離婚 指輪 夫婦 仲 いい 夫婦 大切 指輪 買う くれる 彼 感謝 気持ち 前述 サチ 当初 彼 予算 かなり オーバー 高額 指輪 買う もらう こんな 高価 買う もらう 彼 感謝 彼 いい 奥さん なれる 頑張る 思う ダイヤモンド 目 くらむ いい 奥さん いう 間違う 言える 彼女 喜ぶ 顔 見る 奮発 指輪 買う くれる 彼 感謝 気持ち 忘れる 2人 愛 長続き 秘訣 オフィスエムツー 佐枝 せつこ 参考 brilliance
```

ブランド名の括弧や…などがとれていますね。ちゃんと分かち書きされています。中身はSpacyっぽいです。
「mm」とか普通に残っていたりしますが、GUIでぱっとかけたクレンジングとしてはよいのではないでしょうか。
品詞選択ができたらなおよかったですが、このあたりは言語特有な気もするので難しいですね。

# NLP-Visualization
次は可視化プラグインにいってみます。つまりwordcloud。ver1.0.0です。

https://www.dataiku.com/product/plugins/nlp-visualization/

こちらも特に悩まずインストール。早速使ってみます。
なんと、フォルダを利用するタイプ。なるほど、こう来ましたか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/ea2089ee-2d3b-706b-800f-483b2fa75694.png)

まずは元文章であるbodyを指定。言語指定も必要。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/984b71aa-b339-f93b-2822-77f721470ff9.png)

結果はpngファイルでフォルダに吐き出されます。
分かち書きは自動的にしてくれるみたいですね。言語データを入力したのである程度の処理はしてくれるのでしょう。■とか●とか記号が入っているので、さきほどのText Cleaningをかませた方がよさそう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/33ae3b1c-438a-bc25-5566-3c94b0ad4163.png)

試しにクレンジング後のデータでもwordcloud描画します。
色合いが選べることに気づいたので、「Dataiku Next」とかいうカラーにしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/3db31372-d1a6-990e-a7ea-dd2b5a911e51.png)

若干、色鮮やかに？フランスっぽいですね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/afb995f6-237d-ebe5-d867-d68af6bb4c14.png)


何も考えずにwordcloud描画してますが、写真や撮影の文字が大きいのは「写真：アフロ」とか「撮影：視聴者」とか、本文とは関係ないけど頻出する単語が出てきてしまっている気がします。

ちなみにこのpngファイルもダッシュボードにpublishできますね！！


# DeepL Translation

最後にAPIを利用するプラグインである、DeepL Translationプラグインを使ってみます。versionは1.0.0。

https://www.dataiku.com/product/plugins/nlp-deepl-translation/

DeepLを使うためには少し設定が必要で、DeepLのAPIを使うためのユーザー登録をする必要があります。
無料版なのにクレジットカード情報を入力しなければならないので、とてもだるいです。複アカ利用がひどいのでしょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d0aa6590-4c35-c726-6ecd-61517399dabf.png)



アカウント登録後、「DeepL APIで利用する認証キー」をコピーしてプラグイン側に設定します。

まず、PluginsからDeepLTranslationの画面にいき、Settingsへアクセスします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d40de71f-b1f2-1c2f-f83d-292aaecd822e.png)

API configrationで[+ ADD PRESET]をクリックして設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/6675a625-f0f2-1bd4-44a8-b6efa9df53ff.png)

さきほどコピーした認証キーをDeepL API keyへ貼り付け、DeepL URLを選択します。フリー版なのでフリーのURLを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/3bc4986c-f98b-748f-3dc4-f5d0940ab039.png)


早速DeepLレシピを使っていきます。
ニュースデータセットを入力として、DeepL Translationレシピを設定します。API configuration presetで先ほど登録したAPI presetを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/071b4991-c0c7-c7c5-c605-d7ffb03b7041.png)

右側5列に結果が追加されています。body_EN_USに翻訳後の英文が記載されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/dee5d3f2-4237-51db-38e8-6ed3b0ff5b62.png)

クオリティはDeepL準拠だと思うので詳細は割愛します。