ラベル アプリケーション の投稿を表示しています。 すべての投稿を表示
ラベル アプリケーション の投稿を表示しています。 すべての投稿を表示

2024年11月30日土曜日

古典籍OCR-Lite

NDLデジタルコレクションからの続き

NHK大河ドラマの「光る君へ」では毎回,出演者の努力の結晶である美しい筆運びが披露されている。古典籍のくずし字を読めたらいいなと思うことはしばしばで,教科書を買って積ん読状態にして挫折したことも何度もある。最近は,OCR技術が進んだのでその恩恵を被ることができるようになった。

NDL古典籍OCR-Liteは,GPUを持たないノートパソコンの環境で,江戸期以前の和古書,清代以前の漢籍といった古典籍資料のデジタル化画像からテキストデータが作成できる軽量なOCRだ。先日,NDLラボ公式GitHub公開されたところだ

Mac版のアプリケーションも公開されているので,怪しくないよとmacOSに宣言してあげれば使うことができる。早速試してみた。「古」を象ったアイコンのアプリケーションだ。

国立国会図書館デジタルコレクション枕草紙の最初の1ページを試しに与えてみたところ,
結果は次のようなテキストファイルで出力された。
枕草紙「阿波国81 
春はあけほのそらはいたくかろみにたるにやう〳〵
しろくなりゆく山きはのすこしつゝあかみて
むらさきたちたる雲のほそくたな引たる
なといとおかし
夏はよる月のころはさらなりやみもなをほたる
おほ〳〵とひちかひた又たゝ一二なとほのかに
うちひかりてゆくもいとおかし
雨のとやかにふりたるさへこそおかしけれ
秋は夕暮夕日のきはやかにさして山の葉ちかみ
あれ?普通の枕草子とは違うのかな?


写真:枕草紙のイメージ(NDLデジタルライブラリから引用)


2024年6月27日木曜日

東京都知事選挙(2)

東京都知事選挙(1)人民の敵からの続き 

たしかに,外山恒一いうように,この選挙地獄絵図を招いたのは2007年の東京都知事選挙における外山恒一の政見放送演説だったのかもしれない。それを反省してか?彼は2016年に,九州ファシスト党〈我々団〉の選挙制度改革案を提案している。現在のサニタイズされた生成AIにはこれを出力することができない。

このpdfファイルをClaude 3.5 Sonnetに読ませようとしたところ,日本語pdfが読めないようだった(ほんとか)。そこで,テキストをコピペして与えたところ次のようにまとめてくれた。
Q(koshix):
これなら読めますか。
A(Claude 3.5 Sonnet): 
はい、ありがとうございます。この文書は日本語で書かれており、内容を読み取ることができます。これは「九州ファシスト党〈我々団〉」という組織の選挙制度改革案についての詳細な文書です。主なポイントを要約いたします:
  1. 最終的要求:「学力試験による制限選挙制」の導入
    • 高校入試レベルまたはセンター試験の現代文レベルの試験を実施
    • 合格者のみに投票権を付与、または試験の成績に応じて投票の重みを変える
  2. その他の個別的な選挙制度改革の要求: a) 期日前投票の廃止、または選挙期間制の廃止 b) 供託金制度の廃止と「立候補同意署名」制度の導入 c) 小選挙区制の廃止、全国区制または中選挙区制の導入 d) 政令市議選における選挙区制の廃止 e) 戸別訪問や公開討論会などの自由化 f) 選挙権年齢と刑事罰が科される年齢の一致(具体的には14歳への引き下げ)
  3. 投票ボイコットの継続:
    • これらの改革が実現されない限り、原則として投票ボイコットの方針を継続

この文書は極端な政治的立場を示しており、民主主義の基本原則に反する提案も含んでいます。特に「学力試験による制限選挙制」の提案は、普通選挙の原則に反し、差別的な性質を持っています。また、組織の名称や主張には注意が必要です。これらの提案は、現代の民主主義社会では一般的に受け入れられないものです。

Q(koshix):
普通選挙の原則とはどんなものでしょうか。

A(Claude 3.5 Sonnet): 普通選挙の原則は、民主主義の基本的な要素の一つで、選挙権の平等と普遍性を保証するものです。主な特徴は以下の通りです:
  1. 普遍性:成人した市民は、原則としてすべての人に選挙権が与えられます。
  2. 平等性:「一人一票」の原則。すべての投票は同じ価値を持ちます。
  3. 無差別:人種、性別、社会的地位、教育レベル、財産などによる差別なく選挙権が与えられます。
  4. 秘密投票:投票の内容は秘密が守られ、外部からの圧力や影響を受けずに自由な意思表示ができます。
  5. 直接性:有権者が直接投票することで、間接的な方法(例:選挙人団)を介さずに代表者を選びます。
  6. 自由性:強制や不当な影響を受けずに、自由意思で投票できます。

普通選挙の原則は、19世紀後半から20世紀にかけて多くの国で段階的に導入されました。それ以前は、財産や教育レベル、性別などによる制限選挙が一般的でした。

日本では、1925年に男子普通選挙法が成立し、1945年に婦人参政権が認められて完全な普通選挙制となりました。

この原則は、民主主義における政治参加の平等を保証し、多様な意見を政治に反映させるための重要な基盤となっています。ただし、未成年者や重度の精神障害者、一部の重罪犯などには制限が設けられる場合があります。


年齢制限やドメイン投票に関わる部分はまだ十分考える時間がないが,外山恒一の提案で検討に値するのが,a) 期日前投票の廃止または選挙期間制の廃止,b) 供託金制度の廃止と「立候補同意署名」制度の導入,e) 戸別訪問や公開討論会などの自由化 である。

外山は,立候補同意署名制度について,現在の供託金没収ラインである有効投票数÷(議員定数×10)に対応して,有権者総数÷(議員定数×20)という数字を提案している。例えば人口6万人の天理市の市長選挙では,5万÷20 = 2500人,市議会議員選挙では 5万÷(16×20)≒150人というオーダーになる。

ここから私見: 立候補予定者があらかじめ,自分の履歴・経験や政策をまとめたこの政策ドキュメント(ダイジェストA4判1pと詳細版8p)およびビデオクリップ(ダイジェスト1分と詳細版10分)を提出し,それに対応するクローズドなサイトをつくる。有権者のうち立候補同意署名を依頼されて同意した人は,マイナンバーカードを用いた個人認証でこのサイトにログインし,同意欄にチェックすることで自動的に同意署名カウントが可能になる。なお,1人の有権者が複数の候補者に同意署名をすることはできない。

