【イベント登壇レポート】「Einstein Intent を活用した Next Best Action 提案機能の紹介」

【イベント登壇レポート】「Einstein Intent を活用した Next Best Action 提案機能の紹介」

2019年9月25日(水)・26日(木)、セールスフォース・ドットコム社主催「Salesforce World Tour Tokyo 2019」が開催されました。

本イベントでは、開発者向けのセッションにチームスピリットシンガポールのメンバーが登壇し、「Einstein Intent を活用 した Next Best Action 提案機能の紹介」というテーマで「Salesforce Einstein(AI)を活用したチームスピリットでの研究事例」について紹介しました。

チームスピリットでは、「Salesfore Einstein(以下、Einstein)」を活用し、データ入力の簡素化を目的とした研究を行なっています。その一環で、経費精算アプリにおける選択項目の費目を AI によりサジェストする研究に取り組んでいます。レシートの画像から OCR (画像からの文字読取サービス) によってテキストに変換し、これを元に「Einstein」が数十〜数百ある費目の中から対応するものをサジェストする仕組みです。デモを交えながらこの成果を発表しました。

<発表者>

チームスピリットシンガポール ソフトウェアエンジニア 吉田 雄飛

大学卒業後、チームスピリットにて1年間のインターンを経て、チームスピリットシンガポールに新卒入社。新サービス「TeamSpirit WSP」の開発を担当。インタビューブログも是非ご覧ください。

チームスピリットシンガポール ソフトウェアエンジニア Prashant Singh

インド工科大学を卒業後、大手ERPベンダーのシンガポール支社に入社。4年の経験を経てチームスピリットシンガポールにジョイン。新サービス「TeamSpirit WSP」の開発を担当。

左から、 チームスピリットシンガポール Prashant Singh、吉田 雄飛

<講演内容>

・Einsteinについて

「Einstein」では、カスタムアプリで利用可能なAPIとして「Einstein Vision」と「Einstein Language」が提供されています。

「 Einstein Vision」は画像分類や物体検知向けのAPI群で、例えば画像が犬か猫かを判断するなどの処理に利用できます。

「Einstein Language」は文章分類や感情分類などの自然言語処理ができるAPI群です。文章分類では、例えばカスタマーサポートセンターに来た問い合わせが「頼んだ商品が来ていない」という内容の場合は「発送に関する問い合わせ」、「支払いが遅れてしまった」という内容の場合には「Billingに関する問い合わせ」というように、問い合わせ内容から自動的に分類をすることができます。また感情分類では、SNS上で自社の製品のツイートを検索して、ツイート内容がポジティプがネガティブかを知ることが可能です。

今回は「TeamSpirit WSP」の経費精算機能と「Einstein Language」を組み合わせて、経費精算のデータ入力を省力化できるかを検証してみました。

・経費精算 × Einstein

みなさん、経費精算をされたことがあると思いますが、経費精算って面倒ですよね。システム化されていても入力には手間がかかります。経費精算で入力が必要になる項目は「日付」「金額」「費目」「レシート」の4つ。このうち「費目」は、一般的なシステムではダイアログが用意されており、複雑な階層構造となっているカテゴリの中から「費目」を設定していくような流れとなります。大企業では「費目」が数百から数千あるような場合もあり、非常に手間のかかる作業になっています。

レシートに注目すると、レシートには「日付」や「金額」が情報として含まれていますので、前述のOCRを使えば、レシートの画像データから「日付」や「金額」をデータに変換が可能です。「TeamSpirit」にもOCRは搭載されていますので、「日付」や「金額」の入力は省力化が実現できているのですが、「費目」の設定は面倒なままでした。今回はこの「費目」の設定を対象に「Einstein」を利用してみました。

具体的には、OCRを利用しレシート画像からテキストに情報を変換、このテキストのデータを「Einstein」に取り込むことによって、このレシートに対してはこの「費目」という組み合わせを学習してもらいます。学習が進めば、以降は「Einstein」が「費目」を提案してくれます。レシートをアップロードするだけで「日付」「金額」に加えて「費目」までがサジェストされるようになるのです。

