以下、実施形態について図面を参照して説明する。図1は、実施形態に係る通信システムの一例の構成を示す図である。図1に示すように、通信システム1は、端末2と、サーバ3とを有している。端末2とサーバ3とは、例えばネットワークNを介して互いに通信する。実施形態の通信システム1は、会社内等の端末2のユーザとの関係性がある程度は限定された環境内に設けられる。したがって、ネットワークNは、例えばイントラネットである。ネットワークNは、インターネット等の外部のネットワークにさらに接続されてもよい。
端末2は、プロセッサ21と、メモリ22と、ストレージ23と、入力インターフェース24と、ディスプレイ25と、通信モジュール26とを有している。プロセッサ21と、メモリ22と、ストレージ23と、入力インターフェース24と、ディスプレイ25と、通信モジュール26とは、互いに通信できるようにバス27に接続されている。ここで、端末2は、スマートフォン、タブレット端末、パーソナルコンピュータといった端末であってよい。また、図1では、端末2は、1つである。通信システム1は、2以上の端末2を有していてもよい。
プロセッサ21は、端末2の動作を制御するように構成されたプロセッサである。プロセッサ21は、ストレージ23に記憶されている各種のプログラムに従って各種の処理を実行する。プロセッサ21は、例えばCPUである。プロセッサ21は、CPUではなく、MPU、GPU等であってもよい。また、プロセッサ21は、1つのCPU等によって構成されている必要はなく、複数のCPU等によって構成されてもよい。
メモリ22は、ROM、RAMといったメモリを含む。ROMは、不揮発性のメモリである。ROMは、端末2の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ21における処理の際の作業メモリとして用いられる。
ストレージ23は、例えばフラッシュメモリといったストレージである。ストレージ23は、端末2において用いられる各種のプログラム及びデータを格納している。実施形態では、ストレージ23は、OS(オペレーティングシステム)231、メールプログラム232を格納している。ストレージ23は、OS231、メールプログラム232以外のプログラム及びデータを格納していてもよい。
OS231は、端末2の基本的な機能を実現するためのプログラムである。ストレージ23に格納されている各種のプログラムは、OSの制御下で実行される。
メールプログラム232は、電子メールに関する各種の機能をユーザに提供するアプリケーションプログラムである。メールプログラム232は、必要に応じて端末2にインストールされ得る。例えば、メールプログラム232は、電子メールの作成に係る処理をする。また、メールプログラム232は、作成された電子メールの送信に係る処理をする。また、メールプログラム232は、電子メールの受信に係る処理をする。さらに、実施形態のメールプログラム232は、簡易返信に係る処理をする。簡易返信は、会社内のユーザからの送信メールに対して簡易的な短文の電子メールを返信する機能である。ここでの短文は、例えば2文以下、すなわち改行又は句点が2個以下であり、かつ、総文字数が32文字以下の文である。この簡易返信の文数及び文字数は適宜に設定され得る。
入力インターフェース24は、タッチパネル等の入力装置を含む。入力インターフェース24の操作がされた場合、操作内容に応じた信号がバス27を介してプロセッサ21に入力される。プロセッサ21は、この信号に応じて各種の処理を行う。
ディスプレイ25は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。ディスプレイ25は、各種の画像を表示する。
通信モジュール26は、端末2がサーバ3と通信するときの処理をするように構成されたインターフェースを含むモジュールである。通信モジュール26は、携帯電話回線、無線LAN回線等を用いてネットワークNに接続するように構成されている。通信モジュール26は、有線回線を使用してネットワークに接続するように構成されていてもよい。
サーバ3は、プロセッサ31と、メモリ32と、ストレージ33と、通信モジュール34とを有している。プロセッサ31と、メモリ32と、ストレージ33と、通信モジュール34とは、互いに通信できるようにバス35に接続されている。サーバ3は、端末2に対するメールサーバとして動作する。ここで、サーバ3は、さらに、入力インターフェース、ディスプレイ等を有していてもよい。また、サーバ3は、単一のサーバでなくてもよい。
プロセッサ31は、サーバ3の動作を制御するように構成されたプロセッサである。プロセッサ31は、例えばCPUである。プロセッサ31は、CPUではなく、MPU、GPU等であってもよい。また、プロセッサ31は、1つのCPU等によって構成されている必要はなく、複数のCPU等によって構成されてもよい。
メモリ32は、ROM、RAMといったメモリを含む。ROMは、不揮発性のメモリである。ROMは、サーバ3の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ31における処理の際の作業メモリとして用いられる。
ストレージ33は、例えばハードディスクドライブ、ソリッドステートドライブといったストレージである。ストレージ33は、OS331、メール作成支援プログラム332、メールデータ333、ユーザデータ334を格納している。ストレージ33は、OS331、メール作成支援プログラム332、メールデータ333、ユーザデータ334以外のプログラム及びデータを格納していてもよい。例えば、ストレージ33は、端末2に対して営業支援システム(Sales Force Automation:SFA)の各種のサービスを提供するためのプログラムを格納していてもよい。
OS331は、サーバ3の基本的な機能を実現するためのプログラムである。ストレージ33に格納されている各種のプログラムは、OSの制御下で実行される。
メール作成支援プログラム332は、メールプログラム232と連携してユーザの電子メールの作成を支援する。例えば、メール作成支援プログラム332は、端末2からの定型文の要求を受けたときに、メールデータ333とユーザデータ334とを利用してユーザに対して提示する定型文を抽出する。そして、メール作成支援プログラム332は、抽出した定型文をユーザに対して提示する。この他、メール作成支援プログラム332は、端末2からサーバ3に送信されてきた送信メールを指定の宛先に送信したり、端末2を宛先として送信されてきた受信メールを端末2に送信したりする。
メールデータ333は、端末2が送受信した電子メールの実データである。メールデータ333は、端末2のユーザ毎に分類されている。ここで、実施形態では、メールデータ333は、端末2の送信メールの実データ、端末2の受信メールの実データ、端末2の簡易返信メールの実データを含む。
ユーザデータ334は、通信システム1が設置される会社に属するユーザのデータである。ユーザデータ334は、例えばユーザのID、氏名、年齢、性別、会社名、役職、社歴といった、端末2のユーザとの関係性に関わるデータを含む。これらの関係性に係わるデータは、簡易返信メールの本文のデータに関連付けられる。また、ユーザデータ334は、ユーザの電子メールアドレスを含んでいてもよい。
通信モジュール34は、サーバ3が端末2と通信するときの処理をするように構成されたインターフェースを含むモジュールである。通信モジュール34は、例えば有線回線を使用してネットワークNに接続するように構成されている。通信モジュール34は、無線回線を使用してネットワークNに接続するように構成されていてもよい。
図2は、メールプログラム232の処理を示すフローチャートである。図2の処理は、端末2においてメールプログラム(アプリ)232が起動されたときに開始される。メールプログラム232が起動されると、プロセッサ21は、メールプログラム232のメイン画面をディスプレイ25に表示させる。その後、プロセッサ21は、ステップS1から処理を開始する。
ステップS1において、プロセッサ21は、メールの新規作成をするか否かを判定する。例えば、メールプログラム232の起動後のメイン画面において表示されるソフトウェアボタンである新規作成ボタンが選択されたときには、メールの新規作成をすると判定される。ステップS1において、電子メールの新規作成をすると判定されたときには、処理はステップS2に移行する。ステップS1において、電子メールの新規作成をすると判定されていないときには、処理はステップS6に移行する。
ステップS2において、プロセッサ21は、電子メールの新規作成画面をディスプレイ25に表示させる。新規作成画面は、電子メールの宛先の入力欄、電子メールの本文の入力欄、及び送信を指示するためのソフトウェアボタンである送信ボタン等を含む。新規作成画面は、適宜に用意されてよい。
ステップS3において、プロセッサ21は、ユーザによる入力に従って電子メールを作成する。
ステップS4において、プロセッサ21は、電子メールを送信するか否かを判定する。例えば、新規作成画面において宛先が入力済みで、かつ、送信ボタンが選択されたときには電子メールを送信すると判定される。ステップS4において、電子メールを送信すると判定されたときには、処理はステップS5に移行する。ステップS4において、電子メールを送信すると判定されていないときには、処理はステップS3に戻る。なお、ステップS4の判定に関わらずに新規作成画面を閉じる指示がされたときには、処理がステップS21に移行してよい。
ステップS5において、プロセッサ21は、作成された電子メールをサーバ3に送信する。その後、処理はステップS21に移行する。
ステップS6において、プロセッサ21は、受信メールの確認をするか否かを判定する。例えば、メールプログラム232の起動後に表示されるメイン画面に表示される受信メールの一覧からの選択があったときには、受信メールの確認をすると判定される。ステップS6において、受信メールの確認をすると判定されたときには、処理はステップS7に移行する。ステップS6において、受信メールの確認をすると判定されていないときには、処理はステップS20に移行する。
ステップS7において、プロセッサ21は、選択された受信メールの内容をディスプレイ25に表示させる。その後、処理はステップS8に移行する。図3は、受信メールの確認画面の一例を示す図である。確認画面では、例えば受信メールの表題、宛先、メール本文が表示される。また、受信メールにファイルが添付されているときには、添付ファイルへのリンクも表示される。さらに、確認画面では、幾つかのソフトウェアボタンが表示される。実施形態では、このソフトウェアボタンは、返信ボタン251及び簡易返信ボタン252を含む。返信ボタン251は、受信メールに対して通常の返信をする際に選択されるボタンである。簡易返信ボタン252は、受信メールに対して簡易返信をする際に選択されるボタンである。前述したように、簡易返信は、会社内のユーザからの送信メールに対して簡易的な短文の電子メールを返信する機能である。後で詳しく説明するが、簡易返信では、返信相手との関係性に応じた定型文がユーザに提示される。一方、通常の返信では、このような定型文の提示はされず、ユーザは自身でメールの本文を入力する。その他、ソフトウェアボタンは、既読/未読の切り替えボタン、選択されたメールの削除ボタンといったボタンを含み得る。
ステップS8において、プロセッサ21は、通常の返信をするか否かを判定する。例えば、確認画面において返信ボタン251が選択されたときには通常の返信をすると判定される。ステップS8において、通常の返信をすると判定されたときには、処理はステップS9に移行する。ステップS8において、通常の返信をすると判定されていないときには、処理はステップS13に移行する。
ステップS9において、プロセッサ21は、返信作成画面をディスプレイ25に表示させる。返信作成画面は、新規作成画面と基本的には同様でよい。ただし、返信作成画面では、受信メールの送信元のメールアドレスが事前に宛先の入力欄に入力されていてよい。また、メールの本文中に、受信メールの本文が履歴としてコピーされていてもよい。
ステップS10において、プロセッサ21は、ユーザによる入力に従って電子メールを作成する。
ステップS11において、プロセッサ21は、電子メールを送信するか否かを判定する。例えば、返信作成画面において送信ボタンが選択されたときには電子メールを送信すると判定される。ステップS11において、電子メールを送信すると判定されたときには、処理はステップS12に移行する。ステップS11において、電子メールを送信すると判定されていないときには、処理はステップS10に戻る。なお、ステップS11の判定に関わらずに返信作成画面を閉じる指示がされたときには、処理がステップS6に戻ってもよい。
ステップS12において、プロセッサ21は、作成された電子メールをサーバ3に送信する。その後、処理はステップS21に移行する。
ステップS13において、プロセッサ21は、簡易返信をするか否かを判定する。例えば、確認画面において簡易返信ボタン252が選択されたときには簡易返信をすると判定される。ステップS13において、簡易返信をすると判定されたときには、処理はステップS14に移行する。ステップS13において、簡易返信をすると判定されていないときには、処理はステップS19に移行する。
ステップS14において、プロセッサ21は、サーバ3に対して定型文の送信を要求する。この要求において、プロセッサ21は、返信相手を特定するための情報をサーバ3に対して送信する。返信相手を特定するための情報は、返信相手のユーザの電子メールアドレスであってもよいし、返信相手のユーザのID等であってもよい。
サーバ3から定型文を受信した後のステップS15において、プロセッサ21は、簡易返信作成画面をディスプレイ25に表示させる。図4は、簡易返信作成画面の一例を示す図である。簡易返信作成画面では、確認画面と同様に例えば受信メールの表題及び宛先が表示される。一方、簡易返信作成画面では、宛先の入力欄は表示されなくてよい。つまり、簡易返信では、宛先は、受信メールの送信元に固定されてよい。また、簡易返信作成画面では、幾つかの定型文253が提示される。また、簡易返信作成画面では、メール本文の入力欄254及び本文に対する入力のためのソフトウェアキーボード255が表示される。さらに、簡易返信作成画面では、ソフトウェアボタンとしての送信ボタン256も表示される。
ステップS16において、プロセッサ21は、ユーザによる入力に従って電子メールを作成する。ここで、簡易返信作成画面では、ユーザは、定型文253の中から所望のものを選択できる。ユーザによって選択された定型文は、メール本文の入力欄254に挿入される。また、ユーザは、必要に応じてソフトウェアキーボード255を操作してメール本文の入力欄254に文章を追加する。最後に、ユーザは、送信ボタン256を選択する。これを受けてプロセッサ21は、電子メールのデータを作成する。ここで、簡易返信作成画面において作成された電子メールのデータには、この電子メールが簡易返信で作成されたものであることを特定するためのデータが付加される。この簡易返信で作成されたものであることを特定するためのデータは、サーバ3における関係性の抽出の処理及び定型文の抽出の処理において利用される。また、簡易返信では、前述した文数及び総文字数の制限がある。ユーザによって入力された本文における文数及び総文字数が制限を超えるときには、プロセッサ21は、ユーザに対して警告をしてもよい。この警告は、例えば簡易返信作成画面にメッセージを表示させることで行われ得る。
ステップS17において、プロセッサ21は、電子メールを送信するか否かを判定する。例えば、簡易返信作成画面において送信ボタン256が選択されたときには電子メールを送信すると判定される。ステップS17において、電子メールを送信すると判定されたときには、処理はステップS18に移行する。ステップS17において、電子メールを送信すると判定されていないときには、処理はステップS16に戻る。なお、ステップS17の判定に関わらずに簡易返信作成画面を閉じる指示がされたときには、処理がステップS6に戻ってもよい。
ステップS18において、プロセッサ21は、作成された電子メールをサーバ3に送信する。その後、処理はステップS21に移行する。ここで、簡易返信作成画面において作成された電子メールには、この電子メールが簡易返信で作成されたものであることを特定するための情報が付加されている。
ステップS19において、プロセッサ21は、受信メールの確認を終了するか否かを判定する。例えば、受信メールの確認画面から戻る操作されたときには、受信メールの確認を終了すると判定される。ステップS19において、受信メールの確認を終了すると判定されたときには、処理はステップS21に移行する。ステップS19において、受信メールの確認を終了すると判定されていないときには、処理はステップS6に戻る。
ステップS20において、プロセッサ21は、その他の処理を実施する。その他の処理は、受信メールの既読/未読の切り替え、受信メールの削除といった処理である。その他の処理の後、処理はステップS21に移行する。
ステップS21において、プロセッサ21は、メールプログラム(アプリ)232を終了させるか否かを判定する。例えば、メイン画面を閉じる操作がされたときには、メールプログラム232を終了させると判定される。ステップS21において、メールプログラム232を終了すると判定されていないときには、処理はステップS1に戻る。ステップS21において、メールプログラム232を終了すると判定されたときには、図2の処理は終了する。図2の処理が終了した後もメールプログラム232は、バックグラウンドで動作し得る。例えば、プロセッサ21は、メールプログラム232に従い、定期的にサーバ3に対して受信メールの有無を確認し、受信メールがあるときにはその旨をユーザに通知する。
図5は、メール作成支援プログラム332の処理を示すフローチャートである。図5の処理は、サーバ3が起動中には常時行われ得る。
ステップS101において、プロセッサ31は、電子メールを送信するか否かを判定する。例えば、端末2から送信メールを受信したときには、電子メールを送信すると判定される。ここでの送信メールは、前述の新規作成画面で作成されてその後に送信された電子メール、返信作成画面で作成されてその後に送信された返信メール及び簡易返信作成画面で作成されてその後に送信された簡易返信メールを含む。ステップS101において、電子メールを送信すると判定されたときには、処理はステップS102に移行する。ステップS101において、電子メールを送信すると判定されていないときには、処理はステップS105に移行する。
ステップS102において、プロセッサ31は、送信メールを指定された宛先に送信する。また、プロセッサ31は、送信メールを、対応するユーザのメールデータ333としてストレージ33に格納する。
ステップS103において、プロセッサ31は、送信メールが簡易返信メールであったか否かを判定する。ステップS103において、送信メールが簡易返信メールであったと判定されたときには、処理はステップS104に移行する。ステップS103において、返信メールが簡易返信メールであると判定されていないときには、処理はステップS101に戻る。
ステップS104において、プロセッサ31は、返信元のユーザと返信先のユーザとの関係性に関わるデータをステップS102で格納した簡易返信メールの本文中の文言データに対応づける。その後、処理はステップS101に戻る。
ここで、ステップS104の対応付けの一例について説明する。実施形態では、返信元のユーザと返信先のユーザとの関係性が数値に変換される。実施形態では、返信元のユーザと返信先のユーザとの関係性に関わる情報として、例えば「役職」の差、「年齢」の差、「社歴」の差の3つの情報がそれぞれ数値に変換される。
「役職」に関し、役職が上の人に対する言葉使いは丁寧になり、役職が下の人に対する言葉使いはくだけたものになる傾向があると考えられる。したがって、実施形態では、「役職」が定型文の抽出のための関係性に関わるデータの1つとして採用される。ここで、「役職」については、どの程度離れているかに関わらず、上の人に対しては丁寧な言葉使いになり、下の人に対してはくだけた言葉使いになる傾向があると考えられる。したがって、プロセッサ31は、返信元のユーザと返信先のユーザとの役職の差を例えば3段階の数値に変換する。ここで、「役職」の差の数値をrl_titleとすると、プロセッサ31は、ユーザデータ334を参照し、返信元のユーザの役職が返信先のユーザの役職よりも下であるときにはrl_titleに-1を割り当て、返信元のユーザの役職が返信先のユーザの役職と同じであるときにはrl_titleに0を割り当て、返信元のユーザの役職が返信先のユーザの役職よりも上であるときにはrl_titleに1を割り当てる。なお、役職の上下の関係については、例えばサーバ3の管理者によって設定され得る。例えばユーザデータ334が役職順に並べられていれば、役職の上下の関係はその並び順から判定され得る。ユーザデータ334に役職が入力されていないときには最も下の役職であるとして扱われてよい。なお、役職の差は、必ずしも3段階に分けられなくてもよい。
「年齢」に関し、通常、年齢の高い人に対する言葉使いは丁寧になり、同年齢に対する言葉使いはくだけたものになる傾向があると考えられる。したがって、実施形態では、「年齢」が定型文の抽出のための関係性に関わるデータの1つとして採用される。ここで、「年齢」については、同じ年上であってもその差が1歳程度である場合と10歳を超える場合とでは用いられる言葉使いに差が生じると考えられる。したがって、プロセッサ31は、返信元のユーザと返信先のユーザとの年齢の差を例えば-1から1の間の連続値に変換する。ここで、年齢の差の数値をrl_ageとすると、プロセッサ31は、ユーザデータ334を参照し、例えば20年の差を最大とし、返信元のユーザの年齢と返信先のユーザの年齢との差に応じた-1から1の数値をrl_ageに割り当てる。割り当てる数値は、例えば差の値を1/20した値でよい。このとき、返信元のユーザの年齢が返信先のユーザの年齢よりも下であるときにはプロセッサ31は、年齢差に応じた負の値をrl_ageに割り当てる。また、返信元のユーザの年齢が返信先のユーザの年齢よりも上であるときにはプロセッサ31は、年齢差に応じた正の値をrl_ageに割り当てる。
「社歴」に関し、仮に年齢に差があっても、同期入社であれば、その相手に対する言葉使いはくだけたものになる可能性があると考えられる。また、年齢が下の相手であっても、社歴が長ければ、その相手に対する言葉使いは丁寧なものになる可能性があると考えられる。したがって、実施形態では、「社歴」が定型文の抽出のための関係性に関わるデータの1つとして採用される。プロセッサ31は、返信元のユーザと返信先のユーザとの社歴の差を例えば-1から1の間の連続値に変換する。ここで、社歴の差の数値をrl_joinedとすると、プロセッサ31は、ユーザデータ334を参照し、例えば20年の差を最大とし、返信元のユーザの社歴と返信先のユーザの社歴との差に応じた-1から1の数値をrl_joinedに割り当てる。このとき、返信元のユーザの社歴が返信先のユーザの社歴よりも短いときにはプロセッサ31は、社歴の差に応じた負の値をrl_joinedに割り当てる。また、返信元のユーザの社歴が返信先のユーザの社歴よりも長いときにはプロセッサ31は、社歴の差に応じた正の値をrl_joinedに割り当てる。
プロセッサ31は、以上のようにして決定されたrl_title、rl_age、rl_joinedを、対応する簡易返信メールの本文中の文言データであるphraseと対応付ける。なお、phraseは、簡易返信メールの本文の文言データの全体であってもよいし、他の簡易返信メールとの共通部分だけであってもよい。前述したように、簡易返信メールは、短文による返信なので、共通部分を抽出することができる可能性は高い。
さらに、プロセッサ31は、phraseに、対応する簡易返信メールの送信者のID及び簡易返信メールの受信者のIDを対応付ける。さらに、プロセッサ31は、対応するphraseに関する使用回数countを更新する。countは、rl_title、rl_age、rl_joinedが同一の条件の下で、対応するphraseが簡易返信の際に使用された回数である。対応するphraseの使用が初回であるときには、countの値は1である。そして、同じ役職の関係、同じ年齢差の関係、同じ社歴の差の関係で対応するphraseが使用されたときには、countの値が1ずつインクリメントされる。
ここで説明した関係性の数値化の手法は一例である。関係性の数値化の手法として別の手法が用いられてもよい。
ここで、図5の説明に戻る。ステップS105において、プロセッサ31は、電子メールを受信するか否かを判定する。例えば、他の端末から端末2宛ての送信メールを受信したときには、電子メールを受信すると判定される。ステップS105において、電子メールを受信すると判定されたときには、処理はステップS106に移行する。ステップS105において、電子メールを受信すると判定されていないときには、処理はステップS107に移行する。
ステップS106において、プロセッサ31は、受信メールを、対応するユーザのメールデータ333としてストレージ33に格納する。その後、処理はステップS101に戻る。ストレージ33に格納された受信メールは、端末2からのメールの受信要求に応答して端末2に送信される。
ステップS107において、プロセッサ31は、定型文の要求がされたか否かを判定する。ステップS107において、定型文の要求がされたと判定されたときには、処理はステップS108に移行する。ステップS107において、定型文の要求がされたと判定されていないときには、処理はステップS110に移行する。
ステップS108において、プロセッサ31は、定型文の要求とともに送られてきた返信相手を特定するための情報に基づいて、定型文抽出処理を実施する。その後、処理はステップS109に移行する。定型文抽出処理については後で詳しく説明する。
ステップS109において、プロセッサ31は、抽出した定型文を、要求があった端末に送信する。その後、処理はステップS101に戻る。
ステップS110において、プロセッサ31は、その他の処理を行う。その他の処理は、例えばSFA機能に関わる処理である。その他の処理の後、処理はステップS101に戻る。
図6は、定型文抽出処理の一例を示すフローチャートである。ステップS201において、プロセッサ31は、定型文の送信を要求した端末のユーザを特定するための情報と返信相手のユーザを特定するための情報とに基づき、利用できる過去の定型文があるか否かを判定する。例えば、送信者のID及び簡易返信メールの受信者のIDが一致していて、かつ、countが所定回数(例えば3回)以上であるphraseがあるときには、利用できる過去の定型文があると判定される。ステップS201において、利用できる過去の定型文があると判定されたときには、処理はステップS202に移行する。ステップS201において、利用できる過去の定型文があると判定されていないときには、処理はステップS203に移行する。
ステップS202において、プロセッサ31は、利用できる過去の定型文のうちでcountが上位の複数のphraseを定型文として抽出する。その後、図6の処理は終了する。ここで、ステップS202において抽出されるphraseの数は、例えば3である。抽出されるphraseの数は、端末2のディスプレイ25の大きさ等に応じて適宜に設定されてよい。
ステップS203において、プロセッサ31は、関係性距離を算出する。関係性距離は、今回の簡易返信時における送信者、すなわち端末2のユーザと受信者、すなわち返信相手との関係性と過去の簡易返信時における送信者と受信者との関係性との類似度を距離として表したものである。関係性距離は、今回の簡易返信時における送信者と受信者の間のrl_title、rl_age、rl_joinedと、過去に記憶されたそれぞれphraseに対応付けられたrl_title、rl_age、rl_joinedとのそれぞれを3次元座標に置き換えたときのそれぞれの点間の距離として算出され得る。
ステップS204において、プロセッサ31は、関係性距離が所定距離よりも短い上位の複数のphraseを定型文として抽出する。その後、図6の処理は終了する。
図7A、図7B、図7Cは、ステップS204の定型文の抽出の例を示す図である。ここで、以下の説明においては過去のphraseとして、「了解。」、「了解です。」、「承知しました。」の3つの文言が記憶されているものとする。phrase「了解。」に対応付けられたrl_title、rl_age、rl_joinedは、それぞれ、-1、-1、-1である。この組み合わせは、返信相手が年下の部下であったことを意味している。また、phrase「了解です。」に対応付けられたrl_title、rl_age、rl_joinedは、それぞれ、-1、1、1である。この組み合わせは、返信相手が年上の部下であったことを意味している。さらに、phrase「承知しました。」に対応付けられたrl_title、rl_age、rl_joinedは、それぞれ、1、1、1である。この組み合わせは、返信相手が年上の上司であったことを意味している。
図7Aは、今回の簡易返信の返信相手が、年下の上司(社歴が同じの5歳年下の上司)であるときの例を示している。社歴が同じの5歳年下の上司であるときのrl_title、rl_age、rl_joinedは、それぞれ、1、-0.25、0である。このとき、それぞれのphraseとの関係性距離は、図7Aで示したものとなる。プロセッサ31は、図7Aで示した関係性距離が所定距離(例えば2)未満の上位の3件までのphraseを抽出する。したがって、図7Aでは、phrase「承知しました。」が定型文として抽出される。
図7Bは、今回の簡易返信の返信相手が、役職なしの先輩(社歴が5年上で年齢も5歳上)であるときの例を示している。役職がなしであるのでrl_titleは0である。一方、rl_age、rl_joinedは、それぞれ、0.25、0.25である。このとき、それぞれのphraseとの関係性距離は、図7Bで示したものとなる。プロセッサ31は、図7Bで示した関係性距離が所定距離(例えば2)未満の上位の3件までのphraseを抽出する。したがって、図7Bでは、phrase「了解しました。」及び「承知しました。」が定型文として抽出される。
図7Cは、今回の簡易返信の返信相手が、同期(社歴、年齢、役職が同じ)であるときの例を示している。このとき、rl_title、rl_age、rl_joinedは何れも0である。このとき、それぞれのphraseとの関係性距離は、図7Cで示したものとなる。プロセッサ31は、図7Cで示した関係性距離が所定距離(例えば2)未満の上位の3件までのphraseを抽出する。したがって、図7Cでは、phrase「了解。」、「了解しました。」及び「承知しました。」の何れもが定型文として抽出される。
以上説明したように実施形態では、電子メールの送信者である端末2のユーザと受信者である送信相手との関係性に応じた定型文が電子メールの送信時において提示される。これにより、電子メール中の定型文の入力の手間が軽減される。また、定型文は、実際に過去に送信された電子メールの本文の文言から抽出される。したがって、ユーザの意図を反映した定型文が抽出され易くなる。
また、実施形態では、定型文の抽出に際して、メールの本文の文脈解析が行われる必要がない。つまり、実施形態では、簡易な処理で電子メールの送信者と受信者との関係性が考慮された定型文が提示され得る。
[変形例]
以下、実施形態の変形例を説明する。前述した実施形態では、定型文は、簡易返信の際に提示されるものとされている。これは、返信メールは通常のメールに比べて、了承のための返信、お礼のための返信といった定型的な内容を含むことが多いためである。了承のための返信及びお礼のための返信といった返信は、内容自体は定型的であるものの、相手によって使用する言葉を選ぶ必要が生じることもある。このため、実施形態の手法による定型文の提示が特に有効である。さらに、実施形態では文数及び総文字数が制限された簡易返信メールの際に定型文が提示されるものとされている。もともと了承のための返信、お礼のための返信は、比較的に短文であることが多い。したがって、予め文数及び総文字数が制限された状況において定型文の抽出及び提示が行われることにより、文脈解析を必要とすることなく、よりユーザの望む定型文が提示されやすくなる。
一方で、実施形態の手法は、通常の電子メールの送信の際にも適用され得る。つまり、通常の電子メールの送信が行われる毎に、前述した関係性に関わるデータを送信メールに共通的に用いられる文言データと関連付けてストレージ33に記憶させておき、その後の電子メールの送信において宛先が特定された場合に、その宛先のユーザと送信元のユーザとの関係性に応じた定型文が提示されてもよい。
また、実施形態では、関係性に関わるデータとしてrl_title、rl_age、rl_joinedからなる3次元のデータに基づいて定型文の抽出が行われる。定型文の抽出に用いられる関係性に関わるデータは、必ずしも3次元のデータに限定されるものではない。定型文の抽出に用いられる関係性に関わるデータは、rl_title、rl_age、rl_joinedのうちの何れかを含んでいなくてもよいし、別のデータも含む4次元以上のデータであってもよい。この別のデータとしては、例えば部署の違いが挙げられる。後輩であっても部署が違えば言葉使いは丁寧になることが考えられるから、例えば部署が異なるときには1、部署が同じであるときには0といったような数値化がされてよい。
また、定型文の提示の際に、前述したphraseに基づく定型文に加えて、返信相手の役職名、氏名等がさらに提示されてもよい。
また、関係性は、ある程度の期間で変化することも考えられる。したがって、ストレージ33において簡易返信メールに対応付けて記憶される関係性に関わるデータは、一定期間毎に更新されてよい。または、一定期間を超える関係性に関わるデータは、抽出の際に使用されなくてもよい。
また、実施形態では定型文の記憶及び抽出は、サーバ3において行われる。一方で、端末2にメール作成支援プログラム332と同等の処理を実行するプログラムがインストールされれば、端末2において定型文の抽出及び記憶が行われてもよい。この場合において、関係性に関わるデータは、端末2のストレージ23に記憶されていてもよいし、サーバ3のストレージ23から取得されてもよい。
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。