Nuxt3のssrでIIIF viewerを導入する

概要 Nuxt3のssrでIIIF viewerを導入する方法の備忘録です。 Canvas Panel 以下のビューアの導入です。 https://iiif-canvas-panel.netlify.app/ インストール npm i @digirati/canvas-panel-web-components page 以下を参考にしてください。 https://github.com/nakamura196/nuxt3-iiif-viewer/blob/main/pages/canvas-panel/index.vue 表示例 https://nakamura196.github.io/nuxt3-iiif-viewer/canvas-panel Tify 以下のビューアの導入です。 https://github.com/tify-iiif-viewer/tify インストール npm i tify page 以下を参考にしてください。 https://github.com/nakamura196/nuxt3-iiif-viewer/blob/main/pages/tify/index.vue ssrの場合、document is not defined.のエラーが発生したため、pluginsに以下のファイルを追加しています。 https://github.com/nakamura196/nuxt3-iiif-viewer/blob/main/plugins/tify.client.js 表示例 https://nakamura196.github.io/nuxt3-iiif-viewer/tify まとめ 他のビューアについても適宜追加していきたいと思います。 導入方法について、誤りやよりよい方法があるかもしれませんが、参考になりましたら幸いです。

2022年12月26日 · 更新: 2022年12月26日 · 1 分 · Nakamura

Amazon LightsailでOmeka Sの初期設定を行うscript(Easy Adminモジュールの追加)

以下の記事で紹介した「Amazon LightsailでOmeka Sの初期設定を行うscript」に対して、テーマやモジュールを簡単に追加できる「Easy Admin」を追加し、また関連ディレクトリの権限を修正したスクリプトを作成しました。 参考になりましたら幸いです。 # 変数 OMEKA_PATH=/home/bitnami/htdocs/omeka-s ## ハイフンは含めない DBNAME=omeka_s VERSION=3.2.3 ############# set -e mkdir $OMEKA_PATH # Omekaのダウンロード wget https://github.com/omeka/omeka-s/releases/download/v$VERSION/omeka-s-$VERSION.zip unzip -q omeka-s-$VERSION.zip mv omeka-s/* $OMEKA_PATH # .htaccessの移動 mv omeka-s/.htaccess $OMEKA_PATH # 不要なフォルダの削除 rm -rf omeka-s rm omeka-s-$VERSION.zip # 元からあったindex.htmlを削除(もし存在すれば) if [ -e $OMEKA_PATH/index.html ]; then rm $OMEKA_PATH/index.html fi # データベースの作成 cat <<EOF > sql.cnf [client] user = root password = $(cat /home/bitnami/bitnami_application_password) host = localhost EOF mysql --defaults-extra-file=sql.cnf -e "create database $DBNAME"; # Omeka Sの設定 cat <<EOF > $OMEKA_PATH/config/database.ini user = root password = $(cat bitnami_application_password) dbname = $DBNAME host = localhost EOF sudo chown -R daemon:daemon $OMEKA_PATH/files sudo apt install imagemagick -y # Module cd $OMEKA_PATH/modules ## easy admin wget https://github.com/Daniel-KM/Omeka-S-module-EasyAdmin/releases/download/3.3.7/EasyAdmin-3.3.7.zip unzip EasyAdmin-3.3.7.zip rm EasyAdmin-3.3.7.zip sudo chown -R daemon:daemon $OMEKA_PATH/files sudo chown -R daemon:daemon $OMEKA_PATH/modules sudo chown -R daemon:daemon $OMEKA_PATH/themes

2022年12月24日 · 更新: 2022年12月24日 · 1 分 · Nakamura

【Omeka S モジュール開発】FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正

Omeka Sの標準機能では、日本語による全文検索がうまくいきません。以下の記事で、不具合の内容を説明しています。 https://nakamura196.hatenablog.com/entry/2022/03/07/083004 上記記事で、いくつかの対応策を示しましたが、それらの対応策を包含したモジュールを作成しました。 https://github.com/nakamura196/Omeka-S-module-FixCjkSearch 根本的な解決はできていないのですが、Omeka Sで日本語資料を扱う際のお役に立てば幸いです。

2022年12月23日 · 更新: 2022年12月23日 · 1 分 · Nakamura

nuxt3をamazon lightsailで公開する:pm2の使用