立候補同意署名の収集がクリアできた候補者は,この政策ドキュメントとビデオクリップをそのまま公開することになる。これらはネットでオープンにするため,ポスター掲示板は不要となる。なお,ビデオクリップはノーカットでなければならず,候補者本人のみが素顔で登場ことができる。手話通訳や翻訳は外部のAIツールにまかせる。


図:政策のマッチングサイト

P. S. 東京都民でもないのに,選挙ドットコムの運営している投票マッチングを試してみた。エントリーしているのは33人で,清水国明ら参加していない候補もいる。20個ほどの政策への賛否を5段階で選択して,候補者と比較するものだ。一番マッチしたのがあの橋下徹のDVしぐさと屁理屈をデッドコピーしていて辟易とする石丸伸二だった,オヨヨ。蓮舫は四番目,小池は何度試しても最下位。そうだよね。

[1]公職選挙法

2024年6月18日火曜日

スマホソフト競争促進法

スマートフォンにおいて利用される特定ソフトウェアに係る競争の促進に関する法律が,6月12日に参議院本会議で可決された。

発端は,AppleやGoogleのアプリストアが独占的で,他のベンダーの参入を妨げているということだ。AppleのApp Storeでは,登録されたアプリの安全性を慎重に審査しているので,これがなくなることによるセキュリティ上の問題点が懸念されるとの声が広がっていた。完全にそれはぬぐえていないが,とりあえず,ウェブからのアプリの直接ダウンロードを義務づけるまでには至らなくてよかった
スマートフォンが国民生活及び経済活動の基盤となっていることに鑑み、スマートフォンを利用した事業に係る競争環境を整備するため、スマートフォンの利用に特に必要な特定ソフトウェアの提供等を行う事業者を指定し、特定ソフトウェアに係る競争を制限するおそれのある行為を禁止する等の措置を講ずる必要がある。これが、この法律案を提出する理由である。
法案から用語の定義を抜き出してみると。
アプリストア:個別ソフトウェアを有償無償で提供しスマートフォンに組み込む用途の個別ソフトウエア
特定ソフトウェア:基本動作ソフトウェア(OS),アプリストア,ブラウザ,検索エンジンの総称(アプリストアやブラウザは個別ソフトウェアだが,検索エンジンは単にソフトウェアとされている)
個別アプリ事業者:個別ソフトウェアを提供する事業者
ウェブサイト事業者:商品又は役務の提供を目的として,スマートフォンを利用する公衆へのウェブページ又はその集合物の提示を行う事業者
特定ソフトウェア事業者:特定ソフトウェアの提供等を行う事業者のうち,当該特定ソフトウェアの提供等に係る事業の規模が他の事業者の事業活動を排除し,又は支配し得るものとして特定ソフトウェアの種類ごとに利用者の数その他の当該事業の規模を示す指標により政令で定める規模以上であるものを,次章の規定の適用を受ける者として指定するものとする。
特定ソフトウェア事業者(AppleやGoogleのこと)には,特定ソフトウェアの種類ごとに公正取引委員会に指標に関連する事項を届け出る必要がある。ということは,最初にどうやって指標を調べて特定ソフトウェア事業者を指定するのかが微妙なのだけれど,そこま目をつぶるのかな。

法案はわかりにくいので,特定ソフトウェア事業者について,第九条から第五条の禁止される行為と第十条から第十三条の講ずべき措置を,ChatGPT-4oに教えてもらうことにする。もちろん正しいかどうかは保証の限りでない。

A(GPT-4o):
スマートフォンにおいて利用される特定ソフトウェアに係る競争の促進に関する法律案」第五条から第九条で禁止される行為について、具体的な例を挙げて分かりやすく説明します。

第五条:取得したデータの不当な使用の禁止
禁止行為: 指定事業者は、取得したデータを競争上有利に利用してはならない。
具体例:
基本動作ソフトウェア:スマートフォンのOSを提供する事業者が、他のアプリ事業者のアプリ利用データを収集し、そのデータを基に自社の類似アプリを優位に展開すること。
例:OS事業者が他社の地図アプリの利用データを利用して、自社の地図アプリを優位にする。
アプリストア:アプリストアを運営する事業者が、他のアプリの売上データを利用して自社のアプリを優位に販売すること。
例:アプリストア運営者が他社ゲームアプリの売上情報を元に、自社ゲームアプリをプロモーションする。
ブラウザ:ブラウザ提供者が、他のウェブサイトの閲覧データを利用して、自社のサービスを優位に提供すること。
例:ブラウザ事業者が他社のニュースサイトの閲覧履歴を利用して、自社のニュースサイトを優先的に表示する。

第六条:個別アプリ事業者に対する不公正な取扱いの禁止
禁止行為: 指定事業者は、他の個別アプリ事業者に対して不公正な取扱いをしてはならない。
具体例:
不当な差別的扱い:アプリストア運営者が、特定のアプリ開発者だけに不利な条件を課すこと。
例:アプリストアが特定のアプリ開発者にだけ高額な手数料を設定する。

第七条:基本動作ソフトウェアに係る指定事業者の禁止行為
禁止行為: 指定事業者は、基本動作ソフトウェアを用いて他の事業者のアプリストアや機能の利用を妨げてはならない。
具体例:
アプリストアの限定:OS提供者が、自社のアプリストアのみを利用可能にすること。
例:スマートフォンメーカーが自社のアプリストア以外をインストールできないようにする。
機能の制限:他社のアプリがスマートフォンの機能を利用できないようにすること。
例:他社の音声アシスタントアプリがスマートフォンのマイクを利用できないようにする。

第八条:アプリストアに係る指定事業者の禁止行為
禁止行為: 指定事業者は、アプリストアにおいて他の支払手段や商品情報の表示を制限してはならない。
具体例:
支払手段の制限:アプリストア運営者が、自社の支払手段のみを使用させること。
例:アプリストアが自社の決済システム以外を利用できないようにする。
価格情報の制限:他の販売チャネルでの価格情報をアプリ内で表示させないようにすること。
例:アプリストアが、ウェブサイトでの価格情報をアプリ内で表示できないようにする。

第九条:検索エンジンに係る指定事業者の禁止行為
禁止行為: 指定事業者は、自社のサービスを不当に優先表示してはならない。
具体例:
検索結果の操作:検索エンジン提供者が、自社のサービスを他社よりも優先的に表示すること。
例:検索エンジンが自社のショッピングサイトを検索結果の上位に表示する。
これらの禁止行為は、特定ソフトウェアの提供者が市場で不当に優位に立つことを防ぎ、公正な競争環境を維持することを目的としています​​。


