見出し画像

大学図書館のAI司書をつくる

東京学芸大Explaygroundには、Möbius Open Library (MOL) というラボ活動があり、東京学芸大学附属図書館の職員と私などの民間人が図書館と知の未来について楽しいことを思いついては実践しています。これまでには、コロナ禍で大学キャンパスへの出入りが不自由なときでも図書館の本棚を眺めて本を選べる「デジタル書架ギャラリー」の開発や、様々なイベントシリーズを企画運営していて、そのフットワークの良い活動は昨年の先進的な図書館活動に贈られる「Library of the Year」でも表彰されました。

というわけで、OpenAIが GPTs作成機能をリリースしたのをさっそく使って、AI司書さんを作ってみました。

基本のき

作りたいのは、図書館用語で言えば「レファレンスサービス」、つまり利用者の需要に適した本を紹介するサービスです。その一番の基本は蔵書検索機能です。現代では図書館のホームページでも検索することができますね。

学芸大図書館のトップページにも検索窓がある

東京学芸大学は教員養成大学なので、附属図書館には教育に関する本が特に豊富に収集されており、教育を学ぶ学生や研究者が資料を探しに来ます。

私のGPTでも、書名や著者名で検索するのは一番の基本機能です。まずはこれから実装してみました。GPTの名前は(深い由来はありませんが)ココアにしました。プロの司書というにはおこがましいので、学芸大の大学生が図書館で窓口業務のお手伝いをしているという設定です。

こういう入力に対して答えを返してほしいですね。GPTsでは、外部のAPIを呼び出すことを設定することができるのですが、あいにくと学芸大図書館の蔵書検索システム(OPAC)には公開されたAPIが無いとのこと。やむなくここはCiNii Booksを使うことにしました。

CiNii Booksは全国の大学図書館の蔵書を検索することができ、特定の大学の図書館に絞ることもできます。これを使って学芸大図書館の蔵書を調べて回答することができるようになりました。

学芸大図書館の「そして誰もいなくなった」はオーディオブックしかないようですね。

本が見つかったら、その貸出状態や図書館のどの棚にあるかを知りたくなるかもしれません。残念ながらそこまでは CiNii Booksに無いので、学芸大図書館の該当するwebページへのリンクを答えられるようにしました。

上記の表示でリンクをクリックすると、こちらのページにジャンプします。しかし、これを作るのにはひと工夫必要でした。CiNii Booksで検索された本にはNCIDというIDが振られいて、それが分かれば学芸大図書館の該当ページは 

https://library.u-gakugei.ac.jp/opac/search?s_ncid=<NCID>

という形で生成できるのですが、GPTsでは自分で生成したURLを答えようとすると削除されてしまう(空のリンクになってしまう)という制約があるのです。その辺りは同じ壁に当たった人たちがこちらで議論していて、そこを読むと、外部のAPIなどから得られたURLなら大丈夫ということを見つけた人がいました。そこで、NCIDから上記のようなURLを返すだけのAPIを自作して制限を回避することにしました。

この基本機能では、著者名や出版年などでも絞り込むことができますし、ChatGPTなので「21世紀」といった書き方をしても何とかしてくれます。

類義語検索

MOLに参加している現役司書さんの話では、ホームページの検索でうまく見つからずに相談してくる人に一番よくあるアドバイスは、「キーワードをいろいろ言い換えてみて」ということだそうです。たしかに、ココアの最初のバージョンでは「日本の正月の風習について調べて」とお願いすると、「日本の正月の風習」というキーワードで検索して「ありませんでした」と答えていました。ですので、フレーズを単語に分解してみるとか、単語を類義語で言い換えてみるとか、そういう工夫をすることによって見つけるようにしてもらいました。

以下の例は長いですが、「プロペラ機の歴史」→「航空機の歴史」→「航空史」とココアが自分で検索ワードを変えながら何度も試してくれています。

このような検索テクニックはレファレンスサービスの定番なので、国立国会図書館が類義語などをデータベースに蓄積しています。

