pixiv小説の本文検索終了について考える

BLOG/未分類
  1. ホーム
  2. BLOG
  3. pixiv小説の本文検索終了について考える

2021年9月16日のpixivからのお知らせで小説の本文検索が終了することが発表されました。この件はTwitterでトレンドにもなり、たくさんの利用者の関心を集めました。

大きな波紋となった理由

これほど多くの利用者が反応した一番の要因は、本文検索機能が重要な役割を果たしていたからです。膨大な量の小説を掻き分けて、目的のものにたどり着くために、本文検索機能が必要になることがありました。

この機能が無くなることは、明らかにより良いユーザー体験を損ないます。膨大な情報に対して検索機能を設けることは、ウェブの世界では必須のものとされているからです。例えばユーザビリティの専門家であるニールセン博士も検索ツールは不可欠だとしています。

それと同時に、お知らせの内容に書かれた情報の断片から、小説を描く側と読む側のそれぞれの反応を引き出しました。

お知らせで注目するべき箇所

数字は多くの反応を引き起こします。具体的な数字を出すことは説得力を持たせるためのプレゼンテーションの鉄板です。

投稿された小説の文字数が『700億文字』あるという事実は読者に確かにインパクトを与えました。一般的な小説一冊の文字数を10万字と概算しても、70万冊分にもなります。これは大きめの図書館の蔵書数に匹敵する量です。

とはいえ、お知らせで最も重要な箇所は『検索結果で発生する問題についてはこれまでも多くのお問合せをいただいており、負荷解消に取り組んで参りましたが、根本的な問題が解決されず、やむなく機能の提供終了という判断に至りました。』という部分です。

この中でも特に『根本的な問題が解決されず』という部分に注目しましょう。

検索について考える

Pixivが抱える本文検索の根本的な問題については推測の域を出ませんが、一般的な検索ツールについて考えると、どんな問題があるのか類推することができます。

本文検索は文字列をキーワードとして複数の小説から該当するものを探す機能であり、コンピューター用語の全文検索とほぼ同じ意味と捉えることができます。

検索はコンピューターの基本的かつ重要な機能であり、多くの優秀なエンジニアが開発に勤しんできました。Googleの検索エンジンやUnixコマンドのgrepがその一例です。

検索とは何か

では検索とはいったい何でしょうか。極めて原始的な言い方をすると検索は比較の連続です。キーワードと同じ文字があるのか、片っ端から比較していくのです。

とはいえ、愚直に比較を続けるだけでは処理数が膨大になってしまうので、効率的に検索ができるように様々な工夫を施します。

検索とはそのような工夫を駆使して、より早くより効率的に目的のものにたどり着けるようにする技術力の結晶とも言えます。

検索のプロセス

検索は”検索する前”から始まっています。検索するたびに文章全体を精査するのでは効率が良くありません。そこであらかじめ効率の良いデータベースを作っておくのです。

どのようなデータベースが作られるのでしょうか。例えば、よく検索される語句の検索結果をあらかじめ用意しておくことができます。定期的に作成する必要がありますが、検索結果は一瞬で出すことができます。

他の例として、文章の品詞を抜き出して、頻出順に並べ替えをしておくなどします。このデータベースを使うと関連度による重み付けができるようになります。

そのデータベースはどのように作られるのでしょうか。一つの方法は形態素解析を用いることです。形態素解析エンジンは品詞を分けることができる便利なツールです。

小説のより良いデータベースとは

ところで検索に適した小説のデータベースを作りたい場合、どんな設計にすれば良いのでしょうか。それは蔵書数にもよりますし、話のジャンルにもよります。

小説は造語や口語、俗語なども許容されますので、文章から効率の良いデータベースを作成するのは一筋縄ではいきません。前述の形態素解析も手を焼くことでしょう。

最終的に全ての文章を検索できなければ意味がないのですから、あまりに膨大な量の文章があるのでもないかぎり、テキストをそのままデータとして使うことを考え始めるでしょう。

検索スピードの限界

使用する検索プログラムによって、驚くほどスピードに差が出ます。単純なプログラム、例えば一文字ずつずらしてキーワードと比較していく検索と、正規表現として知られる複雑な検索では完了までの速さが全く違います。

正規表現は非常に強力ですが、膨大な量の検索には時間がかかるため向きません。一方、単純な検索プログラムは早いですが、必要な機能がない可能性が高く、そして重要な点ですが、それでもなお速さに限界があります。

ある研究調査によると、ウェブページの応答時間が数秒でも遅延すると利用者は不愉快に感じ、10秒を過ぎると離脱してしまいます。この結果を検索に適用すると、検索結果は少なくとも10秒以内に表示されるべきと言うことができるでしょう。

それでは、どうすれば膨大な文章の検索結果を10秒以内に提示することができるでしょうか。これは難題です。

もし検索機能を実装しようと思う場合、許可されたオープンソースから既存の検索ツールを取り入れて、必要に応じて調整をするというような方法を取ると思いますが、機能と速さの最適解を見つけるのは容易ではありません。

ウェブでの検索の問題

ウェブ上で何かを検索する場合、それは自分のコンピューターで検索するのとは勝手が違います。ローカルのコンピューターであれば、それだけで完結しますが、ウェブでは複数の要素が複雑に絡み合います。

