Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「中間言語」を含む日記RSS

はてなキーワード:中間言語とは

次の25件>

2025-10-04

anond:20251004234247

バイナリ読める人間まりいないじゃん。ああなるんじゃね?直でバイナリ吐かずとも、中間言語でLLM同士が解釈し合う的な。

Permalink |記事への反応(1) | 23:44

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-03

HTMLコンパイラとは?正しい定義と使い方を理解しよう

HTMLコンパイラとは、一般的な「コンパイラ」の概念とは少し異なり、HTML文書や要素に対して新しい文法や振る舞いをブラウザに伝え、拡張するための仕組みを指すことが多いです。例えば、AngularJSのHTMLコンパイラは、開発者定義したカスタム要素や属性(ディレクティブ)を解釈して、動作を紐づける役割を持ちます。これにより、標準のHTMLにはない独自文法機能ブラウザ上で実現できます

一方、一般的な「コンパイラ」は、人間が書いたプログラムコードコンピュータ理解可能機械語中間言語翻訳するソフトウェアや処理のことです。この処理を「コンパイル」といい、プログラミング言語で書かれたソースコードを一括で変換し、実行可能形式します。コンパイラと対比されるのが「インタプリタ」で、こちらはソースコード逐次読み解いて実行する方式です。

まとめると、「HTMLコンパイラ」はHTMLの静的な宣言文法拡張し、新たな振る舞いを実現するものであり、主にフロントエンドフレームワーク(例:AngularJS)で用いられます。一方、「コンパイラ」はプログラムコード全般を実行可能形式に変換する処理・ソフトウェアです。

https://ja.taiwebs.com/windows/download-html-compiler-2548.html

HTMLコンパイラの使い方】

フロントエンドフレームワークで、新しいHTML要素や属性作成するために用いる。

そのフレームワークHTML文書の解析時にカスタムディレクティブやテンプレート解釈し、動的な振る舞いを紐付ける。

ブラウザの標準HTML仕様では対応できない独自機能を導入できる。

Permalink |記事への反応(0) | 12:15

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-07

anond:20250705193628

あんまり理解できてないのだが、要はcpuに直接命令するために機械語があるが、それだと人間理解出来ないのでC言語とか人間用に言語を作ったように、人間と生成AI両方が理解やす言語使うのがいいだろうし、それにDOTが使えるんじゃね?って理解でいいのかな。プログラミング初心者が生成AI使うのはちょっとどうかと思うが。

今回の提案プログラミング有識者向けの本質は「生成AIへ向いた中間言語の発掘」であり、「DOT言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。

Permalink |記事への反応(1) | 03:40

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-06

anond:20250705193628

面白そうだから試してみたんだけど、c_lang[source = hogehoge];ってノードを作るとC言語を混ぜ込めるようだ

中間言語として便利過ぎる

Permalink |記事への反応(0) | 07:39

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-05

生成AIを利用したプログラミング初級者向けの温故知新提案

はじめに

ここで言う「プログラミング初級者」とはプログラミング記述が上から下へ向かって順番に処理されること、条件分岐ループという概念があることを理解しており、RPGゲームが作れる「RPGツクール(現RPG Maker)」や学童向けプログラミング環境Scratch」、「ナビつき! つくってわかる はじめてゲームプログラミング(ナビつく)」、ADVゲームが作れる「吉里吉里(もしくは吉里吉里2)」、過去BASICやC、HSPJavascriptあたりでプログラミングへ挑戦し挫折したなどなど、ある程度の「プログラマブルロジック」構築の経験がある者を指します。

前日談(初級者は読まなくて良いです)

ある時、筆者はふと思いました。「生成AIはなんだかんだで膨大なテキスト情報を処理している事がキモだよなぁ」とありきたりなことを。

そして、同時にプログラミング初級者の弱点として「現在記述されているコード管理においてテキストと実際の処理フロー脳内で一致しない」「プログラミング言語ごとに定められているルール関数予約語の把握が困難」なのが問題とも考えました。

前述したプログラミング初級者の弱点の考え自体車輪の再発明であり、「Scratch」や、より高度な「UML」が既に存在しており、特筆すべきことは何もありません。

しかし、「Scratch」や「UML」、なんなら「RPGツクール」や「吉里吉里」などに無い点として、現代では自然言語処理が大幅に向上した生成AI実用の域にまで到達しつつあるのが従来とは異なる点でした。

まり自然言語を混ぜ込みやすテキストベース言語、かつ、処理を記述するとフロー視覚的に理解やす言語可能であれば情報量が多くて一部の界隈で広く使われている言語があればプログラミング初級者も気軽にプログラミングできるのではないか?と発想しました。