はじめに nuxt3などを用いて開発したアプリケーションについて、github pages, netlify, aws amplify, およびServerless Framework+Lambdaなどを用いてデプロイすることが多いのですが、今回はvpsを用いて公開する機会があり、その備忘録です。 参考 具体的には、Amazon Lightsailとpm2を使用します。 Amazon Lightsailインスタンスの作成 Node.jsのblueprintを選択します。 また3000番ポートを使用するので、ファイアウォールを開放しておきます。 pm2の設定 以下の記事を参考にしました。 https://it-evo.jp/blog/blog-70/ インストール sudo su npm install pm2 -g Nuxt3のダウンロードとビルド サンプルプログラムをダウンロードします。 su bitnami cd /home/bitnami/ git clone https://github.com/nakamura196/nuxt3-pm2 セットアップ cd nuxt3-pm2 npm install ビルド npm run build npm run preview localhost:3000 でNuxt3のアプリケーションをご確認いただけます。 pm2を用いて起動する cd /home/bitnami/ vi /home/bitnami/ecosystem.config.js module.exports = { apps: [{ name: 'demo', cwd: '/home/bitnami/nuxt3-pm2', exec_mode: 'cluster', instances: 'max', script: './.output/server/index.mjs', watch: ['./'], // または true watch_options: { followSymlinks: true, usePolling: true, interval: 10000, binaryInterval: 10000, }, env: { PORT: 3000, NODE_ENV: 'production', } }] } 以下のコマンドで、pm2が起動します。 ...

2022年12月22日 · 更新: 2022年12月22日 · 1 分 · Nakamura

【Omeka S モジュール紹介】Folksonomy:ソーシャルタギング

概要 Omeka Sでソーシャルタギングを実現するためのモジュールとして、Folksonomyがあります。 https://omeka.org/s/modules/Folksonomy/ 本記事では、本モジュールの使い方について説明します。 インストール 他の一般的なモジュールと同様、標準的な方法でインストールできます。 設定 インストール後、以下のような設定画面が表示されます。特に、「Allow public to tag」を有効にすることで、訪問者によるタギングが可能になります。また、「Require approbation for public tags」を有効にすることで、管理者による承認のフローを導入することができます。 訪問者 アイテムの詳細画面に以下のようなタグの登録フォームが表示されます。 複数のタグを入力する場合、カンマで区切って入力します。 「terms of use」とライセンスに同意して、「Tag it!」を押します。すると、以下のようなアラートが表示されます。承認後に表示されます、と記載されています。 管理者 「Folksonomy」 > 「Taggings」のページから、タギングの一覧を閲覧できます。 「?」マークをクリックすることで、「承認」または「却下」を切り替えることができます。 承認されたタグは公開ページに表示され、却下されたタグは表示されていません。 まとめ Omeka Sでソーシャルタギングなどを行う際の参考になりましたら幸いです。また同様の機能を実装する際の参考にもなりましたら幸いです。

2022年12月20日 · 更新: 2022年12月20日 · 1 分 · Nakamura

Gatsby CETEIceanを試す

概要 Raffaele Vigliantiさんが作成されたGatsby CETEIceanを試してみました。 https://github.com/raffazizzi/gatsby-ceteicean-workshop 試作サイト 以下が試作したサイトです。MUIの追加や、縦書き表示、RDFデータへのリンクなど、いくつかのカスタマイズを加えています。 https://nakamura196.github.io/gatsby-ceteicean-workshop/ データとして、以下の「校異源氏物語テキストDB」のTEI/XMLファイルを使用しています。 https://kouigenjimonogatari.github.io/ ソースコード カスタマイズ内容を含むソースコードは以下でご確認いただけます。 https://github.com/nakamura196/gatsby-ceteicean-workshop まとめ Gatsby CETEIceanを用いることで、TEI/XMLファイルの公開環境を効率的に開発することができそうです。 参考になりましたら幸いです。

2022年12月20日 · 更新: 2022年12月20日 · 1 分 · Nakamura

TEI Boilerplateを試す

