小ネタ: WatsonのNatural Language Understandingが【フル】日本語対応しました


![image](https://qiita-image-store.s3.amazonaws.com/0/108535/fdcb9002-5f1a-c623-e34e-2144edfd6d88.png)

:triangular_flag_on_post:　2018/5/24時点で追加があったのでアップデートします
:triangular_flag_on_post:　2018/6/26時点で正式に日本語対応されたのでアップデートします

# 要は: NLU機能~~の一部~~が日本語対応しました

[NLUのRelease Note](https://console.bluemix.net/docs/services/natural-language-understanding/release-notes.html#release-notes)で知ったのですが

- (2018-03-16付) カテゴリーとコンセプトの機能が日本語対応しました
- (2018-04-19) Relationsが日本語対応しました
- (2018-05-04) SentimentとSemantic Roleが日本語対応しました
- (2018-06-26) **一部未対応箇所[^1]を除き、日本語をフルにサポートしました**

[^1]: 未対応箇所はrelease-noteに記載がありますが、Number/Percent/PhoneNumber/URL/IPv6_addressesがまだ日本語に対応だそうです。
~~NLUにはいろいろなフィーチャーがありますが、まだ全てが日本語対応したわけではないので、とりあえずの軽いお知らせ的な記事を書きます。(Watson Discovery等で本格的な対応ができたら、また記事書こうと思います）~~
2018-06-26には[Watson Discoveryも日本語のフルサポートが発表されています](https://console.bluemix.net/docs/services/discovery/release-notes.html#release-notes)


# NLUって何?
ドキュメントには
>自然言語理解を使用して、テキストを分析し、コンテンツから**概念、エンティティー、キーワード、カテゴリー、感情、関係、意味役割などのメタデータを抽出**します。 Watson Knowledge Studio を使用して開発されたカスタム・アノテーション・モデルにより、非構造化テキスト内の業界固有/特定分野のエンティティーおよび関係を識別します。

とあります。要はアノテーション=メタデータの抽出、ですかね。
Watson Discoveryは内部的にNLUの機能を利用しています。NLUの意味や機能はQiitaのWatson Discoveryご紹介記事の[エンリッチメント(Enrichment)](https://qiita.com/ishida330/items/b823d7c5b55806f04242#2-%E3%82%A8%E3%83%B3%E3%83%AA%E3%83%83%E3%83%81%E3%83%A1%E3%83%B3%E3%83%88enrichment)の箇所に書きましたので、よろしければご参照ください。
NLUには大きく以下の７つのフィーチャーがありますが、~~今回は「とりあえず」①と④に対応したものです。~~ 2018/06/26時点では(一部未対応項目を除き) ひととおり日本語対応しました。

①概念のタグ付け( Concept Tagging )
②エンティティー抽出( Entity Extraction )
③キーワード抽出( Keyword Extraction )
④カテゴリー分類( Category Classification )
~~⑤感情分析( Emotion Analysis )~~[^2]
⑥センチメント分析( Sentiment Analysis )
⑦意味役割抽出( Semantic Role Extraction )

[^2]: ⑤感情分析は未対応ですが、今後も対応の予定は無いそうです。⑥のセンチメント分析があるからいいでしょ、ってことかと思います。

今までWatson Discoveryの日本語環境ではNLU自体が日本語に未対応だったためにメタデータによるエンリッチメントの醍醐味を享受できていませんでしたが、~~NLUの一部が日本語に対応したことで、「Discoveryの日本語フルサポートも近いかな？」と楽しみにしております。~~NLUが日本語に対応したことで、Discoveryの日本語フルサポートも同時に発表されました。

# やってみた
:warning: 以下の「やってみた」は2018/03月時点のものです。最新のフル対応の結果ではありませんので、ご注意ください。
<hr>
[Watson NLUのデモ・サイト](https://natural-language-understanding-demo.ng.bluemix.net/)がすでに日本語に対応していましたので、触ってみました。

- ネット上から適当に文章を拾って、NLUに解析させてみました。(コンテンツの選択に特に意図はありません）
- 当該デモサイトでは言語を指定せずとも、日本語を自動判定のうえ、よしなに処理してくれます。 

### Yahooニュース 
今日のトップにあった「[認可保育１次選考、２４％入所できず…読売調査](https://headlines.yahoo.co.jp/hl?a=20180321-00050077-yom-soci)」というニュースのテキストをコピペして「Analyze」ボタン。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/de45744c-82b0-ca25-8c8d-e7ff2040d6b6.png)

カテゴリーとして政府、日本、子供などが出てきました。いい感じです。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/5a5ed119-50b7-25cb-e1f2-b0dbd5a6eec6.png)

コンセプトもよさげです。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/757dad18-3e21-c9e6-1e67-b7b0f36de9b7.png)


### ロンドン旅行記
4Travelの「[娘と行くロンドン9日間　5日目](https://4travel.jp/travelogue/11340786)」という旅行記ブログ

今度はテキストではなくページ全体のURLでやってみました。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/160573b8-e045-c7a9-f359-8bb3d8117b18.png)

カテゴリーは旅行で正解。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/30316cec-c9ef-9f8b-bd40-469b33a4ee11.png)

コンセプトも「旅行」「ロンドン」はいいですが、「20」は記事の周りに20万円前後のツアーのバナーが出ているので、それを持ってきたのでしょう。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/a29a7c9a-e9bc-d384-8f71-ba45138c1075.png)


### マニュアル
キャノンさんのプリンターのWebマニュアル「[かんたんな設定で印刷を行う](http://ugp01.c-ij.com/ij/webmanual/PrinterDriver/W/XK50%20series/1.0/JP/PPG/dg-c_basic.html)」のページのURLを指定しました。

![image](https://qiita-image-store.s3.amazonaws.com/0/108535/b54a54b0-a00a-6110-a287-1f5937b79fa7.png)

カテゴリーは「プリンター」で正解。「卒業生と再会(alumni and reunions)」はどこから導き出されたされたものか、謎。(まあ確信度は低いですが)
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/dc735962-7495-ca2c-08b2-1c15e60ad289.png)

コンセプトもいい感じです。
![image](https://qiita-image-store.s3.amazonaws.com/0/108535/dfb27121-8c32-8a64-1715-c0ac456125ca.png)

いかがでしたでしょうか。NLUは単独で使うというよりは、他のWatson APIサービスのための「縁の下の力持ち」=地味な印象ですが、ニュースへのタグ付け、顧客センチセンチメント分析など、応用範囲の広い重要な機能です。NLUって何してくれるのかな？というイメージが少しでも沸きましたら幸いです。

:warning: アプリから最新のAPIを呼ぶ場合はバージョンに'2018-03-16'をセットしてください


以上です。