そこで前述の条件を満たす1つの言語へ目を付けました。

本題

コンピュータ(コンパイラインタプリタなどソフトウェアを含む)が解することができる言語にはプログラミング言語以外にも様々あり、今回取り上げるのは「データ記述言語」と呼ばれるものです。

データ記述言語の中でもグラフ作成へ特化しており、特にフローチャート作成で真価を発揮する「DOT言語というものがあります

早速ですが、実際に手を動かしてみましょう。ちなみにDOT言語Graphviz OnlineというWebツールがあるため別途に何かしらをインストールして環境構築する必要はありません。便利な世の中ですね。

上記Graphviz Onlineを開くと、既に左側のDOT言語記述された内容が、右側で作図されています。DOT言語はこのような図を作図するためのデータ記述言語です。

一旦、左側の記述をCtrl+Aで全選択をしDeleteなどで全削除し、下記の内容をコピペしてみましょう。

digraph graphname {

A -> B;

}

一瞬で○に囲まれたAとBが繋がった図が作成されました。

DOT言語の詳細な使い方は様々なWebサイトやブログ記事Qiitaなどへ譲るとして、A - > Bの見た目から発想の転換をしてみると処理Aから処理Bという流れに見えませんか?

DOT言語は生成AIを利用する上で有利なテキストベースでありながらグラフ作成できるのがキモであり、例えばこのA -> BがA「Webページを開いたら」 → B「Hello, Worldと表示する」という風にできるのであれば処理のフロー可視化されており本当に素晴らしいことです。

Hello, worldを表示してみる

ここでプログラミング有識者は「DOT言語UMLなどに見立てて処理を記述するのは良いが、プログラミング初心者は求めた結果を出力するロジックアルゴリズムを発想する知見や経験値が圧倒的に足りていないのが問題ではないか?」と至極真っ当かつ反論余地がない問題点の指摘をすると思いますが、そこで活きるのが生成AIです。

生成AIは初級者プログラマ個人ロジックアルゴリズム作成能力無関係ロジックアルゴリズムを生成できる(可能性が少なくともある)ので、処理のフローをDOT言語記述することにより処理フローから初級者プログラマが求めるプログラムを生成AIへ推論させ生成させるというのが狙いです。実際に試してみましょう。

digraph graphname {

A[
label = "Webページを表示する"
];

B[
label = "Webページを表示したらHello, worldとテキストを表示する"
];

A -> B;

}

プログラミング有識者はこの時点で「なるほど、自然言語記述をそのままDOT言語に入れ込んでしまうのか」と気付いたのではないかと思います

このDOT言語Google Gemini 2.5Flash「下記のデータ記述言語のDOT言語記述された処理フローJavascript言語へ変換をしWebページ上へ「Hello,world」を表示したいので変換をお願いします。」命令すると以下のコードが生成されました。

<!DOCTYPEhtml>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <metaname="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello World Page</title>
</head>
<body>
    <divid="output"></div>

    <script>
        //Webページが表示されたら(DOMが完全に読み込まれたら)実行される
        document.addEventListener('DOMContentLoaded', function() {
            // "Webページを表示する"ステップは、このHTMLファイル自体が表示されることで達成されます

            // "Webページを表示したらHello, worldとテキストを表示する"ステップ
            const outputDiv = document.getElementById('output');
            outputDiv.textContent = 'Hello, world';
        });
    </script>

</body>
</html>

フロー記述する利点は、ロジックアルゴリズムを発想する知見や経験値が足りなくとも、フローステップが明確に分かれているので生成AIが処理を切り分けて推論してくれることであり、そしてプログラミング初心者自身フローチャートを視覚確認できるので「Aを処理したらBを処理する」と切り分けて考えやすいことです。

また、求めている結果ではなく誤った結果が生成されても、A - > B - > Cとフローを細分化していくことで生成AIの推論精度を高めていくことができるのも利点です。

応用編

より生成AIへ精度の高い推論をしてもらうために補足情報を付加するのも有用です。

digraph graphname {

A[
label = "Webページを表示する"
];

B[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];

A -> B;

}

labelの記述内容もcommentの記述内容も生成AIが推論のための情報として利用するので誤った結果が生成されてもA - > B - > Cとフローを細分化しなくとも良い場合があります

DOT言語を知るプログラミング有識者が「DOT言語仕様を考えれば確かにそうだが、その発想はなかった」と言っていただけるであろうDOT言語コード例だとこういう記述方法もアリです。

