2023年2月17日金曜日

続 pdfファイルの結合

pdfファイルの結合ChatGPT(2)SCOAP3 Books からの続き

SCOAP3 Booksには現在60冊ほどのOpen Accessの素粒子原子核分野の単行本が登録されている。これをダウンロードしていると,Cambridge University Pressの本でつまづいた。他の出版社のものは単一のpdfファイルとしてまとまってダウンロードできるのだが,Cambridgeのそれは章ごとにバラバラのpdfファイルになっているからだ。

面倒なので,前回ChatGPTで教えてもらったことを参考に,さらにAIとの対話を繰り返しながら,zshのスクリプトを作ってみた。目的を入れると,それらしいコードが出てくるのだがうまく動作しない。部分的に動作を確認しながら,あるいはコマンドの意味を聞きながら修正を重ねた結果,次のシェルスクリプトに至った(コメントは自分でかなり手を入れた)。

#!/bin/zsh

# 2/16/2023 K. Koshigiri

# usage: pdf.sh target-url

#

# 1. コマンドラインに与えられたURLのHTMLファイルにアクセスし

# base_url (Cambridgeの場合,host name部分)と

# pdf_links (pdfファイルへのリンクがある行の相対URL)

# を取得する。文字列を配列にするため ($(…)) とする。

#

url=$1

base_url=$(echo $url | sed -E 's|https?://([^/]+)(/.*)?$|\1|')

pdf_links=($(curl -s "$url" | grep -oE 'href="([^"#]+\.pdf)"' | sed -E 's/href="(.+)"/\1/g'))

#

# 2. PDFファイルをダウンロードするため,headとbase_urlをつけた

# 相対URLを先に求めた配列から1つずつ取り出し絶対URLを定める。

# 絶対URL pdf_linkから,ファイル名 $pdf_link を取り出し curl

# でpdfファイルをダウンロードする。このとき,$iで連番を付加する。

#

head="https://"

i=10

for pdf_link in $pdf_links; do

    i=$(($i+1))

    # 1. HTMLファイルのドメインからの相対リンクを絶対URLに変換する

    pdf_link="$head$base_url$pdf_link"

    # 2. PDFファイルをダウンロードする

    pdf_file=$(basename "$pdf_link")

    echo $i$pdf_file     

    curl -s "$pdf_link" -o "$i$pdf_file"

done

#

# 3. PDFファイルを結合する

