2020年6月20日土曜日

【59】Bitcurator NLPの続き・出来たけど。。。の巻き

前回に引き続き、Bitcurator NLPのセットアップからです。
前回スタックした、セットアップ。。。
今回、お師匠が問題解決虎の巻を整えていただきました。ので、それを書いていきます。

前回終了後・・・
「道場」後に有志のかたがたが作業を進めました。そのなかで、Hさんから提案があり、無事に解決した点を記します。
$ git clone https://github.com/bitcurator/bitcurator-nlp-gentm
を行った後、/home/bitcurator-nlp-gentm/にある"setup.sh"を開き、232行と233行の間に、
git init
を挿入したのち、改めてセットアップを実行します。
$ cd bitcurator-nlp-gentm
$ sudo ./setup.sh
これで、"sleuthkit"のエラーが解消されます。

再度、セットアップ作業と対峙
問題は、pythonとpython3の関係にありました。
そこで、インストール失敗したPCで下記のコマンドを実行します。
まずは、pythonとpython3のファイル属性を確認します。
$ ll /usr/bin/pytho*
すると、下記のよう表示されます。

例えば、
$ ........~~~~/usr/bin/python->python2.7
は、python2.7のファイルであり
$ ........~~~~/usr/bin/python2->python2.7
もまた、同様で、さらに
$ ........~~~~/usr/bin/python3->python3.6
と、"3"には、3.6が対応しており、単に"python"のみを実行すると、"2.7"が選択されることがわかります。
そこで、
python(2)関連を削除し、リンクを2から3にかえてあげることにします。
$ cd /usr/bin/
$ sudo rm python
$ sudo rm python-config
$ sudo ln -s python3.6 python
$ sudo ln -s python3.6-config python-config
そして、pythonのバージョンを確認すると
$ python -V
$ python 3.6.9
と、python2.7から"3.6.9"がデフォルトに変更されたことが確認できました。

つぎに、bitcurator-nlp-gentmにディレクトリを変更します。
$ cd bitcurator-nlp-gentm
そして、ツールを実行します。
$ python bcnlp_tm.py
すぐに、エラーメッセージが出ます!!メッセージにあるエラーのうち、最終行にあるメッセージに記された内容を確認し、それぞれ対処します。
※今回試した際に出たエラーです。
まず、python2から3に自動でコード変換させます。"2to3"をインストールし、実行します。
$ sudo apt install 2to3 -y
エラーが出たファイルを確認し、"2to3"を実行してpython3のコードに変換します。
・bcnlp_tm.py
$ 2to3 -w bcnlp_tm.py
・bcnlp_fxtract.py
$ 2to3 -w bcnlp_fxtract.py
・bn_filextract.py
$ 2to3 -w bn_filextract.py
・bn_filextract.pyの656行目を修正更新
sudo vi bn_filextract.py
if " " in f.info.name.name.decode():
  name_slug = f.info.name.name.replace(b" ", b"%20")
・bn_filextract.pyの183行目をコメントアウト
##doc = str(doc, erros='ignore')
・bn_filextract.pyを修正更新
fs_desc = "Unknow file system"
※インデントを上段の"fs_desc"に合わせること!

Bitcurator-NLPを確認!
エラー箇所がなくなると走り出します。少々時間がかかりますが、うまくいくとWebブラウザー"firefox"が起動し、下記の画面が表示されます。


ここでは、NLPに同梱しているサンプルを使い、検証しました。
が!!!
これがなにを示しているのか?どう活かしていいのかがわからず、議論となります。
あ~でもない、こ~でもない、といいつつ、関連論文を見たりした結果、
●左側の各円に付された数字はトピックの割合の大きい順に付されている。
●右側のグラフは、トピックに属する具体的なワードを表示している。
●トピックが作成されるジャンル?属性?については、今回はわからず。
ということで、この件については、改めて論文を読んで次回議論することになりました。
以下を読んできましょう!答え合わせするよ!!
https://core.ac.uk/download/pdf/210610153.pdf
https://saaers.wordpress.com/2019/07/02/an-exploration-of-bitcurator-nlp-incorporating-new-tools-for-born-digital-collections/

関連確認
ディスクイメージの分析結果の根拠となるデータはどこに格納されているのか?ということでそれを確認しました。
/home/bitcurator-nlp-gentm/extracted_files/0/
で確認できました!
そして、先ほどの議論のなかで、われわれが把握できるディスクイメージを使ってみてはどうかということになり、以前、"Bitcurator"で作成したイメージファイルで試用することに。それを思い出したWさんエラいわ!!
早速、"config.txt"を修正します。
$ sudo vi config.txt
7行目にある"govdocs45sampler.E01"を試用するファイル名に置換。
そして忘れては絶対いけない作業、/home/bitcurator-nlp-gentm/extracted_files/を空にしてください!!この作業を忘れると"govdocs45sampler.E01"の結果と混ざります。。。
結果は、日本語はやはり厳しいようです。
ということで、今日は以上!
記載漏れがあるだろうな・・・ご指摘ください。
次回は、7月3日です!!
論文読むの忘れるなよーヨーヨーオー。。。
そして、最後にこれだけ、Natural Language Processingって私の脳力では理解できないのでは?

2020年6月6日土曜日

【58】Bitcurator モジュールNLPを試す…が!!!

世の中は通常モードに戻りつつあるようですが、道場は今日もリモートで勉強会です。作業の性格上、リモートの方がいいのかもしれませんが…
ということで、今日も初めていきます!

Bitcurator NLPを試す

前回、Bitcuratorの一連の作業を確認し、続けてモジュール・NLPのダウンロードで終了しました。その続きです。
一応の確認ですが、NLPについては、
概要: https://bitcurator.net/bitcurator-nlp/
Wiki: https://github.com/bitcurator/bitcurator-nlp/wiki
ダウンロード・作業手順: https://github.com/bitcurator/bitcurator-nlp-gentm
を確認してください。
以下は、作業手順に沿って進めていきます(いきたかった)。

Disk Image Selection and Configuration

ここでは、対象となるディスク・イメージを選択しますが、今回は、標準で入っているサンプル・イメージを使用することにしましたので、この作業はスキップします。オリジナルのディスク・イメージを使用する場合は、
/home/bitcurator-nlp-gentm/config.txt
を開き、テキストを修正・加筆します。
例)[image_section]
govdocs45sampler.E01 = 1     ⇨⇨⇨⇨     [my-image-name1].E01 = 1 
※[]括弧内を対象ファイルの名前にします。

Running the Tool

それでは、NLPを動かします。ターミナルを開き、
$ python bcnlp_tm.py
でGO!
ImportError: No module named pytsk3
あれ…あれれ…エラー…メッセージです。"pytsk3"が無いということらしいです。
ここから本日の道場は、流浪します。そうです。久しぶりの
"STUCK"
です。

エラーの分析

そこで、ダウンロードしたはずのモジュールがないというならば、改めてダウンロードしてみようということになり、
$ sudo ./setup.sh
を再度実行しました。そこで、インストールの流れを確認したところ、
  1. ディレクトリの権限問題
    The directory '/home/bcadmin/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
  2. セットアップで指示されているファイルが無い
    STATUS: nlp-webtools: Building and installing libuna
    rm: cannot remove 'libuna-alpha-20170112.tar.gz': No such file or directory
  3. モジュールがない
    STATUS: nlp-webtools: Building and installing The Sleuth Kit
    fatal: not a git repository (or any of the parent directories): .git
  4. pythonのバージョンがサポート外かもしれない
    Complete output from command python setup.py egg_info:  Unsupported Python version: 2.7.17 (default, Apr 15 2020, 17:20:14)
     [GCC 7.5.0], version 3.5 or higher required.
などの、エラーを確認し、それぞれの検証をした結果、

  1. ディレクトリの権限をrootにするために下記のコマンドを実行した結果、解決
    $ sudo chown -R root /home/bcadmin/.cache/pip/
  2. 'libuna-alpha-20170112.tar.gz'は"setup.sh"を見ると無くても問題ない
     l.187: # Newer versions break a lot of stuff. Keep 20150927 for now.
  3. 分からず
  4. 後に調べてみると、python2は2.7が最後となっていることがわかりました。がこれが問題なのかどうかはわかりません。検証が必要
との結果に。いろいろと試してみましたが…どれも宿題となります。
また、BitcuratorをインストールしたVMにNLPをインストールすることが問題なのでは?といった意見も出ましたが、未検証です。

ということで、今回の作業は終わりです。

次回は、6月19日19時からとなります。
世の中が通常モードにもどりつつありますが、強制参加ではありませんので、時間があるときに顔を出していただければ!
ということで、次回お目にかかりましょう!

最近の投稿

【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を扱ったアーカ...

人気の投稿