digraph増田コード {

最初の処理[
label = "Webページを表示する"
];

次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];

最初の処理 -> 次の処理;

}

ノード名称自然言語採用することにより、例えばゲームプログラミング時に「キャラクタージャンプする」という読んだそのままな処理のためのノード、というか一般的に言うオブジェクト作成することが可能で、後は->で繋げて処理をさせられます

ちなみに別のノード作成する際に「"キャラクタージャンプする"から継承する」の様なことをcommentなどへ記述しておくと生成AIが推論して継承します。なんならcommentなどへ「キャラクター画像image.gif使用」などと記述しておくとファイルの読み込みもします。

更にDOT言語にはカスタム要素という仕様存在しており、DOT言語仕様で定められた予約語以外も使用可能です。

digraph増田コード {

最初の処理[
label = "Webページを表示する"
];

次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機",
font_style = "フォントを太字のボールド体、色を赤(#FF0000)とする"
];

最初の処理 -> 次の処理;

}

生成AIカスタム要素の名称からも推論を発揮し、上記場合であればフォントスタイル指定していると推論をするので生成AIの推論精度を高める補足情報として機能します。

まりこれはカスタム要素の名称として"Action"などの名称採用すると"動作"として推論をし、"decision"ならば"条件分岐"ですし、"input"ならば"入力"ですし、"loop"ならば"繰り返し"ですし、"Type"ならば"種別"です。

より詳細に process[type="Action"] などのノード作成してどんどん生成AIの推論精度を高めていくことが可能であり、そろそろ察してきているかと思いますが 処理[種別="動作"] と自然言語記述しても機能します。

プログラミング有識者は更に「プログラム言語自体予約語、例えばJavascriptを生成する事を前提にlengthを名称にすると配列を使おうとするのか?」と疑問に感じるでしょうがお察しの通りで生成AI配列を使おうとするので、敢えて使いたいプログラム言語機能や外部ライブラリなどがある場合は補足情報として機能する形で記述しておくと生成AIは推論へ利用します(まぁそこまで知識ある方なら該当のプログラム言語使ったほうが手っ取り早いと思いますが)。

おわりに

以上をもって「生成AIを利用したプログラミング初級者向けの温故知新提案」を終えたいと思います

色々とツッコミどころには筆者自身が気付いていて。例えば「結局はDOT言語仕様を覚えないといけないのでは?」とか「プログラミング初級者に任せると生成前のソースであるDOT言語コードスパゲッティになりそうだよな」とか「面倒くせぇから普通にプログラミング覚えろや」とか理解してますし至極真っ当かつ反論余地がないと思ってます

今回の提案プログラミング有識者向けの本質は「生成AIへ向いた中間言語の発掘」であり、「DOT言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。

何かプログラミング有識者の皆さんからより良い発想があれば参考にしたいと考えていますのでよろしくお願いいたします。以上。

Permalink |記事への反応(36) | 19:36

このエントリーをはてなブックマークに追加ツイートシェア

2024-10-21

anond:20241021004208

絵師という言葉最近できた言葉ではなく律令制にもある外来語が入ってくるまで使われた伝統的な言葉1990年代から再度使われ始めただけ

そんな事より絵をかくことと音楽を作る事を同列に考えた場合作曲家が考えた音楽楽譜をとおして一般演奏家演奏するというのは紀元前より行われていた

しかし描かれた絵を再現する方法というのは生成AIが出てくるまでなかったのだ

生成AI音楽でいう所の楽譜である

音楽では作曲家演奏家が別の能力であり演奏できるからといって作曲できる訳ではなく、多くの人が作曲家が作った曲を楽譜をよんで演奏しているだけである

絵は絵師が描いた絵を模倣するための中間言語存在せず演奏家にあたる人がいなかったのだが生成AI中間言語の役目を果たしプロンプトエンジニア演奏家の役目となったのだ

Permalink |記事への反応(1) | 17:58

このエントリーをはてなブックマークに追加ツイートシェア

2023-08-24

anond:20230824130824

いいや、マシン語中間言語を逆アセンブルする感じだな

Permalink |記事への反応(0) | 13:10

このエントリーをはてなブックマークに追加ツイートシェア

2023-05-02

ChatGPTはAIでは無いのよ

AI人工知能定義によるが

ChatGPT人工知能ではない。

 

開発したのがOpenAI Inc.なので勘違いしているのだろう。

 

ChatGPT文字通りGenerative Pre-trained Transformerでしかない。

 

OpenAI社は人工知能の完成を目指している会社ではあるのだが、ChatGPT副産物というか、素材というか。

従来の人工知能研究は脳機能模倣を目指していた。