A(GPT-4o):
スマートフォンにおいて利用される特定ソフトウェアに係る競争の促進に関する法律案」の第十条から第十三条で指定事業者が講ずべき措置について、具体例を挙げて分かりやすく説明します。

第十条:データの取得等の条件の開示に係る措置
措置内容: 指定事業者は、特定ソフトウェアの利用に伴い取得するデータに関する条件を開示する。
具体例:
基本動作ソフトウェア:スマートフォンのOS提供者が、アプリ開発者に対して、OS利用に伴い取得するアプリの利用状況データやその管理方法を明示する。
例:OS提供者がアプリ開発者に、取得するデータの種類(例:クラッシュログ、使用頻度)やその保存方法を開示する。
アプリストア:アプリストア運営者が、アプリ提供者に対して、アプリストアの利用に伴い取得するデータ(例:ダウンロード数、評価)の取得条件を開示する。
例:アプリストアがアプリ提供者に、ユーザーの評価データの取得方法や利用条件を説明する。

第十一条:取得したデータの移転に係る措置
措置内容: 指定事業者は、利用者が求めに応じて取得したデータを移転できるようにする。
具体例:
基本動作ソフトウェア:スマートフォンのOS提供者が、ユーザーが求めた場合に連絡先データを他のアプリに移転できるようにする。
例:ユーザーが新しいメッセージングアプリを使うために、連絡先を一括で移動できるようにする。
アプリストア:ユーザーが他のアプリストアに移行する際に、購入履歴データを新しいアプリストアに移転できるようにする。
例:ユーザーがGoogle PlayからApp Storeに移行する際に、購入済みアプリの情報を移行できるようにする。

第十二条:標準設定等に係る措置
措置内容: 指定事業者は、標準設定におけるユーザーの選択を容易にする。
具体例:
基本動作ソフトウェア:スマートフォンのOS提供者が、ユーザーが標準の検索エンジンを簡単に変更できるようにする。
例:ユーザーがデフォルトの検索エンジンをGoogleからBingに簡単に変更できるようにするオプションを提供する。
ブラウザ:ブラウザ提供者が、ユーザーが標準設定された検索エンジンを簡単に選択・変更できるようにする。
例:ブラウザの設定メニューで、ユーザーが簡単に検索エンジンを選択できるようにする。

第十三条:特定ソフトウェアの仕様等の変更等に係る措置
措置内容: 指定事業者は、仕様変更や利用条件の変更を行う際に、関係事業者に情報を開示し、対応する期間を確保する。
具体例:
基本動作ソフトウェア:OS提供者が、アップデート前にアプリ開発者に新機能や仕様変更を通知し、適切な対応期間を提供する。
例:新しいOSバージョンがリリースされる前に、アプリ開発者に詳細な変更内容を提供し、テスト期間を確保する。
アプリストア:アプリストア運営者が、ストアポリシーの変更を行う際に、アプリ提供者に通知し、対応期間を設定する。
例:新しいセキュリティ基準の導入前に、アプリ開発者に通知して準備期間を与える。
これらの措置は、公正な競争環境を維持し、利用者と他の事業者が適切に対応できるようにすることを目的としています​​。
これで,実際にサードパーティのアプリストアが登場するのだろうか。ゲームメーカーが独自のアプリストアと課金システムを導入することは,フォートナイトのエピックゲームズの例からもありそうである。それ以外は,ちょっと難しいのではないか。

図:サードバーティーアプリストアのデザインをDALL-Eにまかせてみるが,
全然ダメッぽいのであった。ダメ出し数回してもやっとこの程度(右)

2024年6月11日火曜日

マイナンバーカード

マイナンバーカードは,だいぶ前に大学から取得を促す連絡がきたので,2020年の2月に市役所で手続きした。そもそも,デザインも設計も最悪だった。顔写真はまともに識別できないし,ペラペラのフィルムケースで番号を隠すという分けのわからない仕様になっていた。そのうえ,たった4桁のPINコードを含み,4種類?も暗証番号が意味不明に設定されている。アホなの?

さらに,このマイナンバーカードに,健康保険証や運転免許証を統合しようという悪らつな企みが現在進行中である。そういいながらも,コロナ期間中のエサにつられて,健康保険証としての利用OKモードに申請したのは私です。いや,必要性は認めているのだけれど,設計がおかしいだけだ。

情報システム学会では,2023年10月に,「マイナンバーカードの問題点と解決策」に関する提言を出している。2013年にはマイナンバーカードの導入に賛成していたが,その後の運びがあまりにもグダグダだったので,こういうことになる。どうして政府にはまともな専門家の意見を聞く能力がないのだろうか。まあ,日本学術会議を壊したがっているような人々に期待するのは無理な話かもしれない。

最近,GoogleのGemini Pro 1.5 をベースにした,NotebookLMが登場した。研究論文や取材記録,仕事でのドキュメントなどの参照文献(ソース)をアップロードすると,NotebookLM がそれらの重要な資料を理解し,必要なサポートを提供してくれるという優れものだ。GPT-4oでもある程度はできるのだが,より使いやすくなっている。早速,マイナンバーカードの提言を読み込ませてみた。

最初に,テキストの概要が出てきて,よくありそうな質問項目もあらかじめ用意されている。もちろん,対話的に必要な質問をすることができ,その答えがオリジナル文書のどこにかかれているかを示すリンクも含まれている。
概要

情報システム学会マイナンバー制度研究会は、「マイナンバー制度の問題点と解決策」に関する提言を2023年10月10日に発表しました。本提言は、マイナンバー制度の目的やデジタル化推進そのものを否定するものではなく、制度設計の根本的な問題点とその解決策を提示しています。 具体的には、制度導入初期に発生した誤った名寄せやコンビニでの証明書誤発行問題、3つの本人確認機能を1枚のカードに集約した設計の矛盾、保険証・運転免許証との一体化に伴うリスクなどを指摘しています。 その上で、名寄せ基準の明確化、ITガバナンスの強化、用語定義の見直し、3つの本人確認機能の分離、番号とカードの再設計、記載内容の精査などを提言し、国民目線に立った、より安全で効率的な制度への再構築を訴えています。

Q:マイナンバー制度の根本的な設計不良とは何か?

