ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
【参考文献】◯プログラミング言語の形式的意味論amzn.to/3R4TIiQ◯型理論amzn.to/3KugmNT◯新装版 プログラミング言語の基礎理論amzn.to/3wYdhTj◯論理学をつくるamzn.to/4bHFlJB◯チューリングを読む コンピュータサイエンスの金字塔を楽しもうamzn.to/4bx0arf◯形式意味論入門amzn.to/4c129E8【サポーターコミュニティへの加入はこちらから!】yurugengo.com/support【おたよりフォーム】forms.gle/BLEZpLcdEPmoZTH4A※皆様からの楽しいおたよりをお待ちしています!
ゆる言語学ラジオとのコラボ、いつか見たかったから嬉しい!お二人なら気が合いそうだと前から思っていました!
二人の中の「ゆる言語学ラジオ人格」と「ゆるコンピューター科学ラジオ人格」がうまく統合できたんですね
座る席の位置を入れ替えれば、斬新さが出たのにね。
聾者の知り合いに教わった手話の便利な使い方。例えば「私には兄と弟がいます」という会話で、兄と弟の手話をそれぞれ異なる位置で行っておけば、その後の会話では、それぞれの位置で「彼」という手話を行うだけで兄と弟を言い分けられるそうです。
関係ないけど、手話で、南は暑いとか豆腐のケーキとか伝えたいときどうするのか気になる
@@おぶ-n1r 基本的に手話には助詞がないので、日本語の語順通りに手話を並べれば通じると思います。◎南は暑い ⇒ 南 + 暑い◎豆腐のケーキ ⇒ 豆腐 + ケーキ「豆腐とケーキ」と誤解されないように、間に ”の” の指文字を入れた方がよいかもしれません。
水野さん頭良いなぁって思った回。もやっとしてる事を言語化してくれて助かる。前から思ってたけど、水野さんは理系っぽい文系で、堀元さんは文系っぽい理系だよね。
理系でコンピュータ科学にも言語学にも興味あるけど、ここまで文系っぽくなれないからすごいと思う。
めっちゃ同意ですわ
水野さんは厳格な文系、堀元さんはいいかげんな理系。だったりして。
なお理科
ちょうど琉球にいて日本に布教しようと思って琉球語を頑張って勉強したけど肝心の日本では通じなくて悲しかった宣教師の話を思い出しました。プログラミング言語を作ろうと思ったからとりあえず言語学勉強するのと同じ現象ですかね。
確か、Bettelheimかその前に来たフランス人(名前不明)ですよね?
なんか可愛いなその人
お二人をみていると、大学出てからも独学で頑張れるんだなぁと勇気が出ます。
自然言語による対話は、目や耳などのマルチモーダルな「誤り訂正」が働くが、チャットなどの文章形式ではそれがないために、口語をそのまま記述すると食い違いが起きやすいのかも と思った。
対面コミュニケーション:文意+声色+目線・ジェスチャー等電話コミュニケーション:文意+声色文章コミュニケーション:文意のみより正確なコミュニケーションが必要な場面(交渉、契約とか)でネットの時代でも対面が好まれるのは誤り訂正のデータ量が多いからですね。
自然言語は誤り訂正機能を積極的に使った圧縮機ですね
能動的推論ってやつですかね
学部と院でプログラミング言語の意味論やってました。表示的意味論に対する期待と誤解は(誤解の仕方は違えど)結構あるあるな気がします
プログラミング言語が一意性を重要視する一方で、自然言語は意味を確率分布として扱うことで正確性を犠牲にして効率を上げているように思う。大規模言語モデルが確率分布による予測を最大化することによって文を認識生成できるようになったのは、「卵があるときに牛乳を6本買う」ことの不条理さ(確率の低さ)を学習できるようになったからなんじゃないかなぁ
めっちゃ刺さった..自然言語曖昧だし数学やコンピュータの言葉の方が厳密で素晴らしいと思っていたけど,効率性に焦点を当てたとき自然言語は身振り手振りや話口調など情報量が多い分優れているのか.咀嚼するために何回もこの動画みることになりそう
大学に行くためには金とまとまった時間が必要なので、そのコストを下げられる「大学の下位互換」は胸を張ってよいと思います。
そうだよなー、そもそも言語って文章にするためのものじゃないもんね。会話のためのものなのだから、文章に起こした際に欠陥があるように感じてしまうのは当然だよね。
自然言語のが優れているという理由がとても刺さりました。日本語では「目で語る」や「目が笑っていない」という感じで目もコミュニケーションの要素になっていてそれらを含めて言語があるのかなと感じました。
コミュニケーションの7割はボディーランゲージという研究結果もありますからね。言語はコミュニケーションの一部でしかないと。7割という数字が妥当かどうかはともかく、状況や発話の仕方によって意味がまったく変わってしまうことがあるのが自然言語ですよね。
この動画を見ている理由がエネルギー効率だとわかった。活字を追わなくてもエッセンスを味わえるからか。
発達障害持ってたりすると、「部屋の電気つけて」という指示に対して「僕工事の人じゃないから電気はつけられない」と返事する子なんかもいますよね。そういった子は、牛乳6つ買ってきたりする気がします。
地元の路線バスに「エンジンカッター稼働中」という掲示があります
まさに発達障害のことを思い浮かべながら聞いていました。よく空気が読めないと揶揄されますが、目線や表情や声色の役割を理屈立てて学んで行けばコミュニケーションの不得手さが軽減するのでは?とふと思いました。そういう方向の療育とか面白そうです。
水野さんの的確すぎる褒めよ…
バスや路面電車は運転手の視覚に頼って居るので、人の飛び出しに気付いて急ブレーキをかけても、その人が居なくなれば加速して運行を続けられる。対してJRは踏切に人が侵入して非常信号が点いた場合、先ず非常ブレーキで停止して指令に連絡し踏切の安全確認が取れたらようやく出発する。前者は自然言語的で効率は良いけど事故を防ぎきるシステムにはなっていない。後者はシステマチックに安全を保証してるけど時間も手間もエネルギーもかかる。中間が京急で踏切に人が入ったらとりあえず非常ブレーキかけるけど、人が出たら徐行で通過して再加速してる。そうしないとJRに勝てないから。
本題と全く関係ないです、すみません→ 動画の途中で出てきた卵と牛乳の話を、最後の方で再度具体的に想像して笑っていたので、最初にこの話が出た時点では具体的に想像していなかったということがわかり、少し驚きました。この話になった時、スーツ姿の男性が帰宅し、牛乳を6本奥さんに渡している映像などが自動的に浮かぶわけではなさそうと感じました。自分の場合は勝手に映像が流れたり、各場面の画像が次々に表示されたりします。自分がどんくさい理由がわかったかもしれません。(だとするとかなりの衝撃です。)人の脳内の現象が少し垣間見れた気がして、非常に興味深かったです。いつもありがとうございます。(少し前にゆる言語学ラジオでビジュアルシンカーのお話がありました)
ビジュアルを想像していなかった立場でいうと、登場人物の旦那さんを典型的なステレオタイプとしてエンジニア、家事の知識は無い、買い物もしたことが無い、自分の理論に疑問を持たない、コミュニケーション力不足と考えました。奥さんの方はちょっとぶっきらぼうな話し方をする良い意味で旦那さんに遠慮のない人柄と想像しました。自分は他人が何を考えているか、どういう行動をする人間かを考えるような生活を送ってきたために見た目より人間性を理解しようとする癖があるのだと思います。これは人を見た目で判断しないとか崇高な事を言っているのではなく、他人が何を考えているかビクビクしながら生きているという情けない話です。人の性質も絡んでくる話だと思いました。
@@kamodomon0913 ビジュアルを想像せずにそこまで詳細な情報をどうやって推測するのか、全く想像がつきません…またも驚かされました…!個人差が大きいのかなんなのか…奥が深そうです…コメントありがとうございました!
楽しみに待ってました
ぼくも!
たのまち!
おれも!
わたしも!
奇遇ですね、僕もです🍻
プログラミング言語の目指すところは曖昧性を排除した恒久的な完全性のように思われる。しかしながら自然言語は変化を許容するような曖昧さを許容するシステムにあたると思う。そういった意味で、プログラミング言語と自然言語はそもそもの目指すところが違うのだと思う。
自然言語の効率の良さ 改心しました
「それ」のほうが効率がいい場合もあるし悪い場合もあって、一概には言えないっていうのが自分の考えです「それ」が指示しているもの、ことの認識がお互いおおむね一致している場合は自然言語は圧倒的に高効率だと思いますが、齟齬が大きい場合には「これ?」「じゃなくて~」「じゃあこっち?」「そっちのほうでもなくて~」みたいな無駄な訂正手続きが必要になってしまいますそういった可能性があるということを考慮すると、保険込みで最初から「『プログラミング言語の形式的意味論』ってタイトルの本取って」って言っておいたほうが低コストな場合もあるかなと訂正がきかないシーンなどでは後者のほうが圧倒的に低コストですしね
ポーカーと麻雀はよく似たゲームだが、戦略の研究の方向性が結構違う。ポーカーは麻雀よりパターンが少ないから、全パターンをゲーム理論的に計算したり深い所まで追求できる。水野さんよく、形式言語は曖昧さが無いから羨ましいって言ってるけど、構造が似てるかも?形式言語は曖昧さみたいな複雑な事を考えなくて良いから深い所まで考えれる。
表示的意味論が、セマンティクス配下にあって、操作的意味論が、シンタックス配下にあるというのはちょっと違うのでは?操作的意味論とはシンタックスの意味を操作的に定義するということなので。操作っていうのは、ある項を次の項へステップ単位で移動させることを表している。それらの操作を定義すること = 意味を定義することとして、(操作的)意味論と呼んでいる。まさに、水野さんが話してる言語学の意味と対応してる
叡智なトンネルが開通するの待ってます
面白かったです!自然言語は出来が悪いんじゃない、人間の特性に合わせた効率的なものというのは納得させられました。ただ、それを考え始めると、言語学の学問の範囲が難しそうだなと思いました。人間の知覚できるもの全部が対象なのでしょうか…
今回の話を聞いて、ロボットが「それ取って」という言葉を正しく判定できる未来が見えてきている気がしました。視覚=カメラと聴覚=マイクがあり、相手の目線の向きを判断し、目線の先にある物体を確率的に選択すれば「それ」の正体がわかる…なんかできそうですね
物体の認識はすでに画像認識が人間超えしてる目線の動きや音声もかなり高精度で判定できてる手の動きは画像認識の応用でなんとかなるはずだとすればロボットに足りないのは物を実際に動かす機構の方じゃないか?
「それ取って」は視界に入るものなので万人が対応できる可能性が高いのでロボットにも可能ですね。逆に人間でも出来ないのが「鍵取って」です。それを言った人のことを知らなければ対応できません。お姉ちゃんなら車のキューブの鍵でお父さんならレクサスの鍵でお母さんなら自転車のカギでおじいちゃんなら電動カートの鍵なんですから。しかも家庭によってどの鍵か変わってきます。自然言語の理解は過去の膨大な情報の蓄積が必要なので簡単には出来なさそうです。
発信側は目線を使えば発話エネルギーが節約できるかもしれないけれど受信側は目線を画像処理するのは音声で受け取るよりエネルギーがかかるのではないかな。例えば手話を爆速で表示したら話しているより早く伝達できるのだろうか。
「君はバラのようだ」についてはラッパー関数なんじゃないかな。python風に描くとこんな感じdef like_rose(you): return is_beautiful(you)バラのようだ関数の内部で美しい関数を呼び出している。或いは、バラのようだ関数は美しい関数のエイリアスになっている。C言語のマクロ関数みたいな感じで。#define LIKE_ROSE(you) is_beautiful(you)
からの、変数 you を定義したクラス・オブジェクトの設計・実装仕様って何なんだろう? って議論だと思った
chatgptが革命的なのは自然言語でコンピュータに指示できるところですよね誤字があっても、文脈が少し曖昧でも良い厳密すぎないところが自然言語の良さなんだなと思いました
34:00 あたりの「言語学に比べて羨ましい」はある意味そうかも知れません。数学は定義が厳密なので、公理・原理の上で成り立つものだと合意が得られさえすれば論議は成り立ちます。そういった点で自然言語は、公理がさらに別の公理を参照しており、さらにその公理も別の公理を参照している....のようなものなので難しいのだと思います。と思ったら文面だけでなく、感覚神経から取り込んだ情報を含めればよかったんですね
37:25機械言語が完全で羨ましいって思うのは、歩き疲れた人が車いすの人を見て車輪で移動するのは無駄が無くて羨ましいって思うのに似ている。平地の移動なら確かに完璧かもしれないが、階段や障害物を乗り越えたり坂道の踏破は絶対足の方が便利だし小石を蹴っ飛ばしたり、泳いだりすることは車いすには出来ない。多機能すぎてメインの機能に不便が出てるけど単純で完璧なものとどっちが良いかは断言できない
(42:40) 「それ取って」という短い記号列で伝わるには「それ」が指すものは何かという、文脈があらかじめ共有されているからでしょう。文脈が共有されていない場合は、文脈を含めて記号列にエンコードして伝達する必要があります。これはプログラミング言語でも自然言語でも同じはないでしょうか。
40:00 目や耳は減価償却が終わってますから使えば使うほどお得ですもんね!
大いなる学習には、大いなる罠が伴う。(『誤解だーマン』より引用)
究極の出展出さないと画面左側の人に刺されますよ
親愛なる隣人さん。
自然言語は指示の対象が曖昧なままでも指示できて、受けても曖昧な理解のままでも応答できるので、お互いに終始曖昧なままでもやり取りできるという利点がありますね
プログラミングにおいて「”これ”はやめて」に相当するのは「"var"はやめて」かも。もっとも人様が書いたものをパクろうとしたときに思うのだが。
ホリ活(「堀元」を「堀本」と書くコメントを眺める活動)をしていて辿り着いた仮説(あるある)。意味(ここでは内容)に集中してコメントすると、堀元か堀本かはどうでもよくなって堀本になりがち。
本質本!
ロボットを作るとき、コードを長々と書いて何とか目的を実行させようとするよりも、センサーを一つ追加するだけで物凄く楽に実現できるって感じかなと思いました。今後、AIへの命令を作るときには文字や画像だけでなく、命令者の声の調子や表情・目線は勿論のこと、気温や服装も標準の入力対象になるのかも。
呼吸云々に関する問題は、集合の解釈をちょこっとこねくり回せば解決できそう。呼吸の例って要するに「"パラ"と"その女性"の属性の共通集合が "生物"の属性との共通集合にもなってるから、この例えはおかしい」って事だから、他の任意の単語との共通集合も考えてどうのこうのみたいな。
牛乳を6本を買う側の人間ですが、普遍的な認知の積集合が取れていない=信頼できないから相手の認知があるであろうところまで集合を広げた結果、6本必要だった可能性を考慮し、選択肢に入れるという感性です。いつも話すときに、相手がどういう認知を使っているのかを探り相手が持つ目や耳や記憶などの情報がどこまで自分の認知と合っているかを推測するなど、コミュニケーションコストがものすごく高いため、認知合わせのコストを支払うよりかは冗長的な余計な文字列を加えて非効率な体系であってもコストが低いので、解釈が一意である言語を使いたがるのだと自分で思います。「確認すればいい」は、そう。ただし、確認により新たな誤解が発生することを除く。
もう完全に俺
ある種多様性を尊重していると言えるのかも。牛乳が6本必要なこともあるのだろう、と。こういう指示を素直に受け取るタイプは、もしかしたら偏見や差別とは遠い存在なのかもしれない。
そうか。プログラマー的な人はコミュニケーションのコストが高いと感じる人達が多いのか。たしかに一般的なステレオタイプでみると、プログラマーってコミュニケーション能力に問題がある人ってイメージだもんな
堀元さん、最強の関数型言語を作りたいのかなと思ってたら違った
46:34 ケアレスミス防止や労働安全衛生に通じる人道的思考 とおもたお これぞゆる★ラジオ節 素晴らしい
47:01 効率という視点が入ってくるとコンパイラやリンカだけでなくオプティマイザの出番ですねとても気が利くので、変数スコープを始めとするもろもろを意識して翻訳前後で添削します例えば i=0 を実行する場合_コンテキストによって_は、素朴に『メモリに保存された0を読み出してiに代入』するのではなく『iの排他的論理和』を計算します「人間が0欲しがってんだけどメモリアクセスは面倒だから、同値でxorとって渡してあげて」といったぐあいです
プログラマーの主張は自然言語は正確性に欠ける場合があるであって、効率が悪いではないような気がします。最後の話は論理がすり替わってる
今回の裏ボスは戸田山和久先生
プログラミング言語を記号論的に捉えて論考する『記号と再帰』(田中久美子)という本、面白かったからおすすめ。内容的にも今回の話を橋渡ししてくれそう。
メタファーについて触れていたので、私が過去に読んだことのある文献を紹介だけしてみます(内容について記憶は曖昧です)①ドナルド・デイヴィッドソン「真理と解釈」野本和幸、植木哲也、金子洋之、高橋要訳, 勁草書房、1991 ※隠喩に関しては第十二章「隠喩の意味するもの」②マックス・ブラック「隠喩」尼ヶ崎彬訳 (「創造のレトリック」佐々木健一編訳, 勁草書房 1986)①は語用論的アプローチ、②は意味論的アプローチでメタファーの解釈を試みる内容だったと記憶していますまた、正確な論文名は忘れましたがこの二人が互いの説を批判しあう内容の論文もそれぞれ出ていたはず
自然言語がプログラミング言語と比べて不完全なのではなく、むしろリアルの情報を使って伝達するから効率的この部分、非常に感銘を受けたんですけど一方で「じゃあ目や耳の情報を取り入れる事を初めから念頭に置いた上で、完全性の担保された言語体系を作れば良くない?」とも思いました
漫画ヒロアカのセリフで与えられたものと努力して得たものは本質が違うみたいなセリフがあるが、今回の無駄にしたと言っていた時間は実際は大学では与えられたものにしかならない知識を自力で得たものとしてストックできたという事なので書くしステータス上ではめちゃくちゃ意味がありそう
指示名詞とか代名詞はポインタだよね
プログラミング言語と一般言語の一番の違いは、前者は全て命令文ってことでは?
自然言語が効率的な情報伝達手段というのは納得できる話ではありましたが、一方で、補完する感覚的な情報というのは個人差があるのでそれが誤解や諍いの元になりやすいとも思いました。情報伝達における誤解をなくそうとするとやはり言語(文語)的な手段に創意工夫を凝らす必要があるのだろうと。普段から同じ文脈を共有している相手であれば良いのですが…。
私は元外大生で、外国語学部の言語学専攻に在籍していました。学生時代、他大学の哲学科の人と話していて、その人は言語学に少し興味が湧いて(現代哲学の一分野にズバリ言語哲学というものがあります)教科書を手にした事があるらしいのですが、それが音声学の教科書だったと聞いて大笑いした記憶があります。音声学というのは平たく言うと発音を研究する学問なので、おそらく一番哲学と縁遠いジャンルだと思います。
自然言語の曖昧さは一般の人が使うことのみを想定したらたしかに効率的だとは思うのですが、言語以外の情報を必要とする以上それらを持たない人や存在を排除する形になってしまっているので、あまり出来が良いとは思いたくないですね…言語以外の情報を使用しない≒その言語というインターフェースを覚えれば意思疎通ができる、なので学習効率や前提とする機能・能力の要求の低さを考えても人工言語のほうが個人的には好きです
人間には体がある、のくだりでそういえばそうじゃん!ってなりました。すごいハッとしたというか
今回水野さんが「メタファー」の例で「バラのようだ」という直喩(シミリー)を出してて「ん?」と思ったのですが、そういえば認知言語学で言う「メタファー」って「ある概念を別の類似した概念で喩えること」みたいな意味だった気がするので(曖昧です)、誤ってはないですね国語の授業だと「直喩」の対の概念で、「(「ようだ」などの)比喩を示す指標を使わずに表現された比喩」みたいな習い方するので、この辺の用語は混乱しちゃいます;;(これも専門用語分野によって意味が違う問題ですね;;)何はともあれ、大学の認知言語学の授業は楽しかった覚えがあります!意味論の話って認知言語学の得意分野なイメージがあるので、もしそんな回があれば楽しみにしてます!
エンジニア「卵はありますか?」店員「はい、ありますよ」エンジニア「では牛乳を6パック下さい」店員「は?(お買い上げありがとうございます)」
コードレビュー「コメント行が漏洩してるよ!」
それだと条件分岐を理解して買いに行くことになるからエンジニア「牛乳を1パック下さい」エンジニア「卵はありますか?」店員「はい、ありますよ」エンジニア「では牛乳をもう5パック下さい」店員「は?(お買い上げありがとうございます)」だと思う。
自然言語の出来の話はトム・スコット=フィリップスの『なぜヒトだけが言葉を話せるのか』で楽しく知れるからオススメ。
面白そう。
文法論、意味論、語用論は言語の「正しさ」を巡る3つのレイヤーに対応しています。 文法論:「嫌い私の君です」→まともな日本語になっていない意味論:「黒い白」→文法上は間違ってはいないが、内容がおかしい語用論:朝に会ったのに「こんばんは」→文法上も意味的にも間違ってはいないが、状況に合わない この3つのレイヤーを「ソフトウェアの不具合」というITの文脈に適用してみると… 文法論:syntax errorでコンパイルが通らない(文法エラー)意味論:分岐の判定条件が誤っていて不正な動作をする(一般的なバグ)語用論:「顧客が本当に必要だったもの」でない(仕様不備) というようなことを、昔考えたりしてました。
ちなみにですが、「意味とは真理関数である」という考え方は、“「意味的に間違っている」というのをどう判定すればよいのか”の基準として「真理関数」を使ってみよう、ということです。 先に自分の出した例で考えると、『「黒い白」という文が意味的におかしい』というのは、「黒い白」という(矛盾した)文に対応するものが「この世」(でも「頭の中」でも)に存在しないので、この文がF(False)と判定される、ということと同値である、と。まとめると「意味的に正しい」=文の真理値がT「意味的に間違い」=文の真理値がFというふうに考えられないか、というのがその説の主張になります。
35:49 プログラミング言語においても文脈(context)は同じ文で違う解釈を導き出せるようにするための周囲の状態のことですね。同じプログラム片の再利用性が高まります。コンパイラを作るところから始めると、多態性(polymorphism)の実装などの段階で出てくるのでしょうか。
表示的意味論の例えは、Option型(HaskellではMaybe型)が1+A (=A⊔{⊥}) に対応するみたいなところが単純な例な気がします。
48:49 牛乳を6個買うことは買い物に行く間隔によっては割とよくありそうですね(うちも週2なので実際一度に4本くらいは買う)。ただ卵のあるなしで1個が6個に変わることの方には疑問を抱いた方がいいですね、オムライス作るにしてもそこまで極端には使わないですし(そういう話じゃない)
プログラミング言語を作りたいなら「Learn C and Build Your Own Lisp」が参考になります。
シニフィエをアセンブラや機械語とすることもできますが、「意味論」で表される論理式や関数をシニフィエとする立場もあります。意味論をシニフィエにすることで、異なるコードが同じバイナリを出すべきかどうかを、論理式の等価性の証明で検証することができます。コンパイラの最適化が正しいかどうかを意味論から証明するという分野もあります。
😊曖昧さによって😊言語の処理速度を上げる
東北のジジイの「けつあつ!」も、めちゃめちゃ合理的なのか
群論まじで楽しいからホリモティ勉強してくれないかなぁ
31:02 喩え話やメタファーの原典は神話や聖書、叙事詩や源氏物語とかに書いてあるから、「人類が生み出したコンテンツからの引用、またはその孫引き」で全部説明可能になりそう。ちな美しさを薔薇に例えはギリシャ神話のアフロディーテからくるみたいです。
大学で命題論理と述語論理は勉強してて、言語学もやりつつ、プログラミングを最近勉強している人間にブッ刺さる2回でした。
言外の意図に価値があるVS明確に定義されていなければ不十分=膨大なライブラリがあるのに使わないのは非効率VSライブラリが無いので理解できないという対立ということですね。
27:20 「コップ」はオランダ語 "kop" に由来するので、図らずして正解している。
21:30 戸田山先生の著作は、論理学をつくるの方ですね。チューリングを読むの動画中の著者名表示が違ってるようです
自然言語は身体性を併用してるから効率がいい…面白いですね。ロボットを開発するとき頭脳が高度でなくても、昆虫レベルでも環境とインタラクションするから大丈夫、みたいな話に似てると思ったりしました。
驚くほど学びが多い回でした。そして否応なく色々と考えさせられました。あれ、でも水野さんって考え事をしないんっだっけ?こう言う脳に刺激を受けるようなコンテンツを見た時、考え事をせずにどうやって情報処理をしてるんだろう。
そもそもプログラミング言語と自然言語の比較ってレイヤーあってるのかなって思ってた部分あります「言語」って命名に含まれてるから同レイヤーと思っているだけなのかもな~とか似た部分ももちろんたくさんあるし、面白いんですけどね
メタ概念をさらに記述するプログラミング技法に取り入れる必要性があると言う事を解りやすくダグラスホフスタッタ―の『ゲーテルエッシャーバッハ』で語ってましたね。結局それにより自己記述言語には自分のレイヤーが明確でないと迷子になるとも読み取れました。
言葉以外の視線などを活かした言語が自然言語だという話で、なぜだかふとカーナビに手足をもいで表情だけ変えられるようにしたロボットをつけると運転手にどんな影響があるかを調べるという実験を思い出しました。あれも言語以外の部分で伝えることに関する実験だったのかもしれませんね。
コミュニケーションにおいては自然言語が効率いいんだけど、品質保証の話になった途端に辛くなる
牛乳買ってきて、卵あったら6つ買ってきての場合bye miik; if(egg) bye milk * 6; と解釈するとしたら7本牛乳を買ってきてしまう。if(egg)で前の処理をオーバーレイしないと6本買ってくることにならないという難しい論理問題ですね。
「バラのようだ」という表現について例えばイルミネーションや虹などに対して使うと違和感があるはずなので、この表現は美しさではなくバラの愛情の象徴的なそれを要素として取り出しているのでは、とか考えました
メタファーの部分てJavaでいうアノテーション、C#でいうアトリビュートとか、オブジェクト指向でのインターフェースとか、いわゆるメタデータの付与ができるからコンテキストにおける決まり事と解釈していいのでは。バラだってメロな雰囲気の文脈でなら「美しい」という文脈になるし、悪口の文脈でいうなら「とげがある」になる。肌の色っていう文脈なら「真っ赤に染まった」とか。アプリを作るときの「この用途に使うアプリ」っていう前提があるのと同じで、話始めるときの雰囲気とか議題でどの属性を抽出するかを判断している気がする。「これ」に関してはオブジェクト指向の「this」もいい話ですよね。JavaScriptの「this」で何人の初心者が抹殺されてきたことか。
集合の重なる部分で優先的に取り出すものは、当人にとっての価値の重みなのではないでしょうか?
論理学突き進んだ結果言語学、意味論に突き進んでいった私‥水野さんとすれ違ってる
聞き始めてすぐ、アセンブラとコンパイラをごっちゃにしてるな、って言わないで、とか堀元さんが言うから、アセンブラとコンパイラって何が違うんだろう、って思って調べてみたら、ぜんぜん分からなかった。何が違うんですか?
こんにちは。アセンブラは人間に比較的優しい、コンパイラの一種のプログラミング言語です。コンパイラはソースリストをCPUが扱いやすい16進数の羅列(マシン語)に変換する事です。コンパイラのプログラミング言語は様々ありますが、最終的にCPUの扱いやすい数値の羅列に変換することです。厳密に言えば16進数も2進数に置き換え、ONとOFFの羅列に変換します。でもそれを人間の手作業で2進数の羅列を作るのは大変だから、コンパイラと言う人間に分かりやすいプログラミング言語で記述して、ONOFFの羅列に変換する技術が発明されたのです。
49:42 ラジオの方が聞きやすくていい
多分、大衆受けする歌詞は、何でも知ってる文学部の先生より、中島みゆきさんみたいに悩んでる多くの人に寄り添う人に刺さる作品には、たとえ大学教授程知識はなくても感性のある人が作れるんだろう。だから堀元さんは大衆受けするコンパイラを作れるか?それとも理論に傾倒する一部のマニアに受けるコンパイラを作るか?そこが面白そうなので堀元さん達のTH-camは大衆受けするから、どんなコンパイラを作るか非常に楽しみです。実際どういう生産物を作るタイプのプログラマなのか非常に興味深いです。みんなの仕事を楽にするニュートンか?地球に住んでるのに実生活とはかけ離れた統一理論を求めるアインシュタインか?みんなの仕事を楽にするアリストテレスか?理想論だけどみんなの心を掴む宗祖のソクラテスか?人間模様(人間性)と生産物(コンパイラ)に非常に興味あります。
人間の各感覚器官からの情報もコンテキストなのかなあ、と思いました
人間は脳がスケールアウトできなかったり会話で帯域をなるべく消費せず節約するためにステートフルを選択してコンピューター(RESTful API)は逆の方が都合がいいからステートレスに進化していったという感じですかね
五感からのインプットを使ってる自然言語を、文字情報のチャットツールでそのまま流用すると正確に伝わらないのはあるあるですね
41:43 ジョージ・オーウェル「1984」における、ニュースピークに対するオールドスピークみたいなもんやね
それを取っては普通周辺のものある意味、限定的相手の想像力内で補える
28:07 表示的意味論での、水野さんのいう「指すもの」は、機械語じゃなくて数学的対象、あるいは「関数」なのでは?と思いました。その意味では言語学の形式意味論と結構近いと思います。
『目は口ほどにモノを言う』とはよく言ったものだ。昔から高効率がわかっていらっしゃる。さらに、視覚情報は光速で目に入力されるので音声より何倍も伝達速度が高い。
まあ遠くの情報なら光のほうが速いのかな
36:42 数年前に自然言語処理の界隈で「言語空間のみでAIを学習させても限界があるのでは」みたいな話がありましたね。人間は言語のみで言語を学習しているわけではないというか
40:29 こっちだと油断するとすーぐプリン出てくんね
TAPL読んで意味わかんなかったからやってほしい
コンテクストの共有や言葉以外の手段も合わせて効率的なコミュニケーション手段となっている自然言語を、それが希薄なSNSで使うからギスギスがちだったり炎上しやすかったりするのかもと思った回でした。
あれ、卵を買う事も含んでる(卵を買える事で牛乳を+5個使った何か料理をするんじゃないかなって発想)と解釈するとまた味わい深い
だから 46:36 確認すればいい って前提で仕様書書いちゃうと行間読みがとんでもないことになるから、あ”ーってなる。
使える情報を使った自然言語的な人工言語(言語?)で思いついたのは「手話」ですね。同じ動きや手の形でも全然別の意味になるものもありますが、誤解がなく伝えるために表情や目線、身体全体の動きを付随させています。最近だと、鳥山明先生の訃報の際に『ドラゴンボール』や『アラレちゃん』を「かめはめ波」や「キーン」といった本来手話にない動きで表現して話題になっていましたね。本来の形式なら「竜」+「玉」や50音で「ア」「ラ」「レ」「ち」「ゃ」「ん」ですが、本来ない手話を使った方がより短くわかりやすく伝わった面白い例だとおもいます。
視覚や聴覚があるから自然言語は不完全(ファジー)であるというのはかなり納得感ありました!
フォン=ノイマンが、「ゲーテル博士への賛辞」と題して一般講演で、「ゲーテルは、ある数学の定理で、現在までに受け入れられている数学の厳密な手段を用いて、それを証明することも否定することも出来ないものがある事を証明した、最初の人であります。言い換えれば、彼は決定不可能な数学的命題の存在を証明したのです。」
@@人生パラドックス ??ゲーデルの不完全性定理は或る種の数学的公理系(平たくいうと一部の人工言語)が持つ性質のことであって、自然言語は関係なくないですか?あとここでいう「完全」は「或る命題Pについて、"Pである"または"Pではない"のいずれかが必ず真、かつ、もう片方が偽になる」性質のことであって、これは「排中律をどの程度採用するか」とほとんど一緒だと思います(自信なし)。最初のコメントの人は「真理値を何種類おける事にするか」という話です。形式論理で一番メジャーな古典論理は真偽(1と0)の二値論理だけれど、自然言語はファジー論理(0以上1以下の実数)だな、という趣旨。
高齢ジジィですが、「目線で分かる」で昔、ヒューマンインターフェースとかめっちゃ研究していた時期に、そんなディバイスの提案が多くあったなとか、コンピュータ言語も自然言語みたいな言語が最高というノリが当時はあったなと、懐かしさを覚えました。COBOLとか、そんな感じでどんどん拡張されていって、最終的にかえって使いにくいと廃れたなとか。シチュエーションによく合う言語で開発するのが効率的、話す言葉もきっとそう。多分シチュエーション次第で、私達は実は意識せず別言語を話してるんだと思います、うなぎ文とかね。話す言葉は、すべて同一言語の日本語なのだというのが勘違いな気がします。
最近COBOLに興味を持ち始めてます。純粋なプログラミング言語の意味論的意味で。
【参考文献】
◯プログラミング言語の形式的意味論
amzn.to/3R4TIiQ
◯型理論
amzn.to/3KugmNT
◯新装版 プログラミング言語の基礎理論
amzn.to/3wYdhTj
◯論理学をつくる
amzn.to/4bHFlJB
◯チューリングを読む コンピュータサイエンスの金字塔を楽しもう
amzn.to/4bx0arf
◯形式意味論入門
amzn.to/4c129E8
【サポーターコミュニティへの加入はこちらから!】
yurugengo.com/support
【おたよりフォーム】
forms.gle/BLEZpLcdEPmoZTH4A
※皆様からの楽しいおたよりをお待ちしています!
ゆる言語学ラジオとのコラボ、いつか見たかったから嬉しい!お二人なら気が合いそうだと前から思っていました!
二人の中の「ゆる言語学ラジオ人格」と「ゆるコンピューター科学ラジオ人格」がうまく統合できたんですね
座る席の位置を入れ替えれば、斬新さが出たのにね。
聾者の知り合いに教わった手話の便利な使い方。
例えば「私には兄と弟がいます」という会話で、兄と弟の手話をそれぞれ異なる位置で行っておけば、
その後の会話では、それぞれの位置で「彼」という手話を行うだけで兄と弟を言い分けられるそうです。
関係ないけど、手話で、南は暑いとか豆腐のケーキとか伝えたいときどうするのか気になる
@@おぶ-n1r
基本的に手話には助詞がないので、日本語の語順通りに手話を並べれば通じると思います。
◎南は暑い ⇒ 南 + 暑い
◎豆腐のケーキ ⇒ 豆腐 + ケーキ
「豆腐とケーキ」と誤解されないように、間に ”の” の指文字を入れた方がよいかもしれません。
水野さん頭良いなぁって思った回。もやっとしてる事を言語化してくれて助かる。
前から思ってたけど、水野さんは理系っぽい文系で、堀元さんは文系っぽい理系だよね。
理系でコンピュータ科学にも言語学にも興味あるけど、ここまで文系っぽくなれないからすごいと思う。
めっちゃ同意ですわ
水野さんは厳格な文系、堀元さんはいいかげんな理系。だったりして。
なお理科
ちょうど琉球にいて日本に布教しようと思って琉球語を頑張って勉強したけど肝心の日本では通じなくて悲しかった宣教師の話を思い出しました。プログラミング言語を作ろうと思ったからとりあえず言語学勉強するのと同じ現象ですかね。
確か、Bettelheimか
その前に来たフランス人(名前不明)ですよね?
なんか可愛いなその人
お二人をみていると、大学出てからも独学で頑張れるんだなぁと勇気が出ます。
自然言語による対話は、目や耳などのマルチモーダルな「誤り訂正」が働くが、
チャットなどの文章形式ではそれがないために、口語をそのまま記述すると食い違いが起きやすいのかも と思った。
対面コミュニケーション:文意+声色+目線・ジェスチャー等
電話コミュニケーション:文意+声色
文章コミュニケーション:文意のみ
より正確なコミュニケーションが必要な場面(交渉、契約とか)でネットの時代でも対面が好まれるのは誤り訂正のデータ量が多いからですね。
自然言語は誤り訂正機能を積極的に使った圧縮機ですね
能動的推論ってやつですかね
学部と院でプログラミング言語の意味論やってました。
表示的意味論に対する期待と誤解は(誤解の仕方は違えど)結構あるあるな気がします
プログラミング言語が一意性を重要視する一方で、自然言語は意味を確率分布として扱うことで正確性を犠牲にして効率を上げているように思う。
大規模言語モデルが確率分布による予測を最大化することによって文を認識生成できるようになったのは、「卵があるときに牛乳を6本買う」ことの不条理さ(確率の低さ)を学習できるようになったからなんじゃないかなぁ
めっちゃ刺さった..自然言語曖昧だし数学やコンピュータの言葉の方が厳密で素晴らしいと思っていたけど,効率性に焦点を当てたとき自然言語は身振り手振りや話口調など情報量が多い分優れているのか.咀嚼するために何回もこの動画みることになりそう
大学に行くためには金とまとまった時間が必要なので、そのコストを下げられる「大学の下位互換」は胸を張ってよいと思います。
そうだよなー、そもそも言語って文章にするためのものじゃないもんね。
会話のためのものなのだから、文章に起こした際に欠陥があるように感じてしまうのは当然だよね。
自然言語のが優れているという理由がとても刺さりました。
日本語では「目で語る」や「目が笑っていない」という感じで目もコミュニケーションの要素になっていてそれらを含めて言語があるのかなと感じました。
コミュニケーションの7割はボディーランゲージという研究結果もありますからね。
言語はコミュニケーションの一部でしかないと。
7割という数字が妥当かどうかはともかく、状況や発話の仕方によって意味がまったく変わってしまうことがあるのが自然言語ですよね。
この動画を見ている理由がエネルギー効率だとわかった。活字を追わなくてもエッセンスを味わえるからか。
発達障害持ってたりすると、「部屋の電気つけて」という指示に対して「僕工事の人じゃないから電気はつけられない」と返事する子なんかもいますよね。
そういった子は、牛乳6つ買ってきたりする気がします。
地元の路線バスに「エンジンカッター稼働中」という掲示があります
まさに発達障害のことを思い浮かべながら聞いていました。よく空気が読めないと揶揄されますが、目線や表情や声色の役割を理屈立てて学んで行けばコミュニケーションの不得手さが軽減するのでは?とふと思いました。そういう方向の療育とか面白そうです。
水野さんの的確すぎる褒めよ…
バスや路面電車は運転手の視覚に頼って居るので、人の飛び出しに気付いて急ブレーキをかけても、その人が居なくなれば加速して運行を続けられる。
対してJRは踏切に人が侵入して非常信号が点いた場合、先ず非常ブレーキで停止して指令に連絡し踏切の安全確認が取れたらようやく出発する。
前者は自然言語的で効率は良いけど事故を防ぎきるシステムにはなっていない。
後者はシステマチックに安全を保証してるけど時間も手間もエネルギーもかかる。
中間が京急で踏切に人が入ったらとりあえず非常ブレーキかけるけど、人が出たら徐行で通過して再加速してる。そうしないとJRに勝てないから。
本題と全く関係ないです、すみません→ 動画の途中で出てきた卵と牛乳の話を、最後の方で再度具体的に想像して笑っていたので、最初にこの話が出た時点では具体的に想像していなかったということがわかり、少し驚きました。
この話になった時、スーツ姿の男性が帰宅し、牛乳を6本奥さんに渡している映像などが自動的に浮かぶわけではなさそうと感じました。自分の場合は勝手に映像が流れたり、各場面の画像が次々に表示されたりします。自分がどんくさい理由がわかったかもしれません。(だとするとかなりの衝撃です。)
人の脳内の現象が少し垣間見れた気がして、非常に興味深かったです。いつもありがとうございます。
(少し前にゆる言語学ラジオでビジュアルシンカーのお話がありました)
ビジュアルを想像していなかった立場でいうと、登場人物の旦那さんを典型的なステレオタイプとしてエンジニア、家事の知識は無い、買い物もしたことが無い、自分の理論に疑問を持たない、コミュニケーション力不足と考えました。奥さんの方はちょっとぶっきらぼうな話し方をする良い意味で旦那さんに遠慮のない人柄と想像しました。
自分は他人が何を考えているか、どういう行動をする人間かを考えるような生活を送ってきたために見た目より人間性を理解しようとする癖があるのだと思います。
これは人を見た目で判断しないとか崇高な事を言っているのではなく、他人が何を考えているかビクビクしながら生きているという情けない話です。
人の性質も絡んでくる話だと思いました。
@@kamodomon0913
ビジュアルを想像せずにそこまで詳細な情報をどうやって推測するのか、全く想像がつきません…またも驚かされました…!個人差が大きいのかなんなのか…奥が深そうです…
コメントありがとうございました!
楽しみに待ってました
ぼくも!
たのまち!
おれも!
わたしも!
奇遇ですね、僕もです🍻
プログラミング言語の目指すところは曖昧性を排除した恒久的な完全性のように思われる。しかしながら自然言語は変化を許容するような曖昧さを許容するシステムにあたると思う。
そういった意味で、プログラミング言語と自然言語はそもそもの目指すところが違うのだと思う。
自然言語の効率の良さ 改心しました
「それ」のほうが効率がいい場合もあるし悪い場合もあって、一概には言えないっていうのが自分の考えです
「それ」が指示しているもの、ことの認識がお互いおおむね一致している場合は自然言語は圧倒的に高効率だと思います
が、齟齬が大きい場合には「これ?」「じゃなくて~」「じゃあこっち?」「そっちのほうでもなくて~」みたいな無駄な訂正手続きが必要になってしまいます
そういった可能性があるということを考慮すると、保険込みで最初から「『プログラミング言語の形式的意味論』ってタイトルの本取って」って言っておいたほうが低コストな場合もあるかなと
訂正がきかないシーンなどでは後者のほうが圧倒的に低コストですしね
ポーカーと麻雀はよく似たゲームだが、戦略の研究の方向性が結構違う。
ポーカーは麻雀よりパターンが少ないから、全パターンをゲーム理論的に計算したり深い所まで追求できる。
水野さんよく、形式言語は曖昧さが無いから羨ましいって言ってるけど、構造が似てるかも?
形式言語は曖昧さみたいな複雑な事を考えなくて良いから深い所まで考えれる。
表示的意味論が、セマンティクス配下にあって、操作的意味論が、シンタックス配下にあるというのはちょっと違うのでは?
操作的意味論とはシンタックスの意味を操作的に定義するということなので。
操作っていうのは、ある項を次の項へステップ単位で移動させることを表している。それらの操作を定義すること = 意味を定義することとして、(操作的)意味論と呼んでいる。
まさに、水野さんが話してる言語学の意味と対応してる
叡智なトンネルが開通するの待ってます
面白かったです!
自然言語は出来が悪いんじゃない、人間の特性に合わせた効率的なものというのは納得させられました。
ただ、それを考え始めると、言語学の学問の範囲が難しそうだなと思いました。
人間の知覚できるもの全部が対象なのでしょうか…
今回の話を聞いて、ロボットが「それ取って」という言葉を正しく判定できる未来が見えてきている気がしました。
視覚=カメラと聴覚=マイクがあり、相手の目線の向きを判断し、目線の先にある物体を確率的に選択すれば「それ」の正体がわかる…
なんかできそうですね
物体の認識はすでに画像認識が人間超えしてる
目線の動きや音声もかなり高精度で判定できてる
手の動きは画像認識の応用でなんとかなるはず
だとすればロボットに足りないのは物を実際に動かす機構の方じゃないか?
「それ取って」は視界に入るものなので万人が対応できる可能性が高いのでロボットにも可能ですね。
逆に人間でも出来ないのが「鍵取って」です。
それを言った人のことを知らなければ対応できません。お姉ちゃんなら車のキューブの鍵でお父さんならレクサスの鍵でお母さんなら自転車のカギでおじいちゃんなら電動カートの鍵なんですから。しかも家庭によってどの鍵か変わってきます。
自然言語の理解は過去の膨大な情報の蓄積が必要なので簡単には出来なさそうです。
発信側は目線を使えば発話エネルギーが節約できるかもしれないけれど
受信側は目線を画像処理するのは音声で受け取るよりエネルギーがかかるのではないかな。
例えば手話を爆速で表示したら話しているより早く伝達できるのだろうか。
「君はバラのようだ」についてはラッパー関数なんじゃないかな。
python風に描くとこんな感じ
def like_rose(you):
return is_beautiful(you)
バラのようだ関数の内部で美しい関数を呼び出している。
或いは、バラのようだ関数は美しい関数のエイリアスになっている。
C言語のマクロ関数みたいな感じで。
#define LIKE_ROSE(you) is_beautiful(you)
からの、変数 you を定義したクラス・オブジェクトの設計・実装仕様って何なんだろう? って議論だと思った
chatgptが革命的なのは自然言語でコンピュータに指示できるところですよね
誤字があっても、文脈が少し曖昧でも良い
厳密すぎないところが自然言語の良さなんだなと思いました
34:00 あたりの「言語学に比べて羨ましい」はある意味そうかも知れません。数学は定義が厳密なので、公理・原理の上で成り立つものだと合意が得られさえすれば論議は成り立ちます。そういった点で自然言語は、公理がさらに別の公理を参照しており、さらにその公理も別の公理を参照している....のようなものなので難しいのだと思います。
と思ったら文面だけでなく、感覚神経から取り込んだ情報を含めればよかったんですね
37:25
機械言語が完全で羨ましいって思うのは、歩き疲れた人が車いすの人を見て
車輪で移動するのは無駄が無くて羨ましいって思うのに似ている。
平地の移動なら確かに完璧かもしれないが、階段や障害物を乗り越えたり坂道の踏破は絶対足の方が便利だし
小石を蹴っ飛ばしたり、泳いだりすることは車いすには出来ない。
多機能すぎてメインの機能に不便が出てるけど単純で完璧なものとどっちが良いかは断言できない
(42:40) 「それ取って」という短い記号列で伝わるには「それ」が指すものは何かという、文脈があらかじめ共有されているからでしょう。文脈が共有されていない場合は、文脈を含めて記号列にエンコードして伝達する必要があります。これはプログラミング言語でも自然言語でも同じはないでしょうか。
40:00 目や耳は減価償却が終わってますから使えば使うほどお得ですもんね!
大いなる学習には、大いなる罠が伴う。(『誤解だーマン』より引用)
究極の出展出さないと画面左側の人に刺されますよ
親愛なる隣人さん。
自然言語は指示の対象が曖昧なままでも指示できて、受けても曖昧な理解のままでも応答できるので、お互いに終始曖昧なままでもやり取りできるという利点がありますね
プログラミングにおいて「”これ”はやめて」に相当するのは「"var"はやめて」かも。
もっとも人様が書いたものをパクろうとしたときに思うのだが。
ホリ活(「堀元」を「堀本」と書くコメントを眺める活動)をしていて辿り着いた仮説(あるある)。
意味(ここでは内容)に集中してコメントすると、
堀元か堀本かはどうでもよくなって
堀本になりがち。
本質本!
ロボットを作るとき、コードを長々と書いて何とか目的を実行させようとするよりも、センサーを一つ追加するだけで物凄く楽に実現できるって感じかなと思いました。
今後、AIへの命令を作るときには文字や画像だけでなく、命令者の声の調子や表情・目線は勿論のこと、気温や服装も標準の入力対象になるのかも。
呼吸云々に関する問題は、集合の解釈をちょこっとこねくり回せば解決できそう。
呼吸の例って要するに「"パラ"と"その女性"の属性の共通集合が "生物"の属性との共通集合にもなってるから、この例えはおかしい」って事だから、他の任意の単語との共通集合も考えてどうのこうのみたいな。
牛乳を6本を買う側の人間ですが、
普遍的な認知の積集合が取れていない=信頼できないから
相手の認知があるであろうところまで集合を広げた結果、
6本必要だった可能性を考慮し、選択肢に入れるという感性です。
いつも話すときに、相手がどういう認知を使っているのかを探り
相手が持つ目や耳や記憶などの情報がどこまで自分の認知と合っているかを推測するなど、
コミュニケーションコストがものすごく高いため、認知合わせのコストを支払うよりかは
冗長的な余計な文字列を加えて非効率な体系であってもコストが低いので、
解釈が一意である言語を使いたがるのだと自分で思います。
「確認すればいい」は、そう。
ただし、確認により新たな誤解が発生することを除く。
もう完全に俺
ある種多様性を尊重していると言えるのかも。牛乳が6本必要なこともあるのだろう、と。こういう指示を素直に受け取るタイプは、もしかしたら偏見や差別とは遠い存在なのかもしれない。
そうか。プログラマー的な人はコミュニケーションのコストが高いと感じる人達が多いのか。
たしかに一般的なステレオタイプでみると、プログラマーってコミュニケーション能力に問題がある人ってイメージだもんな
堀元さん、最強の関数型言語を作りたいのかなと思ってたら違った
46:34 ケアレスミス防止や労働安全衛生に通じる人道的思考 とおもたお これぞゆる★ラジオ節 素晴らしい
47:01 効率という視点が入ってくるとコンパイラやリンカだけでなくオプティマイザの出番ですね
とても気が利くので、変数スコープを始めとするもろもろを意識して翻訳前後で添削します
例えば i=0 を実行する場合_コンテキストによって_は、素朴に『メモリに保存された0を読み出してiに代入』するのではなく『iの排他的論理和』を計算します
「人間が0欲しがってんだけどメモリアクセスは面倒だから、同値でxorとって渡してあげて」といったぐあいです
プログラマーの主張は自然言語は正確性に欠ける場合があるであって、効率が悪いではないような気がします。最後の話は論理がすり替わってる
今回の裏ボスは戸田山和久先生
プログラミング言語を記号論的に捉えて論考する『記号と再帰』(田中久美子)という本、面白かったからおすすめ。内容的にも今回の話を橋渡ししてくれそう。
メタファーについて触れていたので、私が過去に読んだことのある文献を紹介だけしてみます(内容について記憶は曖昧です)
①ドナルド・デイヴィッドソン「真理と解釈」野本和幸、植木哲也、金子洋之、高橋要訳, 勁草書房、1991
※隠喩に関しては第十二章「隠喩の意味するもの」
②マックス・ブラック「隠喩」尼ヶ崎彬訳 (「創造のレトリック」佐々木健一編訳, 勁草書房 1986)
①は語用論的アプローチ、②は意味論的アプローチでメタファーの解釈を試みる内容だったと記憶しています
また、正確な論文名は忘れましたがこの二人が互いの説を批判しあう内容の論文もそれぞれ出ていたはず
自然言語がプログラミング言語と比べて不完全なのではなく、むしろリアルの情報を使って伝達するから効率的
この部分、非常に感銘を受けたんですけど
一方で「じゃあ目や耳の情報を取り入れる事を初めから念頭に置いた上で、完全性の担保された言語体系を作れば良くない?」とも思いました
漫画ヒロアカのセリフで与えられたものと努力して得たものは本質が違うみたいなセリフがあるが、今回の無駄にしたと言っていた時間は実際は大学では与えられたものにしかならない知識を自力で得たものとしてストックできたという事なので書くしステータス上ではめちゃくちゃ意味がありそう
指示名詞とか代名詞はポインタだよね
プログラミング言語と一般言語の一番の違いは、前者は全て命令文ってことでは?
自然言語が効率的な情報伝達手段というのは納得できる話ではありましたが、一方で、補完する感覚的な情報というのは個人差があるのでそれが誤解や諍いの元になりやすいとも思いました。
情報伝達における誤解をなくそうとするとやはり言語(文語)的な手段に創意工夫を凝らす必要があるのだろうと。普段から同じ文脈を共有している相手であれば良いのですが…。
私は元外大生で、外国語学部の言語学専攻に在籍していました。
学生時代、他大学の哲学科の人と話していて、その人は言語学に少し興味が湧いて(現代哲学の一分野にズバリ言語哲学というものがあります)教科書を手にした事があるらしいのですが、それが音声学の教科書だったと聞いて大笑いした記憶があります。
音声学というのは平たく言うと発音を研究する学問なので、おそらく一番哲学と縁遠いジャンルだと思います。
自然言語の曖昧さは一般の人が使うことのみを想定したらたしかに効率的だとは思うのですが、
言語以外の情報を必要とする以上それらを持たない人や存在を排除する形になってしまっているので、あまり出来が良いとは思いたくないですね…
言語以外の情報を使用しない≒その言語というインターフェースを覚えれば意思疎通ができる、なので学習効率や前提とする機能・能力の要求の低さを考えても人工言語のほうが個人的には好きです
人間には体がある、のくだりでそういえばそうじゃん!ってなりました。すごいハッとしたというか
今回水野さんが「メタファー」の例で「バラのようだ」という直喩(シミリー)を出してて「ん?」と思ったのですが、
そういえば認知言語学で言う「メタファー」って「ある概念を別の類似した概念で喩えること」みたいな意味だった気がするので(曖昧です)、誤ってはないですね
国語の授業だと「直喩」の対の概念で、「(「ようだ」などの)比喩を示す指標を使わずに表現された比喩」みたいな習い方するので、この辺の用語は混乱しちゃいます;;
(これも専門用語分野によって意味が違う問題ですね;;)
何はともあれ、大学の認知言語学の授業は楽しかった覚えがあります!
意味論の話って認知言語学の得意分野なイメージがあるので、もしそんな回があれば楽しみにしてます!
エンジニア「卵はありますか?」
店員「はい、ありますよ」
エンジニア「では牛乳を6パック下さい」
店員「は?(お買い上げありがとうございます)」
コードレビュー「コメント行が漏洩してるよ!」
それだと条件分岐を理解して買いに行くことになるから
エンジニア「牛乳を1パック下さい」
エンジニア「卵はありますか?」
店員「はい、ありますよ」
エンジニア「では牛乳をもう5パック下さい」
店員「は?(お買い上げありがとうございます)」
だと思う。
自然言語の出来の話はトム・スコット=フィリップスの『なぜヒトだけが言葉を話せるのか』で楽しく知れるからオススメ。
面白そう。
文法論、意味論、語用論は言語の「正しさ」を巡る3つのレイヤーに対応しています。
文法論:「嫌い私の君です」→まともな日本語になっていない
意味論:「黒い白」→文法上は間違ってはいないが、内容がおかしい
語用論:朝に会ったのに「こんばんは」→文法上も意味的にも間違ってはいないが、状況に合わない
この3つのレイヤーを「ソフトウェアの不具合」というITの文脈に適用してみると…
文法論:syntax errorでコンパイルが通らない(文法エラー)
意味論:分岐の判定条件が誤っていて不正な動作をする(一般的なバグ)
語用論:「顧客が本当に必要だったもの」でない(仕様不備)
というようなことを、昔考えたりしてました。
ちなみにですが、
「意味とは真理関数である」という考え方は、
“「意味的に間違っている」というのをどう判定すればよいのか”
の基準として「真理関数」を使ってみよう、ということです。
先に自分の出した例で考えると、
『「黒い白」という文が意味的におかしい』というのは、
「黒い白」という(矛盾した)文に対応するものが
「この世」(でも「頭の中」でも)に存在しないので、
この文がF(False)と判定される、ということと同値である、と。
まとめると
「意味的に正しい」=文の真理値がT
「意味的に間違い」=文の真理値がF
というふうに考えられないか、というのがその説の主張になります。
35:49 プログラミング言語においても文脈(context)は同じ文で違う解釈を導き出せるようにするための周囲の状態のことですね。
同じプログラム片の再利用性が高まります。
コンパイラを作るところから始めると、多態性(polymorphism)の実装などの段階で出てくるのでしょうか。
表示的意味論の例えは、Option型(HaskellではMaybe型)が1+A (=A⊔{⊥}) に対応するみたいなところが単純な例な気がします。
48:49 牛乳を6個買うことは買い物に行く間隔によっては割とよくありそうですね(うちも週2なので実際一度に4本くらいは買う)。
ただ卵のあるなしで1個が6個に変わることの方には疑問を抱いた方がいいですね、オムライス作るにしてもそこまで極端には使わないですし(そういう話じゃない)
プログラミング言語を作りたいなら「Learn C and Build Your Own Lisp」が参考になります。
シニフィエをアセンブラや機械語とすることもできますが、「意味論」で表される論理式や関数をシニフィエとする立場もあります。意味論をシニフィエにすることで、異なるコードが同じバイナリを出すべきかどうかを、論理式の等価性の証明で検証することができます。コンパイラの最適化が正しいかどうかを意味論から証明するという分野もあります。
😊曖昧さによって😊言語の処理速度を上げる
東北のジジイの「けつあつ!」も、めちゃめちゃ合理的なのか
群論まじで楽しいからホリモティ勉強してくれないかなぁ
31:02 喩え話やメタファーの原典は神話や聖書、叙事詩や源氏物語とかに書いてあるから、「人類が生み出したコンテンツからの引用、またはその孫引き」で全部説明可能になりそう。
ちな美しさを薔薇に例えはギリシャ神話のアフロディーテからくるみたいです。
大学で命題論理と述語論理は勉強してて、言語学もやりつつ、プログラミングを最近勉強している人間にブッ刺さる2回でした。
言外の意図に価値があるVS明確に定義されていなければ不十分=
膨大なライブラリがあるのに使わないのは非効率VSライブラリが無いので理解できない
という対立ということですね。
27:20 「コップ」はオランダ語 "kop" に由来するので、図らずして正解している。
21:30 戸田山先生の著作は、論理学をつくるの方ですね。チューリングを読むの動画中の著者名表示が違ってるようです
自然言語は身体性を併用してるから効率がいい…面白いですね。ロボットを開発するとき頭脳が高度でなくても、昆虫レベルでも環境とインタラクションするから大丈夫、みたいな話に似てると思ったりしました。
驚くほど学びが多い回でした。そして否応なく色々と考えさせられました。
あれ、でも水野さんって考え事をしないんっだっけ?こう言う脳に刺激を受けるようなコンテンツを見た時、考え事をせずにどうやって情報処理をしてるんだろう。
そもそもプログラミング言語と自然言語の比較ってレイヤーあってるのかなって思ってた部分あります
「言語」って命名に含まれてるから同レイヤーと思っているだけなのかもな~とか
似た部分ももちろんたくさんあるし、面白いんですけどね
メタ概念をさらに記述するプログラミング技法に取り入れる必要性があると言う事を解りやすくダグラスホフスタッタ―の『ゲーテルエッシャーバッハ』で語ってましたね。
結局それにより自己記述言語には自分のレイヤーが明確でないと迷子になるとも読み取れました。
言葉以外の視線などを活かした言語が自然言語だという話で、なぜだかふとカーナビに手足をもいで表情だけ変えられるようにしたロボットをつけると運転手にどんな影響があるかを調べるという実験を思い出しました。
あれも言語以外の部分で伝えることに関する実験だったのかもしれませんね。
コミュニケーションにおいては自然言語が効率いいんだけど、品質保証の話になった途端に辛くなる
牛乳買ってきて、卵あったら6つ買ってきての場合
bye miik; if(egg) bye milk * 6; と解釈するとしたら7本牛乳を買ってきてしまう。
if(egg)で前の処理をオーバーレイしないと6本買ってくることにならないという難しい論理問題ですね。
「バラのようだ」という表現について
例えばイルミネーションや虹などに対して使うと違和感があるはずなので、
この表現は美しさではなくバラの愛情の象徴的なそれを要素として取り出しているのでは、とか考えました
メタファーの部分てJavaでいうアノテーション、C#でいうアトリビュートとか、オブジェクト指向でのインターフェースとか、いわゆるメタデータの付与ができるからコンテキストにおける決まり事と解釈していいのでは。
バラだってメロな雰囲気の文脈でなら「美しい」という文脈になるし、悪口の文脈でいうなら「とげがある」になる。肌の色っていう文脈なら「真っ赤に染まった」とか。
アプリを作るときの「この用途に使うアプリ」っていう前提があるのと同じで、話始めるときの雰囲気とか議題でどの属性を抽出するかを判断している気がする。
「これ」に関してはオブジェクト指向の「this」もいい話ですよね。JavaScriptの「this」で何人の初心者が抹殺されてきたことか。
集合の重なる部分で優先的に取り出すものは、当人にとっての価値の重みなのではないでしょうか?
論理学突き進んだ結果言語学、意味論に突き進んでいった私‥
水野さんとすれ違ってる
聞き始めてすぐ、アセンブラとコンパイラをごっちゃにしてるな、って言わないで、とか堀元さんが言うから、アセンブラとコンパイラって何が違うんだろう、って思って調べてみたら、ぜんぜん分からなかった。何が違うんですか?
こんにちは。アセンブラは人間に比較的優しい、コンパイラの一種のプログラミング言語です。コンパイラはソースリストをCPUが扱いやすい16進数の羅列(マシン語)に変換する事です。
コンパイラのプログラミング言語は様々ありますが、最終的にCPUの扱いやすい数値の羅列に変換することです。厳密に言えば16進数も2進数に置き換え、ONとOFFの羅列に変換します。
でもそれを人間の手作業で2進数の羅列を作るのは大変だから、コンパイラと言う人間に分かりやすいプログラミング言語で記述して、ONOFFの羅列に変換する技術が発明されたのです。
49:42 ラジオの方が聞きやすくていい
多分、大衆受けする歌詞は、何でも知ってる文学部の先生より、中島みゆきさんみたいに悩んでる多くの人に寄り添う人に刺さる作品には、たとえ大学教授程知識はなくても感性のある人が作れるんだろう。
だから堀元さんは大衆受けするコンパイラを作れるか?それとも理論に傾倒する一部のマニアに受けるコンパイラを作るか?そこが面白そうなので堀元さん達のTH-camは大衆受けするから、どんなコンパイラを作るか非常に楽しみです。
実際どういう生産物を作るタイプのプログラマなのか非常に興味深いです。
みんなの仕事を楽にするニュートンか?
地球に住んでるのに実生活とはかけ離れた統一理論を求めるアインシュタインか?
みんなの仕事を楽にするアリストテレスか?
理想論だけどみんなの心を掴む宗祖のソクラテスか?
人間模様(人間性)と生産物(コンパイラ)に非常に興味あります。
人間の各感覚器官からの情報もコンテキストなのかなあ、と思いました
人間は脳がスケールアウトできなかったり会話で帯域をなるべく消費せず節約するためにステートフルを選択して
コンピューター(RESTful API)は逆の方が都合がいいからステートレスに進化していった
という感じですかね
五感からのインプットを使ってる自然言語を、文字情報のチャットツールでそのまま流用すると
正確に伝わらないのはあるあるですね
41:43 ジョージ・オーウェル「1984」における、ニュースピークに対するオールドスピークみたいなもんやね
それを取っては普通周辺のものある意味、限定的相手の想像力内で補える
28:07 表示的意味論での、水野さんのいう「指すもの」は、機械語じゃなくて数学的対象、あるいは「関数」なのでは?と思いました。その意味では言語学の形式意味論と結構近いと思います。
『目は口ほどにモノを言う』とはよく言ったものだ。昔から高効率がわかっていらっしゃる。
さらに、視覚情報は光速で目に入力されるので音声より何倍も伝達速度が高い。
まあ遠くの情報なら光のほうが速いのかな
36:42 数年前に自然言語処理の界隈で「言語空間のみでAIを学習させても限界があるのでは」みたいな話がありましたね。人間は言語のみで言語を学習しているわけではないというか
40:29 こっちだと油断するとすーぐプリン出てくんね
TAPL読んで意味わかんなかったからやってほしい
コンテクストの共有や言葉以外の手段も合わせて効率的なコミュニケーション手段となっている自然言語を、それが希薄なSNSで使うからギスギスがちだったり炎上しやすかったりするのかもと思った回でした。
あれ、卵を買う事も含んでる(卵を買える事で牛乳を+5個使った何か料理をするんじゃないかなって発想)と解釈するとまた味わい深い
だから 46:36 確認すればいい って前提で仕様書書いちゃうと行間読みがとんでもないことになるから、あ”ーってなる。
使える情報を使った自然言語的な人工言語(言語?)で思いついたのは「手話」ですね。
同じ動きや手の形でも全然別の意味になるものもありますが、誤解がなく伝えるために表情や目線、身体全体の動きを付随させています。
最近だと、鳥山明先生の訃報の際に『ドラゴンボール』や『アラレちゃん』を「かめはめ波」や「キーン」といった本来手話にない動きで表現して話題になっていましたね。
本来の形式なら「竜」+「玉」や50音で「ア」「ラ」「レ」「ち」「ゃ」「ん」ですが、本来ない手話を使った方がより短くわかりやすく伝わった面白い例だとおもいます。
視覚や聴覚があるから自然言語は不完全(ファジー)であるというのはかなり納得感ありました!
フォン=ノイマンが、「ゲーテル博士への賛辞」と題して一般講演で、
「ゲーテルは、ある数学の定理で、現在までに受け入れられている数学の厳密な手段を用いて、それを証明することも否定することも出来ないものがある事を証明した、最初の人であります。言い換えれば、彼は決定不可能な数学的命題の存在を証明したのです。」
@@人生パラドックス ??ゲーデルの不完全性定理は或る種の数学的公理系(平たくいうと一部の人工言語)が持つ性質のことであって、
自然言語は関係なくないですか?
あとここでいう「完全」は「或る命題Pについて、"Pである"または"Pではない"のいずれかが必ず真、かつ、もう片方が偽になる」性質のことであって、
これは「排中律をどの程度採用するか」とほとんど一緒だと思います(自信なし)。
最初のコメントの人は「真理値を何種類おける事にするか」という話です。
形式論理で一番メジャーな古典論理は真偽(1と0)の二値論理だけれど、自然言語はファジー論理(0以上1以下の実数)だな、という趣旨。
高齢ジジィですが、「目線で分かる」で
昔、ヒューマンインターフェースとかめっちゃ研究していた時期に、そんなディバイスの提案が多くあったなとか、コンピュータ言語も自然言語みたいな言語が最高というノリが当時はあったなと、懐かしさを覚えました。
COBOLとか、そんな感じでどんどん拡張されていって、最終的にかえって使いにくいと廃れたなとか。
シチュエーションによく合う言語で開発するのが効率的、話す言葉もきっとそう。
多分シチュエーション次第で、私達は実は意識せず別言語を話してるんだと思います、うなぎ文とかね。
話す言葉は、すべて同一言語の日本語なのだというのが勘違いな気がします。
最近COBOLに興味を持ち始めてます。純粋なプログラミング言語の意味論的意味で。