神経細胞シナプス挙動を貧弱なコンピューターでどう再現するか。

どこをどう削ればよいか数理モデルがありえるか、

こういうアプローチだった。

 

これと袂を分けて、入出力が人間っぽかったら良くね?

商業的な利用もそっちのほうがよくね?

ってアプローチで作ったのがGPT

 

先々人工知能エンジンの脳再現精度が上がったとしても入出力は自然言語で行わなければならない。

そのためには言語モデルを先に構築しておくのは無駄にはならない。

コアの人工知能エンジン中間言語で入出力を行うが、外側HMIの部分をChatGPTに担わすようなイメージではなかろうか。

その方が多言語対応やすいというのもある。

 

人の指示→ChatoGPT中間言語コンパイル→コアAI中間言語でChatGPT→人が認知できる出力

 

このようなモデルならばコアAI本質的人工知能の開発に注力できる、分離できる。

従来のAI研究はここ一緒くたにやとうとしてたのも停滞の原因と見抜いたのだろう。

 

営利企業である以上は稼げるプロダクトでなければ資金調達はできない、利益にならない

言語モデルの段階でも中間処理がそこそこできてればそれっぽいプロダクトにはなる。

商業的な使い道もある。

 

今後AIエンジンの開発は続くだろうが、現時点では知能とは程遠い完成度でしかない。

入出力がそれっぽいので知能っぽく見えるが、古典的人工知能定義から言えばおおよそ別物。

超巨大DBの力技投票機でしかない。

 

ChatGPTクズだとか使い道がないという気はない。

俺も気に入って使ってる、プログラム食わせたらあっさりバグも見つけやがった。すげぇと思う。

が、これは知能ではない。

そこ理解して使わないとダメだと思うの

 

なんか世間では、すげぇ物ができちゃった、世界が変わる、大革新、みたいな熱狂不安禁忌があるけどさ。

いやいや、そんな大層なものではありませんw

まぁこの辺のOpenAI社のマーケティング演出は秀逸ではある。

ChatGPTの指示かな?www

Permalink |記事への反応(0) | 09:58

このエントリーをはてなブックマークに追加ツイートシェア

2023-04-21

静的型付け言語、動的型付け言語バイナリビルド言語中間言語ビルド言語のそれぞれの利点を教えてください

chatgptを使う場合はそれぞれ読みやすいように要約してください

Permalink |記事への反応(1) | 23:58

このエントリーをはてなブックマークに追加ツイートシェア

2022-06-02

.NETネイティブ対応かぁ

https://www.publickey1.jp/blog/22/net_7.html

 

中間言語なおかげで、コメント変数名は残らないが普通に読めるレベルC#コードに戻せるのがよかったのに、ネイティブだとそういうのも難しくなりそう

そのおかげで助かったこともあったし、ソースコードが見づらくなるネイティブ化はあんまりしてほしくないなーってところ

 

以前仕事であったこ

クライアントからこのソフト連携してとexeを渡されたものの、仕様通りに動いてなくエラーログも出ない

もうサポートしてないバージョンらしく、ベンダーに聞いたりサポートしてもらうのも無理そう

C#で作られたものだったので、とりあえずソースコードを見たら原因がわかってどうにか対処できた

すべてのcatchログ等の出力はせずエラーを捨てるひどいものだった

Permalink |記事への反応(0) | 22:12

このエントリーをはてなブックマークに追加ツイートシェア

2020-12-24

anond:20201224232818

AndroidJaascriptエンジンJavaのVMコードに変換はしていない、あrはJNIで直接C言語で動いているものが、テキストのまま圧宛いる 理由は26分の1は5Bitだから

というわけでインテル先生 5Bit分岐だけ RISC機構で頼む 結果論64Bitで予測分岐かけるより5Bitx4文字ぐらいで 予測分岐かけたほうが 早かった

Jaascriptはヘタに中間言語に変換するよりJSのまま文字列で直分岐のほうがはやい

Permalink |記事への反応(0) | 23:37

このエントリーをはてなブックマークに追加ツイートシェア

2020-12-20

anond:20201220165318

インタプリタ言語中間言語VM実行言語コンパイル言語やな

 

インタプリタっていうのは 直接実行する

VM言語ってのは一度 VM用の言語に変換してVMで実行する言語

それをVMじゃなくて ハードで直接実行するのがコンパイラ

Permalink |記事への反応(0) | 16:58

このエントリーをはてなブックマークに追加ツイートシェア

2020-08-11

anond:20200811130129

1回中間言語にしてリンクしようという発想がなかった。

