2021年5月26日水曜日

【番外編】DPCのワークフロー関連ウェビナー(2021-0420&22)―中途半端ですみませんなメモ

 4月20日と22日、DPCがワークフローに関するウェビナーをやるというので、申し込みました。日本時間21時スタートと、まだ覚醒している間に出られるので...

https://www.dpconline.org/events/workflow-webinars-and-cow

20日はなんだか疲れていてよくわからなかったのですが、ingest前の処理ってやっぱりけっこう大変なのねーとしみじみ感じるような報告が3本でした。メルボルン大学と、ルクセンブルク国立図書館と、LSE。メルボルン大学がおもしろそうだったのだけれども、最初音声が悪くて話が見えなかったら、最後までよくわかりませんでした。京都のiPRESで報告した人みたいです。筒井弥生さんがFBで次のリンクを教えてくださいました。

ipres2019.org/static/pdf/iPres2019_paper_113.pdf

22日はArchivematicaの話があるので、聞きながらここにメモできればと思って開いたのだけれど、ダメかもね。

あ、いまYoさんがZoomに入ってきました(実況)。

今日は疲れちゃったので2本だけ見て寝ます。

  • Ingest to Preservica using Jester with Chris Jones, State Library of South Australia
こちらはビデオ。
しょっぱなからopex fileというのがなんだかわからない。どうもこれらしい。

https://developers.preservica.com/documentation/open-preservation-exchange-opex

なんであれこれがingestのときめんどうならしく、SLSAが開発したJesterを使うとささっとPreservicaに入れられるらしい。

https://www.dpconline.org/blog/nsla-s-digital-preservation-network

対象のフォルダを選んで、Investigateボタンを置くと Droidが動いてファイル情報が出るのでingestしたいのを選ぶと、Manifestというのを出力してくれる。でそれがcsvになっていて、ハッシュ値とか全部入っていて、フォルダ構造もちゃんと親子関係で(AtoMのテンプレートみたいに)入力されているので、それがPreservicaで再現されるらしい。
とにかくJesterの仕事が終わればあとはPreservicaが全部やってくれるのだそうな。

  • Archivematica workflow with Jenny A Brook, National Library of Wales 

Libraryなので、digitizationしたものの話らしいが、画面(ビデオ)がぼやけていてなんだかよくわからない(笑)。どうも、アクセスを制限したいものが含まれているコレクションの話らしい。そして、図書館の話なので用語がわからない!とにかくArchivematicaにぶちこんで、それをFedora repositoryに入れるらしいのですが。

Alma recordsって、これのこと?

https://knowledge.exlibrisgroup.com/Alma/Product_Documentation/010Alma_Online_Help_(English)/Metadata_Management/005Introduction_to_Metadata_Management/020Record_Numbers

Active MQって??
https://activemq.apache.org/

....というわけで詳細はちんぷんかんぷんだったのですが、要するに、アクセス制限をかけなければいけないものが含まれているとき、処理のしかたを修正しなければならない、そのしかたについてのプレゼンらしい(笑)。
例えば、Archivematicaに入れるフォルダ全体がrestrictedなら、サムネール作ったりしなくていいし、フォルダの一部なら、サムネール作成やnormalizationはちゃんとやったうえで、一部のファイルだけを、アクセスできないように処理する必要がある。そこの部分を解決しましたよ、というプレゼンだったのでしょう。

結局なんだかよくわからないまま、離脱~




2021年5月22日土曜日

【85】番外編、AtoMへのsudachiインストール更新

以前、Kuromojiよりも語彙や分割能力に優れた形態素解析器sudachiをAtoM2.6に導入できた事例を報告しました。

http://irisawadojo.blogspot.com/search/label/Sudachi

これが全く無効となったことが判明しました。sudachiのバージョンが古くなったためか、git hub上でproject not foundとなって引退です。

https://github.com/WorksApplications/elasticsearch-sudachi/tree/v5.6.16-2.0.2

お疲れ様でした。

というわけで、現行最新ver. AtoM2.6.4のために使っているElasticsearchに、プラグインelasticsearch-sudachiをインストールするための手続きを新たに紹介します。以前より簡単になりました。参照したサイトはhttps://github.com/WorksApplications/elasticsearch-sudachi/blob/develop/docs/tutorial.mdhttps://js-challenge.dev/posts/elasticsearch-install-sudachi/です。

最初にElastic Search (ES)のバージョンを念のため確認。

VMなんかにAtoMをインストールした初期状態では、curlできないのでインストール。

$ sudo apt install curl

$ curl http://localhost:9200

そうしたら、

"version" : {

    "number" : "5.6.16",

    .........

と出ます(AtoM2.6.4)。

ここからSudachiをいれていきます。ESのプラグインであるanalysis-sudachiをインストールします。

めんどいのでrootユーザーになります。

$ sudo su

ES 5.6にあったバージョンのanalysis-sudachiをとってくる。

$ /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/v2.1.0-es5.6/analysis-sudachi-5.6.16-2.1.0.zip

本当に入ったかを確認。

$ /usr/share/elasticsearch/bin/elasticsearch-plugin list

analysis-sudachi

と表示されていたらOK。

次に辞書を入れます。

/etc/elasticsearch/sudachi/ を作成し、そこにsystem_core.dicという名前で辞書を配置します。

$ mkdir /etc/elasticsearch/sudachi

$ cd /etc/elasticsearch/sudachi

最新の辞書のコア版を入れます。フルの辞書が欲しい人は、以下coreのところをfullに書き換えてください。

$ wget https://object-storage.tyo2.conoha.io/v1/nc_2520839e1f9641b08211a5c85243124a/sudachi/sudachi-dictionary-latest-core.zip

うまくいくはずがなぜか拒否されたので、次のページ(http://sudachi.s3-website-ap-northeast-1.amazonaws.com/sudachidict/)からダウンロード。

$ wget http://sudachi.s3-website-ap-northeast-1.amazonaws.com/sudachidict/sudachi-dictionary-20201223-core.zip

$ unzip sudachi-dictionary-20201223-core.zip

$ cp sudachi-dictionary-*/system_core.dic .

Elasticsearchを起動

$ sudo /etc/init.d/elasticsearch restart

次のコマンドでanalysis-sudachiが "plugins”に入っていればOK.

$ curl -X GET 'http://localhost:9200/_nodes/plugins?pretty'

.........

 "plugins" : [

        {

          "name" : "analysis-sudachi",

          "version" : "2.1.0",

          "description" : "The Japanese (Sudachi) Analysis plugin integrates Lucene Sudachi analysis module into elasticsearch.",

          "classname" : "com.worksap.nlp.elasticsearch.sudachi.plugin.AnalysisSudachiPlugin",

          "has_native_controller" : false

        }

      ],

.........

上記のように入っていることを確認。

最後にAtoMの設定ファイルを変更。

$ sudo nano /usr/share/nginx/atom/plugins/arElasticSearchPlugin/config/search.yml

もちろん、nanoじゃなくてviでもいい。

italian:

  tokenizer: standard

  filter: [lowercase, italian_stop, preserved_asciifolding]

の下に

japanese:

  tokenizer: sudachi_tokenizer

  filter: [sudachi_baseform, sudachi_normalizedform]

を挿入。インデントを他の行とずれないように注意。

今回入れたfilterは、sudachi_baseformが形容詞と動詞を終止形にして検索。sudachi_normalizedformが、異体字などを統制して検索してくれる。

filterについては色々あるので、以下を参照。

https://github.com/WorksApplications/elasticsearch-sudachi/blob/develop/docs/tutorial.mdのフィルター説明。

https://www.ai-shift.co.jp/techblog/168 はtoken filterのところ。

https://qiita.com/sorami/items/99604ef105f13d2d472b は様々なフィルターのところ。

$ sudo nano /usr/share/nginx/atom/plugins/arElasticSearchPlugin/lib/arElasticSearchMapping.class.php 

'it' => 'italian’, の下に
'ja' => 'japanese’, を記入。こちらもインデントを他の行とずれないように注意。

Nginxを再起動し、インデックスの再読み込み。

$ sudo systemctl restart nginx

$ sudo php /usr/share/nginx/atom/symfony search:populate

これにて終了。

【84】ArchiveSpaceの機能を試す

今日もArchiveSpaceの続きです〜
まず以下でArchiveSpaceを立ち上げます。環境によっては立ち上がるまで少し時間がかかります。




前回、menuの変な日本語訳でかなり盛り上がりましたが、ArchiveSpaceの翻訳はGoogle翻訳だそうです。私もGoogle翻訳さまさまにお世話になっていますが、このような専門的なSWでは無理がありますよね。少し納得です。

今日は前回と同様、イエール大学のマニュアルをみながらやってみます。
https://docs.google.com/document/d/1DI_7YNZy-RcjQ9hpMMbxJEkHFpYndzmDoG3ylOc38BY/edit

デジタルオブジェクトの登録(p.90〜)
まず試すのは、Digital Object Recordsの登録です。
試しで写真を1枚登録してみます!
  1. Toolbarから「作成」をクリック
  2. デジタルオブジェクトを選択
  3. タイトルやID、フォーマット、利用制限などの項目を登録
  4. 保存

順番は難しくないですが、入力する情報が結構色々あります。次に、画像を登録しようとしましたが、写真の画像をとこでインポートするかが分かりません。探してもそれらしいメニューが見当たりません。そこで、ハット気づきました。これは、「メタデータを管理」するシステムであることに。(・・;)

ArchiveSpaceはどうもAtoMのように画像そのものも一緒に登録するものではなさそうです。そこで、マニュアルを再度読んでみると確かにそうでした。おおおお〜これは予想外の展開です!

こうなると、デジタルオブジェクトを保存するサーバー、メタデータ管理システム、閲覧システムの三つを組み合わせないと一般公開ができないということになります。管理上では理にかなっていますし、大量のデータを扱う機関では当たり前のシステムですが、貧乏な機関には三つの機能を(不完全ではありますが)ある程度提供するAtoMの方が導入しやすい気がします。

画像はArchiveSpaceとサーバーをつなげてURIなどを登録すれば、サムネイル画像が表示されるようですが、我々にはつながっているサーバーもURIを付与したデータもないので、試しようがありません。なので、はい〜つぎつぎ〜〜

階層を持つ資料の登録

さてさて、我々アーキビストには階層を持つ資料の登録が気になります。ということで、階層レベルの記述ができるかを試してみます。

作り方は簡単で、メニューのAdd Child、Add Siblingをクリックして階層を作成します。そうすると、コレクション、ファイル、アイテム(日本語は「項目」となっている。笑)の順で階層が作成されます。いいじゃないの〜

(子供とかでつくっちゃってごめんなさい!)

膨大な量の資料登録には、CSVテンプレートが必要なので、テンプレートから登録できるかも試します。しかし、適切なCSVテンプレートはなさそうです。

↓ここを見ると、テンプレートが色々ありますが、どうも階層の資料を登録できるCSVテンプレートはなさそうです。

Migration tools & data mapping

しかし、エクセルをEADに変換してからArchiveSpaceへ登録するのが主流でしょうか。以下では様々なデータ形式の変換方法があります。EADへの変換はもはや人間がやるものではなく、機械でやってくれるので、それならできる気がしますが… oXygenエディターでできるみたいなのでぜひお試しあれ。(うん?なに?やらないよ。各自やってみて〜 笑)

Yale Archival Management Systems Committee: Excel to EAD

はい〜つぎつぎ〜

保存場所の登録(p.46)
今度は、保管場所との関係が気になるので、46ページ、Container Profile Recordsを試します。ここは若干概念などが理解できず時間がかかりました。

保管場所の管理には、場所(location)、トップコンテナ(top container)があって、各自にプロファイル(詳細な内容)を登録します。そうすると資料を登録する際の「インスタンス」という項目から紐付けることができます。


しかし、ここで議論になったことは、「トップコンテナ」とはなんぞや!ということでした。
トップコンテナについては以下に説明があります。

University of Denver Special Collection Processing Manual

上記によると、
Top Containers are used in ArchivesSpace to describe physical, circulating items. They are the same as item records in the library management system. ArchivesSpace draws a distinction between the physical aspects of containers (e.g. their profile, barcode, and location) and their archival aggregate aspects (e.g. the archival resources they contain). The former are recorded on the Top Container record; the latter are recorded on one or more Archival Object records describing the container’s constituent archival resources.

だそうです。あは!そうか!
うん?なに?本当にわかった?
しらねーよ。上に書いてあるとおりだよ。¯\_( ͡❛ ͜ʖ ͡❛)_/¯

でもとにかくやってみました。作成はいつもToolbarにある「作成する」から選択すればできます。


こんな感じで入力します。

スペース計算機というのがあって、保存場所の高、幅、奥行きを入れれば面積を計算し、どれくらいのものが入るかの計算ができるみたいです。単純な計算と実際の場所の使い方は異なるし、箱の面積も入れなければ計算ができないという面はあるけど、うまく使うと役に立ちそうです。

コンテナ管理関連では以下のページが詳しいです。

Yale Archival Management Systems Committee: Container Management

ArchiveSpaceとAtoMの違いのひとつは、ArchiveSpaceには図書館や博物館の資料を登録することも考慮されているので、トップコンテナのようにアイテムとしての資料を管理する際の物理的場所の管理に階層の概念が現れていることかなと個人的には感じました。我々AtoMばっかりやっていて、この部分は若干カルチャーショックを受けた部分でもあります。でもとても良い勉強になりました。

ArchiveSpaceの今までのユーザーコミュニティの実績は、以下のように沢山蓄積されています。お時間のある方はぜひ勉強して教えてください〜(うん?私はちょっと忙しので…苦笑)

Community Generated Resources
https://archivesspace.atlassian.net/wiki/spaces/ADC/pages/16449557/Community+Generated+Resources

今日はここまでです。では、またね〜 (•◡•) /

========================
次回は、6月4日(金)です。
EADをArchiveSpaceに入れてみます。


2021年5月8日土曜日

【83】ArchivesSpaceのインストール

本日からArchivesSpaceにチャレンジします。概要はこちらhttps://archivesspace.org/about/mission

インストール

今回はVirtualMachineのUbuntu 18.04にインストールします。

Ubuntu 18.04は、最新バージョンにアップグレードしました。

sudo apt-get update

インストールのマニュアルはこちら。

https://archivesspace.github.io/tech-docs/administration/getting_started.html

Javaをインストール

sudo apt install openjdk-8-jdk 

https://github.com/archivesspace/archivesspace/releasesから、v2.8.1のZIPファイルをダウンロードして展開したディレクトリをホーム直下に移動。

cd archivesspace

./archivesspace.sh

これで完了。

http://localhost:8080/ でthe staff interfaceに入る。目録作成のスタッフ用。

http://localhost:8081/ でthe public interfaceに入る。一般閲覧用。

英語から日本語への切替

言語切替は、コンフィグファイルで設定する。

archivesspace/locales/ja.ymlで日本語の訳語設定を確認できます。


archivesspace/config/config.rbで使用言語を決定します。

一応元のファイルを名称変更してコピーしておきます。

 cp config.rb congfig.rb-origin

config.rbの内容を変更していきます。

AppConfig[:locale] を変更します。

AppConfig[:locale] = :jaとしてコメントアウトを外しました。

続いて、AppConfig[:frontend_url] とAppConfig[:public_url]を変更します。

 


ともに「 = "http://ローカルのipアドレス"」と記入し、コメントアウトを外します。

日本語になっているかを確認します。

./archivesspace.sh startで再開。

http://localhost:8080/とhttp://localhost:8081/ が日本語になったことを確認。

ArchivesSpaceのテスト開始

マニュアルを探したところ、イエール大学のものが見つかりました。

https://docs.google.com/document/d/1DI_7YNZy-RcjQ9hpMMbxJEkHFpYndzmDoG3ylOc38BY/edit

リポジトリの記述を作ります。リポジトリはアーカイブズ[機関]のこと。

必須項目の2つを入力します。

短縮名 ISD

リポジトリ名 入澤道場

もう一つ作る。

短縮名 HR

リポジトリ名 平野道ラボ

「道場」でキーワード検索すると、入澤道場のみがヒットしました。どうやら日本語の辞書が入っているような気配を感じます。

次に受託(Accession)資料群「橋本文書」を作成します。偽書です。

受託は、資料群の受入時点で作成する記述です。

作業中に意味不明な日本語訳がいくつか見つかります。https://github.com/archivesspace/archivesspace/blob/master/common/locales/ja.ymlによれば、多くの訳語は、Google翻訳で作成されたとのこと。

例えば、スポーン。元々の英語表記はSpawnで、受託記述をコピーして、リゾース記述にペーストできる機能を指します。リゾース記述は、アーカイブズ記述のことです。

続いて、抑止。これは、suppressでアクセス制限のこと。ほとんどのユーザー(記述編集者含む)には表示されなくなります。

日付などの項目にもざっと記入しました。

その後、「橋本文書」をスポーンを使って、リゾース記述とし公開に設定しました。

リゾース記述を終えたので、エージェント記述の橋本を作成。エージェントは、アーカイブズの作成者のことです。

ちなみに、エージェント記述を作ってリゾース記述とリンクさせる、必須項目を記入するといった処理を済ませておかないと、保存時にエラーがおこります。


最後に、一般公開用のthe public interfaceで公開設定にした記述がどう表示されているのかを確認します。どういうわけかエージェント記述しか確認できません。

リゾースを保管するレポジトリ記述が非公開になっていることを思い出し、これを公開したことで、一般ユーザーも見れるようになりました。


次回は、5/21(金)19:00〜です。

この続きをやります。


最近の投稿

【108】Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを読む

 Gijs Aangenendt氏の修士論文、Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを半分読みました。 前半は、AIを扱ったアーカ...

人気の投稿