(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134651
(43)【公開日】2024-10-04
(54)【発明の名称】認識装置、認識プログラムおよび認識方法
(51)【国際特許分類】
G06Q 50/34 20120101AFI20240927BHJP
G06F 16/332 20190101ALI20240927BHJP
【FI】
G06Q50/34
G06F16/332
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023044951
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】飯島 岳史
【テーマコード(参考)】
5B175
5L049
5L050
【Fターム(参考)】
5B175DA01
5B175FA01
5B175GA04
5L049CC55
5L050CC55
(57)【要約】
【課題】公営競技の投票内容の認識精度を向上させることができる。
【解決手段】認識装置10は、公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブル11aを記憶する。認識装置10は、音声入力に基づいた入力文1を取得する。認識装置10は、変換テーブル11aを参照して入力文1から第1文字列を検索する。認識装置10は、入力文1に第1文字列が含まれる場合、第1数字を分割した複数の第1番号を買い目に含むと特定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブルを記憶する記憶部と、
音声入力に基づいた入力文を取得し、前記変換テーブルを参照して前記入力文から前記第1文字列を検索し、前記入力文に前記第1文字列が含まれる場合、前記第1数字を分割した複数の第1番号を買い目に含むと特定する処理部と、
を有する認識装置。
【請求項2】
前記変換テーブルには、前記公営競技において買い目を指定する番号である第2数字と、第2文字列との対応関係が登録され、
前記処理部は、前記変換テーブルを参照して前記入力文から前記第2文字列を検索し、前記入力文に前記第2文字列が含まれる場合、前記第2数字を買い目に含むと特定する、
請求項1記載の認識装置。
【請求項3】
前記処理部は、前記公営競技の投票形式に基づいて買い目に含まれる番号の数を特定し、特定した番号の数と一致するよう前記第2数字を分割または結合した第3数字を前記第2数字に代えて買い目に含むと特定する、
請求項2記載の認識装置。
【請求項4】
コンピュータに、
音声入力に基づいた入力文を取得し、
公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブルを参照して前記入力文から前記第1文字列を検索し、
前記入力文に前記第1文字列が含まれる場合、前記第1数字を分割した複数の第1番号を買い目に含むと特定する、
処理を実行させる認識プログラム。
【請求項5】
コンピュータが、
音声入力に基づいた入力文を取得し、
公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブルを参照して前記入力文から前記第1文字列を検索し、
前記入力文に前記第1文字列が含まれる場合、前記第1数字を分割した複数の第1番号を買い目に含むと特定する、
認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認識装置、認識プログラムおよび認識方法に関する。
【背景技術】
【0002】
公営競技の投票では、投票内容に基づいて塗りつぶしたマークカードを用いた投票や、インターネットサイトに接続したPC(Personal Computer)やスマートフォンを用いて投票内容を入力するネット投票がある。また、有人窓口や電話で口頭で投票内容を伝えて公営競技の投票をする方法もある。
【0003】
口頭での公営競技の投票に関する技術としては、例えば、音声入力により電話投票等を行うことができる音声応答システムが提案されている。また、音声に関する技術としては、例えば、音声入力を支援するための音声入力支援システムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001-111652号公報
【特許文献2】特開2021-76623号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
公営競技の投票において、マークカードを塗ることやPC、スマートフォンの操作を行うことが難しい利用者の場合、口頭で投票内容を伝える方が好ましい。そこで、利用者の声を音声認識によって処理し、投票内容を特定することが考えられる。しかし、音声認識では、誤変換等によって番号を正しく認識できないことがある。
【0006】
1つの側面では、本件は、公営競技の投票内容の認識精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、記憶部と処理部とを有する認識装置が提供される。記憶部は、公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブルを記憶する。処理部は、音声入力に基づいた入力文を取得し、変換テーブルを参照して入力文から第1文字列を検索し、入力文に第1文字列が含まれる場合、第1数字を分割した複数の第1番号を買い目に含むと特定する。
【発明の効果】
【0008】
1態様によれば、公営競技の投票内容の認識精度を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る認識装置の一例を示す図である。
【
図2】
図2は、第2の実施の形態に係る投票システムの一例を示す図である。
【
図3】サーバのハードウェアの一構成例を示す図である。
【
図5】投票内容を指定するために用いる用語に関する変換テーブルの一例を示す図である。
【
図6】数字に関する変換テーブルの一例を示す図である。
【
図7】投票内容入力時のメッセージの一例を示す図(その1)である。
【
図8】投票内容入力時のメッセージの一例を示す図(その2)である。
【
図9】馬番の特定処理の一例を示す図(その1)である。
【
図10】馬番の特定処理の一例を示す図(その2)である。
【
図11】馬番の特定処理の一例を示す図(その3)である。
【
図12】投票内容認識処理の手順の一例を示すフローチャートである。
【
図13】馬番認識処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。
【0011】
図1は、第1の実施の形態に係る認識装置の一例を示す図である。第1の実施の形態は、競馬、競輪、競艇、オートレース等の公営競技において、利用者が音声入力した投票内容を認識するものである。認識装置10は、公営競技の投票内容を認識するコンピュータである。例えば、認識装置10は、QR(Quick Response)コード(登録商標)を用いたQR投票に用いるQRコードを発行するサーバコンピュータである。認識装置10は、記憶部11と処理部12とを有する。
【0012】
記憶部11は、認識装置10が実行する処理に用いられるデータを記憶する。記憶部11は、例えば、認識装置10が有するメモリまたはストレージ装置である。記憶部11は、変換テーブル11aを有する。変換テーブル11aは、公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録される。例えば、変換テーブル11aには、1~18の馬番から買い目を指定する競馬における第1数字として、19が登録されている。変換テーブル11aには、第1数字である19に対応付けた第1文字列として、「19」、「いちきゅう」、「イチキュウ」、「イッキュウ」、「一休」等が登録されている。
【0013】
処理部12は、認識装置10を制御し、所要の処理を実行可能である。処理部12は、例えば、認識装置10が有するプロセッサまたは演算回路である。まず、処理部12は、音声入力に基づいた入力文1を取得する。例えば、入力文1は、ユーザからの音声入力を音声変換ソフトウェアによって変換したテキストである。なお、音声からテキストへの変換は、認識装置10が実行してもよいし、他の装置が実行してもよい。一例として、処理部12は、入力文1として「イチキュウ」を取得する。
【0014】
処理部12は、変換テーブル11aを参照して入力文1から第1文字列を検索する。そして、処理部12は、入力文1に第1文字列が含まれる場合、第1数字を分割した複数の第1番号を買い目に含むと特定する。一例として、処理部12は、入力文1である「イチキュウ」から第1文字列を検索する。処理部12は、入力文1に第1文字列のうちの「イチキュウ」が含まれると特定する。処理部12は、第1文字列の「イチキュウ」に対応する第1数字である19を分割した「1」および「9」を買い目に含むと特定する。
【0015】
第1の実施の形態によれば、認識装置10の記憶部11は、公営競技において買い目を指定する番号でない複数桁の第1数字と、第1文字列との対応関係が登録された変換テーブル11aを記憶する。認識装置10の処理部12は、音声入力に基づいた入力文1を取得し、変換テーブル11aを参照して入力文1から第1文字列を検索し、入力文1に第1文字列が含まれる場合、第1数字を分割した複数の第1番号を買い目に含むと特定する。
【0016】
これにより、認識装置10は、誤変換等によって公営競技の買い目を指定する番号でない数字が含まれた入力文1から、ユーザが指定をした番号を適切に特定することができる。よって、認識装置10は、公営競技の投票内容の認識精度を向上させることができる。
【0017】
なお、変換テーブル11aには、公営競技において買い目を指定する番号である第2数字と、第2文字列との対応関係が登録されていてもよい。処理部12は、変換テーブル11aを参照して入力文1から第2文字列を検索し、入力文1に第2文字列が含まれる場合、第2数字を買い目に含むと特定してもよい。これにより、認識装置10は、入力文1から、ユーザが指定をした番号を適切に特定することができる。
【0018】
また、処理部12は、公営競技の投票形式に基づいて買い目に含まれる番号の数を特定し、特定した番号の数と一致するよう第2数字を分割または結合した第3数字を第2数字に代えて買い目に含むと特定してもよい。これにより、認識装置10は、公営競技の投票形式に合わせて番号を特定することで、投票内容の認識精度を向上させることができる。
【0019】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、音声入力に基づいて競馬の投票ができるサービスを提供するものである。
【0020】
図2は、第2の実施の形態に係る投票システムの一例を示す図である。第2の実施の形態の投票システムは、スマートフォン21、投票装置22およびサーバ100を有する。スマートフォン21およびサーバ100は、ネットワーク30に接続されている。ネットワーク30は、例えば、インターネット等の広域ネットワークである。
【0021】
スマートフォン21は、競馬の利用者が操作するスマートフォンである。スマートフォン21は、入力音声をテキストに変換するソフトウェア(変換ソフトウェア)を実行可能である。投票装置22は、競馬の投票を受け付ける装置である。投票装置22は、例えば、競馬場に設置されており、マークカードやQRコードから投票内容を読み取り、読み取った投票内容での投票を受け付ける。サーバ100は、投票内容を示すQRコードを発行するサーバコンピュータである。サーバ100は、スマートフォン21から受信したテキストから投票内容を特定し、特定した投票内容を示すQRコードを発行する。
【0022】
サーバ100は、場名、レース番号、式別、方式、買い目、金額等の投票内容を入力するよう促すメッセージをスマートフォン21に送信する。スマートフォン21は、サーバ100から受信したメッセージを表示し、利用者から投票内容を示す音声の入力を受け付ける。スマートフォン21は、入力された音声を変換ソフトウェアによってテキストに変換し、変換したテキストをサーバ100に送信する。
【0023】
サーバ100は、変換テーブルを用いてスマートフォン21から受信したテキストの所定の文字列を、競馬の専門用語や買い目を示す番号に変換し、投票内容を特定する。サーバ100は、特定した投票内容を示すQRコードを発行し、発行したQRコードをスマートフォン21に送信する。そして、利用者がQRコードを表示したスマートフォン21を投票装置22にかざすと、投票装置22は、スマートフォン21に表示されたQRコードから投票内容を読み取り、読み取った投票内容でのQR投票を受け付ける。なお、以下では、競馬の買い目を指定する馬番として1~18の番号が用いられる場合について説明する。
【0024】
図3は、サーバのハードウェアの一構成例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。
【0025】
メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。
【0026】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0027】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0028】
GPU104には、モニタ31が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機ELを用いた表示装置や液晶表示装置等がある。
【0029】
入力インタフェース105には、キーボード32とマウス33とが接続されている。入力インタフェース105は、キーボード32やマウス33から送られてくる信号をプロセッサ101に送信する。なお、マウス33は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0030】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク34に記録されたデータの読み取りを行う。光ディスク34は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク34には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等がある。
【0031】
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置35やメモリリーダライタ36を接続することができる。メモリ装置35は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ36は、メモリカード37へのデータの書き込み、またはメモリカード37からのデータの読み出しを行う装置である。メモリカード37は、カード型の記録媒体である。
【0032】
ネットワークインタフェース108は、ネットワーク30に接続されている。ネットワークインタフェース108は、ネットワーク30を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0033】
サーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した認識装置10も、
図3に示したサーバ100と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部12の一例である。また、メモリ102またはストレージ装置103は、第1の実施の形態に示した記憶部11の一例である。
【0034】
サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク34、メモリ装置35、メモリカード37等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。次に、サーバ100の機能について詳細に説明する。
【0035】
図4は、サーバの機能例を示すブロック図である。サーバ100は、記憶部110、送受信部120および認識部130を有する。記憶部110は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。送受信部120および認識部130は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。
【0036】
記憶部110は、変換テーブル111,112を記憶する。変換テーブル111は、変換テーブル111は、スマートフォン21から取得したテキストに含まれる所定の文字列を、投票内容を指定するために用いる用語に変換するパターンが登録されたテーブルである。変換テーブル112は、スマートフォン21から取得したテキストに含まれる馬番ではない数字を示す文字列を、馬番を示す番号に変換するパターンが登録されたテーブルである。
【0037】
送受信部120は、スマートフォン21から投票内容を示すテキストを取得する。送受信部120は、場名、レース番号、式別、方式、買い目、金額等の投票内容を入力するよう促すメッセージを投票内容ごとにスマートフォン21に送信する。送受信部120は、メッセージに対する応答としてユーザがスマートフォン21に入力した音声が、変換ソフトウェアによって変換されたテキストを、スマートフォン21から受信する。
【0038】
送受信部120は、QRコードに含まれるテキストをスマートフォン21に送信する。例えば、送受信部120は、認識部130がテキストから特定した場名、レース番号、式別、方式、買い目、金額を示すQRコードを生成する。そして、送受信部120は、生成したQRコードをスマートフォン21に送信する。
【0039】
認識部130は、送受信部120が取得したテキストに基づいて、入力された投票内容を特定する。例えば、認識部130は、変換テーブル111に登録された、場名、式別、方式の用語に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する用語に変換する。そして、認識部130は、テキストに含まれる場名、式別、方式を特定する。また、例えば、認識部130は、変換テーブル111に登録された数字に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する数字に変換する。そして、認識部130は、テキストに含まれる数字を、入力されたレース番号、金額として特定する。
【0040】
また、認識部130は、変換テーブル111,112に基づいて、買い目に含む馬番を特定する。認識部130は、特定した式別、方式が、着順を指定せずに複数の馬番の入力を受け付けるもの(馬連、枠連、ワイド、3連単のフォーメーション)ではない場合、テキストから1つの馬番を特定する。例えば、認識部130は、変換テーブル111に登録された、馬番である数字に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する数字に変換する。そして、認識部130は、テキストに含まれる数字を買い目に含む馬番として特定する。
【0041】
認識部130は、特定した式別、方式が、着順を指定せずに複数の馬番の入力を受け付けるものである場合、テキストから複数の馬番を特定する。認識部130は、変換テーブル112に登録された、馬番を指定する番号ではない数字に対応する文字列をテキストから検索する。認識部130は、検索された文字列に対応する数字を分割した数字を、買い目に含む馬番として特定する。また、認識部130は、変換テーブル111に登録された、馬番を指定する番号である数字に対応する文字列をテキストから検索する。認識部130は、検索された文字列に対応する数字を、買い目に含む馬番として特定する。
【0042】
そして、認識部130は、特定した式別、方式に対応する数の馬番を特定したか否かを判定する。例えば、認識部130は、入力された式別が馬連、枠連またはワイドであり、2つの馬番を特定した場合、式別、方式に対応する数の馬番を特定したと判定する。また、例えば、認識部130は、入力された式別が3連単、入力された方式がフォーメーションであり、3つ以上の馬番を特定した場合、式別、方式に対応する数の馬番を特定したと判定する。認識部130は、式別、方式に対応する数の馬番を特定していないと判定した場合、特定した2桁の馬番を分割または1桁の馬番同士を結合した馬番を、分割または結合された馬番に代えて買い目に含む馬番として特定する。
【0043】
なお、
図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、記憶部110に記憶される変換テーブル111,112について詳細に説明する。
【0044】
図5は、投票内容を指定するために用いる用語に関する変換テーブルの一例を示す図である。変換テーブル111は、スマートフォン21から取得したテキストに含まれる所定の文字列を、投票内容を指定するために用いる用語に変換するパターンが登録されたテーブルである。
【0045】
変換テーブル111は、正解値および誤認識A、誤認識B、誤認識C、誤認識D、・・・の項目を有する。正解値の項目には、投票内容を指定するために用いる用語が登録される。投票内容を指定するために用いる用語としては、場名、式別、方式を示す用語が登録される。また、投票内容を指定するために用いる用語としては、レース番号、買い目を指定する番号や金額を示す数字が登録される。誤認識A、誤認識B、誤認識C、誤認識D、・・・の項目には、用語に対応する文字列が登録される。用語に対応する文字列としては、当該用語と発音が類似する文字列が登録される。
【0046】
例えば、変換テーブル111には、前の項目を設定し直すための入力を示す「戻る」に対応付けて、「もどる」、「モドル」、「踊る」等が登録されている。また、変換テーブル111には、場名である「札幌」に対応付けて、「さっぽろ」、「サッポロ」、「アポロ」等が登録される。なお、変換テーブル111に登録された文字列に含まれる「^」および「$」は、正規表現のための制御文字を示す。文字列に含まれる「^」は、当該文字列から開始するパターンを示す。また、文字列に含まれる「$」は、当該文字列で終了するパターンを示す。
【0047】
図6は、数字に関する変換テーブルの一例を示す図である。変換テーブル112は、スマートフォン21から取得したテキストに含まれる所定の数字を示す文字列を、買い目を指定する番号に変換するパターンが登録されたテーブルである。
【0048】
変換テーブル112は、複数の配列を含む。変換テーブル112の各配列の先頭には、買い目を指定する番号でない2桁の数字を分割した文字列が登録される。買い目を指定する番号でない2桁の数字としては、19~88が登録される。なお、分割した場合に2文字目が0となる20等の数字は、馬番を指定する番号に分割できないため変換テーブル112に登録されない。変換テーブル112の各配列の先頭以外には、2桁の数字に対応する文字列が登録される。2桁の数字に対応する文字列としては、当該数字と発音が類似する文字列が登録される。例えば、変換テーブル112には、19を分割した文字列である「,1,9,」に対応付けて、「19」、「いちきゅう」、「イチキュウ」等が登録されている。次に、サーバ100がスマートフォン21に送信するメッセージについて説明する。
【0049】
図7は、投票内容入力時のメッセージの一例を示す図(その1)である。送受信部120は、投票内容を入力するよう促すメッセージをスマートフォン21に送信し、メッセージに対する返信としてスマートフォン21から投票内容を受信する。なお、「戻る」が入力された場合、送受信部120は、1つ前のメッセージに対する投票内容を受け付ける。
【0050】
まず、送受信部120は、メッセージ41をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ41を表示する。メッセージ41は、投票内容入力の案内をするメッセージである。メッセージ41は、「こんにちは。画面の案内に従って、投票する内容を入力して下さい。」等の、投票内容の入力を促す内容を含む。また、メッセージ41は、「1つ前に戻る場合は「戻る」と入力してください。」等の、「戻る」と入力することで1つ前のメッセージに対する投票内容を受け付けることを示す内容を含む。
【0051】
次に、送受信部120は、メッセージ42をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ42を表示する。メッセージ42は、場名を入力するよう促すメッセージである。メッセージ42は、「投票する競馬場名を入力してください。」等の、場名を入力するよう促す内容を含む。
【0052】
スマートフォン21は、メッセージ42を表示すると、音声の入力を受け付ける。そして、スマートフォン21は、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストから場名を特定する。ここで、認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる場名を特定する。
【0053】
送受信部120は、場名の入力を受け付けると、メッセージ43をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ43を表示する。メッセージ43は、レース番号を入力するよう促すメッセージである。メッセージ43は、「〇〇競馬場ですね。」等の、入力された場名を確認する内容を含む。また、メッセージ43は、「続いてレース番号を入力してください。1レースの場合は「1レース」と入力してください」等の、レース番号を入力するよう促す内容を含む。
【0054】
スマートフォン21は、メッセージ43を表示すると、音声の入力を受け付け、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストからレース番号を特定する。ここで、認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる「レース」の前の数字をレース番号として特定する。
【0055】
送受信部120は、レース番号の入力を受け付けると、メッセージ44をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ44を表示する。メッセージ44は、式別を入力するよう促すメッセージである。メッセージ44は、「△レースですね。」等の、入力されたレース番号を確認する内容を含む。また、メッセージ44は、「続いて式別を単勝、複勝、枠連、馬連、ワイド、3連複、3連単の中から選び、入力してください。」等の、式別を入力するよう促す内容を含む。
【0056】
スマートフォン21は、メッセージ44を表示すると、音声の入力を受け付け、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストから式別を特定する。ここで、認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる式別を特定する。
【0057】
送受信部120は、式別が3連単であることを示す入力を受け付けると、メッセージ45をスマートフォン21に送信する。なお、送受信部120は、入力された式別が3連単以外の場合、買い目の入力に進める。スマートフォン21は、メッセージ45を表示する。メッセージ45は、方式を入力するよう促すメッセージである。メッセージ45は、「3連単ですね。」等の、入力された式別が3連単であることを確認する内容を含む。また、メッセージ45は、「続いて方式を通常、フォーメーションの中から選び、入力してください。」等の、方式を入力するよう促す内容を含む。
【0058】
スマートフォン21は、メッセージ45を表示すると、音声の入力を受け付け、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストから方式を特定する。ここで、認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる方式を特定する。
【0059】
図8は、投票内容入力時のメッセージの一例を示す図(その2)である。送受信部120は、方式の入力を受け付けると、メッセージ46をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ46を表示する。メッセージ46は、買い目を入力するよう促すメッセージである。メッセージ46は、「フォーメーションですね。」等の、入力された方式を確認する内容を含む。また、メッセージ46は、「続いて馬番を入力してください。」等の、買い目に含む馬番を入力するよう促す内容を含む。
【0060】
スマートフォン21は、メッセージ46を表示すると、音声の入力を受け付け、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストから買い目に含まれる馬番を特定する。認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる1つの馬番を買い目として特定する。なお、認識部130が、変換テーブル111,112を用いてテキストから複数の馬番を買い目として特定する処理については後述する。
【0061】
送受信部120は、買い目の入力を受け付けると、メッセージ47をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ47を表示する。メッセージ47は、金額を入力するよう促すメッセージである。メッセージ47は、「投票内容に間違いがなければ、1点あたりの金額を入力してください。100円の場合は「100円」と入力してください」等の、金額を入力するよう促す内容を含む。また、メッセージ47は、入力済みの投票内容である場名、レース番号、式別、方式、買い目を含む。
【0062】
スマートフォン21は、メッセージ47を表示すると、音声の入力を受け付け、入力された音声を変換ソフトウェアによってテキストに変換してサーバ100に送信する。認識部130は、スマートフォン21から受信したテキストから買い目に含まれる金額を特定する。認識部130は、テキストに含まれる変換テーブル111に登録された文字列を、対応する用語に変換し、テキストに含まれる「円」の前の数字を金額として特定する。
【0063】
送受信部120は、金額の入力を受け付けると、メッセージ48をスマートフォン21に送信する。すると、スマートフォン21は、メッセージ48を表示する。メッセージ48は、投票内容を示すQRコードを通知するためのメッセージである。メッセージ48は、入力済みの投票内容である場名、レース番号、式別、方式、買い目、金額を含む。
【0064】
また、メッセージ48は、入力済みの投票内容である場名、レース番号、式別、方式、買い目、金額を示すQRコードを含む。また、メッセージ48は、「QRコードを投票装置のQRコードリーダにかざしてください。ご利用ありがとうございました。」等の、投票装置22にQRコードをかざすことでQR投票が可能であることを示す内容を含む。投票装置22は、メッセージ48が表示されたスマートフォン21をかざされると、メッセージ48に含まれるQRコードの投票内容での投票を受け付ける。
【0065】
このように、サーバ100は、投票内容の入力を促すメッセージを送信し、メッセージに対する返信として投票内容の入力を受け付ける。これにより、サーバ100は、投票内容の入力を容易にすることができる。また、サーバ100は、投票内容を指定するために用いる用語が登録された変換テーブル111によってテキストを変換してから投票内容を特定することで、変換ソフトウェアによってユーザの入力音声が誤変換された場合でも、投票内容を特定することができる。次に、テキストから複数の馬番を買い目として特定する処理について説明する。
【0066】
図9は、馬番の特定処理の一例を示す図(その1)である。認識部130は、馬連、枠連、ワイド、3連単のフォーメーション等の、着順を指定しないで複数の馬番を指定する式別、方式が入力された場合、買い目の入力として取得したテキストから複数の馬番を特定する。
図9の例では、買い目を示すテキストとして「1番5番」が入力された場合について説明する。
【0067】
まず、認識部130は、「1番5番」を変数strに格納する。認識部130は、変数strの前後にカンマを追加する。認識部130は、変数strに含まれる全角数字を検索し、各全角数字を半角数字に変換する。例えば、認識部130は、変数strに含まれる全角数字それぞれの文字コードから65248を引く。
【0068】
次に、認識部130は、半角数字以外の文字列をカンマに変換する。ここでは、認識部130は、変数strに含まれる「番」をカンマに変換する。そして、認識部130は、変数strに含まれるカンマに挟まれている1~18の半角数字を検索し、検索結果を配列51に記録する。配列51は、1~18の項目を有し、買い目として特定された番号の項目に「真」が設定される。ここでは、認識部130は、配列51の1および5の項目に「真」を設定する。
【0069】
このように、認識部130は、入力されたテキストから馬番の数字を検索することで、複数の馬番を買い目として特定できる。次に、変換ソフトウェアによる誤変換が含まれるテキストに対する馬番の特定処理について説明する。
【0070】
図10は、馬番の特定処理の一例を示す図(その2)である。
図10の例では、買い目を示すテキストとして「1番おばん」が入力された場合について説明する。まず、認識部130は、「1番おばん」を変数strに格納する。認識部130は、変数strの前後にカンマを追加する。認識部130は、変数strに含まれる全角数字を検索し、各全角数字を半角数字に変換する。
【0071】
次に、認識部130は、変換テーブル111に登録された馬番に対応する文字列を変数strから検索する。すると、認識部130は、「五」に対応する「おばん」が変数strに含まれると特定する。そして、認識部130は、変数strに含まれる「おばん」を「五」に変換する。さらに、認識部130は、「五」を半角数字の5に変換する。
【0072】
そして、認識部130は、半角数字以外の文字列をカンマに変換し、変数strに含まれるカンマに挟まれている1~18の半角数字の検索結果を配列52に記録する。配列52は、配列51と同様の配列である。ここでは、認識部130は、配列52の1および5の項目に「真」を設定する。
【0073】
このように、認識部130は、変換テーブル111に基づいて、入力されたテキストに含まれる馬番の数字と発音が類似する単語を検索し、検索された単語を馬番を示す数字に変換する。これにより、認識部130は、変換ソフトウェアによって馬番を示す音声が誤変換された場合でも、適切に馬番を特定することができる。次に、馬番ではない数字を示す文字列が含まれるテキストに対する馬番の特定処理について説明する。
【0074】
図11は、馬番の特定処理の一例を示す図(その3)である。
図11の例では、買い目を示すテキストとして「イチキュウ」が入力された場合について説明する。まず、認識部130は、「イチキュウ」を変数strに格納する。認識部130は、変数strの前後にカンマを追加する。
【0075】
次に、認識部130は、変換テーブル112に登録された、買い目を指定する番号でない2桁の数字に対応する文字列を変数strから検索する。すると、認識部130は、19に対応する「イチキュウ」が変数strに含まれると特定する。そして、認識部130は、変数strに含まれる「イチキュウ」を半角数字の1および9をカンマで区切った文字列に変換する。
【0076】
そして、認識部130は、変数strに含まれるカンマに挟まれている1~18の半角数字の検索結果を配列53に記録する。配列53は、配列51,52と同様の配列である。ここでは、認識部130は、配列53の1および9の項目に「真」を設定する。
【0077】
このように、認識部130は、変換テーブル112に基づいて、馬番ではない数字を示す文字列を検索し、検索された文字列を対応する数字を分割した数字に変換する。これにより、認識部130は、誤変換等によって馬番でない数字が含まれたテキストから、ユーザが指定をした馬番を適切に特定することができる。次に、サーバ100が実行する処理の手順について説明する。
【0078】
図12は、投票内容認識処理の手順の一例を示すフローチャートである。以下、
図12に示す処理をステップ番号に沿って説明する。
[ステップS11]送受信部120は、投票内容入力の案内をするメッセージをスマートフォン21に送信する。
【0079】
[ステップS12]送受信部120は、スマートフォン21から場名の入力を受け付ける。例えば、送受信部120は、場名を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0080】
[ステップS13]認識部130は、変換テーブル111に基づいて、ステップS12で受信したテキストに含まれる場名を特定する。例えば、認識部130は、変換テーブル111に登録された、場名である用語に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する用語に変換する。そして、認識部130は、テキストに含まれる場名を、入力された場名として特定する。
【0081】
[ステップS14]送受信部120は、スマートフォン21からレース番号の入力を受け付ける。例えば、送受信部120は、レース番号を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0082】
[ステップS15]認識部130は、ステップS14で受信したテキストの「レース」の前の番号を、入力されたレース番号として特定する。例えば、認識部130は、変換テーブル111に登録された、「レース」に対応する文字列をテキストから検索する。認識部130は、検索された文字列を「レース」に変換する。また、認識部130は、変換テーブル111に登録された、番号に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する番号に変換する。そして、認識部130は、テキストの「レース」の前の番号を、入力されたレース番号として特定する。
【0083】
[ステップS16]送受信部120は、スマートフォン21から式別の入力を受け付ける。例えば、送受信部120は、式別を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0084】
[ステップS17]認識部130は、変換テーブル111に基づいて、ステップS16で受信したテキストに含まれる式別を特定する。例えば、認識部130は、変換テーブル111に登録された、式別である用語に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する用語に変換する。そして、認識部130は、テキストに含まれる式別を、入力された式別として特定する。
【0085】
[ステップS18]認識部130は、入力された式別が3連単であったか否かを判定する。認識部130は、入力された式別が3連単であったと判定した場合、処理をステップS19に進める。また、認識部130は、入力された式別が3連単ではないと判定した場合、処理をステップS21に進める。
【0086】
[ステップS19]送受信部120は、スマートフォン21から方式の入力を受け付ける。例えば、送受信部120は、方式を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0087】
[ステップS20]認識部130は、変換テーブル111に基づいて、ステップS19で受信したテキストに含まれる方式を特定する。例えば、認識部130は、変換テーブル111に登録された、方式である用語に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する用語に変換する。そして、認識部130は、テキストに含まれる方式を、入力された方式として特定する。
【0088】
[ステップS21]認識部130は、着順を指定せずに複数の馬番の入力を受け付ける式別、方式であるか否かを判定する。例えば、認識部130は、入力された式別が馬連、枠連またはワイドであった場合、着順を指定せずに複数の馬番の入力を受け付ける式別、方式であると判定する。また、認識部130は、入力された式別が3連単であり、入力された方式がフォーメーションであった場合、着順を指定せずに複数の馬番の入力を受け付ける式別、方式であると判定する。認識部130は、着順を指定せずに複数の馬番の入力を受け付ける式別、方式であると判定した場合、処理をステップS22に進める。また、認識部130は、着順を指定せずに複数の馬番の入力を受け付ける式別、方式ではないと判定した場合、処理をステップS23に進める。
【0089】
[ステップS22]認識部130は、馬番認識処理を実行する。なお、馬番認識処理の詳細については、後述する(
図13参照)。そして、処理がステップS25に進む。
[ステップS23]送受信部120は、スマートフォン21から馬番の入力を受け付ける。例えば、送受信部120は、馬番を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0090】
[ステップS24]認識部130は、変換テーブル111に基づいて、ステップS23で受信したテキストに含まれる馬番を特定する。例えば、認識部130は、変換テーブル111に登録された番号に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する番号に変換する。そして、認識部130は、テキストに含まれる番号を、入力された馬番として特定する。
【0091】
なお、入力された式別、方式が枠単、3連単の通常等の着順を指定して複数の馬番の入力を受け付ける式別、方式である場合、送受信部120および認識部130は、入力を受け付ける馬番の数だけ、ステップS23,S24の処理を繰り返す。例えば、送受信部120および認識部130は、式別、方式として3連単の通常が入力された場合、3回ステップS23,S24の処理を繰り返し、1着、2着、3着の順で馬番の入力を受け付ける。
【0092】
[ステップS25]送受信部120は、スマートフォン21から金額の入力を受け付ける。例えば、送受信部120は、金額を入力するよう促すメッセージをスマートフォン21に送信する。そして、送受信部120は、送信したメッセージに対する返信としてスマートフォン21からテキストを受信する。
【0093】
[ステップS26]認識部130は、ステップS25で受信したテキストの「円」の前の数字を、入力された金額として特定する。例えば、認識部130は、変換テーブル111に登録された、「円」に対応する文字列をテキストから検索する。認識部130は、検索された文字列を「円」に変換する。また、認識部130は、変換テーブル111に登録された、数字に対応する文字列をテキストから検索する。認識部130は、検索された文字列を対応する数字に変換する。そして、認識部130は、テキストの「円」の前の数字を、入力された金額として特定する。
【0094】
[ステップS27]送受信部120は、QRコードをスマートフォン21に送信する。例えば、送受信部120は、入力された場名、レース番号、式別、方式、買い目、金額を示すQRコードを生成する。そして、送受信部120は、生成したQRコードをスマートフォン21に送信する。
【0095】
このように、サーバ100は、投票内容の入力を促すメッセージを送信し、メッセージに対する返信として、スマートフォン21に入力された音声に基づいたテキストを取得する。これにより、サーバ100は、マークカードを塗ることやPC、スマートフォンの操作を行うことが難しい利用者であっても、音声入力をするだけで投票内容を入力できるようにする。よって、サーバ100は、投票内容の入力を容易にすることができる。
【0096】
また、サーバ100は、投票内容を指定するために用いる用語に対応する、用語と発音が類似する文字列が登録された変換テーブル111によって、テキストに含まれる文字列を変換する。そして、サーバ100は、テキストに含まれる投票内容を特定する。これにより、サーバ100は、変換ソフトウェアによってユーザの入力音声が誤変換された場合でも、投票内容を特定することができる。
【0097】
図13は、馬番認識処理の手順の一例を示すフローチャートである。以下、
図13に示す処理をステップ番号に沿って説明する。
[ステップS31]認識部130は、テキストの入力を受け付け、前後にカンマを付与する。例えば、認識部130は、馬番を入力するよう促すメッセージに対する返信としてスマートフォン21から取得したテキストを変数strに格納し、変数strの前後にカンマを付与する。
【0098】
[ステップS32]認識部130は、変数strに全角数字があるか否かを判定する。認識部130は、変数strに全角数字があると判定した場合、処理をステップS33に進める。また、認識部130は、変数strに全角数字がないと判定した場合、処理をステップS34に進める。
【0099】
[ステップS33]認識部130は、変数strに含まれる全角数字を1つ選択し、半角数字に変換する。例えば、認識部130は、変数strに含まれる全角数字を1つ選択し、選択した全角数字の文字コードから65248を引く。そして、処理がステップS32に進む。
【0100】
[ステップS34]認識部130は、19~88の数字を選択する。なお、2文字目が0となる20等の数字は、選択対象から除外される。
[ステップS35]認識部130は、ステップS34で選択した数字に対応する文字列を検索し、2つの数字に分割する。例えば、認識部130は、変換テーブル112に登録された、ステップS34で選択した数字に対応する文字列を変数strから検索する。そして、認識部130は、検索された文字列を、ステップS34で選択した数字を半角にしてカンマで区切った文字列に変換する。
【0101】
[ステップS36]認識部130は、19~88の数字を全て選択したか否かを判定する。認識部130は、19~88の数字を全て選択したと判定した場合、処理をステップS37に進める。また、認識部130は、19~88の数字を全て選択していないと判定した場合、処理をステップS34に進める。
【0102】
[ステップS37]認識部130は、1~18の数字を選択する。
[ステップS38]認識部130は、ステップS37で選択した数字に対応する文字列を検索し、検索された文字列を選択した数字に変換する。例えば、認識部130は、変換テーブル111に登録された、ステップS37で選択した数字に対応する文字列を変数strから検索する。そして、認識部130は、検索された文字列を、ステップS37で選択した数字を半角にした文字列に変換する。
【0103】
[ステップS39]認識部130は、1~18の数字を全て選択したか否かを判定する。認識部130は、1~18の数字を全て選択したと判定した場合、処理をステップS40に進める。また、認識部130は、1~18の数字を全て選択していないと判定した場合、処理をステップS37に進める。
【0104】
[ステップS40]認識部130は、変数strに含まれる半角数字以外の文字列をカンマに変換する。
[ステップS41]認識部130は、1~18の数字を選択する。
【0105】
[ステップS42]認識部130は、カンマで挟まれたステップS41で選択した数字が変数strに含まれるか否かを判定する。認識部130は、カンマで挟まれたステップS41で選択した数字が変数strに含まれると判定した場合、処理をステップS43に進める。また、認識部130は、カンマで挟まれたステップS41で選択した数字が変数strに含まれないと判定した場合、処理をステップS44に進める。
【0106】
[ステップS43]認識部130は、ステップS41で選択した数字を馬番として特定する。
[ステップS44]認識部130は、1~18の数字を全て選択したか否かを判定する。認識部130は、1~18の数字を全て選択したと判定した場合、処理をステップS45に進める。また、認識部130は、1~18の数字を全て選択していないと判定した場合、処理をステップS41に進める。
【0107】
[ステップS45]認識部130は、式別、方式に対応する数の馬番を特定したか否かを判定する。例えば、認識部130は、入力された式別が馬連、枠連またはワイドであり、2つの馬番を特定した場合、式別、方式に対応する数の馬番を特定したと判定する。また、例えば、認識部130は、入力された式別が3連単、入力された方式がフォーメーションであり、3つ以上の馬番を特定した場合、式別、方式に対応する数の馬番を特定したと判定する。認識部130は、式別、方式に対応する数の馬番を特定したと判定した場合、処理を終了する。また、認識部130は、式別、方式に対応する数の馬番を特定していないと判定した場合、処理をステップS46に進める。
【0108】
[ステップS46]認識部130は、特定した2桁の馬番を分割または1桁の馬番同士を結合した馬番を、分割または結合された馬番に代えて特定する。例えば、認識部130は、特定した馬番の数が、式別、方式に対応する馬番の数より多い場合、ステップS33またはステップS38で半角数字に変換されて馬番として特定された、変数strにおいて隣り合う1桁の馬番を2つ選択する。そして、認識部130は、選択した馬番同士を結合した番号を、選択した2つの馬番に代えて、馬番として特定する。また、例えば、認識部130は、特定した馬番の数が、式別、方式に対応する馬番の数より少ない場合、ステップS33またはステップS38で半角数字に変換されて馬番として特定された2桁の馬番を選択する。そして、認識部130は、選択した馬番を分割した2つの番号を、選択した馬番に代えて、馬番として特定する。
【0109】
このように、サーバ100は、買い目を指定する番号ではない2桁の数字と、数字に対応する文字列とが登録された変換テーブル112を参照して、スマートフォン21から取得したテキストから文字列を検索する。そして、サーバ100は、テキストに変換テーブル112に登録された文字列が含まれる場合、当該文字列に対応する数字を分割した番号を買い目に含む馬番として特定する。これにより、サーバ100は、誤変換等によって馬番でない数字が含まれたテキストから、ユーザが指定した馬番を適切に特定することができる。よって、サーバ100は、競馬の投票内容の認識精度を向上させることができる。
【0110】
また、サーバ100は、買い目を指定する番号である数字と、数字に対応する文字列とが登録された変換テーブル111を参照して、スマートフォン21から取得したテキストから文字列を検索する。そして、サーバ100は、テキストに変換テーブル111に登録された文字列が含まれる場合、当該文字列に対応する数字を買い目に含む馬番として特定する。これにより、サーバ100は、ユーザが音声で指定をした馬番を適切に特定することができる。
【0111】
また、サーバ100は、競馬の投票式別、投票方式に対応する、買い目に含まれる馬番の数を特定し、特定した馬番の数と一致するよう、馬番として特定した数字を分割または結合した番号を、分割または結合された馬番に代えて買い目に含むと特定する。このように、サーバ100は、ユーザが入力した式別、方式を踏まえて馬番を特定することで、馬番を特定する精度を向上させることができる。
【0112】
なお、第2の実施の形態では、サーバ100は、スマートフォン21から取得したテキストデータに基づいて、投票内容を特定していたが、電話による音声を取得して取得した音声に基づいて、投票内容を特定してもよい。例えば、サーバ100は、電話による音声をテキストデータに変換し、第2の実施の形態と同様に投票内容を特定する。また、サーバ100は、第2の実施の形態でスマートフォン21に送信したメッセージを音声に変換し、電話を介して出力する。これにより、サーバ100は、電話投票においても、投票内容の特定を容易にすることができる。
【0113】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0114】
1 入力文
10 認識装置
11 記憶部
11a 変換テーブル
12 処理部