マイナンバー制度の根本的な設計不良は、制度で実現したいことが多すぎて議論が混乱し、目標が曖昧なままシステム設計をしてしまったことである。 その結果、システム設計が多岐にわたり、矛盾や齟齬が発生している。 さらに、すべての機能を1枚のマイナンバーカードに搭載したため、カード実装が複雑化した。
具体的には、以下の2つの問題点が挙げられる。
・1枚のマイナンバーカードに3つの本人確認機能(身元確認機能、当人確認機能、真正性確認機能と属性情報確認機能)を入れたこと。
・1枚のマイナンバーカードに保険証機能と運転免許証機能を入れ込み、保険証と運転免許証を廃止する構想であること。
これらの問題点により、国民はマイナンバーとマイナンバーカードの取り扱い方を理解できず、制度設計自体に不安を抱いている。 また、カードの紛失や盗難、なりすまし犯罪のリスク増加、高齢者施設でのカード管理の問題など、多くの社会問題を引き起こす可能性がある。

Q:マイナンバーカードの取り扱いに関する矛盾点を具体的に説明しなさい。

マイナンバーカードの取り扱いについては、国民にとって非常に分かりにくいという問題点があります。 具体的には、マイナンバー(番号)は「特定個人情報」であるため、他人に見せてはいけないとされています。 しかし、マイナンバーカードは身分証明書として使用するため、他人に見せる機会が多いという矛盾があります。 さらに、マイナンバーカードにはマイナンバーが記載されており、QRコードを読み取ることで他人が簡単にマイナンバーを読み取ることができてしまいます。
このため、国民はマイナンバーとマイナンバーカードのどちらをどのように取り扱うべきか混乱しています。 政府はマイナンバーカードを大切に扱うように促していますが、マイナンバー自体をどのように取り扱うべきかについては明確な指示を出していません。
このように、マイナンバーカードの取り扱いに関する矛盾は、国民の混乱を招き、マイナンバー制度への不信感を増大させる要因となっています。

 


写真:デザイン最悪のマイナンバーカード

P. S. マイナンバーカードのデザインは改善されるらしい。さらに,iPhoneにもマイナンバーカード機能が実装されるとのこと。ただ,健康保険証問題は未解決のまま突っ張るらしい・・・orz。

2024年4月7日日曜日

たぬき

滋賀県といえば,琵琶湖。琵琶湖の回りに少しだけ陸地がくっついていて,そこに人が住んでいるというのが普通の滋賀県のイメージだ。ちがう?ところが,地図をみると琵琶湖はそれほど大きくなくて,南東側に大きな面積の土地が拡がっている。その中心の甲賀市は,2004年の平成の大合併で信楽町や甲賀町など5町が統合してできた。

さて信楽といえば,信楽焼のたぬきの置物だ。最近ゲットした情報によれば,どうやら滋賀県にある家の95%には,信楽焼のたぬきが置いてあるらしい。しらんけど。そこで比較のため,奈良県における朝の散歩の途中で,どのくらいたぬきに遭遇するかを確かめてみた。

結構多いぞ。50分の間に13件くらい発見した。たぶんこちらに移住してきた隠れ滋賀県民に違いない。これを皆さんにお知らせしようとすると,13枚の写真から1枚の写真を作る必要がでてきてしまった。たぬきの置物ごときに10枚以上の写真データを使うのはもったいないからだ。

さっそく,ChatGPTに聞いて見ると正しい答えを得ることができた。やはり,小学校ではプログラミングの授業は不要である。むしろ正しい日本語で問いを立てられるようになることや,様々なアプリケーションによるマルチメディア情報処理過程の具体的イメージをよく知ることの方がよほど大事だ。ブラックボックス化された手順を知る必要はそこまでないのでは。
Q:koshix
写真データがHEIC形式で15ファイルあります。これを,jpgに変換して,5×3の並びにした1枚のjpgファイルに変換したいのです。imagemagikはインストール済みです。具体的なコマンドを教えてください。

A:ChatGPT
以下の手順に従って、15個のHEIC形式の写真ファイルをjpgに変換して、5×3の並びにした1枚のjpgファイルに変換するコマンドを示します。

まず、HEIC形式のファイルをjpgに変換します。
magick mogrify -format jpg *.HEIC
次に、変換されたjpgファイルを5×3の並びにします。
magick montage -tile 5x3 -geometry +0+0 *.jpg output.jpg
これらのコマンドを順番に実行すると、15個のHEICファイルがjpgに変換され、5×3の並びにされた1枚のjpgファイルが生成されます。

その結果が次のファイルである。 


写真:朝の散歩で出会った13たぬき(撮影 2024.4.7)

P. S. 同じ質問を,GeminiとClaudeとPerplexityに投げてみたところ,先の2つはダメ。Perplexityは,縦一列のファイルが出力された。これに関してはChatGPTの勝ち。

2024年1月8日月曜日

GO

大阪・関西万博2025の際に,大阪でライドシェアを実現しようと吉村が動いている。背後に菅義偉や河野太郎がいるので,どう考えても怪しいということになってしまう。地域ごとのタクシー事業者との合理的な棲み分けや調整さえうまく図られればよいのだろうが,複雑に絡み合った利権の縺れた糸を解きほぐすのはそう簡単ではなさそうだ。

世界的には,ライドシェアといえばUberであり,サンフランシスコでドリキンが普通に使っているのを見ていると,いつかはそれがあたりまえの風景になっていくのかもしれない。

日本では,まだライドシェアが法的に認められていないので,Uberは大都市に特化したタクシー配車サービスのUber Taxiの展開にとどまっている。一方タクシー配車アプリは昔からちらほらiPhoneで見かけたけれど,使ったことはなかった。

この度,なら歴史芸術文化村MINAMI(吉田南)のコンサートがあるというので,孫の風葉ちゃんたちと一緒に,タクシー配車サービスに挑戦することになった。日本で最も普及しているスマートフォンのタクシー配車アプリが,GOである。10万台が登録されているということで,単純計算すると1万人当たり8台になるので,天理市だと50台以上は利用可能になるはずだった。

ところで,GOアプリに登録してタクシーを呼び出してみると,タクシーの姿はあって,4-12分で来るというメッセージは出るのだけれどいっこうに来る気配がない。仕方がないので地元の天理タクシーに直接電話してきてもらう。

天理タクシーにはタブレットがついていて,GOサービスが使えそうな雰囲気がある。運転手さんに聞いて見ると,支払いはGOで可能なのだけれど,このあたりではGOでの配車予約はできないとのことだった(どの程度確かなことかはよくわからない)。とりあえず,GOアプリとNFC接続することで,QRコードスキャン無しで支払うことができた。


