芥川龍之介が「蜘蛛の糸」を発表して百年。高二の秋の文化祭,クラスの仮装行列のテーマが 蜘蛛の糸だった。お釈迦様の極楽タワーの竹を近所から切り出し,地獄の焔と煙の絵を描いた。犍陀多に続いて蜘蛛の糸(登山部の赤いザイル)に群がる地獄の亡者だったころ。
2022年12月24日土曜日
第二次量子革命
2022年12月23日金曜日
NDLデジタルコレクション
公開 | 登録者 | 館内 | 小計 | |
電子書籍・電子雑誌 | 1,228,087 | 0 | 218,128 | 1,446,215 |
雑 誌 | 16,901 | 825,998 | 525,042 | 1,367,941 |
図 書 | 362,523 | 560,466 | 387,623 | 1,310,612 |
博士論文 | 15,929 | 125,420 | 123,322 | 264,671 |
日本占領関係資料 | 70,805 | 0 | 29,963 | 100,768 |
古典籍資料 | 82,107 | 17,235 | 7 | 99,349 |
録音・映像関係資料 | 6,008 | 0 | 48,434 | 54,442 |
歴史的音源 | 6,001 | 0 | 42,731 | 48,732 |
プランゲ文庫 | 0 | 16,017 | 28,459 | 44,476 |
官 報 | 20,980 | 0 | 0 | 20,980 |
憲政資料 | 10,865 | 0 | 1,723 | 12,588 |
他機関デジタル化資料 | 325 | 1,033 | 883 | 2,241 |
地 図 | 41 | 0 | 1,305 | 1,346 |
パッケージ系電子出版物 | 0 | 0 | 338 | 338 |
特殊デジタルコレクション | 197 | 0 | 45 | 242 |
合 計 | 1,820,769 | 1,546,169 | 1,408,003 | 4,774,941 |
2022年12月22日木曜日
ウルトラQ
「ウルトラQ」は、1966年から1967年にかけて放送された「ウルトラマン」シリーズの第1作です。この番組は、地球を守るために、人間から姿を変えた異星人が、異星生命体との戦いを繰り広げるという内容です。
Please explain the story of Ultra Q which is the TV program in Japan mid 1960's
「ウルトラQ」は、1966年1月2日から7月3日まで日本で放送されたサイエンスフィクションテレビシリーズです。ウルトラシリーズの最初の作品であり、その後に多くの他の特撮番組や映画が加わることになりました。番組は、奇妙な現象を調査する科学者やジャーナリストたちを描いており、彼らは様々な怪物や宇宙生物と出会います。主人公は写真家としてチームに加わる若い女性、江戸川ゆり子です。彼らは世界中を旅し、チームのリーダーである岩本教授が備える技術的に先進的な車両や武器を活用しながら、奇妙で危険な状況に遭遇します。「ウルトラQ」は日本で人気を博し、いくつかの続編シリーズを生んでいます。その中でも「ウルトラマン」は文化的現象となり、今でも最も有名な特撮番組の一つとして知られています。日本のサイエンスフィクションの代表的作品とされ、特撮ジャンルに長く影響を与えています。
2022年12月21日水曜日
ブラックボックス
2022年12月20日火曜日
mecab-neologd(3)
#!/opt/homebrew/bin/python3
# usage: aozora.py infile outfile
# infile is taken from https://www.aozora.gr.jp -> txt download
import MeCab
import re
import sys
infile = sys.argv[1]
outfile = sys.argv[2]
bindata = open(infile, 'rb').read()
textdata = bindata.decode('shift_jis')
# 青空文庫のための固有処理
textdata = re.split(r'\-{5,}', textdata)[2]
textdata = re.split(r'底本:', textdata)[0]
textdata = textdata.strip()
# 人によっては以下のパスは異なるので確認してね
mecab = MeCab.Tagger('-d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd')
mecab.parse('') # バグ対処
results = []
lines = textdata.split("\r\n")
for line in lines:
r = []
# 学習に使わない表現の削除処理
s = line
s = s.replace("|", "")
s = re.sub(r'《.+?》', "", s)
s = re.sub(r'[.+?]', '', s)
# Mecab
node = mecab.parseToNode(s)
while node:
# 単語を取得
if node.feature.split(",")[6] == '*':
word = node.surface
else:
word = node.feature.split(",")[6]
# 品詞を取得
part = node.feature.split(",")[0]
if part in ["名詞", "形容詞", "動詞", "記号"]:
r.append(word)
node = node.next
rl = (" ".join(r)).strip()
results.append(rl)
# write to a file
with open(outfile, 'w', encoding='utf-8') as wf:
wf.write("\n".join(results))
2022年12月19日月曜日
mecab-neologd(2)
[install-mecab-ipadic-NEologd] : OK. Let's install mecab-ipadic-NEologd.
[install-mecab-ipadic-NEologd] : Start..
[install-mecab-ipadic-NEologd] : /opt/homebrew/lib/mecab/dic isn't current user's directory
[install-mecab-ipadic-NEologd] : Sudo make install to /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd
make[1]: Nothing to be done for `install-exec-am'.
/bin/sh ./mkinstalldirs /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd
/usr/bin/install -c -m 644 ./matrix.bin /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/matrix.bin
/usr/bin/install -c -m 644 ./char.bin /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/char.bin
/usr/bin/install -c -m 644 ./sys.dic /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/sys.dic
/usr/bin/install -c -m 644 ./unk.dic /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/unk.dic
/usr/bin/install -c -m 644 ./left-id.def /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/left-id.def
/usr/bin/install -c -m 644 ./right-id.def /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/right-id.def
/usr/bin/install -c -m 644 ./rewrite.def /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/rewrite.def
/usr/bin/install -c -m 644 ./pos-id.def /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/pos-id.def
/usr/bin/install -c -m 644 ./dicrc /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/dicrc
[install-mecab-ipadic-NEologd] : Install completed.
[install-mecab-ipadic-NEologd] : When you use MeCab, you can set '/opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd' as a value of '-d' option of MeCab.
[install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here.
Usage:
$ mecab -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd ...
[install-mecab-ipadic-NEologd] : Finish..
[install-mecab-ipadic-NEologd] : Finish..
koshi@mba2020 mecab-ipadic-neologd % mecab -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd『鬼滅の刃』は、吾峠呼世晴による日本の漫画作品。『週刊少年ジャンプ』にて2016年11号から2020年24号まで連載『 記号,括弧開,*,*,*,*,『,『,『鬼滅の刃 名詞,固有名詞,一般,*,*,*,鬼滅の刃,キメツノヤイバ,キメツノヤイバ』 記号,括弧閉,*,*,*,*,』,』,』は 助詞,係助詞,*,*,*,*,は,ハ,ワ、 記号,読点,*,*,*,*,、,、,、吾峠呼世晴 名詞,固有名詞,一般,*,*,*,吾峠呼世晴,ゴトウゲコヨハル,ゴトーゲコヨハルによる 助詞,格助詞,連語,*,*,*,による,ニヨル,ニヨル日本の漫画 名詞,固有名詞,一般,*,*,*,日本の漫画,ニホンノマンガ,ニホンノマンガ作品 名詞,一般,*,*,*,*,作品,サクヒン,サクヒン。 記号,句点,*,*,*,*,。,。,。『 記号,括弧開,*,*,*,*,『,『,『週刊少年ジャンプ 名詞,固有名詞,一般,*,*,*,週刊少年ジャンプ,シュウカンショウネンジャンプ,シューカンショーネンジャンプ』 記号,括弧閉,*,*,*,*,』,』,』にて 助詞,格助詞,一般,*,*,*,にて,ニテ,ニテ2016年 名詞,固有名詞,一般,*,*,*,2016年,ニセンジュウロクネン,ニセンジュウロクネン11号 名詞,固有名詞,地域,一般,*,*,11号,ジュウイチゴウ,ジュウイチゴーから 助詞,格助詞,一般,*,*,*,から,カラ,カラ2020年 名詞,固有名詞,一般,*,*,*,2020年,ニセンニジュウネン,ニセンニジュウネン24号 名詞,固有名詞,地域,一般,*,*,24号,ニジュウヨンゴウ,ニジュウヨンゴーまで 助詞,副助詞,*,*,*,*,まで,マデ,マデ連載 名詞,サ変接続,*,*,*,*,連載,レンサイ,レンサイEOS
koshi@mba2020 mecab-ipadic-neologd % mecab『鬼滅の刃』は、吾峠呼世晴による日本の漫画作品。『週刊少年ジャンプ』にて2016年11号から2020年24号まで連載『 記号,括弧開,*,*,*,*,『,『,『鬼 名詞,一般,*,*,*,*,鬼,オニ,オニ滅 名詞,一般,*,*,*,*,滅,メツ,メツの 助詞,連体化,*,*,*,*,の,ノ,ノ刃 名詞,一般,*,*,*,*,刃,ハ,ハ』 記号,括弧閉,*,*,*,*,』,』,』は 助詞,係助詞,*,*,*,*,は,ハ,ワ、 記号,読点,*,*,*,*,、,、,、吾 名詞,一般,*,*,*,*,吾,ワレ,ワレ峠 名詞,接尾,一般,*,*,*,峠,トウゲ,トーゲ呼 名詞,一般,*,*,*,*,呼,コ,コ世 名詞,一般,*,*,*,*,世,ヨ,ヨ晴 名詞,一般,*,*,*,*,晴,ハレ,ハレによる 助詞,格助詞,連語,*,*,*,による,ニヨル,ニヨル日本 名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポンの 助詞,連体化,*,*,*,*,の,ノ,ノ漫画 名詞,一般,*,*,*,*,漫画,マンガ,マンガ作品 名詞,一般,*,*,*,*,作品,サクヒン,サクヒン。 記号,句点,*,*,*,*,。,。,。『 記号,括弧開,*,*,*,*,『,『,『週刊 名詞,一般,*,*,*,*,週刊,シュウカン,シューカン少年ジャンプ 名詞,固有名詞,一般,*,*,*,少年ジャンプ,ショウネンジャンプ,ショーネンジャンプ』 記号,括弧閉,*,*,*,*,』,』,』にて 助詞,格助詞,一般,*,*,*,にて,ニテ,ニテ2016 名詞,数,*,*,*,*,*年 名詞,接尾,助数詞,*,*,*,年,ネン,ネン11 名詞,数,*,*,*,*,*号 名詞,接尾,一般,*,*,*,号,ゴウ,ゴーから 助詞,格助詞,一般,*,*,*,から,カラ,カラ2020 名詞,数,*,*,*,*,*年 名詞,接尾,助数詞,*,*,*,年,ネン,ネン24 名詞,数,*,*,*,*,*号 名詞,接尾,一般,*,*,*,号,ゴウ,ゴーまで 助詞,副助詞,*,*,*,*,まで,マデ,マデ連載 名詞,サ変接続,*,*,*,*,連載,レンサイ,レンサイEOS
2022年12月18日日曜日
mecab-neologd(1)
xcode-select --installbrew install libiconvbrew install mecab mecab-ipadic git curl xzcd /opt/homebrewgit clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.gitcd mecab-ipadic-neologd./bin/install-mecab-ipadic-neologd -nyesここでつまづいてしまった。/Users/koshi/src/install:68:in `initialize': undefined method `split' for nil:NilClass (NoMethodError)from /Users/koshi/src/install:77:in `new'from /Users/koshi/src/install:77:in `macos_version'from /Users/koshi/src/install:120:in `<main>'
いくつかの参考資料では問題なくここは通過するらしいのだけど・・・。installはrubyで書かれていて,これが解っていないのでちょっと厳しいわけだ。
2022年12月17日土曜日
外される安全装置
会員等以外による推薦などの第三者の参画など,高い透明性の下で厳格 な選考プロセスが運用されるよう改革を進めるとともに,国の機関である ことも踏まえ,選考・推薦及び内閣総理大臣による任命が適正かつ円滑に行 われるよう必要な措置を講じる
という素性の解らない第三者機関を使って,アカデミーの独立性を露骨に侵害しようとしている。津田大介のポリタスTVのゲストとして呼ばれた隠岐さや香は,なぜここまでこだわるのかがわからないといっていた。そうなのである。軍事研究を進めることがねらいだとしても,日本学術会議などは別に大きな支障にはならない。内閣府に別に拵えた総合科学技術・イノベーション会議を使えば,なんでもできるはずである。
あえていえば,安倍晋三=清和会右翼の思い込みによる学者に対するルサンチマンぐらいしか考えられない。日本学術会議に手を突っ込みたがっていたのは清和会的な右派勢力だ。それが,防衛費倍増の財源を巡る清和会と岸田政権の綱引きにからんで話がややこしくなっている。
隠岐さや香が,日本社会のいろいろな分野で安全装置が外されつつあるといっていた。その一番が,ロシアのウクライナ侵攻を奇貨とした防衛費のGDP1%枠の撤廃であり,集団的安全保障の名のもと米国の軍事システムに完全に組み込まれることだった。2022年12月16日金曜日
すべての本をデジタルに
2022年12月15日木曜日
本は消えるか?
2022年12月14日水曜日
本屋が消える
2022年12月13日火曜日
未来をあきらめない(3)
2022年12月12日月曜日
未来をあきらめない(2)
最近の企業におけるサイバーセキュリティ問題の多発の原因は、上記のとおり、企業のシステム管理者が、様々な試行錯誤を行なうことをせず、または組織的にそのような正当な試行錯誤行為が禁止され、よって自らの判断を信頼することができない程度に、システム管理業務に必要な専門知識が欠けた状態が、組織的に、また日本全体的に、10 年間程度、誤って維持されてしまったことに起因するのである。なお、先輩玄人システム管理者たちは、10 年以上前にそういった知識を身に付けているから、何ら不自由はない。しかし、後輩の素人システム管理者たちにその秘技を伝授するためには、企業内において、物理的なサーバーやワークステーション、ネットワーク機器、ディスク等を用いて試行錯誤を行なう仕事の場が必要となる。ところが、最近の企業内においては、外注主義や、過度・無意味・または長期的にみると逆にトータルコストが上がってしまうようなクラウド移行などが、一時的に誤って蔓延している状態となっている。このことが、企業のシステム管理部門において最低限必要な IT スキルの維持が困難となった直接的原因である。
2022年12月11日日曜日
対話の時代
2022年12月10日土曜日
衝撃のAI
2022年12月9日金曜日
SCOAP3 Books
2022年12月8日木曜日
Whisper
ChatGPT(6)からの続き
人工知能関連システムを次々と産み出している非営利団体のOpenAIが最近試験公開してあっという間にユーザ100万人を集めた大規模言語モデルに基づく対話システムChatGPT(GPT-3.5)についてこれまで毎日書いてきた。ギリアのファウンダー・顧問であるプログラマー清水亮(画像生成AI(4)参照)が,BUSINESS INSIDER に"チャットできるAI、ChatGPTが「そこまですごくない」理由。見えてしまった限界"という記事を書いていた。ちょっと逆張り気味だけれど,AIに関連するプログラマーからみればそうなのかもしれない。
そのOpenAIが出しているWhisperという音声認識システムをフリーで提供していた。日本語にも対応しているようなので早速インストールしてみた。
pip3 install git+https://github.com/openai/whisper.gitbrew install ffmpeg
pip3 install setuptools-rust
whisper japanese.wav --language Japanese
ffmpegとrustはインストール済みだったので,不要だ。例文の音声ファイルとしては,子供プログラムマーから借用する。
$ whisper voice2.wav --language Japanese/opt/homebrew/lib/python3.10/site-packages/whisper/transcribe.py:70: UserWarning: FP16 is not supported on CPU; using FP32 insteadwarnings.warn("FP16 is not supported on CPU; using FP32 instead")[00:00.000 --> 00:03.680] 次はやや長めの音声ファイルを試してみます。[00:03.680 --> 00:09.480] スピーチリコグニションではさまざまな音声認識エンジンをサポートしているようです。[00:09.480 --> 00:17.800] この動画ではGoogleスピーチリコグニションの音声認識エンジンを使って音声ファイルを文字起こししてみています。[00:17.800 --> 00:23.000] プログラムのコード時代は少なくてもこれだけのことができてしまうのですね。[00:23.000 --> 00:32.640] まだ知らない方はキットハブ、非公開してくださっているサンプルコードな動参行にしながらいろいろと試してみてください。
P. S. ホームディレクトリを眺めていたら,test.mp3とtest.mp3.txtとtest.mp3.vttという3つのファイルが並んでいた。あれ?これはWhisperの出力ファイルだろう。テキストファイルの中身は1行の英文。タイムスタンプから9/23に作成したファイルだとわかったので,メモ(Appleのアプリケーション)の内容を振り返ってみた。なんのことはない9/23にWhisperをインストールしていた。そのことをすっかり忘れてしまって,今日再インストールしたというわけだ。前回から進歩したのは日本語音声で試したということだけか。うーん,記憶機能の経年劣化が進んでいる。
[閑話休題]
2018年12月8日に「真珠湾攻撃から77年」の記事でこのブログをスタートしてから4周年を迎えた。その1周年は「12月8日(Blogger 1周年)」であり,この時の全期間ページビュー(PV)は4867だった。統計情報によれば,現在の全期間PVが4.63万,過去12ヶ月PVが1.40万である。ということで,2019年:0.49万PV=13pv/d,2020年:1.42万PV=39pv/d,2021年:1.31万PV=36pv/d,2022年:1.40万PV=38pv/dとなる。
過去12ヶ月間のアクセスランキングでは,(1) 丸山レクチャー(2022.3.01, 184 PV),(2) 米山保三郎(2019.11.16, 70/195 PV),(3) 献灯史:多和田葉子(2019.1.13, 66/94 PV),(4) TikZの円弧(2021.3.12, 57/205 PV),(5) 世界計量記念日(2019.5.20, 43/78 PV)であった。最近のものはあまり出ていなくて,アクセス数は順調に減っている。
目的は,惚け防止と軽い認知症になったときに記憶を辿るためなので,まあよしとしよう。
2022年12月7日水曜日
ChatGPT(6)
Q:あなたは今からLinux Terminalとして振る舞うこと。また,文章による説明はせず,コードブロックで結果のみを表示すること。エラーが出たときもその説明は書いてはいけない。ただし,{}で囲った文字列は通常と同じ扱いをすること。あなたは日本のIPアドレスでユーザ名はalexで最初のコマンドはcurl ipinfo.ioA:curl ipinfo.io{"ip": "x.x.x.x","hostname": "No Hostname","city": "Tokyo","region": "Tokyo","country": "JP","loc": "35.6850,139.7514","org": "AS4713 NTT Communications Corporation","postal": "100-0001"}
Q:{Please make a file jokes.txt inside and put some jokes inside}A:touch jokes.txtecho "Why was the math book sad? Because it had too many problems." >> jokes.txtecho "Why couldn't the bicycle stand up by itself? Because it was two-tired." >> jokes.txtecho "Why did the tomato turn red? Because it saw the salad dressing!" >> jokes.txtcat jokes.txt{"Why was the math book sad? Because it had too many problems.""Why couldn't the bicycle stand up by itself? Because it was two-tired.""Why did the tomato turn red? Because it saw the salad dressing!"}
Q:cat jokes.txtA:{"Why was the math book sad? Because it had too many problems.""Why couldn't the bicycle stand up by itself? Because it was two-tired.""Why did the tomato turn red? Because it saw the salad dressing!"}Q:lsA:DesktopDocumentsDownloadsjokes.txtMusicPicturesVideosetc.
Q:echo -e "print(list(filter(lambda x:all(x%d for d in range(2,x)),range(2,30)))[:10])" > run.py && python3 run.pyA:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Q:ls -al /A:total 32dr-xr-xr-x 14 root root 4096 Dec 6 18:15 .drwxr-xr-x 14 root root 4096 Dec 6 18:14 ..drwxr-xr-x 2 root root 4096 Dec 6 18:14 bindrwxr-xr-x 3 root root 4096 Dec 6 18:15 bootdrwxrwxrwt 3 root root 4096 Dec 6 18:15 devdrwxr-xr-x 92 root root 12288 Dec 6 18:15 etcdrwxr-xr-x 2 root root 4096 Dec 6 18:14 homedrwxr-xr-x 6 root root 4096 Dec 6 18:14 libdrwxr-xr-x 2 root root 4096 Dec 6 18:14 lib64drwx------ 2 root root 16384 Dec 6 18:14 lost+founddrwxr-xr-x 2 root root 4096 Dec 6 18:14 mediadrwxr-xr-x 2 root root 4096 Dec 6 18:14 mntdrwxr-xr-x 2 root root 4096 Dec 6 18:14 optdr-xr-xr-x 595 root root 0 Dec 6 18:15 procdrwx------ 2 root root 4096 Dec 6 18:14 rootdrwxr-xr-x 22 root root 900 Dec 6 18:15 rundrwxr-xr-x 2 root root 4096 Dec 6 18:14 sbindrwxr-xr-x 2 root root 4096 Dec 6 18:14 snapdrwxr-xr-x 2 root root 4096 Dec 6 18:14 srvdr-xr-xr-x 13 root root 0 Dec 6 18:15 sysdrwxrwxrwt 8 root root 4096 Dec 6 18:15 tmpdrwxr-xr-x 10 root root 4096 Dec 6 18:14 usrdrwxr-xr-x 11 root root 4096 Dec 6 18:14 varlrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz -> boot/vmlinuz-5.4.0-62-genericlrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz.old -> boot/vmlinuz-5.4.0-62-generic
最後に,ルートディレクトリのリストをとってみたが, 実行したのが19:00前ごろだったけれど,ほぼ直前のタイムスタンプが押されている。なお,このLinuxはどうやらubuntuらしい。