Permalink |記事への反応(0) | 13:07

このエントリーをはてなブックマークに追加ツイートシェア

2020-07-03

そもそも論としてアーキテクチャーが全く違います。いわゆる中間言語を用いない完全なインタプリタなので、そういう最適化には適しません。

速度面で大きなハンデキャップではあります最近は十分なCPUをもっていますのでそこがボトルネック成ることは少ないと思います

あとはパンフレットにあるとおりです。

Permalink |記事への反応(1) | 05:37

このエントリーをはてなブックマークに追加ツイートシェア

2020-07-02

anond:20200702194418

中間言語とか最適化とかなんもかんがえない、だっさいどしろとっぽいインタプリタ言語だけC++にして インターネットから game.ccとかダウンロードしようぜ

Permalink |記事への反応(1) | 19:46

このエントリーをはてなブックマークに追加ツイートシェア

2020-02-23

anond:20200223131020

C言語バイトコードがAVAの中間言語に負けることはある

Permalink |記事への反応(1) | 13:11

このエントリーをはてなブックマークに追加ツイートシェア

2019-12-04

C#コンパイルといわれてそういやJavaコンパイルっていうなとおもっていたんだが

VMに対して中間言語を吐き出すことをコンパイルと呼んでいるのかと、そりゃPythonコンパイルって言いだすなと

CPUに対して中間コードを吐き出す

VMに対して中間コードを吐き出す(JIT含む)

インタプリタに対して中間コードを吐き出す

それぞれ何コンパイルといって区別してるの?

Permalink |記事への反応(0) | 09:54

このエントリーをはてなブックマークに追加ツイートシェア

2018-08-12

なぜSQLけがこの世界で未だに職人芸じみているのか

1.リファレンス無料で読めないか

標準SQL仕様書は有料である。このご時世ありえん。

たとえばC#など.NET系のリファレンスMSDNで読むことができる。

RubyだってHaskellだってScalaだって公式サイトガイドぐらい置いてある。

そもそも標準SQLサイトは有料ですら見つけるのが難しい。

2.実装ごとに仕様が違いすぎるから

OracleDB2MySQLPostgreSQLSQLite、AccessなどSQL実装されたDBMSは様々にあるが、どれを取っても仕様が違う。

皆が標準SQLに従っていてその上で適当増設している程度ならよいが、もはや誰も標準SQLに従う気が無い。

この点でCコンパイラ多様性のようなものとはわけが違う。

根幹的に必要機能があったりなかったりするから、あるDBMSで書けるようになったからと言ってSQLを覚えたとは言えない。

これと上記1とのせいで、何かググった時に特定DBMSしか解決法にならないものが大量に出てくる。

3.最適化人間任せだから

最近プログラミング言語は大抵、雑に書いたってコンパイラ適当最適化してくれる。

同じ結果を生むような二つのコードは、よほど下手くそに書かない限りは同じような実行速度になる。

SQLオプティマイザが最適化はするが、ほぼ同じような二つのコードで速度が全く変わったりする。

そのため実行計画というオプティマイザの中間言語のようなものを読んであげて、

より速い中間言語が生成されるようSQLチューニングし直さなければならない。

これでは何をやっているのかわからない。

有名なサイトでは、初心者必死で書いたような可愛らしいSQLを「それでは遅すぎるんじゃ」とけちょんけちょんにけなし、

なんかシンプルなのだけれどよくわからない文法を一杯使って実行速度を高めたのを「正解」としていたりする。

しかもその文法、ググってもろくな解説が無かったり、特定DBMS依存してたりと使えないオチ

4.スタイルガイドがないか

上手い人はSQLを綺麗に書く。だけど、その綺麗さの基準が人によって違う。

エディタが単なるメモ帳しかないようなDBMSも多いから、インデント文字数さえ個々人に任される。

インデントは2文字か4文字か。SELECTで改行するかしないかカンマは列の後ろか、前か。

いろいろなサイトに色々なことが書いてあったけれど、全部違うこと言ってた。

まり各々綺麗に書ければいいやということであり、読むほうも宗教が違ってもまあ綺麗なら読めるから困りはしない。

困るのは初心者である

何かの解決法をググるたびに違うスタイルからどう書いていいのかわからない。

結局なんかいろいろな上手い人のスタイルをツギハギした新たなスタイルが世に誕生してしまうのだ。

最後

だけど、そんな職人芸じみたSQL世界が私は好きです

Permalink |記事への反応(1) | 13:52

このエントリーをはてなブックマークに追加ツイートシェア

2017-10-06

そうですね、ならば