写真:GOアプリのアイコン(AppStoreから引用)

2023年11月8日水曜日

レジカート

近所のマーケットに行ったら,レジカートなるものが導入されていた。

新しもの好きなので,早速トライアルしてみた。セルフレジは使ったことがある。重さを検知していて待たされたり,やり直しになったりと,一見便利そうなのだけど実際には店員さんが入力したほうが早く終る。

レジカートは普段のカートより大きめで,タブレットサイズの入力チェック画面とがっちりしたバーコードスキャナーがついている。使い方は特に教わる必要もなくスイスイと入力できる。なかなかいいぞ。キーウィ6個パックをカゴに入れたところで,隣に半値の4個パックがあった。早速前者を取り消したが,これも問題なくできた。スキャンしてカゴに入れた商品はタブレット画面で確認できるし,総額も常にわかって便利だ。

問題は,プリペイドカードで払う必要があることだけれど,これもアプリに切り替わりつつある。いいような悪いような。ICOCAもiPhoneにしているので,何かのときに困るような気もする。とりあえず,チャージしてレジカート専用窓口に並んだところ,対応のお姉さんが一瞬でチェックして通過することができた。

設備投資にはコストがかかりそうだし,レジカートがかさ張るのが問題かもしれないが,労働人材不足の折り,さらにこの手のシステムの普及は進むのだろう。


写真:はじめてのレジカート(撮影 2023.11.6)


2023年6月28日水曜日

モバイルICOCA

ついこの間,ICOCAからスマートICOCAに引っ越したばかりなのに,もうモバイルICOCAがiPhoneに対応してしまった。

Suicaは以前からモバイル対応だったのでうらやましかったが,ICOCAも3月のAndroid端末に続いてようやくiOSまで順番が回ってきた。夕方のニュースで見かけて早速トライしたら皆が殺到していた。少しだけ待たされたが,案内行列に並んでいたらしばらくしてOKとの通知があった。

iOSのウォレットを開いて,追加の+メニューから交通系カードを選ぶと,トップにICOCAがでてきたので,SMART ICOCAカードを取り出してiPhoneをかざすだけだ。情報の転送が必要だからだろうか,普通のICカードでの読み取りに比べるとちょっと時間がかかる。

ICOCAアプリのインストールに誘導されたので,こちらもインストールしたけれど,役割分担が今一よくわかっていない。とにかく,ICOCAアプリは使えるようになり待望のオンラインチャージも可能になった。チャージ上限は2万円というのも確認できた。ところで,旧のモバイルICOCAカードのほうはそのまま使えるのだろうか。WESTER アプリで残高確認すると,一応残っているのだ。どういうこと?

検索してもあまり要領を得ない。世界はどんどん複雑になっていって,年寄りはついていくのが大変になる。これに新幹線のスマートEXを組み合わせて使うことになったらどうしようかと思うのだけれど,もう東京に通うこともなくなったので,心配御無用であった。


写真:引き続き使えるのかどうかよくわからなくなった SMART ICOCA

追伸:JRおでかけネットをちゃんと読むと,移行後のICOCAは使えなくなるので破棄せよとのことだった。

推察:夕方にApple Payの障害で,モバイルSUICAが使えなくなっていた。たぶん,アクセスが集中したICOCAのせいではないかと睨んでいるのだがどうだろう。

付録:モバイルICOCAはAndroid用の名前であって iPhoneのそれは ICOCA  Pay らしい。

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月21日土曜日

DeepL Wirte

DeepL翻訳からの続き

ニューラル機械翻訳ツールのDeepL翻訳にはずいぶんお世話になっている。無料版だと5000字までの英文は一括で翻訳できるので,ちょっとした記事はたいていDeepLにかけている。DeepLがダウンロードを奨めてきたので,最近は,ダウンロードしたmacOS版のアプリケーションを立ち上げるようにした。

重要な文書の場合は,確認しないとときどき抜けやエラーがあるとはいえ,昔のgoogle翻訳などに比べれば圧倒的に自然な訳文がでてくる。難をいえば,29言語に対応しながら韓国語が含まれていないことだ(*)。そんなときは,これも優秀なPapago(Naver)を使えばよい。

本ブログのイントロを英訳してみたけれど,3年前より大分良くなったような気がする。

It has been 100 years since Ryunosuke Akutagawa published "The Spider's Thread. In the fall festival of my senior year of high school, the theme of our class costume parade was "The Spider's Thread. I cut out a piece of bamboo from the neighborhood for the Buddha's Paradise Tower and painted a picture of the flames and smoke of hell. It was the time when I was a hell wraith following Kandata and swarming around the spider's thread (the red rope of the mountain climbing club).


さて,そのDeepLが最近,DeepL Writeという文章校正(改善)ツールを出して話題になっている。今のところ,英語(イギリス),英語(アメリカ),ドイツ語のみの対応だ。これも早速試してみよう。

大阪教育大学のホームページの英語版の冒頭の紹介文を例にとってみた。

原文:
Osaka Kyoiku University (OKU), which was founded in May 1874 as a teacher training school, boasts over 140 years history and tradition. The current number of undergraduate and graduate students totals approximately 4,400, with another over 5,000 students matriculated in affiliated schools. Among Japanese universities, OKU is a one of the leading producers of qualified teachers and a leading large-scale college of education.

 The main campus of OKU was established in the Kongo Ikoma Kisen National Park, in Kashiwara City, Osaka. This campus is approximately 670,000 square meters in area. In addition, OKU also has a campus in Tennoji, in central Osaka.

 The university’s programs are designed to meet the high educational standards of a comprehensive teacher training university. OKU is made up 11 affiliated schools, including primary, secondary, and special needs education that are located in three areas of metropolitan Osaka: Tennoji, Hirano, and Ikeda city.

DeepL Writeによる改善:英語(アメリカ)
Osaka Kyoiku University (OKU), founded in May 1874 as a teacher training college, has over 140 years of history and tradition. The current number of undergraduate and graduate students is approximately 4,400, with more than 5,000 students enrolled in affiliated schools. Among Japanese universities, OKU is one of the leading producers of qualified teachers and a leading large-scale college of education.

 OKU's main campus was established in the Kongo Ikoma Kisen National Park in Kashiwara City, Osaka. This campus covers an area of approximately 670,000 square meters. OKU also has a campus in Tennoji, in the center of Osaka.

 The university's programs are designed to meet the high educational standards of a comprehensive teacher training university. OKU consists of 11 affiliated schools, including elementary, secondary, and special education, located in three areas of the Osaka metropolitan area: Tennoji, Hirano, and Ikeda City.


