プログラミング言語と自然言語とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > プログラミング言語と自然言語の意味・解説 

プログラミング言語と自然言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 01:14 UTC 版)

プログラミング言語」の記事における「プログラミング言語と自然言語」の解説

プログラミング言語人間同士会話比較して正確性完全性要求性が非常に高いという特徴がある。自然言語人間同士対話する場合、スペルミスや文法的なエラーがあっても相手状況から適当に補正し正確な内容把握する。しかしコンピュータ指示曖昧では動作せず、プログラマコード込めた意図理解させることはできないプログラミングにおけるプログラミング言語必要性排除する方法として自然言語によるプログラム構想されたり提案されることもあるが、その方向性実用化には達しておらず、議論続いている。エドガー・ダイクストラ形式言語使用によって意味のない命令を防ぐという立場で、自然言語によるプログラミング批判していた。アラン・パリス同様の立場であった。 このあたりの歴史的に錯綜した議論は、結局のところ「コンピュータ活用するにはプログラミングが必要であり、プログラミングプログラミング言語行われる」というある種教条ドグマ)が、次の2つ事象分解されることで無意味な議論になった。すなわち「コンピュータほどほどに活用する程度ことならば各種アプリケーションソフトウェア自然言語認識自然言語処理技術活用などスマートスピーカーなど)により、利用者自分プログラミングすることは必ずしも必要ではなくなった」ということと「コンピュータのより徹底した活用具体的にそういった自然言語認識自然言語処理システムそのもの作るには、プログラミングが必要ということは全く相変わらずであり、プログラミング言語重要性増えこそすれ減りはしないということである。 自然言語との違い プログラミング言語は、もともと人間コンピュータ命令伝えその実行方法を指示するために作られたものであり、コンピュータ曖昧さなく解析できるように設計されている。多く場合構文上の間違い許されず、人間プログラミング言語文法厳密にしたがった文を入力しなければならない。 これに対して一般に自然言語文法規則プログラミング言語くらべてはるかに複雑であり、例外も多い。ただしこれは規則一般にいいかげんであったり、曖昧であるということではない。一般に自然言語規則は奥が深く、驚くほどの非合理性に裏打ちされていることもあれば、驚くほどの合理性裏打ちされていることもある。驚くほどの非合理性でも合理性でもないものに裏打ちされていることもあれば、驚くほどの裏打ち無さがあることもある。 また、自然言語の意味は、その文脈コンテキスト)によって定まる部分も多い。これに対してプログラミング言語は、コンピュータによって扱いすいように、文脈によって意味が変わることができるだけないよう設計されているが、その文脈によって定まる部分がある場合無くはない。たいていの言語いくつかはある。 自然言語は、誤用流行などにより長い時間をかけ、たくさんの人間の利用により、意図せざる形で変化していく。しかし、プログラミング言語規則は、言語設計者意図作業によってのみ、変更される実際に言語設計者が「たくさんの人間」である場合もあり(仕様簡単な言語であれば多く実装者がいることも多くそういう場合個々実装ごとのその仕様があるとも言える)、長い時間をかけ、自然言語と全く同様にたくさんの人間の利用により変化してきたプログラミング言語もある(Lispなど)。また、プログラミング言語にも同様に流行があり、もともとの言語仕様では規定無かったような一種の「誤用」に、後から仕様定められる、といったことも必ずしも珍しくはない。 人間がふだん使っている日本語などの自然言語使ってコンピュータ指示することができるのが理想ではある、と空想する者もいる。しかし、自然言語あまりにも複雑で曖昧変則的なので、それを機械語コンパイルできるようなプログラム作成することはとても難しい(コンパイルできるできない問題ではなくそもそもその意味が「複雑で曖昧変則的」であること自体問題なのだが、それを理解できない者が冒頭のように空想するのである)。そのような研究進められているが、未だに汎用実用になるプログラム作成されたことがない。 そこで、自然言語よりも制限強く、単純で厳密で規則的な人工言語作って代用する。これがプログラミング言語である。プログラミング言語自然言語よりもいくらか人間には扱いづらいが、機械語よりは遥かに親しみやすく、人間指示の手間を軽減している。ちなみにコンピュータ向けの形式性と人間向けの柔軟性兼ね備えるロジバンなど、本来の開発目的違え潜在的に一つプログラミング言語として機能しうるものもある。 大部分プログラミング言語は、基本的に概ね文脈自由文法沿っているが、プログラミング言語における文法的な制限は必ずしも全て文脈自由文法表現できるとは限らず文脈自由文法より制限されていることもあれ文脈自由文法より拡張されていることもあり、多く場合文脈自由文法には完全には沿っていない。 なおプログラミングへの応用想定して設計されロジバンのように、人間の言語プログラミング言語中間位置するものがある。

※この「プログラミング言語と自然言語」の解説は、「プログラミング言語」の解説の一部です。
「プログラミング言語と自然言語」を含む「プログラミング言語」の記事については、「プログラミング言語」の概要を参照ください。

ウィキペディア小見出し辞書の「プログラミング言語と自然言語」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「プログラミング言語と自然言語」の関連用語

プログラミング言語と自然言語のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



プログラミング言語と自然言語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのプログラミング言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS