(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、ユーザのメールアプリケーションの受信フォルダに保存された受信メールを教師データとして機械学習している。そのため、アカウントが同じであっても、受信メールを受信する端末装置が異なると、端末装置毎に解析結果が異なる場合がある。
【0007】
また、特許文献1では、返信した受信メール及び返信していない受信メールの双方の受信メールに含まれるキーワードを抽出してスコアによって評価しているが、キーワードの係り受けが考慮されていない。そのため、返信した受信メール及び返信していない受信メールの双方に、同じキーワードが含まれる場合、受信メールの解析精度が低下するおそれがある。
【0008】
そこで、本発明の一実施形態は、受信メールの解析精度を向上させて、受信メールに対するユーザの処理負担を軽減することを目的の一とする。
【課題を解決するための手段】
【0009】
本発明の一実施形態に係るメール解析サーバは、蓄積された受信メールに対する返信の有無を判定する判定部と、返信されたと判定された受信メールに含まれる文字と返信されていないと判定された受信メールに含まれる文字の少なくとも一方を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する学習部と、受信した受信メールに含まれる文字を、機械学習モデルを用いて、当該受信メールに対する返信の要否を推定する推定部と、を有する。
【0010】
上記構成において、判定部は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールの本文に、受信メールの本文の一部を含むか否かを判定し、送信メールが受信メールの本文の一部を含む場合、当該受信メールは返信されたと判定する。
【0011】
上記構成において、判定部は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールに、受信メールの付帯情報を含むか否かを判定し、送信メールの付帯情報が受信メールの付帯情報を含む場合、当該受信メールは返信されたと判定する。
【0012】
上記構成において、判定部が、蓄積された受信メールに対する返信の有無を判定した後、返信されたと判定された受信メールに対して、返信までに要した時間を算出する、時間算出部をさらに有する。
【0013】
上記構成において、学習部は、当該受信メールに含まれる文字及び返信までに要した時間を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する。
【0014】
上記構成において、学習モデルは、複数のアカウントを区別せずに、返信したと判定された受信メールに基づいて生成される。
【0015】
上記構成において、機械学習モデルは、アカウント毎に返信したと判定された受信メールに基づいて更新される。
【0016】
上記構成において、ニューラルネットワークは、文字レベルの畳み込みニューラルネットワークである。
【0017】
本発明の一実施形態に係るメール解析方法は、蓄積された受信メールに対する返信の有無を判定し、返信されたと判定された受信メールに含まれる文字と返信されていないと判定された受信メールに含まれる文字の少なくとも一方を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築し、新たに受信した受信メールに含まれる文字を、機械学習モデルを用いて、当該受信メールに対する返信の要否を推定する、メール解析方法。
【0018】
上記方法において、蓄積された受信メールに対する返信の有無は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールに、受信メールの本文の一部を含むか否かを判定し、送信メールが受信メールの本文の一部を含む場合、当該受信メールは返信されたと判定する。
【0019】
上記方法において、蓄積された受信メールに対する返信の有無は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールに、受信メールの付帯情報を含むか否かを判定し、送信メールが受信メールの付帯情報を含む場合、当該受信メールは返信されたと判定する。
【0020】
上記方法において、蓄積された受信メールに対する返信の有無を判定した後、返信されたと判定された受信メールに対して、返信までに要した時間を算出する。
【0021】
上記方法において、当該受信メールに含まれる文字及び返信までに要した時間を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する。
【0022】
上記方法において、ニューラルネットワークは、文字レベルの畳み込みニューラルネットワークである。
【0023】
上記方法において、機械学習モデルは、複数のアカウントを区別せずに、返信したと判定された受信メールに基づいて生成される。
【0024】
上記方法において、機械学習モデルは、アカウント毎に返信したと判定された受信メールに基づいて更新される。
【0025】
本発明の一実施形態に係るプログラムは、上記記載のメール解析方法を、コンピュータに実行させるためのプログラムである。
【発明の効果】
【0026】
本発明の一実施形態によれば、受信メールの解析精度を向上させて、受信メールに対するユーザの処理負担を軽減することができる。
【発明を実施するための形態】
【0028】
(第1実施形態)
本実施形態では、本発明の一実施形態に係るメール解析サーバ10が、新たに受信した受信メールについて返信の要否を出力する過程について、
図1乃至
図7を参照して説明する。
【0029】
本明細書等において電子メールとは、メール本文に1以上の文字を含む情報を有するものである。電子メールは、メール本文だけでなく、付帯情報、文書ファイル、表計算ファイル、及びプレゼンテーションファイルなどの添付ファイルを含む。ここで、付帯情報とは、メールの文書データに付随する情報のことをいい、例えば、宛名、件名、及び文書データに関する情報、送信、返信などの操作情報、操作実行日時、作成日時、及び文書データの作成者などの情報であってもよい。
【0030】
また、本明細書等において、送信メールとは、メール解析サーバ10を利用するユーザによって作成され、任意のユーザのアカウント(メールアドレス)に送信されたメールをいう。また、受信メールとは、任意の差出人によって作成されて、メール解析サーバ10を利用するユーザのアカウント(メールアドレス)で受信したメールをいう。なお、単に電子メールと記載する場合は、受信メール、送信メール、転送メール、及び削除メールを区別しない。
【0031】
[メール解析サーバの概要]
図1は、本発明の一実施形態に係るメール解析サーバ10を説明する図である。
図1に、メール解析サーバ10、メールサーバ20_1、20_2、及び端末装置30_1、30_2を示す。メールサーバ20_1、20_2はネットワーク40を介して電子メールを送受信する。
【0032】
また、端末装置30_1は、メール解析サーバ10を利用するユーザの端末装置であり、端末装置30_2は、任意のユーザが利用する端末装置である。また、メールサーバ20_1は、メール解析サーバ10を利用するユーザのアカウントを管理するサーバであり、メールサーバ20_2は、任意のユーザのアカウントを管理するサーバである。なお、以降の説明において、メールサーバ20_1、20_2をそれぞれ区別しない場合には、メールサーバ20と記載する。また、端末装置30_1、30_2をそれぞれ区別しない場合には、端末装置30と記載する。
【0033】
メールサーバ20は、登録済みアカウントの電子メールを送受信する機能を有する。また、メールサーバ20は、アカウント毎に、電子メールのメールデータを保持する機能を有する。ここで、メールデータとは、アドレス帳、電子メールの本文及び付帯情報、添付ファイル等を含む。ここで、アカウント毎の電子メールのメールデータは、メールサーバ20の記録媒体に保持される。メールサーバ20_1は、外部から任意のユーザのアカウントからユーザのアカウント宛に受信した受信メールを、メール解析サーバ10に送信する。また、メールサーバ20_1は、ユーザのアカウントから任意のユーザのアカウント宛に送信した送信メールを、メールサーバ20_2を送信する。
【0034】
メール解析サーバ10は、メールサーバ20_1から受信した送受信メールの文字を解析して、当該受信メールに対する返信の要否を推定する。ここで、メールの文字とは、メールの本文を少なくとも含み、この他に、付帯情報、及び他の受信メールの引用部分を含んでいてもよい。付帯情報には、送信元メールサーバのIPアドレスなど(Receivedフィールド)、差出人情報(Fromフィールド)、メールの内部ID(Message−IDフィールド)、メールのタイトル(Subjectフィールド)、電子メールのファイル形式のバージョン情報(MIME−Versionフィールド)、電子メールのファイル形式の情報(Content−Typeフィールド)、あて先情報(Toフィールド)、メールのコピーのあて先情報(Ccフィールド)、メールの作成日時情報(Dateフィールド)、返信先メール情報(Referencesフィールド、In−Reply−Toフィールド)が含まれる。メール解析サーバ10は、例えば、返信する必要性が高いものを100%として、0%〜100%の確率を推定する。メール解析サーバ10は、返信の要否を関する確率と共に受信した受信メールを端末装置30に送信する機能を有する。
【0035】
端末装置30は、メール解析サーバ10に接続して、電子メールに関する処理を実行する。電子メールに関する処理とは、例えば、ユーザのアカウントから送信する送信用のメールデータを入力する機能、及び閲覧対象のメールデータを表示する機能などである。例えば、端末装置30が電子メールに関する処理を行う際には、メールアプリケーションを使用することで実行できる。
【0036】
図1に示すように、端末装置30_2は電子メールを送信元のメールサーバ20_2に送信し、送信元のメールサーバ20は、ネットワーク40を介して送信先のメールサーバ20_1に電子メールを送信する。送信先のメールサーバ20_1は、受信した電子メールをメール解析サーバ10に送信する。メール解析サーバ10は、受信した電子メールを解析することで、送信元のアカウントに対して返信の要否に関する確率を0%〜100%として推定する。メール解析サーバ10は、返信の要否に関する確率と共に電子メールを端末装置30に送信し、端末装置30は、返信の要否に関する確率と共に電子メールを受信することができる。
【0037】
図2は、端末装置30のメールアプリケーション400において、返信の要否に関する確率と共に受信メールを受信したときの表示画面を表す図である。端末装置30は、メールアプリケーション400によって、アカウント401、アクション表示領域402、受信メール表示領域404を表示する。アカウント401には、メールアプリケーション400を使用するユーザのアカウントが表示される。アクション表示領域402には、新規メール、返信、全員に返信、及び転送などのアクションが表示される。ユーザは、いずれかのアクションを選択して、受信メールを作成する。受信メール表示領域404には、受信メール405_1〜405_5の各々において、返信の要否に関する確率406_1〜406_5が表示される。
【0038】
返信の要否に関する確率は、ユーザによって所定の閾値が予め設定されていてもよい。端末装置30は、返信の要否に関する確率が所定の閾値以上の場合には、当該受信メールの表示を変化させてもよい。端末装置30は、例えば、当該受信メールに記載された返信の要否に関する確率について強調表示をしてもよい。端末装置30は、例えば、
図2に示すように、返信の要否に関する確率が80%以上の場合と、60%〜80%未満の場合と、0%〜60%未満の場合と、で返信の要否に関する確率の強調表示が異なっていてもよい。
【0039】
図3は、
図2に示すメールアプリケーション400において、受信メール405_1が選択された場合の表示画面を表す図である。
図3に示すように、受信メール405_1には、返信の要否に関する確率と共に、受信メール405_1の付帯情報、メール本文が表示される。また、返信の要否に関する確率とともに、返信などのアイコンが表示されることで、ユーザに返信を促してもよい。
【0040】
ユーザは、端末装置30において、返信の要否に関する確率を確認することで、当該受信メールが返信の必要性が高いか低いかを容易に判断することができる。ユーザは、返信の要否に関する確率が高い受信メールから処理していけばよいため、受信した受信メールに対するユーザの処理負担を軽減することができる。
【0041】
[メール解析サーバのハードウェア構成]
図4は、本発明の一実施形態に係るメール解析サーバ10のハードウェア構成を説明するブロック図である。
図4に示すように、メール解析サーバ10は、制御部101、ROM102(Read Only Memory)、RAM103(Random Access Memory)、記録媒体104、及び通信部105を含む。
【0042】
制御部101は、例えば、CPU(Central Processing Unit)等であり、後述する機能ブロックの動作を制御する。制御部101は、例えば、ROM102及び記録媒体104に記録されている動作プログラムを読み出し、RAM103に展開して動作プログラムを実行することにより、各機能ブロックによってメール解析サーバ10の処理機能を実現する。
【0043】
記録媒体104は、例えば、HDD(Hard Disk Drive)等の恒久的な情報保持及び情報の書き換えが可能な記録装置である。記録媒体104には、メールサーバ20から取得したアカウント毎に送受信した電子メールのメールデータが格納されている。また、記録媒体104には、後に詳述する返信済みの受信メールに基づく教師データが格納されている。また、記録媒体104には、後に詳述する機械学習によって生成された機械学習モデルが格納されている。なお、アカウント毎の電子メールのメールデータ、教師データ、及び機械学習モデルは、それぞれ異なる記録媒体に格納されていてもよい。
【0044】
ROM102は、不揮発性メモリ等の恒久的な情報保持が可能な記録装置である。ROM102には、例えば、メール解析処理を実行するためのプログラムが格納されている。
【0045】
RAM103は、例えば、揮発性メモリ等の一時的な情報保持に用いられる書き換え可能な記憶装置である。RAM103は、ROM102に記録されている機能ブロックのプログラム等の展開領域、及び機能ブロックの動作において出力された中間データ等を記憶する格納領域として用いられる。
【0046】
通信部105は、通信インターフェースである。メール解析サーバ10は通信部105を介することで、端末装置30及びメールサーバ20と接続し、端末装置30との間、及びメールサーバ20との間でメールの送受信を行うことができる。
【0047】
なお、本実施形態では、説明を簡単にするために、メール解析サーバ10のハードウェア構成として、各種ブロックを有するものとして説明したが、本発明の一実施形態はこれに限定されない。例えば、各種ブロックの少なくとも一つが、メール解析サーバ10とは別の装置として構成されていてもよい。
【0048】
[メール解析サーバの機能ブロック図]
図5は、本発明の一実施形態に係るメール解析サーバ10の機能ブロック図である。メール解析サーバ10は、電子メール取得部111、電子メール格納部112、判定部113、教師データ114、学習部115、機械学習モデル116、推定部117、及び出力部118を含む。電子メール取得部111、判定部113、学習部115、推定部117、及び出力部118は、制御部101によって処理が実行される。また、電子メール格納部112、機械学習モデル116、及び教師データ114は、記録媒体104に格納される。
【0049】
まず、メール解析サーバ10が機械学習する際に使用する機能ブロックについて説明する。
【0050】
電子メール取得部111は、所定の期間毎に、メールサーバ20_1で蓄積された送受信した電子メールを取得する。取得した電子メールは、後述する学習部115によって、機械学習モデル116を構築する際に用いられる。また、電子メール取得部111は、メールサーバ20_1で新たに受信した受信メールを取得する。取得した新たに受信した受信メールは、後述する推定部117によって、返信の有無に関する確率を推定する際に用いられる。
【0051】
電子メール格納部112は、電子メール取得部111で取得した送受信された電子メールを格納する。取得した送受信された電子メールは、電子メール格納部112に、アカウント毎に格納される。
【0052】
判定部113は、所定の期間毎に、電子メール格納部112に蓄積された受信メール及び送信メールを読み出し、受信メール毎に返信の有無を判定する。判定部113は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールの本文に、受信メールの本文の一部を含むか否かを判定する。送信メールが受信メールの本文の一部を含む場合、当該受信メールは、返信されたと判定する。また、判定部113は、蓄積された受信メール及び蓄積された送信メールを対比し、送信メールの付帯情報が受信メールの付帯情報を含む場合、当該受信メールは返信されたと判定してもよい。ここで、受信メールの付帯情報とは、例えば、Message−ID、In−Reply−To、Refecencesである。In−Reply−Toには、返信対象の一つのMessage−IDのみが記録される。Referencesには、スレッドのメールのMessage−IDが複数記録される。例えば、送信メールの一つが削除されてしまったとしても、その後に続くメールのReferencesから返信の状況が復元できる。返信されたと判定された受信メール及び返信されていないと判定された受信メールは、教師データ114に格納される。
【0053】
学習部115は、教師データ114に蓄積された受信メールに対して、当該受信メールに含まれる文字を解析し、ニューラルネットワークを用いて機械学習によって機械学習モデルを構築する。構築された機械学習モデルは、機械学習モデル116に格納される。ここで、ニューラルネットワークは、文字レベルの畳み込みニューラルネットワーク(Character−level Convolutional Neural Network)を用いる。文字レベルの畳み込みネットワークは、単語単位ではなく、文字単位で機械学習する。そのため、固有名詞、業界用語、業界特有の省略形などの未知の単語、誤記などに強いという特徴がある。
【0054】
また、ニューラルネットワークは、所定の期間毎に再学習を行い、機械学習モデル116を更新する。ニューラルネットワークは、教師データ114に蓄積された受信メールを新たな教師データとして再学習して、機械学習モデル116を更新する。
【0055】
また、機械学習モデル116の構築は、複数のアカウントを区別せずに実行してもよいし、アカウント毎に実行してもよい。例えば、機械学習モデル116は、複数のアカウントを区別せずに、返信したと判定された受信メールに対して構築される。また、機械学習モデル116は、アカウント毎に返信したと判定された受信メールに基づいて更新される。アカウント毎に機械学習モデル116を更新することで、アカウント毎の受信メールの解析結果の精度の向上が望める。
【0056】
推定部117は、電子メール取得部111が新たに受信した受信メールを取得すると、機械学習モデル116を用いて、新たに受信した受信メールに含まれる文字を解析し、当該受信メールに対する返信の要否に関する確率を推定する。
【0057】
出力部118は、推定部117が推定した返信の要否に関する確率と共に受信メールを端末装置30に出力する。
【0058】
なお、電子メール取得部111が新たに受信した受信メールは、電子メール格納部112に格納されるとともに、推定部117に送信されてもよい。または、当該受信メールは、電子メール格納部112に格納されずに、推定部117に送信されてもよい。電子メール取得部111が新たに受信した受信メールを取得したタイミングで、電子メール格納部112に格納されなくても、電子メール格納部112は、所定の期間毎に送受信された電子メールを、メールサーバ20_1から取得すればよい。
【0059】
[データ処理方法]
次に、本発明の一実施形態に係るメール解析方法について、
図6及び
図7を参照して説明する。制御部101は、それぞれの処理をメール解析サーバ10に実行させる。
【0060】
まず、メール解析サーバ10において、機械学習モデルを構築する過程について
図6を参照して説明する。電子メール取得部111は、所定の期間毎にメールサーバ20_2から送受信された電子メールを取得する(ステップS301)。電子メール取得部111は、取得した電子メールを、電子メール格納部112に格納する(ステップS302)。次に、判定部113は、電子メール格納部112から送信メール及び受信メールを読み出し、受信した電子メールに対する返信の有無を判定する(ステップS303)。次に、判定部113は、返信したと判定された受信メール返信されていないと判定された受信メールを教師データに格納する(ステップS304)。次に、学習部115は、教師データとして、返信したと判定された受信メールを解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する(ステップS305)。次に、学習部115は、構築した機械学習モデルを、機械学習モデル116に格納する(ステップS306)。
【0061】
次に、メール解析サーバ10において、新たに受信した受信メールに対して解析を行い、返信の要否に関する確率を推定する過程について
図7を参照して説明する。電子メール取得部111は、メールサーバ20_2から新たに受信した受信メールを取得する(ステップS311)。次に、推定部117は、ニューラルネットワークにより受信メールに含まれる文字を解析する(ステップS312)。次に、推定部117は、機械学習モデルを用いて、当該受信メールに対する返信の要否に関する確率を推定する(ステップS313)。次に、出力部118は、受信メールを返信する返信の要否に関する確率をと共に受信メールを端末装置30に出力する(ステップS314)。
【0062】
端末装置30_1から端末装置30_2に送信メールを送信する場合には、メール解析サーバ10を経由しなくてもよい。端末装置30_1から端末装置30_2に送信メールを送信する場合には、端末装置30_1からメールサーバ20_1に送信メールを送信する。メールサーバ20_1は、メールサーバ20_2を介して、端末装置30_2に送信する。メールサーバ20_1は、端末装置30_1から送信メールを取得すると、送信メールをメールサーバ20_1の記録媒体に格納する。メール解析サーバ10が送信メールを取得する場合は、
図6のステップS301で説明したように、所定の期間毎に、メールサーバ20_1から取得すればよい。
【0063】
本発明の一実施形態に係るメール解析サーバ10は、機械学習モデルを用いて、新たに受信した受信メールに含まれる文字から、当該受信メールに対する返信の要否に関する確率を推定することで、返信の要否に関する確率と共に受信メールを端末装置30に送信することができる。ユーザは、端末装置30において返信の要否に関する確率を確認することで、当該受信メールが返信の必要性が高いか低いかを容易に判断することができる。したがって、受信した受信メールに対するユーザの処理負担を軽減することができる。
【0064】
従来では、受信メールに含まれるキーワードの出現回数をカウントしているだけなので、単語の前後の関係や係り受けを考慮することができなかった。例えば、「SSL証明書の更新をして下さい。返信は不要です。」と、「SSL証明書の更新は不要です。返信して下さい。」と、を区別できない。本発明の一実施形態に係るメールサーバ20では、文字レベルの畳み込みニューラルネットワークを用いているため、単語の前後の関係や係り受けを考慮して、電子メールを解析することができる。
【0065】
また、従来では、単語レベルで解析していたため、固有名詞、業界用語、業界特有の省略形などの辞書にない単語を含む文を単語の列に正確に分割できなかった場合、解析の精度が低下するおそれがあった。本発明の一実施形態に係るメールサーバ20では、文字レベルで解析するため、辞書にない単語が含まれていてもそれによって精度が低下するおそれがない。
【0066】
また、迷惑メールと判断される電子メールは、アカウントによらず、使用される文字及び単語について共通性が高い。したがって、アカウントによらず、迷惑だと判定された電子メールを形態素解析することに意味がある。
【0067】
これに対して、返信が必要な電子メールは、返信が必要な傾向はユーザによって大きく異なる。また、返信を要する電子メールでは、固有名詞、業界用語、業界特有の省略形などの未知の単語が多い。したがって、電子メールの本文を形態素解析するよりも文字レベルで解析することで、返信の要否に関する確率の精度をより向上させることができる。
【0068】
また、本発明の一実施形態に係るメール解析サーバ10において、受信した電子メールに含まれる文字を解析している。そのため、アカウントが同じであれば、複数の端末装置30に出力される返信の要否に関する確率は、複数の端末装置30それぞれにおいて同じになる。したがって、ユーザは、受信した端末装置30に依存することなく、返信の要否に関する確率と共に電子メールを受信することができる。
【0069】
(第2実施形態)
第1実施形態では、メール解析サーバ10と、メールサーバ20とを別々の装置で構成する例について説明したが、本実施形態では、メール解析サーバ10と、メールサーバ20とを一体化して同じ装置で構成する例について、
図8及び
図9を参照して説明する。
【0070】
[メール解析サーバの概要]
図8は、本発明の一実施形態に係るメール解析サーバ10Aを説明する図である。
図8に、メール解析サーバ10A、メールサーバ20_2、及び端末装置30_1、30_2を示す。本実施形態では、メール解析サーバ10は、第1実施形態で説明したメールサーバ20_1の電子メールの送受信機能を有する。また、本実施形態において、メール解析サーバ10は、登録済みアカウントの電子メールを送受信する機能を有する。また、メール解析サーバ10は、アカウント毎に、電子メールを保持する機能を有する。
【0071】
[メール解析サーバの機能ブロック図]
図9は、本発明の一実施形態に係るメール解析サーバ10Aの機能ブロック図である。
図9に示すメール解析サーバ10Aは、端末装置30_1から送信された送信メールを、メールサーバ20_2に送信する機能をさらに有する点で、
図5に示すメール解析サーバ10と異なっている。本実施形態では、第1実施形態と異なる機能を有する機能ブロックについて詳細に説明する。
【0072】
まず、メール解析サーバ10Aが、メールサーバ20_2から新たに受信メールを受信した場合の処理について説明する。電子メール取得部111Aは、メールサーバ20_2から受信された受信メールを取得すると、電子メール格納部112に格納する。また、電子メール取得部111Aは、推定部117に受信メールを送信する。なお、判定部113、教師データ114、学習部115、機械学習モデル116、及び推定部117については、第1実施形態で説明した機能と同様であるため、詳細な説明は省略する。また、出力部118は、推定部117が推定した返信の要否に関する確率と共に受信メールを端末装置30に出力する。
【0073】
次に、メール解析サーバ10Aが、端末装置30から送信された送信メールをメールサーバ20_2に送信する場合の処理について説明する。電子メール取得部111Aは、端末装置30から送信された送信メールを取得すると、電子メール格納部112に格納する。また、電子メール取得部111Aは、出力部118Aに送信メールを送信する。出力部118Aは、メールサーバ20_2に送信メールを送信する。
【0074】
(第3実施形態)
本実施形態では、端末装置30のブラウザ上に表示される画面において、ユーザが入力や操作を行うことで、端末装置30における電子メールのやり取りを可能にするメール解析サーバ10Bについて、
図10及び
図11を参照して説明する。
【0075】
[メール解析サーバの概要]
図10は、本発明の一実施形態に係るメール解析サーバ10Bを説明する図である。
図10に、メール解析サーバ10B、メールサーバ20_2、及び端末装置30を示す。
【0076】
[メール解析サーバの機能ブロック図]
図11は、本発明の一実施形態に係るメール解析サーバ10Bの機能ブロック図である。
図11に示すメール解析サーバ10Bは、端末装置30に電子メールを出力するのではなく、端末装置30のブラウザ上に表示される画面において電子メールを表示する点で、
図5に示すメール解析サーバ10と異なっている。本実施形態では、第1実施形態と異なる機能を有する機能ブロックについて詳細に説明する。
【0077】
電子メール処理部119は、メールサーバ20_2から受信された受信メールを取得すると、電子メール格納部112に格納する。また、電子メール処理部119は、推定部117に受信メールを送信する。推定部117は、返信の有無に関する確率を推定して、電子メール格納部112に格納された当該受信メールとともに返信の有無に関する確率を格納する。電子メール処理部119は、端末装置30の受信メール閲覧要求にしたがって、返信の有無に関する確率とともに受信メールを、端末装置30のブラウザ上に表示される画面において表示する。
【0078】
電子メール処理部119は、端末装置30のブラウザ上に表示される画面において、生成された送信メールを取得すると、電子メール格納部112に格納する。また、電子メール処理部119は、メールサーバ20_2に当該送信メールを送信する。
【0079】
(変形例1)
第1実施形態では、メールアプリケーション400の受信トレイにおいて、受信した全ての受信メールを表示する例について説明したが、本発明の一実施形態はこれに限定されない。受信トレイとは別に、要返信トレイに返信の要否に関する確率が所定の閾値以上の受信メールのみを表示させてもよい。また、所定の閾値未満の受信メールは、受信トレイに表示させてもよい。
【0080】
図12は、端末装置30のメールアプリケーション400において、返信の要否に関する確率と共に受信メールを受信したときの表示画面を表す図である。
図2に示すメールアプリケーション400の表示と異なる点は、受信トレイの他に、要返信トレイを有する点である。要返信トレイにおいて、返信の要否に関する確率が、所定の閾値以上の受信メールのみを表示することができる。
図12では、返信の要否に関する確率が、80%以上の受信メール405_1〜405_4が表示されている。なお、返信の要否に関する確率が80%未満の受信メールは、受信トレイに表示されるため、ユーザは適宜確認することができる。これにより、ユーザは要返信トレイで受信した返信の優先度が高い受信メールを先に確認して返信すればよいため、受信した受信メールに対するユーザの処理効率が向上する。
【0081】
(変形例2)
受信メールに対する返信の要否に関する確率は、アカウント毎に異なっていてもよい。同じ受信メールであっても、返信が必要な傾向はユーザによって大きく異なるからである。
【0082】
図13は、メールアプリケーションにおいて、受信メール407_1が選択された場合の表示画面を表す図である。
図3に示したように、『株式会社YYYYの鈴木』が『株式会社ZZZZの山田』からの受信メールを受信した場合、返信の要否に関する確率が80%と出力される。一方で、
図13に示したように、『株式会社YYYYの田中』が『株式会社ZZZZの山田』からの受信メールを受信した場合、返信の要否に関する確率が50%と出力されてもよい。
【0083】
本発明の一実施形態に係るメール解析サーバ10は、アカウント毎に機械学習モデルを更新する。そのため、メール解析サーバ10は、一つの受信メールに対して複数の宛先が含まれる場合、アカウント毎に、それぞれ返信の要否に関する確率を推定することができる。
【0084】
(変形例3)
本発明の一実施形態では、受信メールに含まれる文字を機械学習の対象とする例について説明したが、本発明の一実施形態はこれに限定されない。受信メールに対して、返信するまでにかかった時間を機械学習の対象としてもよい。
【0085】
図14は、本発明の一実施形態に係るメール解析サーバ10Cの機能ブロック図である。
図14に示すメール解析サーバ10Cは、判定部113において、受信した電子メールに対する返信の有無を判定した後、受信メールに対して、返信するまでにかかった時間を算出する時間算出部121をさらに有する点で、
図5に示すメール解析サーバ10と異なっている。以下、時間算出部121の機能について詳細に説明する。
【0086】
時間算出部121は、受信メールに対して、返信するまでに要した時間を算出する。返信するまでに要した時間を算出する電子メールの対象は、受信メールに対して返信した返信メールを対象としてもよいし、すべての送受信メールを対象としてもよい。受信メールに対して返信した返信メールを対象とする場合、返信するまでに要した時間の抽出は、受信メールの受信日時と、当該受信メールに対して返信した送信メールの送信日時とから抽出する。または、返信するまでに要した時間の抽出は、当該返信メールの付帯情報に含まれる受信メールの受信日時と、返信メールの送信日時とから抽出してもよい。また、受信メールに対して返信した返信メールを対象とする場合、返信するまでに要した時間の抽出は、返信がされなかった受信メールに対しては、返信までに要した時間を∞としてもよい。時間算出部121によって、抽出された返信するまでに要した時間は、教師データ114に格納される。
【0087】
受信メールに対して、返信するまでに要した時間に閾値を設けてもよい。例えば、返信するまでに要した時間が、24時間未満であれば、返信するべき重要度が高い受信メールであると判定し、24時間以上であれば、重要度が低い受信メールであると判定してもよい。送受信メールに含まれる文字と、抽出された返信までに要した時間とは、教師データに格納される。
【0088】
学習部115は、送受信メールの文字だけでなく、返信までに要した時間を含めて機械学習を実行する。
【0089】
機械学習の対象として、受信メールの文字だけでなく、返信までに要した時間を含めることで、受信メールの返信の要否に関する解析精度をより向上させることができる。
【0090】
(変形例4)
本発明の一実施形態では、メール解析サーバ10、10A〜10Cは、少なくとも、判定部113、学習部115、及び推定部117を含む例について説明したが、これに限定されない。メール解析サーバ10Dは、少なくとも推定部117を有していればよく、機械学習モデルを構築する学習装置が別にあってもよい。
【0091】
図15は、本発明の一実施形態に係るメール解析サーバ10D及び学習装置50の機能ブロック図である。
図15に示すように、メール解析サーバ10Dとは別に、学習装置50が設けられる。
【0092】
学習装置50は、電子メール取得部111、電子メール格納部112、判定部113、教師データ114、学習部115、及び機械学習モデル116を有する。判定部113は、蓄積された受信メールに対する返信の有無を判定し、学習部115は、返信されたと判定された受信メールに含まれる文字と返信されていないと判定された受信メールに含まれる文字の少なくとも一方を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する。学習装置50が有する各構成の詳細な説明は、第1実施形態〜第3実施形態で説明した通りである。
【0093】
メール解析サーバ10Dは、電子メール取得部122、推定部117、出力部118を有する。電子メール取得部122は、メールサーバ20_1から、返信の要否を推定する必要がある受信メールを取得する。推定部117は、電子メール取得部122で取得した受信メールの文字に対して、学習装置50の機械学習モデルを用いて返信の要否を推定する。出力部118は、推定部117で推定した返信の要否を端末装置30に出力する。
【0094】
以上説明した通り、メール解析サーバ10Dと、学習装置50とは異なる装置であってもよい。
【0095】
(変形例5)
本発明の一実施形態では、学習部115において、文字レベルの畳み込みニューラルネットワークを使用して、機械学習モデルを構築する例について説明したが、これに限定されない。学習部115において、ニューラルネットワークとして、BERT(Bidirectional Encoder Representations from Transformers)を使用して、機械学習モデルを構築してもよい。BERTとは、さまざまな自然言語処理(Natural Language Processing;NLP)タスクの最先端の結果を得る言語表現事前トレーニングのための手法である。BERTでは、教師なしで、双方向型の事前トレーニングをさせる。教師なしとは、BERTがプレーンテキストコーパスのみを使用してトレーニングされたことを意味する。
【0096】
学習部115では、BERTの事前学習済みのモデルを使用して、教師データ114に蓄積された受信メールを教師データとして学習し、機械学習モデルを構築する。推定部117が、電子メール取得部111が新たに受信した受信メールを取得すると、BERTによる機械学習モデル116を用いて、新たに受信した受信メールに含まれる文字を解析し、当該受信メールに対する返信の要否に関する確率を推定する。BERTでは、注目する単語の前後両方の文脈について考慮することができるため、受信メールの返信の要否に関する確率の精度をより向上させることができる。
【解決手段】蓄積された受信メールに対する返信の有無を判定する判定部と、返信されたと判定された受信メールに含まれる文字と返信されていないと判定された受信メールに含まれる文字の少なくとも一方を解析し、ニューラルネットワークを用いた機械学習によって機械学習モデルを構築する学習部と、受信した受信メールに含まれる文字を、機械学習モデルを用いて、当該受信メールに対する返信の要否を推定する推定部と、を有する。