中国語学習LINEbot「用LINE學中文好好玩」

中国語（中文）学習のためのLINEbot「用LINE學中文好好玩（LINEで楽しく中国語を学ぼう）」を製作しましたので，宣伝用の記事です．中国語学習者にとっては革命的なツールになります．中国語に関わるすべての方におすすめですので，ぜひ友達追加して遊んでみてください．
# イメージ画像
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/c5132d9b-9586-e092-8f0e-a56c911138d1.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/0cf7e6b2-f0d5-4c93-486a-6d68a9f2488f.png) ![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/5546d594-89ec-131e-ca7a-39bb76348344.png)


# 友達追加方法
ID:「@qia0623l」<a href="https://line.me/R/ti/p/%40qia0623l"><img height="36" border="0" alt="友だち追加" src="https://scdn.line-apps.com/n/line_add_friends/btn/ja.png"></a> 
<img src="http://qr-official.line.me/L/HFrNdUUhRs.png">
# 本botの主機能
## 漢字の発音を返す
入力方法は以下の通り

- テキスト内の漢字 : テキストから漢字の発音を返す
- 画像に現れる漢字 : 画像を画像認識APIに渡し，OCR機能で得られた漢字の発音を返す．
- 位置情報の住所 : ユーザから送信された位置情報を漢字・日本語表記にし，漢字部分の発音記号を返す
- 音声 : 端末の音声認識機能を越えないと考え整備していないが，必要があれば実装予定
## 返信方法

- 漢字部分をすべて変換
- 未記憶部分のみを変換
- 変換とともに単語の意味を参照
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/051b8cb4-f179-d89d-f48f-cf971a0bfbaf.png)![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/d23efeb7-fa83-4758-cc01-530b6daaa525.png)


# 主機能の利用シーン
メニュー表があるけど，よくわからない料理があるし，頼みたくても発音がわからないというときにこのBOTに投げれば次のように結果が返り，なんとなく意味がわかり，発音がわかることで自分の口で（指差しなんてせずに）注文できるようになります．
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/690d1bc8-117d-4dc0-366d-da186d077eab.png)

# サブ機能
## 簡体字繁体字間変換
各ユーザに合った文字に変換します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/c42d987a-7910-50c6-32b5-b721bf7b6ea5.png)

## 発音音声確認
Microsoft Cognitive Service Bing Speech API　によって，中国語音声に変換したものを返却することで，不確かだった発音を実際の音声で確認することができます．
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/e4b9483e-96c7-affe-40b4-efefc977dc50.png)

# 他言語への変換機能
広東語における発音方法や，韓国語の発音・表記，日本語発音，ベトナム語発音などを参照することもできます．

![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/fb5a94ae-ecfc-7580-03db-14115af1bf2f.png)![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/4e414b45-4f37-236d-a584-16ef8dbe86f5.png)![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/770c343b-616b-3bb6-7034-ec07d07a3726.png)
# 学習機能
## 発音確認テスト
過去参照した漢字について，発音を四択で出題する．一定回数正解すれば覚えた漢字として出題されなかったり，参照時に省略することになる．
## 単語意味確認テスト
HSKやTOCFL単語から意味を四択で出題し，同様に単語を学習することができる．

![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/5d5a3f97-4423-3379-c963-6899ada5b02c.png)



# 台湾と大陸の差異に対応・グローバル対応
台湾と大陸では，漢字は簡体字繁体字と異なり，発音記号，発音や意味も多く異なります．このBOTではまだ不完全ではありますが，区別したデータベースからデータを取り出すなどでそれぞれのユーザに適切なサービスを提供します．
また，メニュー言語もユーザにより変更します．
## ユーザにより繁体字と簡体字を切り替え
繁体字と簡体字の表示は，ユーザ設定に依存します．
## 拼音と注音を切り替え
ユーザの都合や利用シーンに合わせて発音記号を変更することができます．
<img width="320" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/147537/a52a6511-bdc0-464d-c0bc-07c702a24e6a.png">

## メニュー言語を日本語繁体字簡体字に対応
![image.png](https://qiita-image-store.s3.amazonaws.com/0/147537/256cae46-58e0-0fc9-6a2f-84f42b8f92aa.png)


# 背景
中国語の学習は，とくに日本人にとっては，英語のそれと大きく異なる部分が下のようにいくつかあります．(個人的感覚)

- 発音ルールがシンプルで，技術が身につけば習得時間は非常に短い
- 基本的に漢字と発音が一対一対応しているので一度覚えた漢字は殆どの単語で使い回せる
- 単語の意味は漢字のイメージの組み合わせで大方想像がつく
 
習熟度順に見ると

1. 不慣れな発音の難しさ
2. 日本語と違う発音・語彙不足（意味，漢字の発音）
3. 奇怪な文法

と大きく３つの壁がありますが，本botは主に2番目の段階の学習を支援するためのものとなっています．ツールの性能の向上次第では3番，文法の理解補助もしたいと考えています．私自身も２番目の地点でもがいています．

# 動機
## とにかく簡単に発音符号を参照したい！
私が台湾を旅行したりする際に看板や案内を見て，「漢字から意味はわかるし，拼音さえ分かればバリバリ会話とかでも使えるのに！！！」という場面が多々ありました．
中国語辞書で調べるなりググるなりすればいいじゃんという話になりますが，旅行というのはそういうことが面倒．よって，とにかく発音符号をすぐに参照できるサービスが欲しかったのです．
## 画像とかで入力したい！
簡単な漢字は日本語発音で入力して調べることもできますが，難しい漢字はもはや入力不可能です（旅先で手入力で繁体字入力は地獄）．そこで，入力方法としてテキスト以外の方法も必要だと感じました．

## 結論：現地（中国語圏）で楽しく旅行したい！

# システム核部分の苦労

- 単語辞書から発音を取得することで，単語に合った発音を取得し，簡易的に多音字へ対応した．
- 単文字には漢字辞書から発音を取得することで，最も権威のある発音を取得した．
- 情報源ごとのデータ構造の違いを吸収するため，様々な出力をするため，拼音テキスト，拼音，注音の相互変換を行った．



# 技術的構成
さくらのVPS 2G石狩リージョン
CentOS 7.2
PHP7 and line-bot-sdk-php
MySQL MariaDB 5.5