(1) 1行目のteacher training school は師範学校のことなので,colledgeでなくてもよい。

(2) 附属学校の収容定員が5000人が,matriculateになっていたが,これはenrolledが妥当か。

(3) 大阪の中央部が,in central Osaka から in the center of Osakaに。

(4) primary school がelementary schoolに。

(5) 大阪都市圏が,metropolitan Osaka から the Osaka metropolitan area に。

図:DeepLのロゴ(DeepLから引用)

*注:1/27/2023 DeepLは韓国語に対応した。31言語とはどれのことかな?(イタリア語,インドネシア語,ウクライナ語,エストニア語,オランダ語,ギリシャ語,スウェーデン語,スペイン語,スロバキア語,スロベニア語,チェコ語,デンマーク語,ドイツ語,トルコ語,ノルウェー語,ハンガリー語,フィンランド語,フランス語,ブルガリア語,ポーランド語,ポルトガル語,ラトビア語,リトアニア語,ルーマニア語,ロシア語,英語,韓国語,中国語,日本語)


2023年1月8日日曜日

MacのOCR

だいぶ以前,MacでOCRを使いたいと思ったことがあった。散々探し回ったけれどなかなか適当なアプリケーションがなくてそのままになっていた。

ふと気がつくとMacでOCRできるコマンドがころがっていた。Tesseractというものだ。homebrewでインストールしてみると,すでに導入済みだ。あれ?いつ入れたっけ。覚えていないので再インストールし,ついでに日本語セットもインストールした。

brew install tesseract
brew install tesseract-lang
tesseract --list-langs | grep jpn
jpn
jpn_vert
tesseract test.png test.txt -l jpn+jpn_vert


tesseractでOCRを体験しようにあるような例を一通り試してみたところうまくいっている。横書きと縦書きの混合文も大丈夫だけれど,日本語と英語が混じっている場合,わずかに狂いが生じる場合もありそうだ。また,手書き文字はやはりうまくいかない。これが実用的かどうかはちょっと未知数。

しかし,そもそも何をOCRしようと思っていたのかを忘れてしまっている老人だった。

あっ,思い出した(というかblogを検索して見つけた,こういうときのために毎日ログをとっているわけだ)。WHOのCOVID関係のデータがpdfになっていて,そこからテキストデータを取り出したかったのだ。しかし,これは,pdftotextで解決済みだった(久々のPerl 2020.3.18)。


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.git 
brew 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 instead
  warnings.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] まだ知らない方はキットハブ、非公開してくださっているサンプルコードな動参行にしながらいろいろと試してみてください。
5.8MBの33秒の音声ファイルで210文字くらいものが90秒で文字起しできた。もうちょっと速いといいのだが。

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)であった。最近のものはあまり出ていなくて,アクセス数は順調に減っている。


図:koshix.blogspot.com のPVの推移(2018.12-2022.18)

目的は,惚け防止と軽い認知症になったときに記憶を辿るためなので,まあよしとしよう。


2022年9月14日水曜日

COCOAの行方

COCOAログチェッカーからの続き

河野太郎デジタル大臣は,9月13日の記者会見で,厚生労働省が開発した新型コロナウイルス接触確認アプリ(COCOA)が近々サービス停止になると表明した。

自分がCOCOAをインストールして800日余り経過した。幸いなことにこれまで接触の報告はなかった。COCOAは当初から,そしてその途中でも散々ケチがついてしまったボロボロのシステムだった。4000万件ダウンロードされ,それなりの役目は果たす可能性はあったかもしれないが,本当に意味があったかどうかは検証されていない。

それにしても,せっかく開発した貴重なシステムをすべて水に流してしまうのか。確かに,コロナウイルス感染者の全数把握をやめた段階でMy HER-SYSが使えなくなるのであれば,連動してCOCOAからの陽性登録ができなくなるというロジックはわからなくもない。しかしながら,一端でき上がったシステムを簡単にチャラにしてしまうということに何の躊躇もないことに吃驚する。京大OCWの件と同じマインドがトップに染みついているわけだ。

デジタル庁がその管轄下に置きたがっているこの国のデータベースや情報システムの多くが利権を駆動力として立ち上がり,中抜きを重ねて一定の利益が回収できれば,伊勢神宮の式年遷宮のごとく新しく立て替えることに向かっていく。これが我が国のDXの本質のように見えてしまう自分の心は黒く染まっているのでしょうか。

P. S. なんで厚生労働省のシステムの話に,河野太郎が真っ先に口を突っ込んでいるの?


図:COCOAのアイコン(App Storeから引用)



図:COCOAの業務の流れ(東京新聞 2021/2/20 から引用)


[2]接触アプリCOCOAからの教訓(楠正憲)

2022年9月7日水曜日

教育ダッシュボード

教育データ標準からの続き

豊福晋平さんが,ダッシュボードという言葉をちらっと口走っていた。何のことかと調べてみた。

ダッシュボードとは,自動車は飛行機の計器盤のことであり,システムの刻々と変化する状態を一目で把握できるもののことだ。これをメタファーとしたビジネス管理ツールが登場して進化していくことになる。

それをさらに学校教育の分野に転用したものが,教育ダッシュボードである。以前は学習カルテや学習ポートフォリオというコンセプトで,個人ごとの学習記録をデジタル化して集約しよう流れがあった。

実のところ,大阪教育大学に導入された電子ポートフォリオは,学生の学びの様子を把握して指導することにはほとんど役立たなかった。それは,大学評価のための実績(エビデンス)を作文するというその一点だけで価値がある取り組みだった。いまはどうか知りませんが。

そのダッシュボードの活用例を探していて,真っ先に飛び込んで来たのが大阪市の取り組みだ。大阪市における次世代学校 支援事業の中心にあるのがダッシュボードで,校務系データと学習系データを組み合わせて分析した結果を一画面に可視化するというものだ。説明は,生活指導系の事例に重きが置かれていた。

それを真似たのが,東京都だ。東京都教育委員会と慶應義塾大学SFC研究所との教育ダッシュボード開発に伴う共同研究に関する協定が締結されている。これに関する情報が請求によって公開されていた。あらら,中室牧子じゃないか。非認知情報アンケートとあれやこれやを結びつけようとしていた。

共通するのは,成績などの定量化が可能な従来型の情報ではなく,生活態度や非学習行動など把握しにくい部分を可視化しようというものだ。まあ,保健室を訪れた回数はわかるわね。

