新卒採用アルバイト採用インターンシップJPENエンジニアレポートプロ野球テキスト速報、10年前の開発裏話2018年12月01日ツイート主にメディア向けの野球速報サービスの開発・運用を担当しています篠田です。テキスト速報をご存知ですか?データスタジアムのメディア向けサービスの中で「野球テキスト速報」というものがあります。みなさん、プロ野球の速報サービスを提供するメディアで下図のようなコンテンツを目にしたことがあるのではないでしょうか。)テキスト速報は、データスタジアムの速報サービスの一つとして多くのスポーツメディア様に10年以上前から提供させていただいておりますが、当初から全てのテキストを自動生成しています。いっても、AIやら機械学習やらを駆使して実装されているわけではなく、辞書化・パターン化されたロジックを使って出力しています。実は当時「一球毎に登録している多くのデータがあるわけだから、そこから簡単に文章に起こせるでしょ」ってノリで作ったサービスなんです。我々のメディア向け商品として「一球速報」というサービスがありますが、このテキスト速報は、メディアのみなさまの開発工数の削減という意味でも差別化することができました。いうのも、メディアの開発のみなさまからすると、一球速報でご提供しているXMLデータは、1つ1つのタグを解析する必要があるのに対して、テキスト速報は弊社から配信した文字をそのまま表示するだけでよいからです。テキスト速報の開発の苦労したところテキストを生成はSQLServerのストアドプロシージャのなかで実装しています。苦労したところと言えば、文字と文字をいかに自然につなげて文章にするかというところでしょうか。辞書となるマスタを増やし過ぎても管理が複雑になるし、一方で少なすぎても自然な文章が作れないため、これらをバランスよく設計する必要がありました。一塁走者大島:盗塁失敗」と出すよりも「平田:空振り三振!スタートを切っていた一塁走者大島もアウトでダブルプレー」と出たほうが見る方もナチュラルに感じるため、三振ゲッツーの場合には、こういう形でテキストを出力するというマスタを持たせています。野球というスポーツにおいては、特に走塁系の事象はいろんなパターンが存在するため、テキストの様々なパターンで出力されます。そのため、当然ですが、開発当初は検証作業が非常に苦労しました。ダブルスチールを試みるが二塁走者大島はアウト。その間に一塁走者京田は二塁へダブルスチールを試みるも二塁走者大島はアウト。その間に一塁走者京田は二塁へ進むも直後に走塁死ダブルスチールを試みるが一塁走者京田はアウト。その間に二塁走者大島は三塁へダブルスチールを試みるも一塁走者京田はアウト。今回は10年以上前のお話でしたが、こんなことできないか?というアイデアから試しにやってみるというアクションは凄く大事なことだと思います。最近では、テキスト速報についても、例えば方言の入ったテキストにしてほしいといった要望もメディアさんからはいただいていたりします。テキスト速報の次のステップとして当然考えていかないといけないですことですが、今の時代ですと、AIや機械学習を使ったテキストの自動生成ということも検討しないといけないでしょうね。リリース当初、「ノリ」で始めた開発ですが、そういうノリがまた必要な時期に来ているのかもしれません。エンジニア募集中!データスタジアムでは一緒に働いていただけるエンジニアを募集しています。野球、サッカー、バスケなどスポーツが好きな方であれば、とても面白い仕事ができる会社です。興味を持たれた方はぜひこちらをご覧ください。