概要

IIIF Search は、全文検索のためのIIIF Content Search APIを追加する Omeka S 用モジュールです。

特に、日本語テキストを扱うための改修を加えた以下のモジュールを対象に、その使用方法を紹介します。

https://github.com/nakamura196/Omeka-S-module-IiifSearch

インストール

githubからソースコードをcloneします。omeka-sは適宜読み替えてください。

cgditomcelkoan-es/hmtotdpusl:e/s/github.com/nakamura196/Omeka-S-module-IiifSearch.gitIiifSearch

githubからインストールする場合には、上記のように、フォルダ名を対象モジュール名に変更する必要がある点に注意が必要です。

インストール後、検索クエリとして使用する文字列の下限を設定するフォームが表示されます。日本語テキストを扱い場合には、1などに設定しておくことをお勧めします。

ALTO形式のxmlファイルの作成

OCR結果を記述するためのフォーマットの一つであるALTO形式のXMLファイルを作成する必要があります。

https://www.loc.gov/standards/alto/techcenter/elementSet/index.html

ALTO形式のXMLファイルの作成にあたっては、以下の記事などが参考になります。

例えば、以下の画像ファイルを対して、

以下のようなxmlファイルが生成できます。

<<?a/xlamt<<lloD/L/teDaLovxxxxxs<<<ey<a>emmmmscMs/O/soP/yrllllireosCOcuaPosnnnn:iau<oRCrtg<auissssspsrfuPoRi>eP/gto=:::ctucirrcoPprPe>n"xxxhirelcor<crtIi<r>=hlsseoeIeecPp/roiDnCi"tii=mnmmNIerrpPco=toCn1tn="a>eaamsoo<rren"Sm<t.pk"hLngmasccsoos>pppTmS0:=htoteegieeoccsaaoeTpp"/"ttcUI>enssfeeigcsx<eoa/htpannaIgsstssneeetT/xscewtp:tiflniiwssg_dBeTteenwt:itotfInnaii>1HBlx<<<<<<<<<<<eBd>cwpo>rooDggrnn"ElotSSSSSSSSSSSxlBo.:wnpm_r=SSeggIocLttttttttttttoldlww=iatm"toNSSPGckirrrrrrrrrrrLcoi/ww"xteaIefaotHHkniiiiiiiiiiiikcncww.heistdptmfeYTIHWVHLennnnnnnnnnnn>kg.w.wtlotiO>wetpS=IDEIPPAggggggggggge>=gww3t<n.oca>w>I"D=IDOONI>"o.3.p/>pnrrtaC8="GTSSGDICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWICHWVHWuvw.o:Mn>"eerA4"pHH====DOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCDOEIPPCt/3or/eg>>seL1baT=""""=NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO==NIDOO=fs.rga<s>_"lr="25jl"TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS""TGTSS"-togws/eIo_"409piwEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==0wEHH==08ar2wufrMWc1245"nnoNT="".oNT="".oNT="".oNT="".oNT="".oNT="".oNT="".oNT="".oNT="".oNT="".oNT=""."ng20wriaGIk_36""erT="258rT="219rT="009rT="219rT="239rT="239rT="239rT="249rT="249rT="249rT="009?d/00.elc_D_4"">_d="7099d="5033d="5""3d="1091d="1013d="4033d="1073d="2016d="2043d="4062d="5""3>a101lmetNT1"1_"208""_"1885"_"89"_"1185"_"1864"_"1165"_"1968"_"2553"_"2062"_"2164"_"89"r91oeNRH__1G0""/1C6"""/145/1T67""/19"""/19"""/19"""/1(1"""/10"""/10"""/145/d9Xcna4==44_o">_o">_"1">_e"">_"">_">_"">_">_"">_"">_"1">s9XM.tm.""""1o1l1"1s11"11"122"//MLgUe0151g2a34s5678901axLSon>."9HH"l"b""e"""""""llScvi05EEe"rtich/t-H"II"aonhes>bEGGc/kemteIVHHtn"maatGPTT"sa"naHO==--d.TS""via1==224nr<""33#sd/80"""tss4"a/o1WWnaf"HIIcltPDDetwWOTT"oaISHH/rD===neT"""sNH044-a="44vm">663e5""#>95VVh"PPt>OOtSSp==:""/22/00w55w""w.HHlPPoOOcSS.==g""o55v99/""s>>tandards/alto/alto.xsd">

画像とxmlファイルをOmekaにアップロードする

以下のように、画像とxmlファイルをアップロードします。注意点として、画像とxmlのファイル名(拡張子を除く)を揃えて必要があります。(以下の例では、alto_test

この結果、アイテムの表示画面で、以下のように、検索フォーム付きのUniversal Viewerが表示されます。
(IIIF Server および III Viewersが導入されていることを前提としています。)

「日」という検索語を入力すると、タイトル部分の「日本語」の部分がハイライトされます。

まとめ

IIIF Content Search APIの機能を追加するモジュールについて紹介しました。

ALTO形式のXMLファイルを生成するプロセスは改善の余地があるため、ALTO形式のXMLファイルを自動的に作成するためのモジュール改修、または、ALTO形式以外のOCRファイルを登録可能にするためのモジュール改修など、今後の課題としたいと思います。

IIIF Content Search APIの挙動を確認する上での参考になりましたら幸いです。