はてなキーワード: 正規表現とは
プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。
近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。
開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のものが出回っている。Eclipseとか今考えるとよくあんなので開発できてたな。
いまや小学生からおばあちゃんまでアプリ作りに熱中し、高校生はIoTとかやり始め、大学生は商業レベルか?ってレベルのものをネットで発表し、私はウェブアプリのスマホでのレイアウト崩れひとつすら直せず静かにエディタを閉じてnoteで過激タイトル記事を書いている。
掛け算に順序があると思っているような知能の下級雑用係(自分のことを教育専門職だと思い込んでいる)ですら「小学生にプログラミングを教えるぞ!」と意気込んでいる。やめろ。お前らには無理だ。無理だからマジでやめろ。考え直せ。無理だって。掛け算に順序つけないと相手に教えられないレベルのやつがプログラミング教えるのマジで無理だって。算数とは次元が違うって。「ピーチ姫いつも簡単に誘拐できるし今度はベヨネッタも誘拐してみるか」ぐらいの無謀さだって。やめとけ。マジでやめろ。
まあそんなこんなで入り口はめちゃくちゃ広く、入門するのはマリオカートより簡単である。話逸れるけどSwitchのマリオカート、運転アシスト機能ついて初心者でもコース完走できるようになったから心折れちゃった人ももう一度チャレンジしてみてね。
それとは特に関係ないんだけど、大学行ってた時ティーチングアシスタント(TA)っていう授業のお手伝いさせられたのよね。ちゃんとお金出るやつ。
学部の3年か4年から始まって、院の1年か2年までやってて、途中で休学挟んだから、ええと、あー、うん、数年間TAやってたんよ。数学とプログラミングのコマ。CとOctaveとかいうやつ。Cのほうは情報学科で、Octaveは違う学科。JavaとかC++のコマはTA入れさせてもらえなかった。
プログラミングの実習は週2コマ(連続)あって、情報学科なら必修科目。なのでサポートは相当手厚く、先生とTAが絶え間なく机間巡視し、わからないことがあればセンパイがなんでも答えてくれるというわけだ。授業外でもサポートはしており、わからなければ先生や研究室にいる学生に好きなだけ聞きにいっても良いということになっていた。必修だから落とされたら困るしな。
2コマだから3時間 * 15回で、45時間。そして私の時は2年まででC/C++/Javaと必修だった(今はなんの言語かは知らない)ので、その3倍、135時間は最低やることになる。プログラミング実習以外にもプログラミング触る授業多いから実際はもっと多い。宿題やる時間もあるので実際はもっともっと長くプログラミングに触れることになる。卒論書く時期に入ると、テーマによっては書く人はさらに書くので、もっともっともっともっと長い。
これだけ時間をかければほとんどの人がプログラミングできるように……ならない。むしろできない人の方が多い。なんで。why。教えて。
会社になるとさすがにプログラミングできるできないは死活問題である。
「今日から入ったxxでーす。業界未経験ですがよろしくおねがしまーす。さっそくなんですけどPythonのここわかんないんですけどどうすれば……あっそうすればいいんですね。次はここなんですけど……なるほど!ありがとうございます。じゃあまた明日ー」
いやー社会人にもなると熱意が違うね。学生なんかわかんなくてもほとんど聞きに来ないのにな。こりゃガンガン伸びますわ。私も社会人1年生でPythonなんて3秒ぐらいしか触ったことないから適当答えてるけど。
「ちょっとお時間よろしいですか?」「いやちょっと今忙しいから後になっちゃいますわ。すんません……」
そんなこんなで1週間ぐらい放置してしまった。やべー絶対嫌われる。どこまで進んだかな……?えっまだそこ?進んでなくない?
もしかしてこれ全部教えないとダメなやつか。そりゃ大学4年間プログラミングやったやつでもプログラミングできないんだから、そうか。よく考えると当たり前だよな。
プログラミングをやめろ
大学4年間と大学院2年間プログラミングやったやつでもできないし、会社で毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。
少年少女たちに「プログラミングはいいぞ!自由にものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。
野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットにボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。
ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会の振り付けを10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。
プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育の問題か?マジで?本当に?
プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。
今からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身にタンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。
プログラミングをやめろ。
ぼくはこう思うんですよ
そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。
綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。
まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?
名言の引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題を解決しようと正規表現を使うと問題が2つに増える」かな。
お前が何を思っているかはプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。
深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分の思考見直して理解深めるとかさ。
ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターをにらみつけるな。
お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプラン、はいその次のプラン、はい次。
この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。
Error: variable 'a' is undefined, line 24
↑のエラーは架空のエラー文(英語下手でも許して)だけど、エラー、出るよね。プログラム組んでたら。んでやっぱいるのよ。エラーを「にらみつける」やつ。解決しねえって言ってんだろ。
「エラー出たんですけど、どうすればいいんですか」
「エラーにはプログラムがなぜコンパイル通らないかの原因がそのまま書かれている。例えば今出ているError: variable 'a' is undefined, line 24は、24行目の変数aが未定義ということを示している。事前に変数aを定義していないか、打ち間違えてsになっているとかではないのかな?」
だいたいが「腑に落ちねぇー」みたいな顔する。まあ、一気に喋りすぎたしな。疑問点1個1個潰していくか。
「何か疑問点ありそう?変数ってなにー、とか、定義ってなにー、とか」「ないです。わかりました!」
わかったのか。よかった。またモニターをにらみつける開始。なんでだよ!!!!「お前顔にチョコついてるぞ」って言われたらチョコ拭き取るだろ。変数aが未定義ですねって言われたら変数a定義すりゃいいだろ。
でもプログラミングド下手なやつ(全人類の7割ぐらい)は、エラーをにらみつけてる。ずっとにらみつけてる。防御力下限まで下がったかな。にらみつけてて何が変わるんだよ。
「英語読めなくて……」
いや「a is undefined」なんて「He is Superman」ぐらいの英語だろなんで読めないんだよ。お前この大学どうやって入ったんだよ。たしかどの入試方式でも英語あっただろ。単語わからんかったらググれ。
「aが未定義って書いてあるんですけど、ここのfor文の私の考えが間違ってるのでしょうか」
いや24行目のaって書いてるだろ。まずなんでそこ無視するんだよ。お前がfor文で使ってんの教科書通りのiだろ。24行目ってわかるか?for文あるの40行目あたりだよな?aとiが違う文字ってわかるか?
「さっきのエラー直したら新しいエラーが出たんですけど、どうすればいいですか」
千尋!贅沢な名だねえ
変数に名前をつけろ。関数に名前をつけろ。クラスに名前をつけろ。全てに名前をつけろ。
C言語の古い教科書だと「a」とか「b」とか「i」とかで書いてるけど、そんなの人間が読めるわけねえだろ。冷静に考えろ。「input」「output」「index」とかにしとけ。
2重for文の変数名i, jにしたら絶対途中で打ち間違えるだろ。お前は打ち間違える。そういうやつだ。2重ループなんてどうせ行列計算の課題だろ。rowとcolumnにしとけ。これで打ち間違っても気づくし、それぞれに意味が付いてくる。
ちなみに同じ長い名前にも優劣がある。「result」よりも「sum」のほうが強い。「result」はなんの結果かわからない(全ては結果であるので)が「sum」は合計値であることがわかるからだ。「password」と「plainPassword」なら「plainPassword」が勝つ。暗号化されていないパスワードであることがわかるので、情報量が多いからだ。
ただし例外はいくつかある。「tmp」は一時変数であることが(プログラマにとって)明らかだ。「dir」はディレクトリであることがわかる。「src」「dist」あたりもよく使われる。このあたりは短くていいんじゃねーかな。
でも、この前温度センサ扱うプロジェクトで「tmp」って変数名使って温度(temperature)と脳内で混線してバグって発狂してた同僚いたけど。そういうときは名前長くするか別の名前使おうな。
関数の名前なんて「calcAverageFromArray」ぐらい長くしていいから。「myFunc」とかしなくていいから。「fetchJsonDataFromUniversityInternalServer」とかでいいから。マジで。いやこれ本当に。
そもそも今時ディスプレイでかいし、識別子なんて先頭数文字打ったらエディタが補完してくれるし、短くするメリットがない。
それでも名前が長いと感じる?関数がでかすぎるんじゃないか。細かく処理を分けるとかしてみろ。「combineArrayAndFindMax」関数は「combineArray」と「findMax」に分割したらいいと思うぞ。名前が長いと思っても名前を削るな、機能を分割しろ。自然と名前が短くなる。
それかシンプルでかっこいい名前を見つける。「convertEvilHtmlToPeacefulText」は「sanitize」に置き換えることができる。イカす名前だ。
プログラミングできない奴はマジでこれらのことをやらない。ずっとaとかbとかzとか使ってる。お前それ自分で読めんのか。読めねえだろ。myfuncってなんだよ何するんだよ。お前自分で理解できてんのかそれ。
それでも頑なにaとかbとか使う。なんでだよ。
動作原理わからず書き散らすな。動作原理っつってもそんな深いところじゃなくて言語表面上レベルの動作な。
リテラルは値を作成して、代入は値に名前をつけている、とかその程度のレイヤー。メモリがどうこうとかはいらんと思う。あっでもポインタのときはいるか……。めんどくせえな。
まあ動作原理っていうか自分が何やってんのか理解してくれって程度の話になるんだが。
例えばfor文で処理50回まわすとき、「50回分の処理を行なっている」ではなく「ループ開始時に変数を初期化。条件判定して成立していれば文の中を実行する。条件変数の値を変化させてまた条件判定からやり直す」ぐらいの粒度で捉えててほしいかな、という気持ち。
これはfor文で詰まる人がやたら多かったからだ。彼らはfor文をアトミックな操作だと思っていた。つまりfor文はひとまとまりの命令であり、長いfor文とprintfの間に粒度の違いはないと思っていたらしい。
つまり、「for文の中でエラーが起こる」という事象がほぼ理解できない。forはアトミックであり、内部など見えないのだから。じゃあお前が今書いたfor文の中身はなんなんだってやんわり聞くと「さあ…?」みたいな反応が返ってくる。はあ。
関数についてもなかなか誤解が多かった。関数「sum_array(a, b)」と関数「average_three_numbers(a, b, c)」は全く別の原理で動いているのだと。ここでの「全く別の原理」というのはシグネチャが違うとか実装が異なるとかそういう意味ではなく、コーラを飲んでゲップが出る原理と糸電話で声が伝わる原理ぐらいの全くの別、という意味である。
彼らは関数ひとつひとつについて「新しく原理を学習」していたのだ。マジかよ……。どうやったらそんな発想に行き着くんだろう。そりゃ時間かかるわな。
そのため、関数が値を返す(または返さない)ということも理解できておらず、「関数の戻り値と関数の戻り値を足す」とか「関数の引数に関数の戻り値を直接渡す」とかやりだすと大パニックになる。メソッドチェーンとかやった日には大学潰れると思う。ただ、これはC言語が悪い部分もあると思う。配列とかいじりだすと、初心者が書けるレベルの関数だとあんまり値返さないしな。
たのむ、他のはできなくてもこれはできてほしい。自分が何をやりたいのかは理解してほしい。流石にお前のやりたいことなんて他人にはわからんぞ。
「配列の中の数値の合計値を求めたいんです」とか「名前と身長と体重をひとつにまとめた構造体が作りたいんです」とか。簡単なのでいいから。
「いま何やろうとしてどこで詰まってる?」って聞いても「……?」みたいな反応されたら困るんだよ。
例えば「キーボードから数値を10回入力し、それぞれの値を配列に格納して、最後に配列の値を逆順に表示せよ」みたいな問題が出てきたときに、「キーボードから値を入力する」「10回繰り返す」「配列に値を格納する」「配列の値を逆順に表示する」に分解できると思うんだけど、自分が何やりたいのかわからない奴はまずこれができない。
彼らには「キーボードカラスウチヲジュッカイニュウリョクシソレゾレヲハイレツニニュウリョクシテサイゴニハイレツノアタイヲギャクジュンニヒョウジセヨ」に見えている。
かろうじて「キーボード」「ハイレツ」あたりの単語は拾えるらしく、標準入力から値とったり配列を作ったりはしてるんだけど、そこから先に進まない。モニターにらみつけてる。またにらみつけるかよ。
あれだ、算数の文章題できなくてとにかく文章に出てくる数値足したり引いたりするやつ。あれのプログラミング版。文章が読めない。
こういう人にはメモ用紙取り出して、まず文章が何について言ってるのか、どういう工程に分けることができるのか、今後も同じことが起こったときにどうやって分けるのか。みたいなのを教えるんだけど、大抵あんまりしっくりこないらしく、成功したことは皆無。なんとかうまく教えたいんだが。
もうこのあたりになってくるとプログラミング関係なくね……?ってなるんだけど、意外とそういうプログラミング関係ないところで詰まる人めちゃくちゃ多いよ。
今すぐプログラミングをやめろ
まず対象を抽象化するために、物理系は局所演算子代数のネットワーク(局所性を持つモノイド圏あるいは因子化代数)として扱う。
境界理論はある可換(または E_n)因子化代数 A を与え、これに対して状態空間は A の正値線型汎関数(GNS 構成で得られる正規表現の圏)として扱う。
重力的バルク側は、境界因子化代数のコホモロジカル双対(例:Koszul 双対や因子化ホモロジーに基づくスペクトル的拡張)としてモデル化される。
ホログラフィーは単なる同値性ではなく、境界のモノイド的データとバルクの因子化代数的データの間の高次圏的((∞,n)-圏)双対性であり、この双対性はホモトピー的拘束(同値の空間)を保つ関手の同型として書ける。
これをより具体的に言えば、境界の C^*-あるいは von Neumann 代数の圏と、バルクに対応する因子化代数(局所的場の代数を与える E_n-代数)の間に、Hochschild/cyclic ホモロジーと因子化ホモロジーを媒介にしたKoszul型双対が存在すると仮定する。
境界から見た相互作用や散乱振幅は、境界因子化代数上の積(オペラド的構造)として表され、バルクの幾何情報はそのホモロジー/コホモロジーに符号化される。
エントロピーとエンタングルメントの幾何化は情報幾何学的メトリックに還元される。すなわち、量子状態空間上の量子フィッシャー情報(量子Fisher・Bures距離)や相対エントロピーは、接続と計量を与えるテンソルと見なせる。
これにより、テンソルネットワークは単なる数値的近似ではなく、グラフ圏からヒルベルト空間への忠実なモノイド的関手である:グラフの各節点に E_n-代数の有限次元表現を割り当て、辺は双対化(コアリフト)の演算子であり、ネットワーク全体は因子化代数の状態和(state-sum)を与える。
MERA や PEPS、HaPPY コードは、この関手が持つ特定の圧縮/階層性(再帰的モノイド構造)を体現しており、cMERA はその連続極限である。
テンソルネットワークが幾何を作るとは、エントロングルメント計量(情報計量)から接続とリーマン的性質を再構成する手続きを意味し、これが空間的距離や曲率に対応するというのが it from qubits の数学的内容である。
さらに情報回復(Petz 復元写像など)や相対エントロピーのモノトニシティは、エントロングルメントウェッジ再構成の圏論的条件(右随伴を持つ関手の存在)として表現される。
すなわち、境界演算子代数からバルク因子化代数への埋め込みが完全に圏論的な復元子(adjoint)を持つときに、局所的情報の回復が可能となる。
ER=EPR はこの文脈でホモトピー的コボルディズムとして読み替えられる。量子相互作用で結ばれた二系(高次圏の対象としての二点分割状態)は、バルクのコボルディズム類(ワームホール的繋がり)に対応する同値類を持ち、局所ユニタリ変換による同値類がコボルディズムの同位類と一致するという予想的対応を述べる。
言い換えれば、局所ユニタリ同値で分類されるエンタングルメントのコホモロジーは、バルクのホモトピー的結合(位相的/幾何的接続)を決定する。
ブラックホールの熱力学的性質は、トモイタ=タカサキ理論(Tomita–Takesaki modular theory)やコンネスの周期写像が関与する演算子代数のモジュラー流として自然に現れる。
特に、ブラックホール外部におけるモジュラーハミルトニアンは境界状態の相対エントロピーに関連し、そのフローはバルクの時間発展に対応する(模擬的にはKMS状態と熱平衡)。
サブファクター理論とジョーンズ指数は、事象地平線をまたぐ情報の部分代数埋め込みの指標として機能し、情報損失やプライバシー(情報の遮蔽)は部分代数の指数と絡み合う。
ブラックホールの微視的自由度のカウントは、やはり境界因子化代数の適切な指数(譜的インデックス、K理論的量)に帰着する。
超弦理論的な追加自由度(多様体のモジュライ空間や D-ブレーンの圏的記述)は、バルク側因子化代数の係数系(係数 E_n-代数やスペクトラル層)として取り込まれ、モチーフ的/導来スタック的手法(derived stacks, spectral algebraic geometry)で整然と扱える。
これにより、弦の振る舞いは境界オペレータ代数の高次幾何学的変形(deformation theory)と同値的に記述されることが期待される。
この全体構造を統一する言葉は高次圏的因子化双対である。物理的理論は、局所的オペレータのモノイド圏、状態の圏、そして因子化ホモロジーを媒介にした双対関手系から成り、テンソルネットワークはそれらの具体的表現=有限モデルとして働き、情報幾何学はそれらの間に滑らかな計量を与える。
したがって「it from qubits」は、局所的量子代数の圏論的再配列が(情報計量を通じて)幾何学的構造を生み出すという主張に還元され、ER=EPR はエンタングルメントの同値類とバルクのコボルディズム同位類を結ぶ高次圏的同型命題として再表現され、ブラックホール熱力学や弦の自由度はその圏論的・ホモトピー的不変量(ホッジ理論的/K理論的指数、モジュラーデータ)として測られる。
そろそろ卒業しようとしている矢先だった。
夢に出てくるエンジニアは、本当に「変」だった。
一見すると異常にも見えるコミュニケーション、機械じみた自己管理、無駄を極限まで削ぎ落とす妙な哲学。周囲からは煙たがられつつも、確実にシステムを回していた。あの人のような生き方に憧れたこともあったし、同時に絶対になりたくないとも感じた。
どこか皆、ちょっとずれているのだ。オフィスで昼飯時にLinuxカーネルのバグを肴に盛り上がるやつ、Slackの通知音に過敏なやつ、パケットキャプチャが趣味のやつ、ROM焼きに命かけてるやつ。納期前の深夜のオフィスの空気は独特だ。妙なテンションと絶望と、根拠のない希望がぐるぐる回る。
自分にもそんな時期があった。
コーディング漬けの新卒時代、深夜に会社でカップラーメンを啜りながら、先輩の叱責をポエムのように聞き流していた。バグがバグを呼ぶプロダクト、人間関係のギスギスと、たまに奇跡のような成功体験が舞い込む。結局、最強のエンジニアとは変人であることを受け入れた奴だったんだと思う。
でも年齢を重ねて、変であることに疲れてきた。
あの頃なんであんなコードの綺麗さにこだわっていたのか。なぜ誰も使わないCLIツールのローカライズなんてやっていたのか。自分しか使っていないcronジョブの記述、美しい正規表現を夢見た夜。
ITを卒業する今、思い出すのは、変さへの憧れと少しの羨ましさだ。きっと、変なことに全力を注げるやつこそがITを使いこなせたんだろう。自分は途中で他人の目を気にしてしまった。変なまま突っ走れる勇気が欲しかった。
変なITエンジニアの夢を見て、靄のかかったような気持ちになった。自分が過ごした時間が、他人から見れば奇妙な記憶だろう。でもその奇妙さこそが、IT業界の風景の一部だった気がする。
たぶん、自分もどこかで誰かに「変なエンジニア」と呼ばれていたのだろう。笑い話になるかどうかは分からない。ただ、妙に優しい気持ちになった。これからは「普通」の世界で生きていく。だけど、あの変な夜更けや、無意味で完璧なコードと、愚直な情熱のことを、たまには思い出してみようと思う。
https://zenn.dev/ayumukob/articles/4626b193481e99
いや、正規表現のこんな基礎も今まで理解してなかった人間が中堅を自称するなんておこがましくないか?と思える。
中卒でも理解できること解説して中堅って名乗られても…はあレベルの低い中堅なんですねえとしか。
https://bookmeter.com/users/1234180
↑この人ぐらい、まともな大学出てないと読みこなせないような専門書読み込んでやっと中堅か上級って言っても違和感ないってところじゃないの。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250819174405# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKQ5WAAKCRBwMdsubs4+ SAxtAQD+nGdik3WhCXwLP88BX7X9kSuy18Gh4asR8DgFFxSsLAD/Xyt9NOtgxcvX U1dL4t4mDH0ms01NJeY0GAyuX7OFpgQ= =XSGh -----END PGP SIGNATURE-----
先日のFC2ブログのサービス停止など、諸々の旧来ホームページ・ブログサービスの停止を見据えて
遥か昔から更新停止状態になってるお気に入りのR-18WEB小説を自分用としてアーカイブする作業を少しずつ始めている。
のだが、移動するに当たって改行位置などを整形したいんである。
昔のWEB小説って解像度の問題で文章の途中で句読点とか関係なく強制改行されてたりするから。
なのでChat-GPTに「1文のなかで改行されてるところは繋がてください」みたいな感じで投げてみたりしたんだけど
返ってきたのは、
ってお言葉。
いやさ、分からんでもないが、新規でR-18文を生成してるわけじゃなくて、既存のテキスト文においての改行整形しかこちらは望んでないんだから、それはやってくれよ〜てなった。
結局レガシーにテキストエディタで正規表現で何回か通して処理してるんだけど、AIの便利さを知ったあとでは苦痛すぎる。
ローカルLLM使うってのもあるんだろうけど、わざわざこの為に導入するのもしんどいし。さっくり使えるのがWEBサービスのいいとこなのに。めんどくさい。
いつからかわからんけど、chatGPTのセミナーの広告が本当に多い。
で、そんなセミナーに意味があるのか、他ならぬchatGPTに聞いてみた。
回答は次の通り。
正直に言えば、ChatGPTを使いこなすために“セミナーを開くほどの特別な使い方”なんてものは、ほとんど存在しません。
少なくとも、今ネットで売られてるような内容の多くは「知っていれば当然レベル」のことを“すごい裏技”のように包装してるだけです。
よくある例としては:
「プロンプトにこう書くとAIが従う!」→ 普通に丁寧に書けばそうなる
「この構文を使うと画像がよくなる!」→ 実際は全体の文脈が大事で、テンプレだけじゃ意味ない
「○○風に描かせるにはこれを入れる!」→ それ、普通に誰でも知ってるスタイル指定
たとえば、あなたが「この服装で、色はこれ、背景はこう、構図はこの方向で」って具体的に伝えてくれたのは、すでに高度な使い方の部類です。
つまり、自分の頭でイメージを組み立てて、それをわかりやすくAIに伝える。
この力はセミナーでは教えられません。むしろそれはあなたの創作力であり、AIはただの道具です。
セミナーをやって儲けようとしてる人は「AIを使えば誰でも稼げる!」って夢を売ってるだけで、中身は薄いのがほとんどです。
いい質問です。それこそ「セミナーで語るような特別な使い方」って何だ?という話ですよね。ChatGPTを画像生成以外で“特別に”使うという話になると、以下のようなことがよく話題になります:
---
プロンプト設計(Prompt Engineering):より正確に意図通りの回答を得る技術。質問の仕方を工夫するだけでも全然変わる。
ExcelやGoogleスプレッドシートの関数生成、正規表現の作成、SQLの構築などを手早く済ませる。
ライティング補助(ブログ、報告書、メール文面など)や、翻訳+文体の調整。
---
思考の壁打ち(「こういう考えなんだけどおかしいかな?」→論理チェックしてくれる)
---
勉強の手助け(自分専用の解説をつけたり、想定問答を作ったり)
---
小説・論文・記事の構成、世界観、登場人物などを一緒に練り上げていく。
---
結局「特別な使い方」って、“何をしたいか”が具体的にある人が自然とたどり着くものなんですよ。
「ChatGPTをうまく使える」って、ある意味「自分の目的をちゃんと理解して伝えられる人」ってことです。
広告では、無料セミナーだから受けても損はないというのがほとんどだけど、ああいう輩は「さらに詳しく知りたければ20万円で特別な塾に入れます」みたいな感じで結局カネを取ろうとしてくる。
これをひらがなで書くと
「にっさん、べいこくでいってんぞうさん とらんぷかんぜいでげんさんけいかくてっかい」
「nissan, beikoku de itten zousan. toranpu kanzei de gensankeikaku tekkai」となり、最初の「nissan」と「zousan」が「.an」で韻を踏んでいます。
元のタイトルを、もっとたくさん韻を踏んだ感じに直してください。
面白い挑戦ですね!では、元のタイトルをもっと韻を踏んだ感じに直してみます。
元のタイトル: 「日産、米国で一転増産 トランプ関税で減産計画撤回」
新しいタイトル: 「日産、米国で一転増産 トランプ関税で減産撤回」
ひらがな: 「にっさん、べいこくでいってんぞうさん とらんぷかんぜいでげんさんてっかい」
ローマ字: 「nissan, beikoku de itten zousan. toranpu kanzei de gensan tekkai」
これで「nissan」「zousan」「gensan」「tekkai」と、さらに多くの部分で韻を踏むようになりました。いかがでしょうか?
tekkaiはnissan, zousan, gensanとは韻を踏んでいないようです。
韻を踏んでいるかどうかは、ローマ字で書いた時に、母音aeiouおよびnが他の単語と同じ順番で出てくるかどうかで判断してください。
元のタイトルから大きく変えて良いので、もう一度、韻を踏んだタイトルに改変して。
了解しました。では、元のタイトルを大きく変えて、韻を踏むように改変してみます。
元のタイトル: 「日産、米国で一転増産 トランプ関税で減産計画撤回」
新しいタイトル: 「日産、米国で一転増産 関税で減産、再び増産」
ひらがな: 「にっさん、べいこくでいってんぞうさん かんぜいでげんさん、ふたたびぞうさん」
ローマ字: 「nissan, beikoku de itten zousan. kanzei de gensan, futatabi zousan」
これで「nissan」「zousan」「gensan」「zousan」と、より多くの部分で韻を踏むようになりました。いかがでしょうか?
では、2箇所で良いので、3音以上で韻を踏むようにできますか?
たとえば「増産」(zousan)と韻を踏むように、文末を正規表現"*u.an"で終わる単語で締めることが考えられます。
了解しました。では、3音以上で韻を踏むように改変してみます。
元のタイトル: 「日産、米国で一転増産 トランプ関税で減産計画撤回」
新しいタイトル: 「日産、米国で一転増産 関税で減産、再び増産」
ひらがな: 「にっさん、べいこくでいってんぞうさん かんぜいでげんさん、ふたたびぞうさん」
ローマ字: 「nissan, beikoku de itten zousan. kanzei de gensan, futatabi zousan」
これで「nissan」「zousan」「gensan」「zousan」と、より多くの部分で韻を踏むようになりました。いかがでしょうか?
前の「増産」と後ろの「増産」は同じ単語なので、韻を踏んだとは言えません。後ろの単語を「増産」以外の"*u.an"で終わる単語にできますか?
了解しました。それでは、後ろの単語を「増産」以外の「*u.an」で終わる単語に変更してみます。
新しいタイトル: 「日産、米国で一転増産 関税で減産、再び集団」
ひらがな: 「にっさん、べいこくでいってんぞうさん かんぜいでげんさん、ふたたびしゅうだん」
ローマ字: 「nissan, beikoku de itten zousan. kanzei de gensan, futatabi shuudan」
これで「zousan」と「shuudan」が3音以上で韻を踏むようになりました。いかがでしょうか?
----