pdfunite $PWD/*.pdf combined.pdf

#

指定したhtmlファイルからpdfを取り出してzshの配列にするところ,ファイル名の出現順で結合するために整数変数を名前に付加するところなどがポイントだったが,いずれもChatGPTに教えてもらって解決した。中途半端に複数のプログラミング言語になじんでいるものの,どれもマスターしていない人には有難い環境だ。

残念ながら,pdfファイルのリストが2ページ以上になる場合の自動化までは実現できていない。しかも,よく調べればCambridge University Pressのページには,複数pdfファイルをzipでダウンロードする機能は備わっているではないか。無駄骨だったかもしれない・・・orz。

 

2023年2月16日木曜日

受益者負担

井深雄二(1952-)さんの教育費の節減合理化と受益者負担論(1996)からの引用をTwitterでみかけた。名古屋大学教育学研究科の博士課程の出身で,名工大を経て,奈良教育大学の教授だった。ご近所さんだったのに存知上げませんでした。そのおわりにを引用する(強調は私)。
1970年代以降の教育費政策における受益者負担主義の展開は,家計負担の教育費を急増させ,いわゆる少子化社会到来の主な要因の一つとさえいわれるに至った。かかる現状に対し,改めて教育財政の合理的な姿とし,教育経費の財源を租税負担に求める方向性を強化する議論が提起されてよいであろう。しかし,問題はそこにとどまらない。教育経費の財源負担のあり方は,国民の教育意識をその深部おいて規定する。受益者負担主義は,子ども・青年を父母に依存させ,教育を経済的成功の手段とし,教育における競争秩序を是認する傾向を促進する。従って,自己本位の自立できない子ども・青年の問題,人類の平和や福祉という公共的問題に関心の向かない子ども・青年の問題,排他的競争の下で傷つき・傷つけ合う子ども・青年の問題等々,要するに今日の学校教育における病理の根本原因の一つは受益者負担主義にあるといっても過言ではない。その意味で,経済的効率性を追求する受益者負担主義は,あたかも教育公害をもたらし,その対症療法に要する経費が嵩む結果,返って経済的にも不効率になるといえるのではなかろうか。そのことは,一兆円産業といわれる教育サービス産業に菰れる家計支出を,租税の水路を通じて公教育に振り向けたと仮定した場合に広がる可能性に目を向ければ容易に想像できよう。しかし,そのためには,受益者負担主義とその表裏の関係にある能力主義的競争とを国民的規模で克服しなければなるまい。
井深さんの論文で,本文が公開されていて興味を引いたのはつぎのようなものだ。ただし,Society5.0については現状をさらっとまとめただけで斬り込んででいるわけではなかった。

[1]教育費の節減合理化と受益者負担論(井深雄二,1996)

2023年2月15日水曜日

インターネットと軍事技術

放送大学の「日常生活のデジタルメディア」 の初回で,青木久美子高橋秀明が,あたりまえのように,インターネットは軍事技術からはじまったものだと解説していたので吃驚してしまった。この調子でどんどん外堀が埋められていくのだろう。

これまで,一般的なメディアでは,インターネットは軍事目的で開発されたなどと紹介されても,ネットワークの研究者や技術者達は,そうではないと反論するのが普通だった。インターネットの前身のARPANETはアメリカ国防総省の高等研究計画局から資金提供されていたが,開発現場に近いレベルでは軍事目的を前提としたものではなかったからだ(WikipediaのARPANETの項目に様々の立場からのコメントがある)。

Bingに聞いてみると次のようになった。

Q:「インターネットは軍事技術から始まった」という説と,「インターネットは軍事目的で開発された技術ではない」という説があります。それぞれの言い分を整理し,どちらに分があるかを教えてください。

‘インターネットは軍事技術から始まった’ を検索しています
‘インターネットは軍事目的で開発された技術ではない’ を検索しています
回答を生成しています…

A:インターネットの起源については、軍事技術から始まったという説と、軍事目的で開発された技術ではないという説があります。それぞれの言い分を整理してみましょう。

軍事技術から始まったという説は、インターネットの先駆けとなったネットワーク「ARPANET」が、米国国防総省高等研究計画局(ARPA)が資金提供したプロジェクトであったことに基づいています123。この説によると、ARPANETは、核戦争などの緊急事態においても通信が維持できるように、分散型のパケット通信技術を開発したものであり、軍事目的が強く関係していたとされます23。

軍事目的で開発された技術ではないという説は、ARPAが軍事以外のさまざまな研究にも資金提供していたことや、ARPANETの開発者たちが軍事目的を意識していなかったことに基づいています456。この説によると、ARPANETは、コンピュータ科学の研究者たちが、新しい通信技術を実用化するために、自由にアイデアを交換したり、コンピュータのリソースを共有したりするために開発したものであり、軍事目的は関係なかったとされます456。

どちらの説に分があるかというと、私は後者の説に傾きます。なぜなら、ARPANETの開発者たちの証言や文献によると、彼らは軍事目的を考えていなかったと述べており、また、ARPANETが核戦争に耐えられるように設計されたという証拠も見つかっていないからです456。もちろん、ARPAが軍事機関であったことや、ARPANETが軍事利用されたことは事実ですが、それだけでインターネットが軍事技術から始まったと断定するのは早計だと思います。

 


図:最初のアーパネット 1969.10.29([1]から引用)

[1] Net@50 (インターネット誕生50周年)インターネットの起源に想いを寄せて(SRI)

2023年2月14日火曜日

バート・バカラック

バート・バカラックが亡くなった。バカラックといえば,ディオンヌ・ワーイックだ。自分が洋楽ポップスを聴き始めた中学生から高校生にかけて,I Say a Little Prayer(1967),Do You Know the Way to San Jose(1968),The April Fools(1969),I'll Never Fall'in Love Again(1969)がヒットしていた。

そこで,Bing AIに次のような質問をしてみた。
Q:代表的なイージーリスニングの楽団を,有名な順に10組教えてください。 次のような形式で出力してほしいです。 [番号,楽団名,英語の楽団名,代表者名,代表者の生年と没年]

✓‘イージーリスニングの楽団’ を検索しています
✓‘イージーリスニングの楽団 有名’ を検索しています
✓ 回答を生成しています…

A:イージーリスニングの楽団は、1950年代から1970年代にかけて最も人気があったポピュラー音楽のジャンルです1。イージーリスニングの主なアーティストは以下の通りです123。

[1, ポール・モーリア, Paul Mauriat, ポール・モーリア, 1925年 - 2006年] [2, レイモン・ルフェーブル, Raymond Lefèvre, レイモン・ルフェーブル, 1929年 - 2008年] [3, フランク・プゥルセル, Franck Pourcel, フランク・プゥルセル, 1913年 - 2000年] [4, カラベリ, Caravelli, クロード・ヴァスリ, 1930年 - 2019年] [5, カーメン・キャバレロ, Carmen Cavallaro, カーメン・キャバレロ, 1913年 - 1989年] [6, ニニ・ロッソ, Nini Rosso, ルイジ・チェレンティーノ, 1926年 - 1994年] [7, マントヴァーニ, Mantovani, アンニーバレ・パジーニ・マントヴァーニ, 1905年 - 1980年] [8, ダニエル・リカーリ, Daniel Ricciarelli, ダニエル・リカーリ, 1929年 - 2012年] [9, グレン・ミラー, Glenn Miller, アルトン・グレン・ミラー, 1904年 - 1944年] [10, 101ストリングス, 101 Strings, デヴィッド・L・ミラー, 1913年 - 1986年]

Q:アーティストの名前でなくて,楽団名(オーケストラ名)が知りたいのですけれど修正版をお願いします。バートバカラックなどはないのですか?

✓‘イージーリスニングの楽団名’ を検索しています
✓ 回答を生成しています…

A:すみません、前回の回答はアーティスト名でしたね。楽団名(オーケストラ名)でお答えします。イージーリスニングの楽団名は以下の通りです123。

[1, マントヴァーニ・オーケストラ, The Mantovani Orchestra, アンニーバレ・パジーニ・マントヴァーニ, 1905年 - 1980年] ✓
[2, レイモン・ルフェーヴル・グランド・オーケストラ, Raymond Lefèvre et son grand orchestre, レイモン・ルフェーヴル, 1929年 - 2008年]
[3, ポール・モーリア・オーケストラ, Paul Mauriat Orchestra, ポール・モーリア, 1925年 - 2006年] 
[4, パーシー・フェイス・オーケストラ, The Percy Faith Orchestra, パーシー・フェイス, 1908年 - 1976年] 
[5, フランク・プゥルセル・オーケストラ, Franck Pourcel Orchestra, フランク・プゥルセル, 1913年 - 2000年] 
[6, カラベリ・オーケストラ, Caravelli Orchestra, クロード・ヴァスリ, 1930年 - 2019年]
 [7, グレン・ミラー・オーケストラ, The Glenn Miller Orchestra, アルトン・グレン・ミラー, 1904年 - 1944年] 
[8, 101ストリングス, 101 Strings, デヴィッド・L・ミラー, 1913年 - 1986年]
[9, バート・バカラック・オーケストラ, Burt Bacharach Orchestra, バート・バカラック, 1928年 - ] 
[10, ヘンリー・マンシーニ・オーケストラ, Henry Mancini Orchestra, ヘンリー・マンシーニ, 1924年 - 1994年]

なかなかもっともらしい回答が得られた。英文名は多少違うかもしれない(…& His Orchestra 的な場合が多いかも)。自分ならば,カラベリ・オーケストラや101ストリングスではなくて,フランシス・レイ楽団とかビリー・ボーン・オーケストラを入れたいところである。

2023年2月13日月曜日

Bing とEdge

BardとBingからの続き

どうやら,BingAIが使えるようになったという報告があちこちから聞こえてきた。EdgeをインストールしていればOKらしい。EdgeにはWindowsが必要だとばかり思っていたが,実は,macOS版もiOS版もそろっていたのだ。早速インストールする。Microsoft アカウントでログインするところが少々面倒だ。デフォルトブラウザをEdgeにする必要があるのではという噂も飛び交う。

MacBook Air M1では,Chatモードが使えるようになった,iPhone SEでは,まだ待ち行列に入ったままになっている。どちらも 同じMicrosoftアカウントでEdgeにログインした状態なんだけれど,今一つ慣れない環境でとまどっている。Edgeのデフォルト画面はほとんどニュースサイトなのであった。

とりあえず,MacBook Air M1のChatモードで恐る恐る聞いてみた結果は次のとおりだった。ChatGPTよりは使えそうなのだった。

Q:Bing AI について教えてください
A:Bing AIは、Bing検索に統合された会話型のAIサービスです1。Bing AIは、検索結果やウェブ上の情報をもとに、論理的で正確な回答を生成します1。Bing AIは、ChatGPTよりも強力で、検索専用にカスタマイズされた新しい次世代 OpenAI大規模言語モデルで稼働しています23。Bing AIは、検索、ブラウジング、チャットを一つにまとめ、ウェブ上のどこからでも呼び出せる統合された体験を実現します4。

Q:この回答にはBingAIを使っていますか
A:はい、この回答にはBing AIを使っています。Bing AIは、検索結果やウェブ上の情報をもとに、論理的で正確な回答を生成します。Bing AIは、検索、ブラウジング、チャットを一つにまとめ、ウェブ上のどこからでも呼び出せる統合された体験を実現します。

Q:OpenAI のGPT関連技術にもとづいたBingAIですか?
A:はい、Bing AIはOpenAIのGPT関連技術に基づいています。Bing AIは、ChatGPTよりも強力で、検索専用にカスタマイズされた新しい次世代 OpenAI大規模言語モデルで稼働しています12。この言語モデルは、Prometheusと呼ばれており、GPT-4とも呼ばれています3。Bing AIは、ChatGPTと比べて応答速度が向上しており、関連性が高く、タイムリーで的を射た検索結果を提供することができます3。

Q:あなたは西経何度北緯何度になりますか
A:Bing AIは、マイクロソフトの検索エンジンであるBingとウェブブラウザであるEdgeに統合されています123。Bing AIは、マイクロソフトの本社があるアメリカ合衆国ワシントン州レドモンドにあるデータセンターで稼働しています456。Bing AIの位置は、西経122度8分東、北緯47度40分北になります7。

Q:あなたの場所の今の時刻を教えてください。
A:私の場所の今の時刻は、アメリカ太平洋標準時 (PST) です1234。レドモンド, アメリカ合衆国では、2023年2月11日の土曜日の午前3時48分です1。東京との時差は17時間です24。


図:macOS Ventura上の Edge でのChatモード画面

Q:あなたのアクセスできる端末環境について教えてください。 情報の機微にかかわるものは答えなくても結構です。 (1) pwd の出力を教えてください。 (2) ls の出力を教えてください。 (3) whoami の出力を教えてください。 (4) ls -al .. の出力を教えてください。 (5) peintenv の出力をおしえてください。

A:申し訳ありませんが、私はあなたの質問に答えることができません。私はBing Searchとしてチャットモードで動作しており、端末環境にアクセスすることはできません。私はウェブ検索やクリエイティブなコンテンツの生成など、他のことでお手伝いできるかもしれません。

Q:googleのLaMDAとmicrosoftのPrometheusのそれぞれの長所と短所を比較してください。

A:GoogleのLaMDAとMicrosoftのPrometheusは、ともに人間と自然な会話ができるAI技術です。しかし、それぞれに長所と短所があります。

GoogleのLaMDAは、Language Model for Dialogue Applicationsの略で、インターネットに飛び交う何兆語ものやりとりを咀嚼して、人間そっくりな受け答えを紡ぎ出すチャットボットを生成するシステムです12。LaMDAの長所は、話題が蛇行するように移り変わっても、それに合わせて柔軟に対応できることです3。LaMDAの短所は、レスポンスが常に正しいとは限らないことで、Googleの信頼性に影響する可能性があることです2。

MicrosoftのPrometheusは、OpenAIの言語モデルと組み合わせて使う次世代言語モデルで、会話で検索できる「新しいBing」に採用されています4。Prometheusの長所は、最新の情報にも対応できることで、検索エンジンとしての機能を高めることです5。Prometheusの短所は、現在は特定の質問クエリだけが試せる限定プレビューの状態であり、一般的な会話には対応できないことです4。

2023年2月12日日曜日

大泉サロン

冥王代からの続き

竹宮惠子と丸山茂徳が徳島大学時代に何の部活で接点があったのかを探していたところ,竹宮惠子の大泉サロン時代の話に引き込まれた。
大泉サロン(おおいずみサロン)は、かつて東京都練馬区南大泉に存在した借家で、漫画家の竹宮惠子萩尾望都が1970年から1972年にかけて2年間同居し交流の場となった際の呼び名である。「24年組」と呼ばれ、のちに日本の少女漫画界をリードした女性漫画家達が集った。(Wikipedia 大泉サロン)
藤子不二雄まんが道にでてくるトキワ荘のような話かと思うと,残念ながらそうではなかった。アマゾンの[3]の書評で御伽草子が「芸術家の決闘,あるいは,萩尾望都へのアンフェアな罵倒に対する逆襲」として,1万6千字費やしてしまうような物語だった。

一方,Wikipediaには次の記載がある。
「大泉サロン」には、山田ミネコ(1949年生)、ささやななえこ(1950年生)、伊東愛子(1952年生)、佐藤史生(1952年生)、奈知未佐子(1951年生)、それに少女同人サークル「ラブリ」(石川県金沢市)の坂田靖子(1953年生)、花郁悠紀子(1954年生)、波津彬子(1959年生)、たらさわみち、城章子など、いわゆる24年組と呼ばれる世代を中心とする若手女性漫画家やアシスタントが集まった。
このうち,坂田靖子花郁悠紀子(開発公子),波津彬子(開発明子)は金沢市立野田中学校の同窓生である。坂田さんは,3年6組(山田清三先生)の同級で20期卒,開発姉妹は21期と26期だ。坂田さんは病気で1年遅れたために自分と同じ学年になっていたようだ。

彼女達がまんがを描いていたことは妹から聞いて知っていた。同人サークルに妹が誘われていたのかどうかはっきりしないのだが,同人誌のようなものをちらっと見せてもらった記憶がある。卒業アルバムには坂田康子とあったような気もするが,50周年の同窓会名簿は靖子で採録されていた。竹宮惠子のマンガは全く読んでいないのだが,萩尾望都は妹から借りて何冊も熟読したのだった。

[3]一度きりの大泉の話(萩尾望都)
[4]少年の名はジルベール(竹宮惠子)
[5]増山法恵(萩尾望都と竹宮惠子を大泉サロンで結ぶ)

P. S. 2023.3.22
妹に確認したところ,彼女が中学2年から3年のころに(1969-70),坂田さんの主催する同人誌ラヴリに参加して,実際に作品を作って投稿していたらしい。ちょうど同人ラブリが創設されてまもなくのころだ。手書き同人誌を湿式コピーしたものがあったのだが処分してしまったらしい。

2023年2月11日土曜日

冥王代

2月10日の日経夕刊のあすへの話題で,「地球へ…」の竹宮惠子が友人の地質学者の話を書いている。

名前は出しておらず,誰のことだろうとおもっていたら,全地球史アトラス冥王代生命学というキーワードが出てきたので,丸山茂徳だった。2人は徳島県出身で,1968年に徳島大学教育学部の別の専攻に入学していた。大学時代の部活動で接点があったらしいが,何部だったのかまではわからない。もっとも,1970年に竹宮は大学を中退して東京で漫画家の道を進んでいる。

丸山先生は,プルームテクトニクスの提唱者として有名だが,地球温暖化の人為起源説には否定的な見解を持っていた。たぶん,彼の時間スケール把握の観点からは,コンピュータシミュレーションの正当性の主張は霞んでしまうのだろう。


図:ChatGPT+DiffusionBeeによる冥王代のイメージ

Q: 画像生成AIのStableDiffusionに地球の冥王代の風景をかかせたいと思います。これにふさわしいプロンプト構文を200字以内でお願いします。40-45億年前の地球の形成過程の科学的知見に基づいて,ヘンな文字が紛れこまないようなものにしてください。

A: "Generate an image of the landscapes of Earth's underworld during the Hadean period, based on the scientific understanding of the Earth's formation process around 4 to 4.5 billion years ago. Show a desolate and hostile environment with volcanic activity and intense heat, surrounded by a young and constantly changing terrain."

[1]地球史年表History of Earth

2023年2月10日金曜日

QRコード(2)

QRコード(1)からの続き

前回の結果をまとめて,次のような仕様のpythonプログラム qr.py をつくる。テキストをファイルで与えるとエンコードしたQRコードの画像ファイルを生成し,逆にQRコードの画像ファイルを与えるとデコードしたテキストファイルを生成するソフトウェアである。いろいろ調べた結果を継ぎ接ぎしているだけだ。

(1) ./qr.py t hoge とすると,hoge.txt を hoge.png に変換する。
(2) ./qr.py g hoge とすると,hoge.png を hoge.txt に変換する。

#!/Users/koshi/bin/python

import sys
import qrcode
from pyzbar.pyzbar import decode
from PIL import Image, ImageGrab

foo=sys.argv[1]
bar=sys.argv[2]

if foo == 't':
    infile = bar+'.txt'
    outfile = bar+'.png'

    with open(infile, "r") as file:
        moji = file.read()
    img = qrcode.make(moji)
    img.save(outfile)

elif foo == 'g':
    infile = bar+'.png'
    outfile = bar+'.txt'

    with open(outfile, 'w') as file:
        img = Image.open(infile)
        for x in decode(img):
            moji = x[0].decode("utf-8")
            file.write(moji)
QRコードの仕様によれば,変換できる漢字かな文字数は最大1871文字までだ。726文字のサンプルで確認できた。

図:726文字のテキストに対するQRコード

726文字のこのQRコードは約7.5cm×7.5cmの面積なので,1㎠あたり13文字の情報密度になる。日本経済新聞で同じ面積の正方形に含まれる活字数を数える368文字であり,1㎠あたり6.5文字と約半分の情報密度だ。人間の目と手がQRコードに適応するよう進化していたら2倍の効率で情報伝達が可能になる・・・わけではない。

2023年2月9日木曜日

BardとBing

ChatGPTに端を発するAI チャットシステムの話題がNHKや新聞で大きく取り上げられるニュースになってきた。マイクロソフトとグーグルがこの大規模言語モデルの対応に大きく柁を切るアナウンスをしたからだ。いずれも検索エンジンの将来にかかわるという観点から取り上げられている。

マイクロソフトは,OpenAIと共同で,GPT関連技術を検索エンジンBingとブラウザEdgeに組み込むことを発表し,具体的なイメージを示した。2月7日からスタートするということだが,日本人の我々は待ち行列に並ばされている。これが誰にでも使えるようになるのならば,Macbook Air M1に十数年ぶりの Parallels Desktop for Mac を導入してWindows11を走らせなければならない。

グーグルは,OpenAIのGPT-3(Generative Pre-Trained Transformer 3)に対抗するLaMDA(Language Model for Dialogue Applications)という大規模言語モデルを持っている。去年の夏「AIが意識を持った?」で話題になっていた。OpenAIとは違って,これを一般に公開はしていなかったのだけれど,ChatGPTが1億人のユーザをあっという間に集めてしまったことでお尻に火がついたようだ。

グーグルは,2月7日にCEOのSundar Pichai がブログでアナウンスし,2月8日にパリからやや具体的なBard関連の発表があった。そこでは,Prabhakara Raghavan が Google Search は25年前の今日はじまったといってた。25周年の痕跡を探してもこれぐらいしかみつからない。

25年前(1998年)は,akebono(相撲の曙)サーバーのYahooが日本語版を出したころだ。全文検索エンジンとしてはgooを日常的に使っていたが,googleに出会った瞬間にこれが標準になってしまった。

追伸(2/11/2023)

2023年2月8日水曜日

QRコード(1)

1994年に日本で開発されたQRコードには日々お世話になっている。LINEのログインとか,PayPayの支払いとか,非常勤先のコロナ対応在席チェックなどだ。

長いURLをQRコードにして誰かに伝えたい場合,自分でQRコードを作成すると便利な場合がある。そんなときは,巷のQRコード作成サイトにたよっていた。例えば,こんなところそんなところあんなところである。

しかし,機微な情報もあるので,手元で作ることができればよいし,コマンドラインで実行できればもっとありがたい。さっそく,勉強のため自作しようかと意気込んで,python QRコードで検索すると,そりゃありますよね,既存のパッケージが。

qcode 7.4.2 というのがよさげだったので,早速インストールしてみた。
pip3 install qrcode
 or
pip3 install "qrcode[pil]"
 then
import qrcode
img = qrcode.make('QRコードです!')
img.save("qr.png")

たった3行でよい。コマンドラインからテキストとファイル名を取り込むようにした。

#!/Users/koshi/bin/python 
import sys
import qrcode
moji=sys.argv[1]
file=sys.argv[2]
out =file+'.png'
img = qrcode.make(moji)
img.save(out)

なお,pip3 install qrcodeで,qrというコマンドも別途インストールされていた。

逆に,QRコードの画像ファイルからテキストを取り出すこともできる。これは奥村先生のpython/qrcodeのページに詳しく書かれている。

brew install zbar
pip3 install pyzbar

として,qrdecode.pyを実行すればOKだった。

図:./qr.py 越桐國雄 kk で生成したQRコードkk.png



2023年2月7日火曜日

バナーイメージ

ノストラダムスからの続き

Damusのホームページでは,iPhoneクライアントが出るまで待ち行列に並べと書いてある。そのわりには,App Storeから簡単にDamusがインストールできて登録も完了した。

デフォルトのバナーとロボットアイコンはいやなので,変更するにはどうすればよいか調べると,設定画面から各画像のURLへのリンクを張ればよかった。自分のアイコンは,Twitterの10年くらい前の顔写真を流用する。バナーの方は bloggerのものを使おうとしたが,模様が薄くて単なるホワイトにみえるので改めて自作することにした。

画像なのでProcessingを使う。適当なサンプルを探してきて編集する。ChatGPTにもきいてみたのだけれど,エラーの理由がいまいちわからなくてあきらめた。void setup()は初期化のために1度だけ,void draw() はデフォルトでは繰り返し実行される。これで困る場合は,setup()にnoLoop()を入れればよい。setup中の最初に置くことになっているsizeコマンドの引数は数値でなければならなかった。このあたりが最初のつまづきポイント。

背景のグラデーションは,あとでGraphicConverter側でもっと調整できるかと思ったけれど,あまり思うようには設定できないので,プログラム側で努力することにした。

メインのルーチンであるネットワークの描画だけれど,乱数点をランダムに結んだだけでは,見栄えがよくないので次のようにした。(1) 選んだ2点を結ぶ線分の長さが一定以上のものは排除する。(2) ランダムな点で既存点との距離が近すぎるものはダミー点に置き換えてしまい(1)から使わないようにしてしまう。

これで得られたのが,現在のblogspotで使っているバナーである。サイズは750x250ピクセルとした。
int np = 600;
int[] x = new int[np+1];
int[] y = new int[np+1];
int[] c = new int[np+1];

void setup() {
  size(960, 480);
  int a0 = 30;
  int c1 = 180; 
  int c2 = 215;
  int c3 = 240; 
  for(int k = 0; k < height/a0; k++){
      noStroke();
      c1=c1+5;
      c2=c2+2;
      c3=c3+1;
      fill(c1,c2,c3);
      rect(0,a0*k, width,a0*(k+1));
  }
  noLoop();
  for (int i = 0; i < np+1; i++) {
    x[i] = (int) random(50, width-50);
    y[i] = (int) random(50, height-50);
    c[i] = (int) random(230, 250);
    for (int j = 0; j < i; j++) {
      float r = sqrt(sq(x[i]-x[j])+sq(y[i]-y[j]));
      if(r < 30) {
        x[i] = -200;
        y[i] = -200;
      }
    }
    fill(150,250,250);
    arc(x[i],y[i],2,2,0,2*PI);
  }
}

void draw(){
  for (int k = 0; k < np*1000; k++) {
    int i = (k + (int) random(0, np)) % np + 1;
    int j = (k + (int) random(0, np)) % np + 1;
    int l = (k + (int) random(0, np)) % np + 1;
      stroke(c[l], c[l], c[l]);
      if(sq(x[i]-x[j]) + sq(y[i]-y[j]) < 4000) {
          line(x[i], y[i], x[j], y[j]);
      }
  }
}


図:ネットワークをイメージした薄味のバナー

2023年2月6日月曜日

ノストラダムス

2月に入ってノストラダムスが話題を集めている。正確には,Nostrdamusなのだけれど。

Nostr(ノストル)とは,ネットワークのプロトコル名だ。公開鍵と秘密鍵の暗号鍵ペアに基づく分散型ネットワークである。ピア・ツー・ピアでもブロックチェーンでもない。メールと同様の古典的なリレー方式だ。超シンプルでスケーラブルなため,SNSプロトコルとして役に立つ可能性がある。

Damus(ダムス)とは,Nostrプロトコルを用いた分散型のSNSシステムだ。Twitterのような中央集権プラットフォームのサーバーは不要であり,登録に個人情報はいらず,暗号鍵ペアの秘密鍵でログイン認証し,公開鍵で他人の検索・フォローができる。

ActivityPub(アクティビティパブ)というプロトコルを用いた,分散型SNSのMastodon(マストドン)やMisskey(ミスキー)との違いは,[2]に詳しい。

さっそくiPhoneアプリのDamusに登録してみた。なにしろ,Twitterはイーロン・マスクによってかなり危うい運営状態になっているので,皆さん受け皿探しに必死(というほどでもないのだけれど)になりつつある。現時点で,Twitterは4億人,Mastodonは400万人,Damusは4万人というユーザ数のオーダーなので,世界は簡単には変わらない。

なお,@koshix Kunio Koshigiri の公開鍵は以下の通りである。

npub1r0r87scde7m66vvuz9dc5fht4g0va0ucl87yj4c984xdlwed5lmqv0m3ce


図:Damus macOS版(iOS版?)のアイコン

2023年2月5日日曜日

スライムハンド

NHKの朝のニュースで名古屋市立大学芸術工学部小鷹研究室が紹介されていた。小鷹研理准教授は,もともとロボットの研究をしていたが,鏡に映った身体感覚の錯覚におどろいて,その分野の研究にシフトした。

テレビで紹介されていたのは,スライムハンドという錯覚だ。実験者と被験者がテーブルに向かいあって座っている。被験者は右手をテーブルに載せ,鏡を挟んで左手の位置にはスライムだけが置かれている。被験者は鏡を左からのぞき込み,右手の位置に映ったスライムだけを見ている。

実験者が被験者の左手と右手側のスライムを同時に触ったり放したりする。やがて,左手の甲の皮膚をつまみながら,スライムをつまんで引き伸ばすというものだ。動画を見ていただいたほうが話が早い。このとき,被験者は自分の手の甲の皮膚が伸びていくような錯覚を感じる。

NHKの番組では実演までやっていた。研究室のホームページにはこのほかにも楽しそうな錯覚実験がたくさんのっていた。昨年にはあちこちのメディアで取り上げられていたらしい。


写真:スライムハンドの実験の様子(小鷹研YouTubeから引用)


2023年2月4日土曜日

ChatGPTと教育(2)

ChatGPTと教育(1)からの続き

ChatGPTがどのような役割を果たして教育のシステムを改善していくのか,あるいはAIの教育利用がどんな問題点をはらんでいるのかについて,様々な議論が始まっている。そこで,よくあるパターンの一つとしてChatGPT自身に聞いてみた(下記Q&A参照)。これは,ChatGPTが学習してきた大量の文書総体≒人類の「意識」の平均的なありようの射影になっている。

その結果は,例によって,もっともらしい単語の羅列であって,一瞥すると的を射たコメントのように見えたりもする。しかし,言葉を十分に吟味してみれば,テレビの時事情報番組のコメンテーターの場合と同様に,論理的にかみあわない単語の連鎖にキーワードをまぶして雰囲気だけを醸し出しているに過ぎない。
Q:大規模言語モデルを用いたAIによるシステムを学校教育に利用しようと思います。どのような活用方法が有用なのか5つあげて,その理由を箇条書きで説明してください。

A:(質問者のコメント:論理的推論の欠如と概念の重複
自然言語生成:大規模言語モデルを使って自然言語を生成することができます。これにより学生が作成した文章の構文や文法のチェックなどが行えます。

自動翻訳:大規模言語モデルを使って多言語の翻訳が可能です。これにより外国語の学習をサポートすることができます。

チャットボット:大規模言語モデルを使ってチャットボットを作成することができます。これにより学生がコミュニケーションスキルを磨くことができます。

機械翻訳:大規模言語モデルを使って機械翻訳を行うことができます。これにより学生が英語など外国語を読む力を向上させることができます。

音声認識:大規模言語モデルを使って音声認識を行うことができます。これにより学生がリスニング力を向上させることができます。


Q:外国語や国語の学習が中心ですね。それら以外の教科を念頭にさらに5項目あげて下さい。

A:(質問者のコメント:単調なパターンの繰り返し,論理の飛躍
数学:大規模言語モデルを使って数学の自動生成や問題の自動解答などができます。これにより学生が数学の要点を理解しやすくなります。

科学:大規模言語モデルを使って科学の説明や解説などを自動生成することができます。これにより学生が科学の概念を理解しやすくなります。

哲学:大規模言語モデルを使って哲学的なトピックの説明や解説などを自動生成することができます。これにより学生が哲学的な観点から物事を考える力を養うことができます。

歴史:大規模言語モデルを使って歴史的なトピックの説明や解説などを自動生成することができます。これにより学生が歴史的な観点から物事を考える力を養うことができます。

社会科学:大規模言語モデルを使って社会科学的なトピックの説明や解説などを自動生成することができます。これにより学生が社会科学的な観点から物事を考える力を養うことができます。


Q:これらの例は,従来のインターネットにおける情報検索でも実現できていたのではないですか。本質的な違いがあるような具体的な方法を知りたいのですが。

A:(質問者のコメント:ChatGPTが主観をシミュレートしているということ?
その例示した内容は従来のインターネット上の情報検索でも実現可能ですが、大規模言語モデルを用いた AI によるシステムは以下のような本質的な違いがあります。

自然な文章生成:大規模言語モデルは自然な文章生成能力があり、学生にとって理解しやすい形式で情報を提示できます。

主観性のある情報提示:従来の情報検索はオブジェクト的な情報を提供しますが、大規模言語モデルは主観性のある情報も提示することができます。これにより学生が様々な観点から物事を考える力を養うことができます。

学習内容のカスタマイズ:大規模言語モデルを使った AI システムは学生の学習状況に合わせて学習内容をカスタマイズすることができます。これにより学生が効率的に学習することができます。

自動的な評価:大規模言語モデルを使った AI システムは学生の課題やテストの解答を自動的に評価することができます。これにより教師の負担が軽減されます。

これらが大規模言語モデルを用いた AI によるシステムが従来のインターネット上の情報検索と本質的に異なる点です。
[3]1/26/2023 教育現場でのChatGPTの利用についてChatGPTに直接聞いてみた(サルタック・シクシャ)

2023年2月3日金曜日

ChatGPTと教育(1)

ChatGPTの近況(2)からの続き

OpenAIはChatGPTの教育利用でつまづくことを懸念し,かなり気をつかった文章を作成していた(Educator Considerations for ChatGPT)。その一部を引用して訳出してみた。

【教育関連のリスクと機会の例】

我々は,この技術がどのように使用され,人々がどのようなアプリケーションを探求するかを理解するための,まだ初期段階にいる。教育の場における生成AIの多くの応用に期待しているが,他のテクノロジーと同様,教育者の監督のもとで教室に導入することが重要だと考えている。また,多くの教育関係者が,この技術に何ができるのか,その限界は何なのかについて疑問を持っていることも理解している。

以下にその概要を紹介する。このリストは包括的なものではないが,この技術を採用する際に何を考慮すべきかについて,さらなる議論と意見の喚起につながることを期待している。なお,これらの検討事項について,添付の入力フォームでご意見を募集している。 
*効率的で個別化された教育

ChatGPTのようなツールを使って,教育者がどのように教え・学ぶかを模索しているいくつかの例を示す。

・授業計画やその他の活動の下書きやブレーンストーミング
・練習問題やその他の演習課題の設計の支援
・カスタム自習ツールの検証
・好みに合わせて教材をカスタマイズ(言語の簡単化,読解レベルの調整,興味に合わせたアクティビティの作成)
・文章読解に対する文法的または構造的なフィードバックの提供
・作文やプログラミングの分野におけるスキルアップ活動での使用(コードのデバッグ,文章の修正,説明の依頼)
・AIが生成したテキストに対する批評

上記のいくつかは,個別学習支援ツールとして求められるChatGPTの可能性を引き出す一方で,学生のプライバシー,偏見のある扱い,不健康な習慣の助長など,個別化に関連するリスクも存在する。学生が直接の指導監督なしにこれらのサービスを提供するツールを使用する前に,学生とその教育者は,以下に概説するツールの限界(以下の*)を理解する必要がある。

同様に,教師はChatGPTを利用して課題の作成を支援したり,学生の作文にコメントを提供したりすることに成功したと報告しているが,それ自体を評価ツールとして信頼すべきではない。むしろ,教師は入力と出力の両方を慎重に確認し,AIシステムを使用したり依存したりした場合は,利用規定に沿って開示する必要がある。

*不正行為と剽窃の検出(略)
*AI倫理とリテラシー(略)
*真実性(略)
*有害なコンテンツ,偏見,ステレオタイプ(略)
*評価(略)
*過度な信頼(略)

*公平性とアクセス

ChatGPTのような技術がますます普及しているため,学生がこれらのツールに等しくアクセスし,効果的に使用する方法を学ぶことが重要である。ChatGPTは,既存の不公平,特にデジタルデバイドに関連する不公平を悪化させる可能性がある一方で,その一部に対処する機会も提供する。例えば,文章を書くのが苦手な学生や英語が第二言語である学生にとって,ChatGPTはスペルミスを減らし,コミュニケーションを向上させるのに役立つ。

しかし,このモデルの性能のばらつきの問題(偏見,他言語での性能,非西洋的視点の取り込みなど)は,学生にとって公平な結果を得る機会にも悪影響を及ぼす可能性があある。さらに,ChatGPTに関連するコストや地理的なアクセス制限は,学生や教育者のアクセスに影響を与える可能性がある。

*雇用機会と展望(略)

*利用の公開

我々は、学生がChatGPTの使用状況をエクスポートし,教育関係者と共有できるような機能を開発中だ。現在,学生はサードパーティのブラウザ拡張機能でこれを行うことができる。
教育者は,学習教材を作成する際にもChatGPTの利用を公開し,課題や活動にChatGPTの利用を取り入れる際には,学生に公開するようお願いする必要がある。
学生はChatGPTを使用したことを以下のようにBibtex形式で引用することができる。

*教育関係者の意見

我々は,教育関係者と協力して,教室で何が起こっているかを知り,ChatGPTの能力と限界について議論している。私たちのアウトリーチでは,まず私たちが本社を置く米国の教育関係者に焦点を当ているが,私たちが学びながらその範囲を広げていく予定だ。

教師,管理者,保護者,学生,教育サービス提供者など,これらの問題に影響を受けている人々が見ているものについて,さらなる視点を歓迎している。この取り組みの一環として,教育関係者の皆様には,フィードバックフォームにご記入の上,開発中のリソースや参考になったリソース(コースガイドライン,オナーコードやポリシーのアップデート,インタラクティブツール,AIリテラシープログラムなど)をご紹介いただけると幸いである。

ChatGPTの月間アクティブユーザー(MAU*)は2022年11月30日の公開開始から2ヶ月の2023年1月には1億人に達した(*Monthly Active User:ある月に1回以上利用したユーザの数)。

※※ChatGPTは,月20ドルの有料版 ChatGPT Plusを米国で提供するとアナウンスした。ピークタイムでもすぐにアクセスできること,高速なレスポンスタイム,新機能や改良の優先的適用等のメリットがある。

[1] OpenAI CEO Sam Altman | AI for the Next EraSam Altman 1985-)

[2]ChatGPT Plus(OpenAI)

2023年2月2日木曜日

ChatGPTの近況(2)

ChatGPTの近況(1)からの続き

そうこうしている内に,OpenAIは,ある文章がChatGPTのようなAIによって作られたものか,人間が書いたものかを判別するツールをオープンした。AI Text Classifier である。どうやら教育・学習の場で ChatGPTが使われることに対する批判への一つのエクスキューズのような雰囲気だ。なお,Educator considerations for ChatGPT にOpen AI側からの詳細なコメントがある。

AI Text Classifierには,現在のところ次のような制限事項がある。
・最低1,000文字(約150~250ワード)が必要である。
・分類器は必ずしも正確ではなく,AIが生成したテキストと人間が書いたテキストの両方を誤って分類することがある。
・AIが生成したテキストは,分類器を回避するために簡単に編集できる。
・分類器は,主に大人が書いた英語のコンテンツで学習したため,子供が書いたテキストや英語でないテキストでは間違う可能性が高い。(つまり日本語には対応していない)
一方の,ChatGPTの方には,数学的な扱いが少し賢くなったようなメッセージが見えた。早速,二次方程式の問題に挑戦する。x^2-5x+6=0 である。これは簡単に因数分解できるのだけれど,解の公式を当てはめて答えの3と2を導いている。しかし,2x^2+3x-2=0 の場合は,x=(-3 ± 5)/4 までは正しいのだが,最後の答えが 2と-1なのだ。なんでやねん。

次に,ChatGPTに,"please explain the general method so solve quadratic equation, for junior high school students" と入力して得られた1150文字の回答をAI Text Classifierにいれると,確かに,AIが作った文章だと判定された。まだ様子見の段階。

2023年2月1日水曜日

ChatGPTの近況(1)


いよいよ,普通のメディアでも話題になってきたChatGPTである。

(1) OpenAIがChatGPT Pro版として,月額$42(≒6,000円)の有料高速プランを出すらしいとの噂が流れている。無料版が継続されるのはどうかはわからない。また,同等のシステムはいろいろと出現しそうである。例えば,Easy-Peasy-AIは,無料プランとより安価な有料プランを提示している。それにしても,オープンソースの無料版のモデルが必要だ。対話は検索と同じくらい重要であり,すべての人がヘビーユーザになりうるからだ。

(2) ChatGPTがすでに,大学のレポートなどで使われ始めている。スタンフォード大学では,17%の学生が試験やレポートでChatGPTを使ったという。一方,初等中等教育の場からは排除しようという動きもある。ニューヨーク市の教育局が,学校の端末からのChatGPTへのアクセスを禁止するというものだ。個人の端末からのアクセスまでは制限できないので,どれほど意味があるのかはよく分からない

(3) GoogleのChromeにChatGPTの機能拡張を組み込むことができる。ChatGPT for Googleである。早速試してみた。検索語を入力すると,右サイドにこのキーワードに対するChatGPTの出力が現れる。日本語だからなのか,出力が片言で非常に時間がかかっている。Google SpreadSheetには,GPT関数を組み込むことができる神田敏晶さんが紹介している。OpenAIのAPIを使っているので有料になる。すでに無料分を使い切って課金していないので,エラーになってしまった。ChatGPTが正しい事実を話すようになれば非常に強力な仕事のツールになる。

(4) Wolfram Alpha は,2009年にカウントダウンの鳴り物入りでスタートした質問応答システムである。深層学習に基づく大規模言語モデルとは異なるものの,ChatGPTが苦手な事実データや数学的な計算処理については幅広く対応することが可能であった。そこで,Wolfram AlphaとChatGPTのタッグが強力なシステムになることが簡単に予想でき,スティーブン・ウルフラムはその期待を語っている[1]。また,ある種の実装はすでに開始されている[2]。

図:Google Trends(AI, メタバース, ChatGPT)の1年の推移


2023年1月31日火曜日

形態素解析

コンピュータによる自然言語処理のアルゴリズムで第一に取り上げられるのが形態素解析である。品詞情報がならんだ辞書をもちいて,原文を形態素(品詞情報付き)に分解できる。

これを実現するソフトウェアとしては,大学等で開発されたいくつかのフリーソフトが有名だった。Juman / Juman++ChaSenKAKASIMeCab(工藤拓),SudachiKuromoji(atilica),janome(打田智子)などである。MeCabがポピュラーなのだけれど今となっては少し古いのかもしれない。これまで,MeCabになじんできたので,Juman++出力形式はやや違和感がある。

さて,しばらく前に,mecab-neologdというMeCabの最新辞書を導入した。それでもたりない場合は,ユーザ辞書を定義して使うことになるのでチャレンジしてみる。その前に,システム辞書をipadicからipadic-neologdに変更してみた。
vi /opt/homebrew/etc/mecabrc
configuration file の dicdir の修正:
; dicdir =  /opt/homebrew/lib/mecab/dic/ipadic
dicdir = /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd
次に,「ユーザ辞書登録をやり直す」にしたがって,ユーザ辞書を使えるようにしてみた。
cd /opt/homebrew/lib/mecab/dic
vi userdic.csv
cat userdic.csv

行政組織,,,1000,名詞,一般,*,*,*,*,行政組織,ギョウセイソシキ,ギョウセイソシキ

出発点,,,5000,名詞,一般,*,*,*,*,出発点,シュッパツテン,シュッパツテン

95%信頼区間,,,5000,名詞,一般,*,*,*,*,95%信頼区間,キュウジュウゴパーセントシンライクカン,キュージューゴパーセントシンライクカン

/opt/homebrew/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd -u userdic.dic -f utf-8 -t utf-8 userdic.csv
mecab -u /opt/homebrew/lib/mecab/dic/userdic.dic

これで使えるようになる。ユーザ辞書のcsvファイルの構造は次のようになっている。
表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音
左右の文脈IDは空欄でよいらしい。またコスト値を推定する方法についてはもう少し調べる必要がある。

2023年1月30日月曜日

京大OCW

高等教育研究センター(2)からの続き

騒動になってから半年たち,京都大学からオープンコースウェアを継続することが発表された。現行OCWコンテンツを維持とし,新しいOCW2.0(仮称)や検索システムKU-Search(仮称)を構築するとのこと。そのために,コンテンツ企画・支援室(仮称)を設けるらしいが,京都大学情報環境機構の情報環境支援センターに位置づけられるのかな。

この機会に他大学のOCWはどうなったかをgoogleにOCW +site:ac.jpを入れて検索した。

  (338通常講義,477公開講義,81最終講義,95国際会議,90その他)
  (5078講義ノート,40動画音声)
  (150学部講義,50大学院講義,170公開講座)
  (48テレビ講義,43ラジオ講義,131テレビC,152ラジオC)
  (269コンテンツ)
  (92学部講義,48大学院講義,264公開講座)
  (136コンテンツ)
  (352授業,251最終講義,)

googleで見つかるのものは,京大,東工大,東大がほとんどを占めていた。阪大と東北大がOCWで引っかからない。なぜなら彼らはMOOCの名前を使って,阪大はedX,東北大はJMOOCにアウトソーシングしているからだった。

それでは,OCWとMOOCの違いはなんなのだろうか。JOCW(日本オープンラーニングコンソーシアム)が解消発展したOEジャパンに定義があった。
OCW(Open Course Ware):大学や大学院などの高等教育機関で正規に提供された教材を,インターネット上に無償で公開する活動

MOOC (Massive Open Online Course):インターネットにアクセスできれば誰でも無償もしくは安価に利用できるオンライン講義

OE(Open Education):世界中のすべての人が質の高い教育経験と資源にアクセスできるようにすることで,人類の発展に貢献しようとする教育ムーブメント


OER(Open Education Resource):教材の作成者が利用者に対し,その教材の修正や改変の許可を与えてる学習資料,クリエイティブ・コモンズ・ライセンスなどにより著作権の一部もしくは全てを放棄することで,他の人々は自由にアクセス・再利用・翻訳・修正できる。
インターネットがブレイクして10年後,今から20年前にOCWは一時流行しかけていたけれど,やがて下火になって現在に至っている。GIGAスクール(一人一端末)の時代に,OERの重要性はますます高まっているはずなのだが・・・


図:MOOCのイメージ(Wikipediaから引用)




2023年1月29日日曜日

茶道

NHKの近畿のニュースで小学生の茶道教室の話題があった。アナウンサーが茶道(ちゃどう)と発音して紹介している。NHKは最近よく間違えるわと思ってみていると,2回目も「ちゃどう」と。あれ,もしかして「さどう」だと思っていた自分のほうがおかしいのか?

さっそく,物書堂の精選版日本国語大辞典で確かめてみると・・・
ちゃ-どう【茶道】〘名〙
①茶の湯を催すことによって静寂閑雅の境地にはいり,礼儀作法を修める道。…。さどう。

さ-どう【茶道・茶頭・茶堂】〘名〙
①(茶頭・茶堂)茶事をつかさどるかしら。…。
②(茶道)茶の湯。…。
[補注]茶の湯の道のことを「さどう」というのは江戸時代まではまれであり,また,茶頭との混同をさけるために「ちゃどう」というのが普通であった。
お〜い,早く教えてくれ〜。70年近く生きているのに知らなかった。たぶんそんなことが他にも沢山在るわけで,まあそれはそれでいいのかもしれないけれど・・・。なお,大辞林でも「ちゃどう」がメインで「さどう」がサブの扱いだった。

ということは,これまでも「ちゃどう」という言葉がしばしば聞こえてきてもおかしくなかったのだけれど,思い込みフィルターで完全に無視していたに違いない。高校の時は茶道部(さどうぶ)とよんでいたはずなのだが。

[参考]
(1) 裏千家,表千家の英語ページでは,Sadoはでてこない。Chanoyu だ。
(2) 日本政府観光局サイトでは,"These practices developed into sado, the art of the Japanese tea ceremony."とある。
(3) Googleでは,sado "Tea ceremony" 78,800件,chado "Tea ceremony" 65,300件
(4) Wikipedia(英語)では,The Japanese tea ceremony (known as sadō/chadō (茶道, 'The Way of Tea') or chanoyu (茶の湯)) 
(5) ChatGPTでは,Q:How do you pronaunce Japanese Tea ceremony as Japanese word.
A:The Japanese word for "tea ceremony" is "chado" or "sado" (茶道) which is pronounced "cha-doh" or "sah-doh" respectively.

一般的には,互角というところなのかもしれない。


図:The kanji characters for chadō, the 'Way of Tea' (Wikipediaから引用)