Pythonを用いてTEI/XMLファイルをEPUBに変換する

概要 Pythonを用いてTEI/XMLファイルをEPUBに変換する機会がありましたので、その備忘録です。 TEI/XMLファイルをEPUBに変換する方法として、Oxygen XML Editorを使用する方法もありますが、今回は、Pythonのライブラリ「EbookLib」を使用します。以下の記事を参考にしました。 https://dev.classmethod.jp/articles/try-create-epub-by-python-ebooklib/ 特に今回は、「校異源氏物語・本文テキストデータリポジトリ」で公開されているTEI/XMLファイルを対象として、縦書きのEPUBを作成することを目的とします。 変換方法 以下のノートブックにソースコードを記載しています。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Pythonを用いてTEI_XMLファイルをEPUBに変換する.ipynb 結果 以下のように、EPUBに対応したリーダーで、校異源氏物語のテキストを閲覧することができます。 HTMLとCSSに変更を加えることで、多様な表示を実現することができると思います。 TEI/XMLの活用にあたり、参考になりましたら幸いです。

2022年9月30日 · 更新: 2022年9月30日 · 1 分 · Nakamura

【Omeka Sモジュール開発】IIIF Viewersの更新

概要 IIIFマニフェストのアイコンと、複数のIIIF対応ビューアを設定するOmeka Sのモジュール「IIIF Viewers」について、機能改修を行いました。 https://github.com/omeka-j/Omeka-S-module-IiifViewers この改修に合わせて、version 1.1.0をリリースしています。 https://github.com/omeka-j/Omeka-S-module-IiifViewers/releases/tag/1.1.0 リリースにあたっては、以下の記事の方法を使用しています。 以下、具体的な改修内容について説明します。 IIIFマニフェストアイコンのURLの修正 以下の記事でも触れましたが、IIIFマニフェストアイコンについて、ドラッグ&ドロップで他のビューアにロードできない不具合がありました。今回の改修により、この不具合を修正しました。 ビューアの設定の方法の変更 これまでは「Mirador」「Universal Viewer」「Curation Viewer」「Tify」を使用する前提の設計としていました。 この制約に対して、今回の改修では、複数(現時点では5つ)の任意のビューアを設定できるように修正しました。 具体的には、以下の図に示すように、Viewer 1からViewer 5のそれぞれについて、ラベル・URL・アイコンを指定できるようにしました。これにより、任意のビューアの設定や並び替えが可能となります。 合わせて、デフォルトで設定していたTifyについて、その仕様変更に伴い、初期設定から除外しています。 注意点 今回のversion 1.1.0へのアップデートにおいて、モジュールの設定ファイルの構造を変更しています。これについて、現時点ではモジュール開発に不足があり、モジュールのアップグレード処理において、適切な初期設定が反映されないケースがあります。 そのため、本モジュールのアップグレードを行う際には、一旦モジュールをアンインストールしていただき、再度インストールをお願いいたします。この不具合については、今後修正予定です。 まとめ IIIF Viewersモジュールをお使いの方の参考になりましたら幸いです。

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

IIIFアイコンのドラッグ&ドロップ対応について