まず利用者が検索ボックスにキーワードを入力して、送信します。送信データはサーバーに送られます。サーバーはその語句をもとに、データベースにアクセスします。データベースへのアクセスは基本的にサーバーの仕事ですので、その間の仕事はサーバーが負担しなければなりません。

当然のことですが、利用者は一人ではありません。複数の人が同時に検索をリクエストすることは頻繁に生じます。もちろん、よく使われるサーバーやデータベースのシステムはそれに対応できるように作られていますが、それでも多くの応答があることをサーバーの管理者は考慮する必要があります。

複雑な要素が絡み合うとまるで累乗するかのように難しくなっていきます。修理ではどうしようもなくなる場合もあります。単純なラジオなら修理できても、スマホの修理はメーカーでも対応できない場合があるのと同じです。

一番良いのはシステムを作る前の段階で、入念に設計することです。手のつけようのなくなったのなら、一から作り直すという苦渋の決断をする場合もあるでしょう。

一般的なウェブサイトの検索の変遷

賢明なエンジニアがウェブサイトを作る場合、むやみに検索機能をつけることはしません。検索機能は魅力的ですが、コンテンツが充実していない段階で検索機能を実装してもあまり役に立たないからです。

コンテンツが充実してきてからは検索機能が力を発揮します。多くの場合、この段階で検索機能が設けられることでしょう。機能も最初はシンプルに、徐々に豊富になっていきます。

例えば最初はコンテンツのタイトル検索、次いでタグやカテゴリーの検索、全文検索といった具合です。加えて、複数の単語から探すAND検索やOR検索などを実装し始めるかもしれません。

やがてコンテンツが膨大になってくると、検索結果が出るまで時間がかかるようになってきます。個人の開発者であればサイト内蔵の検索ツールを諦め、Googleなどの検索機能に委ねることも視野に入れ始めます。

根本的な問題を探る

これまでの論考をもとに、Pixiv小説の本文検索の根本的な問題について推測してみましょう。

Pixivはイラストコミュニケーションサイトとして登場しました。小説の投稿も比較的早い段階に作られましたが、小説を盛り上げようとPixivが活発に動き始めたのは比較的最近のことです。

作品数がまだ少ない時期は多少の問題はあっても、本文検索は正常に機能していたでしょう。しかし投稿数が増え、利用者が増えるにつれて新たな問題が発生し、より顕著になっていきます。

本文検索システムは次第に、現状に適さないものになっていき、これをその都度修理しながら使うことは、割りに合わなくなっていきます。システム開発において古いプログラムのメンテナンスは想像以上に大変なのです。

増え続ける作品に対して、十分に対応できる検索システムにならなければ、根本的な問題を解決したとは言えません。

上に記したストーリーはあくまで私の推測です。

本文検索は復活するか

本文検索機能を惜しむ声がちらほらと見受けられます。では、本文検索の復活はありうるのでしょうか。

現状のまま復活する可能性は低いでしょう。

可能性としてあり得るのは、データベース等を新しくした上で再設計したものを新機能としてリリースする、という形です。

ただ、pixiv小説がpixivに包含されている状態が継続されるのであれば、pixiv全体の調整が必要になってくるので、やろうと思っても長い時間がかかることでしょう。

あるいはpixivSketchのようにいわばpixiv小説が独立したサービスとなる未来があるのなら、開発者は本文検索も機能の一つとして検討するだろうとは思います。

利用者の声が届くかどうかは、中の人しか知り得ないことですが、届く可能性はその声の数でいくらか増すことがあります。たくさんの人が望んでいるという事実があるのなら、それだけで大きな影響力があるのです。

今回の一件では、本文検索を重宝していたという利用者が少なからずいたことを浮き彫りにしました。この事実は変わらないので、復活するかどうかは別として、何らかの影響を与えたのは間違いないでしょう。

最近のpixiv小説は面白い

本文検索が終了したことは、ネガティブな要素しかないというわけではありません。これはpixivがpixiv小説と向き合っていることの証拠でもあるからです。問題を放置することもできたはずですから。

事実、最近のpixiv小説は面白くなってきています。頻繁に利用されている方はお気づきと思いますが、目立つところでは小説関係の企画が増え、目立たないところではユーザー体験の向上につながる細かな変更がなされています。

それも単にコンテスト等を開催するというのではなく、利用者の目線で考え、盛り上げようとしています。それが成功しているかどうかは各自が判断するところですが、私は個人的にも投稿数の推移などからも、面白くなってきていると感じています。

このような現状を知っているので、私個人としては本文検索が終了したことを前向きに捉えています。pixiv小説をより楽しい場所にするために決断したように思えるからです。

まとめ

この記事ではPixiv小説が本文検索を終了したことについて、検索について掘り下げて考えました。

検索というもの自体が複雑なプロセスで成り立っていることや、ウェブサービスの成長に合わせて検索も変わっていきメンテナンスが困難になることを記しました。

また根本的な問題について考え、終了に至った経緯を推測しました。また復活の可能性や、pixiv小説の現状についても書きました。

すでに述べた通り、私自身は今回のおしらせを前向きに捉えています。

pixiv小説は全体として良い方向に向かっていますし、今回の決定も全体として良い影響があると思うからです。

それでは小説が好きな皆様、書く方も読む方も、引き続き小説を楽しんでいきましょう。