概要 TEI Boilerplateの日本語訳例は以下です。 TEI ( Text Encoding Initiative ) P5 コンテンツを最新のブラウザーで直接公開するための軽量ソリューションです。TEI Boilerplate を使用すると、サーバー側での処理や HTML への変換を行わずに、TEI XML ファイルを Web に直接提供できます。当社のTEI Boilerplate Demoは、TEI Boilerplate によってレンダリングされる多くの TEI 機能を示しています。 TEI Boilerplate は、Web 上で TEI/XML を公開および表示するための多くの優れた XSLT ソリューションに代わるものではありません。これは、より複雑な XSLT ソリューションに代わるシンプルで軽量なソリューションとなることを目的としています。 今回は、このTEI Boilerplateの使い方の例を説明します。 リポジトリのクローンとサーバの起動 以下のリポジトリを使用します。 https://github.com/TEI-Boilerplate/teibp-teach 本リポジトリは、TEI-Boilerplate 対応の http サーバを立ち上げるプロジェクト、と説明されています。 まず、リポジトリをクローンします。 git clone https://github.com/TEI-Boilerplate/teibp-teach 次に、ライブラリのインストールを行います。 cd teibp-teach npm install そして、ローカルのサーバを起動します。 node . 画面例 http://localhost:3000 にアクセスすると、以下のような画面が表示されます。 demoのリンクをクリックすると、表示例を確認することができます。この表示例では、画面右上に表示内容を切り替えることができるToolboxが提供されます。 校異源氏物語テキストへの適用 校異源氏物語テキストDBで公開されているTEI/XMLにも適用してみました。 以下のGitHub Pagesからご確認いただけます。 https://nakamura196.github.io/teibp-teach/content/01.xml ソースコードは以下からご確認いただけます。 ...

2022年12月17日 · 更新: 2022年12月17日 · 1 分 · Nakamura

Omeka S 4.0.0 release candidateが公開されました。

概要 Omeka S 4.0.0 release candidateが公開されました。 https://forum.omeka.org/t/omeka-s-4-0-0-release-candidate/16272 Amazon Lightsailで試してみました。以下でお試しいただけます。 http://35.172.220.59/omeka-s/ インストール 以下のスクリプトで初期セットアップを行うことができます。 # 変数 OMEKA_PATH=/home/bitnami/htdocs/omeka-s ## ハイフンは含めない DBNAME=omeka_s VERSION=4.0.0-rc ############# set -e mkdir $OMEKA_PATH # Omekaのダウンロード wget https://github.com/omeka/omeka-s/releases/download/v$VERSION/omeka-s-$VERSION.zip unzip -q omeka-s-$VERSION.zip mv omeka-s/* $OMEKA_PATH # .htaccessの移動 mv omeka-s/.htaccess $OMEKA_PATH # 不要なフォルダの削除 rm -rf omeka-s rm omeka-s-$VERSION.zip # 元からあったindex.htmlを削除(もし存在すれば) if [ -e $OMEKA_PATH/index.html ]; then rm $OMEKA_PATH/index.html fi # データベースの作成 cat <<EOF > sql.cnf [client] user = root password = $(cat /home/bitnami/bitnami_application_password) host = localhost EOF mysql --defaults-extra-file=sql.cnf -e "create database $DBNAME"; # Omeka Sの設定 cat <<EOF > $OMEKA_PATH/config/database.ini user = root password = $(cat bitnami_application_password) dbname = $DBNAME host = localhost EOF sudo chown -R daemon:daemon $OMEKA_PATH/files sudo apt install imagemagick -y 2022-12-15時点では上記に加えて、以下の作業が必要でした。 ...

2022年12月15日 · 更新: 2022年12月15日 · 1 分 · Nakamura

Omeka SのAPIへのアクセス制限

Omeka Sでは、標準でAPIを提供しており、例えば以下のようなURLから、リソースの取得などが可能です。 https://dev.omeka.org/omeka-s-sandbox/api/items 便利な機能である一方、APIを提供したくないケースも考えられます。その場合には、Omeka Sを設定したディレクトリの直下にある.htaccessについて、以下のような記述を追記することで、アクセス制限をかけることができます。 RewriteCond %{REQUEST_URI} ^.*/api RewriteRule ^(.*)$ – [F,L] 具体的には、以下のような形です。 SetEnv APPLICATION_ENV "production" # SetEnv APPLICATION_ENV "development" RewriteEngine On RewriteCond %{REQUEST_URI} ^.*/api RewriteRule ^(.*)$ – [F,L] # The following rule tells Apache that if the requested filename # exists, simply serve it. RewriteCond %{REQUEST_FILENAME} -f RewriteRule !\.(php[0-9]?|phtml|phps)$ - [NC,C] RewriteRule !(?:^|/)\.(?!well-known(?:/.*)?$) - [C] RewriteRule .* - [L] ... Omeka Sのアクセス制限について、参考になりましたら幸いです。

