【若手社員による技業挑戦LOG】日本語会話練習用AI搭載
スマートスピーカーをつくってみた
【技業LOG】技術者が紹介するNTTPCのテクノロジー
ソフトウェアエンジニア
Dang Hoang
取得資格:基本情報技術者(FE)、AWS認定クラウドプラクティショナー、ITIL4 ファンデーション
技業LOG
若手社員による技業挑戦LOG
- 技術トレーニング実施レポート -
本記事は、NTTPCの若手社員育成施策である「トレーナー施策」の参加者が、実施した技術トレーニングの内容を紹介しています。
参加者にはトレーナーがアサインされ、課題設定からシステム構築、発表という一連の流れを経験しました。
この取り組みによって、部署をまたいだつながりの形成やコミュニケーションの活性化、技術力の向上などが促されることを目指しています。
はじめに
私は入社3年目、テクノロジー&オペレーション開発本部 ビジネスプロセス開発部のホアンです。NTTPCが提供するサービスのサービスオーダシステム開発・運用を担当しています。
今回、若手社員向けの技術者育成活動として実施された『TO本部トレーナー施策』に参加し、課題設定~システム構築~発表という一連の流れを経験しました。本記事にてその内容をご紹介します。
『TO本部トレーナー施策』への参加
『TO本部トレーナー施策』は、入社3年目くらいまでの若手社員を対象とした技術トレーニングです。お題となるIoT機器3点から1つを選び、選定した機器を使ってシステムを構築し発表するという一連の流れを、トレーナーの先輩社員とともに課題に取り組むという施策です。
システム構築の過程では、トレーナーやチームメンバーなど周囲に意見を聞きながら、アイデアを1つに絞っていき、自ら実装と改善を行いました。
私が構築したシステム『日本語会話練習用AI搭載スマートスピーカー』について、次項よりご説明します。
日本語会話練習用AI搭載
スマートスピーカー
サービス概要:
音声認識技術と人工知能を組み合わせて搭載し、話しかけたら応えてくれるスピーカー
使用機材:
Raspberry Pi 4Bスターターキット、スピーカー、Azure Cognitive Speech Services、OpenAI(ChatGPT)
構成:
用途:
- ハンズフリーでの利用が可能で情報収集が容易
- 外国語学習のための会話練習に使用
対象(提供価値):
- テクノロジーに精通した人々
- 外国語力の向上をしたい人々
- 情報やニュースを追いかける人々
開発の背景
私が「日本語会話練習用AI搭載スマートスピーカー」を開発しようと思った背景は、主に次の2点です。
① 言語学習の需要増加
昨今、外国語の学習ニーズが増加しており、多くの人々が語学スキルの向上を求めています。かくいう私もベトナム出身で、日本語を勉強している当事者でもあります。
そのため私自身の考えとして、効果的な言語学習のためには、日常的な会話の練習が重要だと感じていました。
ただ、自身が学習したい会話内容を、気軽にやり取りできる相手がいない方も多いのではないでしょうか?
今回のシステムではChatGPTを用いることで、自分の学習したいテーマに絞って気軽に会話を続けることができ、語学力を高めることができたら、という構想を描いて、実際に構築してみようと考えました。
② スマートテクノロジーの発展
近年、スマートスピーカーやAIアシスタントの技術が急速に発展し、自然な会話をサポートするAIの実装が可能になりました。この新技術を生かして、AIを搭載して日本語で話しかけたら応えてくれるスマートスピーカーを、自分の手で試しながら作ってみたいと思いました。
実は日本語のスキル向上のために、日頃からスマートスピーカーを活用しています。製品本来の用途ではありませんが、対人で練習するよりも恥ずかしがらずに日本語で会話を練習でき、ハンズフリーでの利用が可能なので非常に便利でした。
人間の場合、多少文法や話順に誤りがあっても文脈・ニュアンスから理解されてしまうことがありますが、AIの場合は厳密な日本語文法ルールに則って会話しないと伝わらないことが多いです。AIを活用することにより、自分の日本語能力を客観視することができました。
課題に取り組んでいく上でぶつかった壁と、
その壁を乗り越えるためのアクション
スピーカー~マイク間の通信がうまくいかなかった
システムに必要な要件を満たすデバイスがなかなか見つからなかった
解決策:
テストプランの策定: 市場で販売されている各デバイスをリストアップし、テストを重ねてシステム要件を満たすデバイスを選定しました
「社内予算を使った検証機器発注業務」を初めて経験。業務フローや承認ルートなどわからないことだらけ
解決策:
コミュニケーション強化: 同様の業務を行ってきたトレーナーや先輩方から助言を受け進めることができました
メイン業務の合間を縫ってプロジェクトを推進
解決策:
タスクの優先順位付け: 業務のタスクと本施策のタスクを分割して優先順位付けし、適切なリソースを割り当てました
週次ミーティング: トレーニーとの週次ミーティングを設定し、プロジェクトの進捗と業務の調整を行いました
プログラムコーディング力の不足
解決策:
スキルアップ: オンラインコースやトレーニングプログラムを受講し、必要なプログラミングスキルを向上させました。
チームメンバーのサポート: チーム内でコーディングスキルを補完できるメンバーと連携し、相互サポートを行いました。今回学習したプログラミングスキルは実務で使わないと忘れていくため、今後も定期的にコードを書く必要があると感じました。
上記のような課題に直面するたび、トレーナーや先輩方から助言を受けながら乗り越えることで、スマートスピーカーの構築プロジェクトは、おおむねスムーズに進めることができたと思います。
今回は企画から、物品の調達や設計、実装、発表準備まですべてを自分で行い、とても良い勉強になりました。また、楽しみながら行うことができました。
本施策から学んだこと
今回の経験から、検討・開発中に発生した壁を乗り越えるためには、次のような思考プロセスや戦略が重要だと感じました。
課題の分析:
課題を明確に理解し、問題の根本原因を特定する。壁がなぜ発生したのか、それはどのような要因に起因しているのかを把握する。
解決策の検討:
課題を解決するための様々なアプローチ(技術的なアップデート、プロセスの改善、コミュニケーションの向上など)を検討し、可能な解決策を洗い出す。
チーム協力と専門知識の活用:
チームメンバーや関係者と協力し、異なる視点や専門知識を活用する。複数の視点を考慮することで、より効果的な解決策を見つけられる。
コミュニケーションと共有:
チームと関係者に対して進捗状況や課題の解決策について透明で効果的なコミュニケーションを行う。関係者のサポートを得るために、進展を共有し、信頼を築く。
モチベーションと忍耐:
困難な課題に取り組む際には、モチベーションを維持し、忍耐力を持つことが重要。また、柔軟性を持ち、必要に応じてアプローチを変更する準備も肝要。
今後に向けて
今回は多くの課題に直面しましたが、それらの課題に対処するための効果的な解決策を見つけました。接続デバイスの検証、発注作業や並行作業の調整、コーディングスキルの向上に取り組むことができたと思います。
また、チームメンバーとのコミュニケーションを強化することを心掛けることも意識しました。
今回の施策に限った話ではありませんが、同じ部門内であっても、所属している部署以外の別の部署の方との関わりがほとんどなかったので、他部署のトレーナーとの繋がりができたのは良かったと思います。
そして、バージョン管理のためのドキュメンテーションの重要性を認識しました。最初のバージョンが未完成であっても、それは新たなスタート地点です。
今後勉強を重ねて、サービス自体の改善も行いつつ、さらにバージョンアップさせてみたいと思っています。
-
※Microsoft Azureは、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
-
※「Raspberry Pi」はRaspberry Pi Ltdの商標です。
技業LOG
NTTPCのサービスについても、ぜひご覧ください