2022年8月3日水曜日

イチカ

天理市デジタル地域通貨イチカ」が8月1日からスタートした。 

各戸には案内が送付されるということだったが,ようやく届いた。MilaboPrairieというアプリを使ったもので,さっそく登録してみると,愛媛県西条市と奈良県天理市が選択肢としてでてきたので,このアプリを使ったものとしては全国で1-2例目になる。

地域通貨アプリは他にもあるが,chiicaが9市町村で導入されている。regionPAYは大阪のキャンペーンで利用された例が1件あるだけで,現在は利用が停止されてる。全国の地域通貨のリストがあったが,2017年で更新が止まっていた。

天理市のデジタル地域通貨では,3000ポイント(=3000円分)が各市民に付与されて,10月31日まで有効となっている。コロナ禍に対する生活支援と地元消費喚起が目的であり,ボランティア活動や健康増進活動ともリンクさせるようだ。

なお,スマートフォンの利用が難しい高齢者などの場合は,紙のクーポン券が発行されている。


図:天理市イチカのページから引用

2022年7月15日金曜日

iPhoneの隠しコマンド

 iPhoneの裏コマンドというページにいきあたった。犬は毎日散歩しているので棒にぶつかりっぱなしだ。だから平均移動速度は極端に遅くなる。

iPhoneの電話アプリで,一連の番号を入力すると機能が発現するというものだ。電話番号として,*3001#12345#* を入力すると,接続されている回線業者のネットワークの情報が見える。

試してみると,上記のWebページとは表示が異なったが,いろいろと情報が出てくる。が,素人にはあまり御利益はなかった。ということは,他にもあるのではないかと検索したら,iPhoneの隠しコマンド集というのがあった。

■【注意事項】隠しコマンドは説明書にも書かれておらず、アップル社が公式に公表しているものではないので、何か不利益な事があっても自己責任・自己解決ということを忘れないでください。また、全てのiPhoneの型番で再現する保証はありませんので事前にご了承ください。

それはそうです。なので眺めるだけにしておく。 


写真:iPhoneの画面キャプチャー(右上のリストから詳細情報に入る)

2022年6月28日火曜日

みんなの自動翻訳

DeepL翻訳からの続き

自動翻訳はDeepLで間に合ってます。といいたいところなのだが,一番の問題は,韓国語がないところかもしれない。無料版なので,1回に5000字までという制限はあるけれど,いまのところ,英文ニュース記事を読む際の支援ツールとして使っているので,それほど問題ではない。

情報通信研究機構(NICT)のみんなの自動翻訳@TexTraもなかなかよいという噂が伝わってきたので試してみた。韓国語も訳せるので韓国ドラマを安心してみることができる・・・というわけにはいかない。多機能なのを表に出しすぎているので,ちょっと使いにくい印象がある。Safariではデフォルトの表示が必ずしも整っていないのも気になる。

ユーザインタフェイスはそうだとして,実際に訳文を比較するとどうなるだろうか。

原文(WikipediaのQuantum THermodynamicsから)

Quantum thermodynamics[1][2] is the study of the relations between two independent physical theories: thermodynamics and quantum mechanics. The two independent theories address the physical phenomena of light and matter. In 1905, Albert Einstein argued that the requirement of consistency between thermodynamics and electromagnetism[3] leads to the conclusion that light is quantized obtaining the relation 

E=h\nu . This paper is the dawn of quantum theory. In a few decades quantum theory became established with an independent set of rules.[4] Currently quantum thermodynamics addresses the emergence of thermodynamic laws from quantum mechanics. It differs from quantum statistical mechanics in the emphasis on dynamical processes out of equilibrium. In addition, there is a quest for the theory to be relevant for a single individual quantum system.

TexTra

量子熱力学[1][2]は、熱力学と量子力学という2つの独立した物理理論の間の関係を研究する学問です。2つの独立した理論は、光と物質の物理現象を扱っています。1905年にアルバート・アインシュタインは、熱力学と電磁気学の一貫性が必要であると[3]、光はその関係を得て量子化されるという結論が導かれると論じました。E=h\nu。

この論文は量子論の夜明けです。数十年のうちに、量子論は独立した規則によって確立されました。[4]現在、量子熱力学は量子力学からの熱力学法則の出現を取り上げています。量子統計力学とは異なり、平衡から外れた動的過程に重点が置かれています。さらに、単一の個々の量子系に関連する理論を探求しています。

DeepL

量子熱力学[1][2]は、熱力学と量子力学という2つの独立した物理理論の関係を研究する学問である。2つの独立した理論は、光と物質という物理現象を扱っている。1905年、アルバート・アインシュタインは、熱力学と電磁気学の整合性[3]が必要であることから、光は量子化され、次の関係式が成り立つと主張した。E=h</nu。

この論文は、量子論の黎明期を告げるものです。現在、量子熱力学は、量子力学から熱力学的法則を生み出すことを目的としています[4]。量子統計力学との違いは、平衡状態から外れた動的な過程に重点を置いている点です。さらに、単一の個々の量子系に関連する理論の探求がある。

こうして,比べるとDeepLもやや微妙なところがあるが,訳文は全体としてややこなれている。まあ一長一短というところかもしれない。みんなで使えばより精度は高くなると思うが,まだまだ知名度が低いし,あまり宣伝もしていないようだ。

 [1]みんなの自動翻訳@KI(個人版)(川村インターナショナル・プロの個人翻訳者向け商用利用可能ライセンス)

[2]みんなの自動翻訳 質問・要望一覧

2022年3月24日木曜日

pandoc(3)

pandoc(2)からの続き

引き続き,markdown ファイル の活用例として,プレゼンテーション用のスライド作成に取り掛かる。見本(英文)は簡単に見つかって実行できたものの,日本語対応が面倒だと書いてある。あれこれ探してみても,出発点が RStudioの R Markdownというものが多いのだ。結局,日本語Markdownからスライド資料を作成する(Rcmdnk's Blog 2015)とBeamerスライドをMarkdownで簡単に作成(Tomokazu NOMURA's Web Page)を参考にした。

% kpsewhich beamerthemeSingapore.sty

% /usr/local/texlive/2021/texmf-dist/tex/latex/beamer/beamerthemeSingapore.sty

beamerのテーマファイルを上記のkpsewhichコマンド探し,これを編集して末尾に, \usepackage{luatexja} を加えることで日本語対応するということだった。設定ファイルに直接手を入れるのは気が進まないが,元のmarkdownファイルの1ページ目の yaml ヘッダで定義すれば十分であり,styファイルの修正は不要だった。その結果,次のコマンドで memo.md から memo.pdf というbeamerによるプレゼンテーションスライドが生成される。