GoogleAIが使ってる中間言語を学びましょう

Permalink |記事への反応(0) | 10:14

このエントリーをはてなブックマークに追加ツイートシェア

2016-12-03

http://anond.hatelabo.jp/20161122105832

平沢進歌詞パプリカ意味不明セリフみたいだ。

日本語の語彙から借りた、フィーリングや語感でシニフィアンシニフィエの結びつきを勝手に再構築した中間言語思考している?

というわけではなく日本語とは無関係中間言語思考して、フィーリングや語感で近い語彙を結び付けて口に出してるのかな(日本語として妥当か、意味と語彙が一致しているのかの判定がガバガバなのか)

Likeカーティスの部分はm-floだな

Permalink |記事への反応(0) | 07:15

このエントリーをはてなブックマークに追加ツイートシェア

2016-11-25

言語ってなんだ、状態か?

まずは【お前自身機械翻訳駆逐されろ】"iwatani"の翻訳した記事が上がっていた。

GoogleAI翻訳ツール独自の内部的言語発明したようだ、そうとしか言えない不思議現象が>

http://jp.techcrunch.com/2016/11/23/20161122googles-ai-translation-tool-seems-to-have-invented-its-own-secret-internal-language/

http://b.hatena.ne.jp/entry/jp.techcrunch.com/2016/11/23/20161122googles-ai-translation-tool-seems-to-have-invented-its-own-secret-internal-language/

Zero-Shot Learningは分岐のない翻訳などではない。これは正しくOne-shot Learningの延長線上にあり、

ワンショット学習すらしないで(この場合対応ペアでの事前学習をおこなわず)、新規ペアでの処理を行うっていうことだ。

この語は翻訳に限った話でもない。だからほとんどの訳がおかしい。むしろ機械翻訳の方がマシ(背景を理解していない翻訳者より機械翻訳の方がマシという皮肉な状況)。

ワンショット学習っていうのは人間ができることでもある、極めて少ないサンプル(多くの場合サンプルでもいい)から学習する方法

(ちなみに実際に脳内でもOne-Shot Learningは繰り返し学習とは別パスなのではという示唆もある)

グーグル翻訳AIが「独自言語」を生み出したといえる根拠

http://wired.jp/2016/11/24/google-ai-language-create/

http://b.hatena.ne.jp/entry/wired.jp/2016/11/24/google-ai-language-create/

なんだ英語を介さな翻訳手法って。もうなんなの。

これらは古くから考えられてきた「基底となる」文法等を完備した「中間言語」などではない。

論文で触れられている「『Interlingua』な表現形式」は『semantic representations』とされていて、まさに多言語間で共通する「『意味表現』の表現空間」であり、

リー状に開かれてもいない。人が想像する構造化された言語などではない。

ただしその空間を共有していて、つまり共通意味表現を持っていることは論文(arXiv:1611.04558)で実験的に証拠提示されている。

今までも多対多の翻訳ネットワークを共有することでBLEUを向上できるという論文は出ていたが、今回のは、翻訳に関して言えば、十分普遍化した意味空間を内部的にもったネットワーク新規ペアをぶち込んでも能動的な転移学習すらせずにそれなりの結果が得られる、結果の向上だけでなく未知ペアを処理できるって事である

 そしてその効果汎用性↑↑、そして最大のメリットサンプルが少ない言語ペアもやりやすくなるぞ、マイナー言語にも早く適用できるかもって所だ。

One-shot Learning系(小サンプル)とDeep Learning系(巨大サンプル)によるネットワークについて、意味という(我々にも見えない)上位構造の下に配置された構造である言語」を扱う特別な例では、両方を一つで達成できる可能性が垣間見えた論文なのでもある。

Permalink |記事への反応(1) | 17:32

このエントリーをはてなブックマークに追加ツイートシェア

2016-11-22

普通に日本語で話すだけで疲れる

いわゆる頭の中が多動というやつで思考がいつもしっちゃかめっちゃかなのと、

力を抜くと思考がそのままダダ漏れになりそうになったり、早く喋りたくて口が開きかける衝動必死で抑え込んで、

日本語として成立していない、自分フィーリングと語感だけで構築された脳内中間言語を最低限通じる日本語に直しつつ、

状況を見て出したりひっこめたりしながら喋らなければいけないので、日本語で会話するだけでかなり疲れる。

かなり疲れるのだけれど、医者からするとテンポはやや遅いが普通に会話ができているので、ADHDの診断はつくものの、会社員もできてるしイケるイケるって感じらしい。

診断を受ける15年ぐらい前に、中学社会の授業中に不意に当てられて慌てて立ち上がりながら「アパラチア山脈」と言おうとして、