2022年12月12日 · 更新: 2022年12月12日 · 1 分 · Nakamura

EC2サーバセットアップ時のTODOメモ

EC2でサーバをセットアップする際のTODOメモです。 Elastic IPの付与 sudo権限のユーザ追加 sudo su useradd nakamura passwd nakamura usermod -G wheel nakamura 公開鍵の設置 cd /home/nakamura mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys vi .ssh/authorized_keys chown -R nakamura:nakamura .ssh

2022年12月5日 · 更新: 2022年12月5日 · 1 分 · Nakamura

Snorql for Japan Searchのカスタマイズ方法の調査

概要 ジャパンサーチで使用されている「Snorql for Japan Search」のカスタマイズ方法について、その調査結果です。随時更新予定です。また誤りも含まれている可能性が高いので、ご注意ください。 メニュー ページのタイトルを変更する snorql_def.js _poweredByLabel: "Cultural Japan", // "Japan Search", 問い合わせ先のエンドポイントを変更する snorql_def.js _endpoint: "https://ld.cultural.jp/sparql/", //"https://jpsearch.go.jp/rdf/sparql/", poweredByLinkのURLを変更する snorql_def.js _poweredByLink: "https://cultural.jp/", // "https://jpsearch.go.jp/", その他のフッター部分を編集する index.html footer> a href="./">Snorqla> for a id="poweredby" href="#">Japan Searcha>. Use a href="https://ld.cultural.jp/sparql">basic SPARQL endpointa> basic SPARQL endpoint --> for your application. >SPARQLエンドポイント解説 > --> footer> バージョンを変更する snorql_def.js var _sldb_version = "v0.0.1"; //"v2.20.1"; トップページの説明 ...

2022年11月29日 · 更新: 2022年11月29日 · 4 分 · Nakamura

ジャパンサーチのSPARQLエンドポイントをYasguiで使ってみる

概要 Yasgui(Yet Another Sparql GUI)は、SPARQLクエリおよびその結果を作成、共有、可視化するための様々な高度な機能を提供します。 https://github.com/TriplyDB/Yasgui 今回は、YasguiでジャパンサーチのSPARQLエンドポイントを使用して、各種可視化を試みます。 結果 テーブル表示 データセット別件数の可視化を行います。まずは、一般的なテーブル表示です。 結果 結果の絞り込みや並び替えなども可能です。 チャート 「チャート」タブを使用して、同結果のチャート表示を試みます。 結果 「Configure」から、使用するチャートの種類を変更できます。 ギャラリー 「ギャラリー」タブを使用して、歌麿の作品を表示します。 結果 以下の記述を参考に、?widgetなどの変数を用意します。 https://triply.cc/docs/yasgui#gallery マップ 「Geo」タブを使用して、経緯度をもつ場所を表示します。 結果 以下の記述を参考にします。GeoSPARQLセマンティクスを含むSPARQLの結果が必要とのことで、concat関数やbif:st_geomfromtext関数を使用しています。 https://triply.cc/docs/yasgui#geo ネットワーク 「Network」タブを使用して、クラス同士の関係を記述します。 結果 以下の記述を参考にし、constructクエリを使用します。 https://triply.cc/docs/yasgui#network タイムライン 「Timeline」タブを使用して、歌麿の作品(一部)をタイムラインに表示します。 結果 まとめ Yasguiを用いることで、さまざまな可視化を行うことができました。本記事が参考になりましたら幸いです。

2022年11月28日 · 更新: 2022年11月28日 · 1 分 · Nakamura

【Omkea S モジュール紹介】Mappingモジュール

概要 Omeka Sで地図と連携するためのモジュール「Mapping」の紹介です。 https://omeka.org/s/modules/Mapping/ インストール Omeka Sの一般的な方法で、本モジュールをインストールできます。 位置情報の付与 アイテムの編集画面で、「マッピング」タブから位置情報を付与します。 公開サイトで、地図を用いた検索や表示が可能です。

2022年11月25日 · 更新: 2022年11月25日 · 1 分 · Nakamura

【Omkea S モジュール紹介】Timelineモジュール

概要 Omeka Sでタイムラインを作成するモジュール「Timeline」の紹介です。 https://omeka.org/s/modules/Timeline/ インストール Omeka Sの一般的な方法で、本モジュールをインストールできます。以下、インストール方法の例です。 cd omeka-s/modules wget https://github.com/Daniel-KM/Omeka-s-module-Timeline/releases/download/3.4.16.3/Timeline-3.4.16.3.zip unzip Timeline-3.4.16.3.zip 使い方 本モジュールを使用するには、サイトでページを作成する必要があります。以下の例では、「Timeline」という名前のページを作成しています。 そして画面右部の「新規ブロックを追加」からTimelineを選択します。デフォルトでは、dcterms:dateに格納された値を対象に、年表へのマッピングを行います。 そこで、アイテムのdcterms:dateフィールドに日付の値を入れてみます。 その結果、以下のように、年表を用いたアイテムの検索が可能になります。 まとめ 年表を用いたアイテムの可視化の参考になりましたら幸いです。

2022年11月24日 · 更新: 2022年11月24日 · 1 分 · Nakamura

【Omeka S モジュール紹介】IIIF Searchモジュール

概要 IIIF Search は、全文検索のためのIIIF Content Search APIを追加する Omeka S 用モジュールです。 特に、日本語テキストを扱うための改修を加えた以下のモジュールを対象に、その使用方法を紹介します。 https://github.com/nakamura196/Omeka-S-module-IiifSearch インストール githubからソースコードをcloneします。omeka-sは適宜読み替えてください。 cd omeka-s/modules git clone https://github.com/nakamura196/Omeka-S-module-IiifSearch.git IiifSearch githubからインストールする場合には、上記のように、フォルダ名を対象モジュール名に変更する必要がある点に注意が必要です。 インストール後、検索クエリとして使用する文字列の下限を設定するフォームが表示されます。日本語テキストを扱い場合には、1などに設定しておくことをお勧めします。 ALTO形式のxmlファイルの作成 OCR結果を記述するためのフォーマットの一つであるALTO形式のXMLファイルを作成する必要があります。 https://www.loc.gov/standards/alto/techcenter/elementSet/index.html ALTO形式のXMLファイルの作成にあたっては、以下の記事などが参考になります。 例えば、以下の画像ファイルを対して、 以下のようなxmlファイルが生成できます。 <?xml version="1.0" encoding="utf-8"?> <alto xmlns="http://www.loc.gov/standards/alto/ns-v4#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.loc.gov/standards/alto/ns-v3# http://www.loc.gov/standards/alto/alto.xsd"> <Description> <MeasurementUnit>pixel</MeasurementUnit> <sourceImageInformation> <fileName>alto_test.png</fileName> </sourceImageInformation> <OCRProcessing ID="IdOcr"> <ocrProcessingStep> <processingSoftware> <softwareName>tesseract 4.0.0-beta.1</softwareName> </processingSoftware> </ocrProcessingStep> </OCRProcessing> </Description> <Layout> <Page ID="page_1" PHYSICAL_IMG_NR="1" HEIGHT="841" WIDTH="595"> <PrintSpace HEIGHT="841" WIDTH="595" VPOS="0" HPOS="0"> ... <ComposedBlock ID="block_1_4" HEIGHT="23" WIDTH="446" VPOS="205" HPOS="59"> <TextBlock ID="par_1_4" HEIGHT="23" WIDTH="446" VPOS="205" HPOS="59" LANG="jpn"> <TextLine ID="line_1_4" HEIGHT="23" WIDTH="446" VPOS="205" HPOS="59"> <String ID="word_1_11" CONTENT="Google" HEIGHT="20" WIDTH="70" VPOS="208" HPOS="59" WC="0.89"/> <String ID="word_1_12" CONTENT="Colab" HEIGHT="16" WIDTH="58" VPOS="208" HPOS="135" WC="0.93"/> <String ID="word_1_13" CONTENT="で" HEIGHT="841" WIDTH="595" VPOS="0" HPOS="0" WC="0.93"/> <String ID="word_1_14" CONTENT="Tesseract" HEIGHT="16" WIDTH="117" VPOS="208" HPOS="195" WC="0.91"/> <String ID="word_1_15" CONTENT="を" HEIGHT="19" WIDTH="18" VPOS="206" HPOS="314" WC="0.93"/> <String ID="word_1_16" CONTENT="動か" HEIGHT="19" WIDTH="41" VPOS="206" HPOS="335" WC="0.93"/> <String ID="word_1_17" CONTENT="す" HEIGHT="19" WIDTH="19" VPOS="206" HPOS="378" WC="0.93"/> <String ID="word_1_18" CONTENT="(日" HEIGHT="21" WIDTH="25" VPOS="205" HPOS="413" WC="0.96"/> <String ID="word_1_19" CONTENT="本" HEIGHT="20" WIDTH="20" VPOS="206" HPOS="442" WC="0.93"/> <String ID="word_1_20" CONTENT="語" HEIGHT="20" WIDTH="41" VPOS="206" HPOS="464" WC="0.92"/> <String ID="word_1_21" CONTENT="対" HEIGHT="841" WIDTH="595" VPOS="0" HPOS="0" WC="0.93"/> </TextLine> </TextBlock> </ComposedBlock> ... </PrintSpace> </Page> </Layout> </alto> 画像とxmlファイルをOmekaにアップロードする 以下のように、画像とxmlファイルをアップロードします。注意点として、画像とxmlのファイル名(拡張子を除く)を揃えて必要があります。(以下の例では、alto_test) ...

2022年11月24日 · 更新: 2022年11月24日 · 1 分 · Nakamura

【Omeka S モジュール改修】IIIF Searchモジュール

概要 IIIF Search は、全文検索のための IIIF Search Api を追加する Omeka S 用モジュールです。 https://github.com/symac/Omeka-S-module-IiifSearch 今回は上記のモジュールの改修を行いました。pull requestを送付済みですが、以下のリポジトリで改修したモジュールをご利用いただけます。 https://github.com/nakamura196/Omeka-S-module-IiifSearch 具体的にな改修内容としては、クエリ文字列の下限が1文字に設定されていましたが、これを設定フォームで変更できるようにしました。デフォルトでは3文字に設定されており、漢字1文字などでの検索ができなかったため、本改修を行いました。 改修内容 以下の4つのファイルを修正しました。 config/module.ini src/Form/ConfigForm.php Module.php src/View/Helper/IiifSearch.php config/module.ini https://github.com/nakamura196/Omeka-S-module-IiifSearch/commit/d2707361d9aa038c3f7da2db559051386f15e222#diff-a3f073087bb51946398c23263f05539c4d57e12b198f9ba0a0887b0a2e9f710b configurableをtrueに変更しました。これにより、モジュールインストール後に、以下のような設定画面が表示されます。 src/Form/ConfigForm.php https://github.com/nakamura196/Omeka-S-module-IiifSearch/commit/d2707361d9aa038c3f7da2db559051386f15e222#diff-8535197317d24c4a15681f0ba9fa1e762040d2e3984f5d1981471092a4946f74 上記画面の設定画面での表示内容は、src/Form/ConfigForm.phpを編集することで実現できます。 iiifsearch_minimum_query_lengthを設定値を追加しています。 Module.php https://github.com/nakamura196/Omeka-S-module-IiifSearch/commit/d2707361d9aa038c3f7da2db559051386f15e222#diff-074f64cd19bc13bc527290951a58a65cb54f2f35a43ce5bf95e5dbb20b4d297d 上記の画面に関する設定は、Module.phpを修正することで実現します。 具体的には、getConfigFormやhandleConfigFormフォームを追加しています。 また、モジュールのインストール時およびアンインストール時の処理を設定するinstallおよびuninstall関数を追加して、iiifsearch_minimum_query_lengthの初期値の設定および削除を行なっています。 src/View/Helper/IiifSearch.php https://github.com/nakamura196/Omeka-S-module-IiifSearch/commit/d2707361d9aa038c3f7da2db559051386f15e222#diff-130dd3b86192225df59328df92c2bed1f2b2de8ba3f561946e2dcfcb5da7d8b8 最後に、src/View/Helper/IiifSearch.phpを変更します。minimumQueryLengthが3で設定されていた箇所について、$this->view->setting('iiifsearch_minimum_query_length')で設定値を読み取り、minimumQueryLengthの値としています。これにより、例えば日本語を扱う場合には、設定画面でminimumQueryLengthを1に設定することにより、1文字からの検索が可能になります。 まとめ 本モジュールを利用する際の、特に日本語を対象としたテキストに対する検索を行う際の参考になりましたら幸いです。また、Omeka Sのモジュール開発の参考にもなりましたら幸いです。

2022年11月24日 · 更新: 2022年11月24日 · 1 分 · Nakamura

Google ColabでTesseractを動かす(日本語対応)

Google ColabでTesseractを動かすノートブックを作成しました。日本語にも対応しています。参考になりましたら幸いです。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Tesseractを試す.ipynb 末尾に、hocrファイルをalto形式のxmlファイルに変換するフローも紹介しています。具体的には、以下のツールを使用しています。 https://digi.bib.uni-mannheim.de/ocr-fileformat/ 参考になりましたら幸いです。

2022年11月24日 · 更新: 2022年11月24日 · 1 分 · Nakamura

【Omeka S モジュール紹介】PDFファイルに対してOCRを行うモジュール「Extract Ocr」

概要 PDFファイルに対してOCRを行うOmeka Sのモジュール「Extract Ocr」を紹介します。 インストール 以下のページを参考にします。 https://omeka.org/s/modules/ExtractOcr/ 本モジュールは、pdftohtmlというコマンドラインツールが必要です。 以下、omeka-sの部分は、適宜変更してください。 AWS Lightsailを用いた環境では、以下によってインストールできました。 sudo apt install poppler-utils さらに、omeka-s/config/local.config.phpを編集する必要があります。base_uriの部分は、導入した環境に応じて変更してください。例:https://omekas.aws.ldas.jp/sandbox/files 'file_store' => [ 'local' => [ 'base_path' => null, // Or the full path on the server if needed. 'base_uri' => 'https://example.org/files', ], ], 上記の設定後、モジュールをダウンロード、インストールします。 cd omeka-s/modules git clone https://github.com/symac/Omeka-S-module-ExtractOcr.git ExtractOcr AWS Lightsailの場合、インストール時に以下のエラーが発生しました。 以下のコマンドにより、omeka-s/filesにtempファイルを作成しました。 cd omeka-s/files sudo mkdir temp sudo chown daemon:daemon temp 上記の設定後、無事にインストールできました。 ファイルのアップロード アイテムの新規登録を行い、メディアとしてPDFファイルをアップロードします。 ...

2022年11月24日 · 更新: 2022年11月24日 · 1 分 · Nakamura

Vertex AIのworkbenchを使用した際、HuggingFaceのTrainer()が開始されない事象への対処法

Google CloudのVertex AIのworkbenchを使用した際、HuggingFaceのTrainer()が開始されない事象に遭遇しました。 この件について、以下のページで同様の不具合が報告されていました。 https://stackoverflow.com/questions/73415068/huggingface-trainer-does-nothing-only-on-vertex-ai-workbench-works-on-colab 当初、以下のような「PyTorch」の環境を選んでいましたが、この環境で上記の不具合が生じました。 そこで、上記の記事にある通り、「Python」の環境を選択することで、上記の不具合を避けることができました。 なお、上記の環境を選んだ場合、まず以下のような実行が必要です。 conda install pytorch cudatoolkit=11.0 -c pytorch 同様のことでお困りの方の参考になりましたら幸いです。

2022年11月21日 · 更新: 2022年11月21日 · 1 分 · Nakamura

Mroonga search モジュールのインストール(※うまくいきませんでした。)

概要 以下の記事で紹介しているMroonga search モジュールのインスールについて、AWSのLightsailで試みました。 https://nakamura196.hatenablog.com/entry/2022/03/07/083004 結果、うまくインストールできませんでしたが、備忘録のために記事化します。 Omeka Sの立ち上げ 以下の記事の通り、Omeka Sを立ち上げました。 Mroongaのインストール 以下のページを参考に、インストールを行いました。 https://mroonga.org/docs/install/debian.html sudo apt update sudo apt install -y -V apt-transport-https sudo apt install -y -V wget wget https://packages.groonga.org/debian/groonga-apt-source-latest-bullseye.deb sudo apt install -y -V ./groonga-apt-source-latest-bullseye.deb sudo apt update sudo apt install -y -V mariadb-server-10.5-mroonga 上記を実行後、mysql(mariadb)に入ります。 mysql -uroot -p パスワードは、以下のコマンド確認できます。 cat /home/bitnami/bitnami_application_password その後、以下を実行して、Mroongaを有効にします。 MariaDB [(none)]> INSTALL PLUGIN Mroonga SONAME 'ha_mroonga.so'; SHOW VARIABLES LIKE 'mroonga_version'; 以下のように表示されます。 Omeka Sモジュールのインストール 以下の通り、モジュールを展開します。 ...

2022年11月21日 · 更新: 2022年11月21日 · 1 分 · Nakamura