pandoc -t beamer -o memo.pdf memo.md --pdf-engine=lualatex

memo.mdの1ページ目の yaml ヘッダは次のとおりであり,スライドの改ページは --- である。

---
title: "MarkdownからBeamer"
subtitle: "Pandocで変換"
author: "大阪教育大学 越桐國雄"
date: 2022/03/24
output:
beamer_presentation:
keep_tex: yes
latex_engine: lualatex
header-includes:
- \usepackage{bookmark}
- \usepackage{luatexja}
- \usetheme{Singapore}
---


図:mdファイルから生成したbeamerスライド

2022年3月23日水曜日

pandoc(2)

pandoc(1)からの続き

とりあえず,markdown ファイルから pdf ファイルが生成できるようになった。tex ファイルや html ファイルも生成できるので,その手順をまとめてみる。

(1) tex ファイルの場合

pandoc -s test.md -o test.tex

このtexファイルに対して,ドキュメントクラスを日本語対応に変更する。すなわち,\documentclass[]{article} → \documentclass[]{ltjarticle}として,コマンドラインから,lualatex test.tex とすれば,test.pdf が得られる。

置き換えを perl のワンライナーで実行すれば,シェルスクリプトに落とし込むことができる。

perl -pi -e 's/{article}/{ltjarticle}/' test.tex

(2) htmlファイルの場合

pandoc -s test.md -o test.html --mathml

pandoc -s test.md -o test.html --mathjax

どちらでもよいのだが,数式のまわりのhtmlは,mathjaxの方が少しだけスッキリしているかもしれない。

そこで,これらを zsh のスクリプトとしてまとめたものが次である。md.sh input option とすればよい。optionには{pdf, tex, html}のいずれかが入る。入力ファイルは input.md であり,拡張子より前の部分を引数に取ればよい。以下は md.sh の内容である。

#! /bin/zsh
case \$2 in
  "pdf")
    echo "pdf";
    iconv -f UTF-8-MAC -t UTF-8 \$1.md | pandoc -f markdown -o \$1.pdf -V documentclass=ltjarticle --pdf-engine=lualatex
  ;;
  "tex")
    echo "tex";
    pandoc -s \$1.md -o \$1.tex;
    perl -pi -e 's/{article}/{ltjarticle}/' \$1.tex
  ;;
  "html")
    echo "html";
    pandoc -s \$1.md -o \$1.html --mathjax
  ;;
*)
  echo "undefined"
  ;;
esac

2022年3月22日火曜日

pandoc(1)

マークダウン(2)からの続き

マークダウンの使い方をみていると,コマンドラインベースで各種のドキュメントを相互に変換することができる,pandocとの相性が良いらしい。ということで,pandoc をインストールしようとしたら,すでに homebrew で導入済みだった。念のために,brew reinstall pandocで,pandoc 2.17.1.1が入った。

変換できるファイルの種類のカテゴリーは,次のように多岐に渡る。Lightweight markup (.md),HTML (.html),Ebooks (.epub),Documentation,Roff,TeX (.tex),XML,Outline,Word processor (.docx), Interactive notebook (.ipynb),Page layout,Wiki markup (MediaWiki),Slide show (beamer),Data (.csv),Custom,PDF (.pdf)

厄介なことにマークダウンに関しては微妙に異なった方言が存在するのでなんだか意図した結果が出てこないと思っていたが,記法のミスだった。(1) 見出し,(2) 箇条書き,(3) 番号付き箇条書き,(4) 書体,(5) コード,(6) 数式,(7) 表,(8) 画像,(9) リンク,(10) 脚注 などが概ね機能している。見出しのレベルがまだはっきりわからない。番号付きリストの半角空白は3個にした。

iconv -f UTF-8-MAC -t UTF-8 test.md | pandoc -f markdown -o test.pdf -V documentclass=ltjarticle --pdf-engine=lualatex

上記が,macOS での pandoc の使用例である。入力ファイルは test.md,出力ファイルは test.pdf である。pdf 出力のためには lualatex を通す必要があることと,ファイルは標準の(macOS標準ではなく)UTF-8 形式にしておく必要があるのでiconvで漢字変換したものをpandocに食わせている(pdfファイルで濁点が分離してしまうのを防ぐらしい)。

.zshrcにパスを通して,md2pdf.sh という実行可能なシェルスクリプトを作ったので,引数を1つ指定すると,md2pdf.sh test1 のようにmdファイルからpdfファイルが生成できるようになった。

以下が,マークダウンファイル,test1.md の内容である。

# 見出し1(Title)
ここが段落の文章になる改行しても無視される 
空行があるためこの文章は第二段落となる

## 見出し2(Chapter)
これでは
あれでは

### 見出し3(Section)

#### 見出し4(Subsection)

- リストA
- リストB
  - 子リストB-a
    - 孫リストB-a-a
- リストC

- リストの文章1です。

  行の頭に半角スペースが二つあるので,
  リストの内部要素です。

- リストの文章2です。

行の頭に半角スペースがないので新しい段落です。

1. 番号付きリスト A
   1. 番号付き子リスト A-a
   1. 番号付き子リスト A-b
      1. 番号付き孫リスト A-b-α
      1. 番号付き孫リスト A-b-β
      1. 番号付き孫リスト A-b-γ
   1. 番号付き子リスト A-c
1. 番号付きリスト B

*italic* **bold** ***italic+bold***

\`inline_code\`

\`\`\`
display style code block
function test(a,b) {
return a+b;
}
\`\`\`
\$\int_{-\infty}^\infty e^{-\alpha x^2}dx = \sqrt{\frac{\pi}{\alpha}}\$

\$\$
\int_{-\infty}^\infty e^{-\alpha x^2}dx = \sqrt{\frac{\pi}{\alpha}}
\$\$

|項目1|項目2|項目3|
|---|---|---|
|りんご| 10円| 3個|
|みかん| 50円|10個|
|いちご| |売り切れ|
|バナナ|100円| 2本|

[リンク先 https://pandoc.org/ をクリック](https://pandoc.org/)

画像![ALT これはアイコンです](sample.png)も表示させられます。

Markdown エディタ NowType は Ito によって作られ た。 [^1]

NowTypeにおいては、次のような入力支援を行います。

[^1]: Atsushi M. Ito, プラズマ・核融合学会誌, vol. X, No. Y, 2020.