アパッチのArmadilloはさんざっぱら白濁したAsparagusの茹で汁で脈絡なくRockYou」(英語部分はネイティブ風)とスラスラ答えて大恥をかいたことを契機に、

自分の異常性に気付いて自分なりに訓練し続けてきたおかげか、人前ではある程度抑え込めるだけマシな部類ではあるのだろうけれど、

表面上抑え込めたからといって普通の人に混じって生きるのが楽なわけでは決してなくてぐぬぬとなる。

歳を重ね、語彙が増えるほどに増している気がする中間言語の奔放さで脳内翻訳家の疲労は年々高まるばかりで、

心身の調子が良い日の方が、逆に思考の回転や衝動性が絶好調で、普通に会話するためのコントロールに苦心するという有様。

普通に喋るための抑圧感があまりに強かったので、先日居酒屋で友人に頼んで試しに中間言語をそのまま垂れ流した会話を少しさせてもらった際に、

どうせ私のクソ雑魚ナメクジワーキングメモリでは覚えてなどいられないのでスマホで録音してみたが、あとから書きおこしてみたら思っていた以上に意味不明だった。

友人「おうおう、じゃあこっからってことで、はい乾杯おつかれー」

増田ウィーンプラハ甲冑ぐるぐる モンティパラミッチャーげタンリーナン(getout turn dreaming now かも) onceon the way」

友人「いやー、トランプさん勝っちゃったねー」

増田「Database バンシャディフォルモントゥ 放射ニカラグア絡まって左から北川 総研証券ドンタコスったらドンタコス

友人「TPPポシャるんやろなあ」

増田タンデムマンダム オーデュロイキャベツPrismProxyショートショートガッテントゥルットゥ」

友人「そういや今度ポケモン出るやんか?」

増田あんれまあビール さんさんさんさわやかスリリン 僕らの肩にフリーズドライ 座布団どんぶりムートンブーツムーンウォーク BoomBoomナチョス Ah」

友人「お前買う?」

増田金平ごぼうで滅びた信玄Likeカーティスマヌカハニー無理筋かなメルシー?」

友人「前のもクリアしてないし俺は今のところ見送りかなあ、でもそのうち買ってしまいそうやけど」

増田晩酌よりかはキルフェボン、串刺し墓場酒場タタラ板場ティス?」

友人「そら俺はサン一択よ」

増田バッファローdoes not water」



付き合ってくれた友人からは、ところどころなんとなくわからなくもないが友好的な宇宙人って感じで怖い。とのお言葉をいただいた。

自分でも支離滅裂言葉をスラスラと喋ってるのを聞くとコイツァヤベェやって思う。でも喋るのはとても楽だった。今から年をとってボケるのが怖い。

いちいち随分グニャグニャと喋ってるけど、声に出しているのは頭の中を流れて行ってる思考の中から関連の強そうなものを一応言語としてすくい上げたものだったり、

口を動かしてる間に飛んでいかなかった強い言葉の成分なので、実際の頭の中はもうちょっといろんなイメージが駆け回っている感じ。

普段はここから普通日本語に変換して喋っているわけだけれど、多分こういったことを言おうとしていただろうという翻訳後はこんな感じになる。

友人「おうおう、じゃあこっからってことで、はい乾杯おつかれー」

増田ウィーンプラハ甲冑ぐるぐる モンティパラミッチャーげタンリーナン onceon the way」(うぇーい、どーもどーも、おつかれーい)

友人「いやー、トランプさん勝っちゃったねー」

増田「Database バンシャディフォルモントゥ 放射ニカラグア絡まって左から北川 総研証券ドンタコスったらドンタコス」(マジでなー、ヒラリーはホンマやらかしたな、えらいこっちゃで)

友人「TPPポシャるんやろなあ」

増田タンデムマンダム オーデュロイキャベツPrismProxyショートショートガッテントゥルットゥ」(そうなりそうやな、まあ俺にはどっちがいいのかわからないけど)

友人「そういや今度ポケモン出るやんか?」

増田あんれまあビール さんさんさんさわやかスリリン 僕らの肩にフリーズドライ 座布団どんぶりムートンブーツムーンウォーク BoomBoomナチョス Ah」(あーあれ、サンムーン?)

友人「お前買う?」

増田金平ごぼうで滅びた信玄Likeカーティスマヌカハニー無理筋かなメルシー?」(今んとこビミョー、まあ買うとしたらムーンかな、お前は?)

友人「前のもクリアしてないし俺は今のところ見送りかなあ、でもそのうち買ってしまいそうやけど」

