公開 | 登録者 | 館内 | 小計 | |
電子書籍・電子雑誌 | 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月23日金曜日
NDLデジタルコレクション
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らしい。
2022年12月6日火曜日
ChatGPT(5)
Q:小学校5年生の理科の単元で振り子の実験があります。重さがmのおもりに長さLの糸をつけてその一端を固定し,振り子(おもり)を振れ幅θで振らせるのです。その一往復の時間を振り子の周期といいます。振り子の周期は,おもりの重さ,糸の長さ,振り子の振れ幅のどの量によって決まるのか,小学生にわかるような言葉で説明してください。A:振り子の周期は、おもりの重さ、糸の長さ、おもりが振れる幅によって決まります。重さが大きいほど、振り子が振るのに時間がかかります。また、糸が長いほど、振り子が振るのに時間がかかります。さらに、振り子が大きく振れる幅が広いほど、振り子が振るのに時間がかかります。したがって、振り子の周期は、おもりの重さ、糸の長さ、振り子が振れる幅の3つの量が全て合わさって決まります。
Q:分数の割り算では,割られる分数に,割る分数の逆数をかけた掛け算を計算すればよいのですが,このわけが小学生にでも解るように説明してください。A:分数の割り算は少し特殊です。通常の整数の割り算とは異なり,分子(割られる数)を分母(割る数)で割ることではなく,分母を分子で割る必要があります。例えば,分数の2/3を分数の1/4で割りたい場合,通常の整数の割り算のように2を4で割ることはできません。その代わりに,1/4を分数の2/3で割ることができます。このように,分数の割り算では割られる数と割る数を入れ替え,逆数を求める必要があります。具体的には,2/3を1/4で割る場合,次のように計算します。まず,分数の1/4の逆数は4/1です。つまり,2/3を4/1で割ることになります。通常の整数の割り算と同様に,分子と分母を掛け合わせることで,2/3を4/1で割ることができます。その結果,2/3を1/4で割ることができます。まとめると,分数の割り算では,割られる分数に,割る分数の逆数をかけた掛け算を計算することで,分数の割り算を行うことができます。
2022年12月5日月曜日
ChatGPT(4)
ChatGPT(3)からの続き
ChatGPTは,学習段階では2021年までの様々なテキストを読み込んでいるとして,対話段階で直接ネットの情報を直接参照することがないようだ。そのため,細かな事実関係には嘘がけっこう混入している。ところが口がうまくて極めて巧みにディフェンスする小役人的な答弁をするので,危うく騙されそうになるから本当に困ってしまう。たぶん当該分野の背景知識がなければアウトだ。まあ人間の信頼度の場合と大きく変わらないのかもしれない。
これをベースにして,問題解決システムのミネルバなどと組み合わせれば,もう少しでメタバースという言葉の生みの親であるニール・スティーブンソンのダイヤモンド・エイジにでてくる教育用人工知能読本プリマーに手が届く。教育関係者は,プログラミング教育やGIGAスクール構想にうつつを抜かしている場合でなく,こぞって教育用AI対話システムのデザインと応用とさらに派生する問題の洗い出しに注力すべきだろう。
教育用AI対話システムの鍵は,このシステムがStableDiffusionの場合のようにオープンソースで無料開放されるかどうかにかかっているかもしれない。そうでなければ,これまでの多くの教育用ソフトウェア・スイートの二の枚になるだけだ。開放されて誰もが自由に開発や利用ができるとともに,その分散ネットワークをうまく制御しながら構築できた場合,今の教育産業や公教育の在り方がまるっきり違ったものに変質してしまう可能性がある。
2022年12月4日日曜日
ChatGPT(3)
・質問-応答(〜について教えて)・要約(以下の文章を要約して)・Wikipedia風記事作成(〜について説明するWikipedia風の記事を出力して)・リストからの文章化(以下を文章化して)・タスクリスト作成(以下をタスク化して)・スケジュール作成(この間のスケジュールを30分刻みで提示して)・コード生成(xxするyyの関数を出力して)・コードのドキュメント生成(以下の関数のドキュメントをxx形式で出力して)
Q:x軸上を運動する質量mの粒子にポテンシャルV(x,t)が働いている。波動関数をψ(x,t)として,シュレーディンガー方程式を書け。A:シュレーディンガー方程式は、量子力学における基本的な方程式です。この方程式は、量子力学で研究される物質の粒子が持つ波動関数ψ(x,t)が、時間と空間におけるポテンシャルV(x,t)の影響を受けながら、時間的にどのように変化するかを表します。シュレーディンガー方程式は、次のように表されます。iℏ∂ψ/∂t = -(ℏ^2/2m) * ∇^2ψ + V(x,t) * ψここで、iは虚数単位、ℏはプランク定数、mは粒子の質量、∇^2はラプラスオペレーターを表します。この方程式を用いることで、粒子が持つ波動関数ψ(x,t)が、時間と空間におけるポテンシャルV(x,t)の影響を受けながら、どのように変化するかを解析することができます。
Q:量子力学で,1次元の無限井戸型ポテンシャルに閉じこめられた電子の問題を考えます。電子の質量をmとするとその静止エネルギーは m*c^2=0.5*10^6 eV です。ここでcは光速度です。さて,井戸の幅をa=1Åとして,0<x<aでポテンシャルV(x)=0とします。この系の波動関数をψ(x)とすると,境界条件は,ψ(0)=0,ψ(a)=0です。この系の基底状態のエネルギーを求めてください。答えは eV の単位でお願いします。ヒント:換算プランク定数ℏと光速度cの積は,ℏ*c = 1970 eV・Åとなります。A:境界条件から,この系の波動関数は,ψ(x)=Asin(kx)で表されます。ここで,A は定数であり,k は波数です。境界条件より,ψ(0)=0,ψ(a)=0 となる k の値は,k=nπ/a (n=1,2,3...) となります。このとき,基底状態のエネルギーは,E=ℏck と表されます。ここで,ℏ*c=1970 eV・Å とします。よって,基底状態のエネルギーは,E=ℏck=1970 eV・Å * nπ/a = 1970 eV・Å * nπ / 1Å = 1970 eV・π * n となります。特に,n=1 の場合,E=1970 eV・π となります。この答えは eV の単位で与えられているため,問題の要求を満たします。よって,基底状態のエネルギーは,E=1970 eV・π ≒ 6234.6 eV です。Q:エネルギーの式は,E=ℏck ではなくて,E=(ℏ k)^2/(2m) = (ℏ c k)^2 /(2 m c^2) ですよ。A:ご指摘ありがとうございます。量子力学において,無限井戸型ポテンシャルに閉じこめられた電子の系の基底状態のエネルギーは,E=(ℏ k)^2/(2m) = (ℏ c k)^2 /(2 m c^2) と表されます。ここで,ℏ は換算プランク定数,k は波数,m は電子の質量,c は光速度です。よって,基底状態のエネルギーは,E=(ℏ c k)^2 /(2 m c^2) = (1970 eV・Å * nπ / 1Å)^2 / (2 * 0.5 * 10^6 eV) = (1970 eV・π * n)^2 / (10^6 eV) = (1970 eV・π * n)^2 / (10^3 keV) となります。特に,n=1 の場合,E=(1970 eV・π * 1)^2 / (10^3 keV) = 39400000 eV^2 / 1000 keV = 39.4 MeV となります。この答えは MeV の単位で与えられているため,問題の要求を満たします。よって,基底状態のエネルギーは,E=39.4 MeV です。
そうくるか。解答に問題があると指摘すると修正をかけてきた 。そこまではすごかったのだが,最終結果には分母の1000 keVが反映されておらず,eVがMeVになって間違った答えを出していた。もう一息だよ。
2022年12月3日土曜日
ChatGPT(2)
Q:あるディレクトリhomeの下に複数のフォルダがあります。各フォルダにはそれぞれ複数のpdfファイルが格納されています。homeにおいたシェルスクリプト(bash)で,これらのpdfファイルを結合したいのです。まず,各フォルダごとに結合した1つのpdfファイルをつくります。その名前はフォルダ名.pdf という形にします。さらに,これらを結合して home.pdfという1つのpdfファイルを生成するシェルスクリプトを書いてください。A:シェルスクリプトは次のようになります。#!/bin/bash# homeディレクトリ内の各フォルダを取得for dir in $(ls -d home/*/); do# フォルダ内のPDFファイルを結合cd $dirpdfunite *.pdf ${dir%/}.pdfdone# すべてのPDFファイルを結合cd homepdfunite *.pdf home.pdf上記のスクリプトでは、ls -d home/*/ コマンドを使用して home ディレクトリ内の各フォルダ名を取得し、そのフォルダ内のPDFファイルを pdfunite コマンドを使用して結合しています。最後に、home ディレクトリ内の結合済みのPDFファイルを pdfunite コマンドを使用して結合しています。注意: 上記のスクリプトは概念的なものであり、実際の実行にはさらなる修正が必要です。また、このスクリプトは特定のPDF作成/編集ツールを想定しています。ツールによっては異なるコマンドやオプションが必要になる場合がありますので、その点は適宜ご確認ください。
#!/bin/zsh# homeディレクトリ内の各フォルダを取得for dir in $(ls -d */); do# フォルダ内のPDFファイルを結合echo ${dir%/*}echo $dir*.pdfpdfunite $dir*.pdf ${dir%/*}.pdfdone# すべてのPDFファイルを結合pdfunite *.pdf home.pdf
Q:次のコード hw.sh はどんな処理をするものですか,初心者にもわかりやすく解説していただけると助かります。#!/bin/zshfor dir in $(ls -d */); doecho ${dir%/*}echo $dir*.pdfpdfunite $dir*.pdf ${dir%/*}.pdfdonepdfunite *.pdf $1.pdfA:次のコード hw.sh は、カレントディレクトリ内のすべてのサブディレクトリにある .pdf ファイルを結合し、1 つの .pdf ファイルに変換するスクリプトです。1 行目では、シェルスクリプトが実行されるシェルの種類を宣言しています。この場合は、/bin/zsh というシェルを使用することを宣言しています。2 行目から 4 行目では、カレントディレクトリ内のすべてのサブディレクトリについて繰り返し処理を行なっています。3 行目では、サブディレクトリ内の .pdf ファイルを取得し、4 行目では、取得した .pdf ファイルを結合し、そのサブディレクトリ名と同じ名前の .pdf ファイルを作成します。最後の 2 行では、カレントディレクトリ内のすべての .pdf ファイルを結合し、1 つの .pdf ファイルに変換します。引数 $1 で指定された名前で出力されます。