これをうまく活用すればもっと賢く検索できるかもしれませんが、ChatGPTの知識でもかなり頑張ってくれるのと、このNDL Authoritiesは使い方がちょっと面倒そうなので、今のところ使わずにいます。

芋づる検索

勝手に命名しましたが、ココアが見つけた本を基に、そこから芋づる式にさらに別の本を提案する機能です。それによって、キーワード検索では見つかりにくかった本も、同じ著者の別の本経由でたどり着くということがありますし、分類記号(NDC)を使えば、本棚でその本の近くにある本(=関連するジャンルの本)に出会うチャンスも増えます。ですので、そういった本もおすすめできるように設定してみました。

それでも見つからない本

図書館に存在するのに、上記のような工夫でも見つからない本というのはたくさんあると思います。知りたいこととかけ離れた書名だったり、著者が類書をほとんど書いてない場合など。

それを見つける方法のアイディアは幾つかあるのですが、GPTに実装する難しさもあるので、今回はとりあえず Google Booksを検索して参考にする機能を実装しています。Google Booksだと少し幅広く検索結果を出してくれるので、そこで見つかった本が学芸大図書館にあれば、それを紹介してくれます。

図書館に無い本

利用者の要望に沿った適切な本が蔵書に見つからなかったらどうするか、というのもレファレンスサービスで定番の事例です。そういうときは CiNii Booksで学芸大以外の図書館も対象にして検索してみれば「◯◯大学の図書館にこういう本があります」とお勧めすることができるのですが、そうなるとどうしても次に「その本を取り寄せられるか?」ということがセットで発生してしまい、とたんに個別事情になってきますので簡単には答えられませんし、答えられないのに遠方の大学にあることだけ分かってもあまり役に立たないので、今のところは手当していません。しかし、前述の Google Booksでの検索結果から「学芸大図書館には無いけど、こういう本があります」とココアが勝手に答えてくれることはときどきあるようです。(笑)

学芸大図書館についての質問

ココアは、必要に応じて学芸大図書館のホームページに書かれている利用案内を参照しますので、そこに書かれていることは回答できます。

どれくらい役に立つのか?

ここまでの出来栄えをMOLメンバーの司書さんたちに見てもらったところ、けっこう便利そう、という好評価でした。図書館を利用する学生さんたちは「この程度のことで司書さんに相談するのはちょっと」と敷居を感じる人も多そうですし、図書館の開館時間中にわざわざ訪ねてこなくても、思いついたときに24時間365日答えてくれるのはありがたいだろうと。

一方で、レファレンスサービスには実にさまざまな質問や要望が来ます。下に挙げた「レファレンス協同データベース」には各地の司書さんたちが答えた様々な事例が載っています。

これを見ると、司書さんのスキルや知識に追いつくのはまだまだ大変そうだと思う反面、初級編の対応だけでもココアが答えてくれたら司書さんは難しい問い合わせに注力していただけるかもな、と思います。

今はまだGPTsもChatGPT Plus(有料)ユーザーしか使えませんが、早く広く一般に使ってもらえるようになってほしいですし、それまでにココアをもっと賢くしたいと思います。

また、学芸大図書館以外の図書館を利用している人も対象にするとか、図書館蔵書に限らず図書一般に広げるといった要望も出てくるかもしれませんが、まずは範囲を絞ってその利用者にとっての利便性と、Möbius Open Libraryの目指す「知の循環」を探究していきたいと思います。

ココアへのリンク

ご利用には(今のところ)ChatGPT Plus(有料)のアカウントが必要です。

学芸大の学生っぽい(?)トークもちょいちょい挟んでくるので、お試しください。

ちなみに

今回紹介したGPTは、GPTsコンテストに応募しています。

GPT の作り方は以下の記事も参考にさせていただきました。


この記事が参加している募集

GPTsつくってみた

この記事が気に入ったらサポートをしてみませんか?