増田晩酌よりかはキルフェボン、串刺し墓場酒場タタラ板場ティス?」(そういや前のもやってたな、ちなみに買うならどっちバージョンよ?)

友人「そら俺はサン一択よ」

増田バッファローdoes not water」(やっぱりなー、だと思った)



軽度とされる人の中にはこんな感じの頭の中を抱えながら一般人のふりして暮らしているのもいるよということで。

世の中には同じようなことになっている人がきっといると思うので、そういう人に似た様なのがいるぞと届けばいいなと思う。

---

追記

友人がすごいという件についてちょっとだけ補足。

友人とは取り決めとして、恐らく会話にならないのでしばらく一方的に会話を投げかけてもらうということにしていた。

ただ、ポケモンのくだりあたりはこれまでの付き合いから、こちらの反応や返事の仕方をなんとなく予想ができたみたいで、見返すと割とちゃんとした会話めいたやり取りになってた感じ。

はいえ「はうあーゆー」と言えば「うんたらかんたら えんでゅー?」とくるから、うんたらかんたらが聞き取れてなくても返すとか、そういう感じのやり取りであって明確に理解ができてるわけではない。

そもそも合間合間で友人は「わっかんねー」としこたま笑い転げていたし、合衆国大統領時事ネタとしてとりあえず投げてみたけど思った以上に無理そうだったから諦めたとも言っていた。

なんとなくわかる部分については、話し方のトーンとかアクセントとかに加えて、普段から私の傾向として、何かが思い出せない時にかわりに出てくる言葉がかなり音に引っ張られたりするので、

付き合いが長いとその辺りからぼんやりと「なんかマ行多めに言ってるから多分ムーンなんやろなあ」「バって一杯言ってたし疑問形だし、バージョンかなあ」とかそういう感じに想像していたらしい。

今回の件とは関係ないけれど「ヤバイ」の派生だけで10分会話してみようという遊びをして割と不自由なく意思疎通できてしまったり、

「次にお前は○○と言うゲーム(予想がついたらハモる遊び)」で正解を連発してお互いに気持ち悪がったりしたこともあるので、理解度が割と高いのだと思う。

どちらにせよしょうもない実験にも付き合ってくれるし、双方が相手干渉しすぎないのが分かっていて気楽にいられるので、大変貴重な友人であることには変わりない。

Permalink |記事への反応(8) | 10:58

このエントリーをはてなブックマークに追加ツイートシェア

2013-07-03

http://anond.hatelabo.jp/20130703001528

IntelコンパイラしろVSにしろ有償のものは使いやすいけどね。会社に買わせるか経費で買うものだとは思う。

ただ、使ったことがない人は使うといいと思う。

Intelコンパイラ(VTuneなど含む) Visual Studio Perforceの3つは少なくともお金を出して使いたい。

 

モチベーションが高いといっても、お金を稼ぐことに対するモチベーションか、プログラムに対するモチベーションかで大きく変わると思う。

大抵は、お金か、名誉だろうから、それならWebプログラミングをやればいいと思う。

これからは、9割のプログラマーは何がしか中間言語 JavascriptPHPなどをやることになるだろ。それならツール群はいらん。

Permalink |記事への反応(0) | 08:18

このエントリーをはてなブックマークに追加ツイートシェア

2013-06-18

http://anond.hatelabo.jp/20130618191249

Rubyエンジンコンテキストガード入れればいいだろ。

中間言語エンジン自体に手を入れてメモリーを欠損した部位を発見したり、ガードしたりできるが、Cの場合ハード装置を当てないとデバッガ以上のことは出来ないって話だよ。

CPUの上に直接アプリが乗ってGDB発見する構造

CPUの上にRubyを載せてRuby自体に改造を入れた上でGDBもいれて、アプリ検査する構造では強度が違いすぎるという話だ。

エンジンというクッションができる分、動的言語は開発プロジェクトから見たら強いんだよ。

Permalink |記事への反応(1) | 19:15

このエントリーをはてなブックマークに追加ツイートシェア

http://anond.hatelabo.jp/20130618182522

ごめん、ここで行ってるサービスWebサービスじゃない。ようするに、ユーザー提供する機能のことだ。

 

俺らガチ系がどうやってやるかというと、V8なりなんなり、中間言語を先に移植して、そこで展開するアプリJavascriptで書いてもらったりする。

Androidがそうだろ。ガチなところはC言語アプリはDalvikみたいなながれ。

 

銀行なら決済サービスだな。そういうサービス

Permalink |記事への反応(1) | 18:27

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp