朝日新聞社初のSaaS Typolessに迫る
(本記事は朝日新聞テックフェス2024のテクノロジーショーケース第1部の採録です。当日の様子はこちら↓からご覧いただけます)
メディア事業本部サービス開発部の倉井と申します。本日は「朝日新聞社初のSaaS Typolessに迫る」というタイトルで紹介をさせていただきます。私はTypolessの開発マネジャーをしています。
私、倉井敬史(くらいたかふみ)と申しまして、2020年に新卒で入社し、現在入社5年目です。メディア研究開発センターの"前進"となる部署に配属され、そこで社内のDXプロジェクトなどをやった後に"Typoles"の開発をしたん…あ、ちょっとこれTypolessって校正のサービスなのに、ちょっといろいろ間違ってます…すみません。。
となる前にですね!ここでTypolessが効いてきますよ、という売り文句ですが、先ほどの文書をTypolessに入れてみます。
「前進」が前に進むじゃなくて、前身部署の「前身」。「Typoles」プロダクト名は一番間違えてはいけないところですが、「s」が一つ足りないことを検知できます。
「Typoless」は文書のAI校正サービスとして、SaaS版とAPI、それからWordアドインも提供しています。SaaS版は文書だけでなくPDFにも最近対応しました。こちらはまだリリースから1カ月も経っていません。バタバタしながらのリリースでしたが、導入が決まった会社もありまして、これからさらに導入先企業を増やせるよう改善に取り組んでいきます。
この校正支援サービスTypolessは5つの観点から文書が校正できます。
まずカスタム辞書はユーザーが登録しておいた言葉を検知してくれる機能です。「完全一致」と「もしかして」というルール設定があり、その言葉が入ってきたら必ず検知するというもの(「完全一致」)、さらに商品名を入れておくと表記ゆれがあった時に検知してくれる(「もしかして」)という機能です。良文サポートは文書のフォーマットを整えてくれるツールです。最後の炎上リスクチェック機能は、この文章をそのまま出すともしかしたらハレーションが起きてしまうのではないか、ということをチェックできる機能です。
AI校正については、完全に自社開発しています。GPT系のモデルではなく、校正に特化したモデルを自社で開発しています。これが1つの大きなポイントで、新聞社には膨大な記事のデータが手元にあります。さらに記事が世に出ていくまでに、紙面のデータならデスクや校閲センターなど計6人くらいが必ず校閲をすることになっています。その間に、この文字はこう間違っている、などの校正履歴が残るようになっていて、それを基本にこういう文書は間違っている、ということを理解できるAIのモデルを、GPTとは違うアーキテクチャで構築しています。このモデルは社内にいる自然言語処理のエンジニアが担当しています。このモデルをAWSのInf2というチップにデプロイすることで、5万文字を約10秒で解析可能なモデルになっています。Geminiなどは長いコンテキストを入れられるようになってきましたが、5万文字というのはLLMでは一般になかなか入れられない長さで、なおかつそれを10秒で解析できるという点は非常に力を入れて開発した部分です。校正しかできませんが、そこに特化したおかげでこの速さが実現できています。他社製品やGPT系のモデルよりもミスの検出率が高い、取りこぼしが少ないというところが1つの特徴です。
続いて朝日新聞社の校正ノウハウの結晶、ルール辞書について。「朝日新聞の用語の手引」というものを発表しており、『「成功はおぼつきません」「不安がもたげる」は誤用です』と帯に書いてあるのですが、よく言う(書いてしまう)間違い、それから新聞社として書き方を統一すべき単位などがたくさん書いてあるものです。これがそのままTypoless上に基本的に搭載されています。つまり誰でも手軽に新聞社の知見を利用した校正ができる機能です。チェックするルールは約10万件で、たくさんのルールをこちらに入れれば瞬間的に解析できます。誤字、誤用のチェックから同音意義語、商標などもチェックできるようになっており、多岐に渡る内容が10万ルールあります。先ほど5万文字を約10秒で解析という話をしましたが、こちらはこの10万ルールを約3秒で解析できます。5万文字の入力を約10万のルールでチェックして約3秒で処理できるということです。ここも力を入れて開発したポイントです。OSSと自前のアルゴリズムをバックエンドで構築し、サーバーレスで構築していますが、高速な処理を実現しています。
現在このようなUIで提供していますが、初期構築時からユーザーインタビューからフィードバックを受け、直すことをしてきました。私もプレイングマネジャーとして特にこちらの開発には携わっていますが、Next.jsで構築しており、自分たちで提案から実装、バグの修正などを全て対応していて、非常に高速にサイクルを回しています。Next.jsの良さはバックエンドも一緒に書けることです。サービスの立ち上げからやっていて、少ないチームメンバーでも非常にマッチして高速に開発できています。最初に紹介したWordアドインも内製で開発していて、このプロダクトに関わるところは全て自分たちで作って提供しています。
次に技術スタックについてです。まずフロントはNext.jsをVercelにホスティングしています。課金はStripe、認証認可はAuth0を利用しています。特にStripeはエンジニアにフレンドリーな体験が提供されていて、ドキュメントなども非常に読みやすくて開発もしやすく、私たちに合ったSaaSです。
バックエンドは、AIの部分はPythonで、一部Node.jsも使っています。最近はRustも使い始めました。どうしても高速な処理が必要ということで、C++かRustかを検討しました。もう少しでこの部分もシステムに載せられる段階まできました。
インフラはAWS、基本的にCDKでスタックを管理、デプロイを管理しており、一部Google Cloudも使っておりますが、それをGitHubで管理してActionsでCI/CDを回しています。ストレスなくデプロイ作業も簡単にスムーズにできる点で、この開発の速さを提供する上で欠かせない要素になっています。
続いてチーム体制についてです。Typolessチームとして、中に営業チームと開発チームがあります。開発チームの中に私が所属しているサービス開発部があり、Next.js周りの実装、一部のインフラを担当しています。メディア研究開発センターがAIやルール辞書の開発をおこなっています。そこまで大きなチームではありませんが、非常に短い周期でどんどんアップデートを重ねており、バグが見つかったらできる限り早くテストを通して週1回~2回は今もリリースをしている状況です。大きな機能開発などは2、3カ月かけてデザインからしっかりやりますが、細かいところは1、2カ月で機能追加などもして、このメンバーで全て担当しています。
歴史をたどると2022年の11月に、当時はAI校正のみでしたが、デモ版を一般公開したところ非常にバズり、社としても校正は価値があって非常に相性がいいということでプロジェクトを2023年4月に立ち上げました。もちろん最初はTypolessというサービス名やロゴも決まっていなかったので、市場調査も含め自分たちで手作りでやりました。約3カ月で開発し、9月末にリリースすることができました。プロジェクトが立ち上がってから約半年でリリースし、その後10月末にJapan IT Weekというエクスポに出させていただきました。合わせて大きくプレスリリースを出して、APIをさらに出し、良文サポート、Wordアドイン、PDF対応、と機能追加をしてきました。最初のデモ版を「朝日新聞社ってこんなことやっているんだよ」というアピールで作ったところから一気通貫でやってきました。アイデア出しから開発まで全てできているところがこのプロダクトの魅力であり、そういう仕事ができる環境だからこそ、ブレないでいいものをつくろうという文化がチームの中にあると思います。
私はエンジニア採用ですが、いろいろな新しい技術を使いながら機能の検討から開発まで、ビジネス的なところまで担当しています。それができる一つの理由が、社内の文化として非常に縦の風通しが良い、ベンチャー気質の文化があるところです。入社時24歳の私のような若手が「こういうプロダクトをやった方がいいですよ」と提案するところから、プロダクトとして日々良いものにしていくところまでやってきました。挑戦できる、風通しの良い文化があることが、このTypolessをより良いものにしていくための開発チームの魅力だと思います。
本日は、Typolessの無料トライアルが配られています。是非使ってみてください。忌憚のない意見を寄せていただければ改修したいと思います。