・Demo

手動での経費精算と「Einstein」を用いた経費精算を各々デモンストレーションしました。「Einstein」を用いた場合には、レシートをアップロードするだけでほとんど入力なしで経費精算が完了でき、本当にスマートです。

・アーキテクチャについて

システムアーキテクチャは下記のスライドのようになっています。

経費精算機能からABBYYというOCRサービスにレシート画像をアップロードするとテキストが返却されます。その後、Herokuを介してテキストを「Einstein」に投入すると「費目」をサジェストして、Herokuを経由し経費精算アプリに返します。スライドで言えば青い矢印の流れがサジェストです。

一方、学習させるパートは赤い矢印の流れです。経費精算機能から入力されたレシートのテキストと「費目」が学習データになります。これらをデータベースに蓄積していき、週1回バッチを回すことによって学習データをCSVに変換、AWSのS3を経由して「Einstein」に投入していきます。これが学習のサイクルで、学習をすればするほどより良いものをサジェストできるような流れになっています。

・Herokuについて

Herokuを介したアーキテクチャになっていますが、なぜ経費精算機能から直接「Einstein」を呼ばないのでしょうか。理由はプライシングで、Herokuアドオンで「Einstein」が提供されるブロンズプランだと月額40ドルで毎月1万回サジェストが可能です。一方、Lightning Platform版を利用した場合は同じサジェスト数で、Herokuアドオンのゴールドプラン以上の費用がかかってしまうため、幅広くサービス提供する場合はHerokuアドオンのほうが安価になると判断し、今回はHerokuアドオンを選択しました。

・Einsteinのいいところ

開発者としていいなと思ったのは「簡単に利用できるところ」です。

学習するために必要なAPIは、学習データをアップロードするためのAPIと、学習を実行するためのAPIの2つで、これらを呼び出すだけでOK。また学習データは、レシートのテキストデータと正解となる「費目」が並べてあるシンプルな内容ですし、学習データ数は飲食費などのカテゴリに対して30個ほどあれば高い精度で動いてくれます。また、前処理、モデルのチューニングは基本的に必要ありません。処理速度についても、数千件のデータであれば5-20分で処理が可能です。非常に手軽、簡単に使えるところが素晴らしいと感じています。

また、開発者目線で面白いなと思ったのは「学習進捗率の動き」です。推測ですが、内部でモデルを作っては上手くいかなかったら破棄するを繰り返して、上手くいったら進捗率100%になるという動きをしているように見えます。こういった推測するのも楽しいですね!

・まとめ

「Einstein」は画像分類や物体検知、文章分類、感情検知以外には現状利用できませんが、用途がマッチする場合には簡単に実装できるAIだということがわかりました。今後「TeamSpirit WSP」への正式な組み込みも検討していきたいと思っています。皆さんも是非「Einstein」を積極的に使ってみてください。

<登壇しての感想>

発表のあと、TeamSpiritを利用していただいているユーザ様から「TeamSpirit WSPに期待している」と直接お声をいただけてとても嬉しかったです。このような発表の経験は初めてだったのですが、今回の経験を踏まえて次回以降、より良い発表ができるように頑張りたいと思います。また、今後とも技術的に面白く、かつ、ユーザ様に喜んでいただける機能開発に力を入れていければと思います。

<We are hiring !>

チームスピリットでは、通年でソフトウェアエンジニアを募集しています。今回ご紹介をしたようにサービスの価値に繋がる新しい技術があれば、積極的に研究しているチームです。少しでも興味を持っていただけましたら、下記ページよりご連絡ください!

チームスピリット採用ページはこちら



TeamSpiritの最新情報をお届けします

お客様の個人情報の取り扱いについて「プライバシーポリシー」をお読みいただき、
同意いただける場合にのみお申し込みください。

担当者に相談する

導入に関するご質問や
実際の画面操作を見ながらの製品デモまで
お客様のご連絡をお待ちしております

無料トライアル

正式版と同一機能・操作が可能な
無料版TeamSpiritを30日間ご提供しています
まずはTeamSpiritを体験してください