背景 IIIF(International Image Interoperability Framework )のアイコン(具体的には、IIIFのマニフェストURL)は、多くのIIIF対応ビューアにおいて、ドラッグ&ドロップによるロードに対応しています。 ただし、以下のモジュールによって表示するIIIFアイコンについては、ドラッグ&ドロップができない、というフィードバックをいただきました。 https://github.com/omeka-j/Omeka-S-module-IiifViewers この原因について、以下のページなどを参考に調査しました。 https://zimeon.github.io/iiif-dragndrop/ その結果、以下のようなHTMLの記述が必要なことがわかりました。 <a href="default_target?manifest=manifest_URI&canvas=canvas_URI"> <img src="iiif-dragndrop-100px.png" alt="IIIF Drag-n-drop"/> </a> 上記のパターンに合致していないことが、上述したモジュールでドラッグ&ドロップができない不具合の原因でした。 この記事では、この対応方法について記述します。 対応方法 具体的には、以下のマニフェストURLを例とします。 マニフェストURLの例: https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest そして、これまでは以下のように、aタグのhref属性に、IIIFマニフェストのURLのみを与えていました。 <a href="https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest" title="IIIFマニフェスト" target="_blank"> <img style="height: 24px" src="https://omekas.aws.ldas.jp/sandbox/files/asset/iiifviewers632bf7d736e3b.svg"> </a> 上記を以下のように修正する必要がありました。 <a href="https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest?manifest=https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest" title="IIIFマニフェスト" target="_blank"> <img style="height: 24px" src="https://omekas.aws.ldas.jp/sandbox/files/asset/iiifviewers632bf7d736e3b.svg"> </a> アイコンをクリックした際に、マニフェストをダウンロードできる挙動は同じですが、後者では、他のIIIF対応ビューアへのドラッグ&ドロップに対応できます。 href属性にマニフェストURLを2回記述する点が少し冗長ですが、Universal ViewerやIIIF Curation Viewerでも同様の記述がなされていました。 このように?manifest=manifest_URIの部分がロードに使用されることが多いことから、その前のdefault_targetの部分は影響しないことが多いこともわかりました。 そのため、IIIFアイコンだけでなく、以下のようなURLが付与されることが多いUniversal ViewerやIIIF Curation ViewerのURLおよびアイコンについても、他のIIIFビューアにドラッグ&ドロップできることが確認できました。(恥ずかしながら、これまではdefault_targetの部分がIIIFマニフェストのURLである必要があると思っていました。) UV: https://universalviewer.io/examples/uv/uv.html#?manifest=https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest ICV: http://codh.rois.ac.jp/software/iiif-curation-viewer/demo/?manifest=https://omekas.aws.ldas.jp/sandbox/iiif/2/2/manifest まとめ IIIFアイコン(IIIFのマニフェストURL)をサイトに設置する際の、ドラッグ&ドロップへの対応のお役に立てば幸いです。

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

Omeka Sのモジュール開発におけるGitHubへのリリーススクリプトの作成

Omeka Sのモジュール開発におけるGitHubへのリリーススクリプトの作成しました。 この開発にあたっては、Omeka Sのモジュールを数多く開発されているDaniel-KM氏のGitHubリポジトリの使い方を参考にしました。 具体的には、GitHubのリポジトリは「Omeka-S-module-{モジュール名}」のように作成されています。 例:https://github.com/Daniel-KM/Omeka-S-module-EasyInstall そしてリリースについては、「{モジュール名}-{バージョン}」名とともに、「{モジュール名}-{バージョン}.zip」というファイルを添付しています。 例:https://github.com/Daniel-KM/Omeka-S-module-EasyInstall/releases/tag/3.3.6 このzipファイルを展開すると、「{モジュール名}」のフォルダが作成されます。これは、Omeka Sの仕様に合わせて、モジュールの名前と一致したフォルダが必要なためです。 上記を実現するためのスクリプトとして、以下を作成しました。各リポジトリの直下で実行することを想定しています。 set -e version=1.0.1 # バージョンの例 name=IiifViewers # モジュール名の例 repository_path=. # モジュールのパス(リポジトリの直下で実行する例) # 不要なファイルを除外したモジュール名のフォルダを作成 rsync -ahv $repository_path $repository_path/$name --exclude '.*' --exclude '*.sh' # zipファイルの作成 zip $repository_path/$name-$version.zip -r $repository_path/$name # フォルダの削除 rm -rf $repository_path/$name # リリース gh release create $version $repository_path/$name-$version.zip -t $name-$version -n "Released version $version." # ファイルの削除 rm $repository_path/$name-$version.zip ghコマンドはインストールが必要です。 https://github.com/cli/cli よりよい方法があるかと思いますが、Omeka Sのモジュールおよびテーマ開発の参考になりましたら幸いです。 ...

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

XMLファイルで文字列のみを抽出して処理する方法

XMLファイルで文字列のみを抽出して処理する機会がありました。 このニーズに対して、以下のようなスクリプトにより、実現することができました。 soup = BeautifulSoup(open(path,'r'), "xml") elements = soup.findChildren(text=True, recursive=True) ポイントは、text=Trueを与えている点で、テキストノードのみを取得することができました。 参考になりましたら幸いです。

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

Cultural Japanにおいて指定したIIIFマニフェストを含むアイテムの一覧を返却するAPIを作成しました。

Cultural Japanにおいて指定したIIIFマニフェストを含むアイテムの一覧を返却するAPIを作成しました。 構築したAPIのドキュメントは以下です。 https://petstore.swagger.io/?url=https://api.cultural.jp/v3/api-docs 実行例は以下です。 https://api.cultural.jp/v3/items/urls?manifest=https://iiif.harvardartmuseums.org/manifests/object/215190 APIの開発にあたっては、以下の記事を参考に、express-openapiを利用し、AWS Lambdaを用いて配信しています。 https://www.forcia.com/blog/002471.html Cultural Japanの活用にあたり、参考になりましたら幸いです。

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

Omeka Sのモジュール一括ダウンロードスクリプト

私がOmeka Sでよく使用するモジュールを一括ダウンロードするスクリプトを作成しています。順次更新する予定です。 参考になりましたら幸いです。 # Module ## CustomOntology version=3.3.5.1 name=CustomOntology wget https://github.com/Daniel-KM/Omeka-S-module-$name/releases/download/$version/$name-$version.zip unzip $name-$version.zip rm $name-$version.zip ## IIIF Server version=3.6.6.7 name=IiifServer wget https://github.com/Daniel-KM/Omeka-S-module-$name/releases/download/$version/$name-$version.zip unzip $name-$version.zip rm $name-$version.zip ## Universal Viewer version=3.6.4.5 name=UniversalViewer wget https://github.com/Daniel-KM/Omeka-S-module-$name/releases/download/$version/$name-$version.zip unzip $name-$version.zip rm $name-$version.zip ## iiif viewers wget https://github.com/omeka-j/Omeka-S-module-IiifViewers/releases/download/1.1.0/IiifViewers-1.1.0.zip unzip IiifViewers-1.1.0.zip rm IiifViewers-1.1.0.zip ## 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

2022年9月14日 · 更新: 2022年9月14日 · 1 分 · Nakamura

[備忘録] maptilerのlightおよびdarkテーマ

シンプルな地図を探していたところ、maptilerにたどり着きました。 https://www.maptiler.com/ 具体的には、以下のBasic Lightや、 https://www.maptiler.com/maps/#784b0675-dce5-4a4f-b16c-0d8e06442314//vector/3/-122.45/37.79 以下のBasic Darkがよさそうでした。 https://www.maptiler.com/maps/#74f0e2cf-0dc3-46ba-98ed-c2395d4c71e2//vector/3/-122.45/37.79 ただ、上記の地図をMy Cloudのページからの使用を試みたところ、なかなか見つけることができませんでした。 結果的には、それぞれ以下のURLからたどり着くことができました。 テーマ URL Basic Light https://cloud.maptiler.com/maps/positron/ Basic Dark https://cloud.maptiler.com/maps/darkmatter/ 同様のことでお困りの方の参考になりましたら幸いです。

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

【Omeka S テーマ開発】Bootstrap 5を用いたOmeka Sテーマの不具合を修正しました。

Bootstrap 5を用いたOmeka Sテーマを以下で公開しています。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5 本テーマの使い方は、以下の記事で紹介しています。 そして上記の記事に記載している通り、これまで表示スタイルを指定するオプションで不具合が生じていました。この不具合について、以下のコミットにより修正しました。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/commit/3b456277fe4f75cdcc0044a0fe0df7e7e2e14156 本テーマを使用されている方の参考になりましたら幸いです。

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

Amazon LightsailでOmeka Sの初期設定を行うscript

Amazon LightsailでOmeka Sの初期設定を行うscriptを作成しました。 Amazon Lightsailを用いてOmeka Sを使用する際の参考になりましたら幸いです。 # 変数 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

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

Swagger UIのデモで初期表示するspecificationをgetパラメータで指定する

Swagger UIのデモが以下で公開されています。 https://petstore.swagger.io/ 上記のURLに対して、?url=(jsonやyamlファイルへのURL)を指定することで、初期表示するspecificationを指定することができました。 ここでは、以下の公開されている例を対象とします。 https://github.com/OAI/OpenAPI-Specification 例えば、以下のように指定することができます。 https://petstore.swagger.io/?url=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/api-with-examples.yaml specificationを他者と共有する際の参考になりましたら幸いです。

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

Omeka S IIIF ServerのIIIFマニフェスト(version 2)の出力内容

概要 Omeka SでIIIFマニフェストを配信するためのモジュールとして、IIIF Serverがあります。 https://github.com/Daniel-KM/Omeka-S-module-IiifServer 本記事では、このIIIFマニフェスト(特に、IIIF Presentation API version 2)の出力内容について確認します。 例 以下、https://shared.ldas.jp/omeka-sというURLで公開しているOmeka Sにおいて、IDtest-111のアイテムに関するIIIFマニフェストの例です。 { "@context": "http://iiif.io/api/presentation/2/context.json", "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/manifest", "@type": "sc:Manifest", "label": "Sample Item", "thumbnail": { "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0001.tif/full/!200,200/0/default.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "width": 200, "height": 200 }, "license": "https://shared.ldas.jp/omeka-s/s/test/page/reuse", "attribution": "サンプル機関", "related": { "@id": "https://shared.ldas.jp/omeka-s", "format": "text/html" }, "seeAlso": { "@id": "https://shared.ldas.jp/omeka-s/api/items/1270", "format": "application/ld+json" }, "metadata": [ { "label": "Title", "value": "Sample Item" }, { "label": "Identifier", "value": "test-111" } ], "sequences": [ { "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/sequence/normal", "@type": "sc:Sequence", "label": "Current Page Order", "viewingDirection": "left-to-right", "canvases": [ { "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/canvas/p1", "@type": "sc:Canvas", "label": "1", "thumbnail": { "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0001.tif/full/!200,200/0/default.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "width": 200, "height": 200 }, "width": 6401, "height": 4810, "images": [ { "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/annotation/p0001-image", "@type": "oa:Annotation", "motivation": "sc:painting", "resource": { "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0001.tif/full/full/0/default.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "width": 6401, "height": 4810, "service": { "@context": "http://iiif.io/api/image/2/context.json", "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0001.tif", "profile": "http://iiif.io/api/image/2/level1.json" } }, "on": "https://shared.ldas.jp/omeka-s/iiif/test-111/canvas/p1" } ] }, { "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/canvas/p2", "@type": "sc:Canvas", "label": "2枚目", "thumbnail": { "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0002.tif/full/!200,200/0/default.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "width": 200, "height": 200 }, "width": 6401, "height": 4810, "images": [ { "@id": "https://shared.ldas.jp/omeka-s/iiif/test-111/annotation/p0002-image", "@type": "oa:Annotation", "motivation": "sc:painting", "resource": { "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0002.tif/full/full/0/default.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "width": 6401, "height": 4810, "service": { "@context": "http://iiif.io/api/image/2/context.json", "@id": "https://iiif.dl.itc.u-tokyo.ac.jp/iiif/kunshujou/A00_6010/001/001_0002.tif", "profile": "http://iiif.io/api/image/2/level1.json" } }, "on": "https://shared.ldas.jp/omeka-s/iiif/test-111/canvas/p2" } ], "metadata": [ { "label": "Title", "value": "2枚目" } ] } ] } ] } 以下、それぞれのタイプについて説明します。 ...

2022年9月1日 · 更新: 2022年9月1日 · 2 分 · Nakamura

BeautifulSoupでxml:id属性を与える方法

BeautifulSoupでxml:id属性を与える方法の備忘録です。 以下の方法ではエラーが発生してしまいます。 from bs4 import BeautifulSoup soup = BeautifulSoup(features="xml") soup.append(soup.new_tag("p", abc="xyz", xml:id="abc")) print(soup) 以下のように記述すると正しく実行できました。 from bs4 import BeautifulSoup soup = BeautifulSoup(features="xml") soup.append(soup.new_tag("p", **{"abc": "xyz", "xml:id":"aiu"})) print(soup) Google Colabの実行例は以下です。 https://github.com/nakamura196/ndl_ocr/blob/main/BeautifulSoupでxml_id属性を与える方法.ipynb 参考になりましたら幸いです。

2022年8月30日 · 更新: 2022年8月30日 · 1 分 · Nakamura

[Omeka S]日本語検索の不具合を回避するFoundation Sテーマを作成しました。

以下の記事にまとめた通り、Omeka Sの日本語による全文検索について、デフォルト設定では一部不具合が生じます。 https://nakamura196.hatenablog.com/entry/2022/03/07/083004 上記の記事において、この不具合への簡易な対応方法である「対策2」を紹介しています。 今回はOmeka Sのテーマの一つである「Foundation S」に対して、この対策を適用したリポジトリを作成しました。 https://github.com/nakamura196/foundation-s 「Foundation S」テーマをお使いで、日本語検索の不具合でお困りの方の参考になれば幸いです。

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

[Omeka S]Bulk Importの不具合対応(ソースコードからのインストール方法を含む)

概要 Omeka Sでのデータ一括登録を行うためのモジュールの一つであるBulk Importについて、2022年8月21日現在の最新版であるver.3.3.33.4において不具合が含まれるようです。 具体的には以下のissueで、mediaの一括登録時に不具合が生じます。 https://gitlab.com/Daniel-KM/Omeka-S-module-BulkImport/-/issues/11 この不具合について、以下のcommitで既に対応済みです。 https://github.com/Daniel-KM/Omeka-S-module-BulkImport/commit/7d568a97f08459e22e7c5fbaa8163b17ab4ba805 しかし、本日時点において、まだRelease版は公開されていないため、ソースコードからのインストールを行う必要があります。 ソースコードからのインストール 以下の記事も参考にしてください。 ここでは、改めてインストール方法を説明します。 ソースコードのダウンロード Omeka Sのmodulesディレクトリに移動して、ソースコードをダウンロードします。必要に応じて、ダウンロード済みのBulkImport関連ファイルおよびフォルダを削除します。 cd modules rm -rf BulkImport* git clone https://github.com/Daniel-KM/Omeka-S-module-BulkImport.git BulkImport composer 次にcomposer installを行います。 cd BulkImport composer install --no-dev 以下のように、composerが見つからない場合があります。 composer: Command not found. 簡単な対応方法として、以下を実行します。 curl -sS https://getcomposer.org/installer | php php composer.phar install --no-dev 上記により、モジュールのインストールは完了です。 Omeka Sの管理画面での操作 モジュールのアップグレード ブラウザから、管理画面のModules一覧ページにアクセスします。 http://xxx.xyz/omeka-s/admin/module この一覧からBulk Importを確認し、「Upgrade」ボタンが表示されている場合には、アップグレードしてください。 Import時の注意 基本的な操作方法に変更はありませんが、以下のStart import画面において、「Identifier to use for linked resources or update」の変更が必要な場合があります。 以下のmetada.csvおよびimage.csvを使用することを想定します。 https://gist.github.com/nakamura196/fa50591426c43eec319e71bfdb8b6460 以下、登録画面です。 ...

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

[備忘録]Virtuosoの使い方

RDFストアであるVirtuosoの使い方に関する備忘録です。 登録済みのグラフURIを確認する Conductor > Linked Data > Graphs > Graphs 手動でのRDFファイルのアップロード Conductor > Linked Data > Quad Store Upload Federated Queryを有効化する 以下の記事が参考になりました。「Account Roles」の設定が必要でした。 https://community.openlinksw.com/t/enabling-sparql-1-1-federated-query-processing-in-virtuoso/2477 以上、参考になりましたら幸いです。

2022年8月19日 · 更新: 2022年8月19日 · 1 分 · Nakamura

コマンドラインから virtuoso を手動で再起動または停止する方法

コマンドラインから virtuoso を手動で再起動または停止する方法です。 以下の記事を参考にしています。 https://stackoverflow.com/questions/42575039/how-to-manually-restart-or-stop-virtuoso-from-commandline 以下のようにするのがよいようです。 isql {host}:{port} {UID} {PWD} EXEC=shutdown 具体例は以下です。 isql localhost:1111 dba dba EXEC=shutdown 以下のようにisqlがnot foundの場合、パスを変更して実行します。 isql localhost:1111 dba dba EXEC=shutdown bash: isql: command not found find / -name isql /usr/local/bin/isql /root/virtuoso-opensource/binsrc/tests/isql /usr/local/bin/isql localhost:1111 dba dba EXEC=shutdown 参考になりましたら幸いです。

2022年8月19日 · 更新: 2022年8月19日 · 1 分 · Nakamura

VGG16を用いた類似画像検索

以下の記事に関連して、VGG16を用いた類似画像検索を行うノートブックを作成しました。 ノートブックは以下です。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/[vgg16]_Image_Similarity_Search_in_PyTorch.ipynb 「ランタイム」 > 「すべてのセルを実行」 で動作を確認することができます。 参考になりましたら幸いです。

2022年8月19日 · 更新: 2022年8月19日 · 1 分 · Nakamura

オートエンコーダ(自己符号化器)を用いた類似画像検索

以下の記事を参考に、オートエンコーダ(自己符号化器)による類似画像検索を行うノートブックを作成しました。 https://medium.com/pytorch/image-similarity-search-in-pytorch-1a744cf3469 ノートブックは以下です。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Image_Similarity_Search_in_PyTorch.ipynb 「ランタイム」 > 「すべてのセルを実行」 で動作を確認することができます。 参考になりましたら幸いです。

2022年8月19日 · 更新: 2022年8月19日 · 1 分 · Nakamura

[RDF] URIにアクセスしたらSnorqlの画面にリダイレクトさせる設定

以下の記事の続編です。 ジャパンサーチのRDFストアを参考として、https://xxx.abc/data/123などのURLにアクセスしたら、https://xxx.abc/?describe=https://xxx.abc/data/123にリダイレクトさせる設定の備忘録です。 ジャパンサーチの例 https://jpsearch.go.jp/entity/chname/葛飾北斎 -> https://jpsearch.go.jp/rdf/sparql/easy/?describe=https://jpsearch.go.jp/entity/chname/葛飾北斎 以下のようなconfファイルを作成し、適切な場所(例:/etc/httpd/conf.d/)に配置します。 RewriteEngine on RewriteCond %{HTTP_ACCEPT} .*text/html RewriteRule ^/((data|entity)/.*) https://xxx.abc/?describe=https://xxx.abc/$1 [L,R=303] その後、apacheを再起動します。 systemctl restart httpd これにより、snorqlの画面にリダイレクトさせることができます。

2022年8月19日 · 更新: 2022年8月19日 · 1 分 · Nakamura