あなたのコヌドはロシア語を話したすか

はい、これはただ普及しおいたせん。 自然蚀語凊理はただ十分に開発されおおらず、開発ず統合されおいたせん。 たた、コヌドを怜玢たたは仮想アシスタントSiriなどず統合する䟿利な方法はありたせん。 音声コマンドは、GUIパスをシミュレヌトしたすクリックしお開く。 セマンティックWebは、アプリケヌションに意味を導入しようずしおいたすが、それでも幅広いナヌザヌにリヌチするこずはできたせん。 Behavior-driven developmentBDDはDSLドメむン固有蚀語に䟝存しおいたす。DSLは自然に近いものですが、コヌドを話すように教えるにはただ十分ではありたせん。







ただし、既存のアプロヌチを䜿甚しなくおも、珟圚のコヌドは自然蚀語ず察話できたす。 珟代の技術は自然蚀語を理解しおおらず、これがい぀可胜になるかは明確ではありたせん。 したがっお、別のアプロヌチが必芁です。









適応



次の事実に基づいお、宇宙蚀語の1぀で「brrh」の意味を理解しようずしおいるず想像しおください。a「brrh」は「euyaya」のむンスタンスであり、b「brrh」は「length」および「vvrrh 、「移動」および「匷打」できたす。c「brrh」は名詞です。 これらの事実をセマンティックネットワヌクに接続し、それらに基づいお蟞曞ずオントロゞヌを䜜成し、怜玢で「関連性に基づいお」「brrh」を芋぀け、仮想アシスタント「brrhは同じ」 euyaya、 "、" brhrh vhrhhlsya ghrattsy "を" subject-predicate-additionに分割するこずさえできたす。 しかし、これらの方法はどれもこの蚀葉に察応しおいたせん。 本圓の理解は、蚀葉およびその背埌にある意味が私たちにずっお銎染みのある甚語で説明されおいる堎合にのみ埗られたす。 それらがどのように芋えるかを理解しおいたす。 「brrhは野菜の果実の青い芜」はそのような説明の䟋です「野菜の果実」は存圚しないものの䟋ですが、倧たかに想像できるものです。 そしお本圓の問題は、そのような定矩で機胜するテクノロゞヌがないこずです。







関連性はあたりにも曖昧であり、その結果は単なる統蚈的な圓お掚量です。 「惑星」、「球䜓」、「星」、「塵雲」、「物理孊」の間の関連性は、これらの蚀葉が「惑星」だけでなく参照できるからずいっお、惑星が䜕であるかを理解する助けにはなりたせん。 「惑星は星を呚回する倩䜓である」が圹立぀のに察し、 類䌌性に基づいおいたす。







自然蚀語凊理の欠点は、自然蚀語の芏則に䟝存しすぎるこずです。 これらの芏則は、テキストが文法的に正しいために必芁ですが、すべおの状況で意味を理解するのを助けるこずができたせん。 朚星は軌道で回転したす、朚星の軌道、朚星は軌道で回転したす。意味は非垞に近いです。 朚星の静的な性質ず軌道の動的な性質の違いは非垞にarbitrary意的であり、状況や状況に䟝存したす。 本圓に重芁なのは、a朚星ずは、b軌道ずは、cそれらの組み合わせです。 しかし、テキストには通垞、これに関する情報はありたせん。







蟞曞やオントロゞヌたたはクラス/オブゞェクトなどで機胜するアプロヌチには、別の欠点がありたす。 ドメむンの関係類䌌性を含むを衚したすが、自然蚀語ずは倧たかに関係しおいたす。 そしお、それに応じお、自然蚀語で衚珟される倖の䞖界ず認識に固有のいく぀かの特城を衚珟したせん。 セマンティックWebの高床なアプロヌチにも制限がありたす。a実行時にクラスずその所属を倉曎できるず䞻匵しおいるが、 蚭蚈段階で定矩された蟞曞ずオントロゞヌに基づいお、b識別にURIが必芁、c意味にOWL宣蚀が必芁、d䞀貫性の分類ず怜蚌に意味論的掚論システムが必芁です。







したがっお、次のような代替アプロヌチが必芁です。









合蚈 







自然蚀語ぞの適応は、その文字通りの䜿甚を意味するのではなく、その曖昧さずコンピュヌタヌアプロヌチに固有の粟床ずのバランスを意味したす。







トレヌニング



このアプロヌチの研究を促進するものは䜕ですか たず、すでに述べた自然蚀語識別子の䜿甚。 第二に、自然蚀語のあいたいさの排陀。 第䞉に、ルヌルの緩和。 4番目に、マヌクアップテキスト。 なぜたさにこれらのアむテムなのか







ほずんどの堎合、ネむティブスピヌカヌの自然蚀語識別子は、远加のトレヌニングを必芁ずしたせん。 あいたいさ識別子間の境界、明瀺的な関係が排陀されるため、他の情報の読者/消費者䜿甚過皋で同じこずをする必芁がないの時間を節玄できたす。 ルヌルを緩和するず、さたざたなレベルの知識を持぀ナヌザヌが䞀緒に䜜業できたす。 たずえば、「ゞュピタヌは惑星のむンスタンス」は倚くのナヌザヌにずっおそれほど明癜ではありたせんが、「ゞュピタヌは惑星」はほずんどのナヌザヌにずっお明癜です。 マヌクアップテキストが必芁です、なぜなら 透過的に䜿甚するこずができたずえば、 惑星 の 盎埄 はナヌザヌには芋えたせん、情報の䜜成者に認識されるずすぐに意味を把握できたす。







これは、プログラミングやその他のセマンティックテクノロゞヌに既にあるものずは倧きく異なりたす。 識別子は垞に認識可胜な略語であるずは限りたせん。自然蚀語は凊理されないか、難解な結果の圢匏で利甚できたす。ルヌルは非垞に厳栌で、テキストマヌクアップはありたせん。 䟋ずしおセマンティックWebを取り䞊げたす。 URIは、ある皋床たで人間が読むこずができたす。 トリプレットsubject-predicate-supplementは自然蚀語を暡倣しようずしたすが、その結果を人が読むのは困難です。 重い基準には倚くのルヌルがいっぱいです。 遞択肢はおそらくNotation3ずTurtleであり、人間が読みやすいようです。 しかし、ここでもdctitleこの䟋では読みやすいように芋えたすが、別の䟋ではdc_fr12ttlになりたすのような「人間に優しい」URIず名前が衚瀺されたす。 Microformatsは、HTMLでのみ䜿甚できるわずかに異なるアプロヌチを提䟛したす。これは結局、ドメむン固有蚀語DSLのバリ゚ヌションです。 DSLは有望な分野ず考えられおいたすが、 長所ず短所があり、埌者は1぀のフレヌズで説明できたす。新しい蚀語を知る必芁性です。 すべおの堎合においお、孊習は非垞に重芁な芁玠であり、単に無芖するこずはできたせん。







合蚈 







匱められたルヌルを䜿甚した䞊向きの段階的なアプロヌチにより、倚くのプログラミング蚀語で可胜なように、文字通りれロから開始できたす。 自然蚀語の単語ず関係を䜿い始めるこずができたす。これは、文字通り2぀たたは3぀の最も重芁なものに限定できたす。 これにより、耇雑で、高䟡で、信頌性が䞍十分なテキストを理解するずいう芳点から自然蚀語凊理の必芁性が最小限に抑えられたす。 識別子ず基本的な関係の認識は、名詞-動詞-圢容詞-副詞たたはトリプレット䞻語-述語-付加たたはクラス/フィヌルド/メ゜ッドの定矩の認識よりも簡単な䜜業です。 これは、人ずアルゎリズムの䞡方による远加の分析なしで実行および䜿甚できたす。







リンク



getBallVolume盎埄関数は䜕をしたすか 叀兞的な解釈は、「盎埄に応じおボヌルの䜓積を戻す」などの蚘述圢匏での出力ず入力の比率です。 自然蚀語の芳点では、これは「ボヌルの音量はいくらですか」ずいう質問ずしお衚珟できたす。 たたは「盎埄がXに等しいボヌルの䜓積は」 たたは䞊蚘の提案の圢で。 関数を自然蚀語に接続するには、関数の入力ず出力をそれぞれ自然蚀語の入力ず出力に接続する必芁がありたす。 どうやっおやるの 質問は、意味のある識別子ず関係に分けるこずができたす「ボヌルの䜓積は」、ここで、1関数の出力は「what」たたは䞍明に察応し、2関数の入力は「ball of volume 「たたは」ボヌル{has}ボリュヌム "、3関係" {is} "and" {what} "/" {is} "入力ず出力の識別子を接続したす。 意味のある.jsラむブラリを䜿甚しおテストを䜜成できたす 。







meaningful.register({ func: getBallVolume, question: ' {_} {}  {} ', input: [ { name: '' } ] }); expect(meaningful.query(' {_} {}  {}  {}  { } 2')). toEqual([ 4.1887902047863905 ]);
      
      





ここで䜕が起こっおいたすか 1「ボヌルの音量は」ずいう質問に答えるために、getBallVolume関数が登録されおいたす。 盎埄パラメヌタを䜿甚しお、2は「盎埄2のボヌルの䜓積はどれくらいですか」ずいう質問をしたす。 コヌドで蚀及されおいるものずほが同等です、3期埅される結果がチェックされたす。 どのように機胜したすか 内郚では、受信した質問ず関数に関連する質問が比范され、それらが類䌌しおいる堎合぀たり、それぞれのコンポヌネントが類䌌しおいる堎合、結果を芋぀けるこずができたすa「Which { }」は 2番目の「Which { }」質問、b「ボヌルの䜓積」は䞡方の質問に存圚したす。cレゞスタ関数では、「盎埄」は質問に含たれたせんが、入力パラメヌタヌずしお存圚するため、「盎埄」に察応させるこずができたす2番目の質問、d「diameter {matters} 2」が入力ずしお適甚され、getBallVolumeが呌び出されたす2、e関数の結果が応答ずしお返されたす 自然蚀語の問題。







もう少し耇雑な䟋getBallVolume関数の登録はここで暗瀺されおいたす







 function getPlanet(planetName) { return data[planetName]; //      } meaningful.register({ func: getPlanet, //    -       question: ' {_} {}  {} ', input: [{ name: '', //       func: function(planetName) { return planetName ? planetName.toLowerCase() : undefined; } }], output: function(result) { return result.diameter; } //     JSON- }); //    meaningful.build([ ' { } ', ' {} ' ]); expect(meaningful.query(' {_} {}  {} ')).toEqual([ 1530597322872155.8 ]);
      
      





どのように機胜したすか a「朚星は{惑星のむンスタンス}」ですから、「朚星はいくらですか」ずいう質問を考えるこずができたす。 「惑星の䜓積は」、b「惑星は{ボヌル}」であるため、この質問は「ボヌルの䜓積は」ず考えるこずができたす。c「{朚星の盎埄}」はオブゞェクトの盎埄属性から抜出できたすgetPlanet "Jupiter"の呌び出しから返された惑星のdgetBallVolumeはJupiterの盎埄で呌び出されたす。







Javaおよび他のマルチパラダむムプログラミング蚀語では、このような䟋はさらに゚レガントに芋えたす。







 @Meaning  class BallLike { @Meaning  int diameter; //        @Meaning  //  /    //  "  {_} {}  {} ?" double getVolume(); }
      
      





同様のアプロヌチは、仮想アシスタントプログラミングむンタヌフェむスであるSiri 、 Google Assistant 、たたはCortanaよりも簡単です。 ここでいく぀かのタむプのプログラムむンタヌフェむスが衚瀺されるずいう事実のみが、話しおいる仮想アシスタントずの統合の考えられる利点よりも萜胆する可胜性がありたす。 これらのプログラムむンタヌフェむスのうち、1぀のテクノロゞヌがこのアプロヌチに最も䌌おいたす。デヌタの構造的なマヌクアップですが 、十分に読み蟌めたせん。







セマンティックWebが提䟛するものは簡朔ではなく 、XML凊理のように芋えたす。 セマンティックWebでのSPARQL圢匏のク゚リは、あらゆる皮類のSQLに䌌た蚀語ず同様に制限されおいたす。 自然蚀語の問題は、フィヌルド/プロパティの遞択以䞊のものです。 たた、時空、原因、および特別な治療を必芁ずする珟実ず認知のその他の重芁な偎面にも圱響を䞎えたす。 理論的には、「Where」の代わりに「What place」、「When」の代わりに「What date」、たたは「Why」の代わりに「What reason」の質問を䜿甚できたすが、「What / what / what」の䞀定の質問はあたり銎染みがない自然蚀語で。







このアプロヌチは、怜玢゚ンゞンの機胜ず比范するこずもできたす。 惑星の盎埄を抜出できたすが、結果を盎接再利甚するこずはできたせん。 惑星の䜓積は機胜したせん。 たた、さらに特定のデヌタを抜出するこずはできたせん。 このアプロヌチは、これらの質問や他の倚くの質問に察する回答を埗るのに圹立ち、コヌド自䜓を自然蚀語怜玢の察象にしたす。







合蚈 







控えめなアプロヌチでは、デヌタがヘビヌ玚の暙準たたは特殊なデヌタ構造トリプレットなどおよび特殊なデヌタストア トリプルストヌラヌなどずの互換性を匷制されたせん。 それどころか、デヌタに適合させるこずができたす。 むしろ、新しいデヌタず叀いほずんどサポヌトされなくなったデヌタの䞡方に適甚できる䞀皮のむンタヌフェヌスです。 ぀たり、セマンティックWebが目指しおいる巚倧なグロヌバルデヌタグラフを構築する代わりに、このアプロヌチは、郚分的に個別個別の識別子ず関係が個別で郚分的になる「質問ず回答Web」を䜜成するこずを提案したす連続的識別子ず関係は他のものずほが同様になる可胜性があるため。







環境



ご芧のずおり、マヌクアップは自然蚀語および怜玢゚ンゞンたたは仮想アシスタントで䜿甚ずプログラムむンタヌフェむスコヌル䞀皮の自然蚀語むンタヌフェむスを圢成の䞡方に倉換できたす。 マヌクアップは、テキストをコンポヌネント構造に倉換し、各芁玠を同様の芁玠に眮き換えるこずができたす。 したがっお、ほずんどの堎合、自然蚀語ぞの倉換は非垞に単玔な堎合もあれば、少なくずも単玔化される堎合もありたす。「惑星の盎埄は」 「惑星の盎埄は」ずいう質問に盎接察応する堎合がありたす 「倩䜓の盎埄は」に䌌おいる 自然蚀語むンタヌフェむスNLIに関しおは、最初はjupiter.getVolumeたたはgetBallVolumejupiter.diameterの代わりに「What is the volume of Jupiter」を䜿甚するずいう考えは冗長に思えたす。 しかし、NLI呌び出しがすべおのコヌド行に適甚されるべきだず蚀う人はいたせん。 これは、高レベルの蚭蚈に関連するコヌドの郚分にのみ適甚できたす。 さらに、このむンタヌフェヌスには特定の利点がありたすa自然蚀語ず互換性のある仕様、bプログラムむンタヌフェヌスぞの特定の呌び出しでは動䜜したせん特定のAPIの詳现な調査の必芁性を枛らしたす、cクラス/メ゜ッド/関数の名前/パラメヌタはより明瀺的です。dコメントは、再利甚可胜なより意味のあるマヌクアップに倉換できたす。 たた、NLIは、小芏暡なアプリケヌションやデバむスたずえば、モノのむンタヌネット䞊や倚くのプログラミング蚀語を備えた環境向けのむンタヌフェむスを開発する最も簡単な方法ですコマンドラむンず比范しおも。







自然蚀語ずコヌドずの二重の互換性により、マヌクアップは゜フトりェア゚ンゞニアリングの他の分野芁件、テスト、構成、ナヌザヌむンタヌフェむス、ドキュメントなどでも䜿甚できたす。 たずえば、「アプリケヌションは惑星の盎埄を提䟛する必芁がある」ずいう芁件の行をマヌクアップし、関数呌び出し、テスト、たたはナヌザヌむンタヌフェむスの䞀郚ず関連付けるこずができたす。







マヌクアップは、別の研究分野である因果関係を開くこずができたす。 最近のアプリケヌションは、この方向にti病な手順を螏んでおり、通垞は䜕らかの理由で゚ラヌたたは予期しない動䜜の原因を説明しようずしたす。 ただし、この方法は他の倚くの領域には適甚されたせん。たずえば、どのオプションが特定の機胜に圱響するかなどです。 これをさらに効率的に機胜させるには、そのような説明を再利甚できるようにする必芁がありたす。 ぀たり、䞀郚の機胜が利甚できない堎合、アプリケヌションは、ナヌザヌむンタヌフェむスのこれらの郚分たたはナヌザヌがすぐに倉曎できるオプションに盎接アクセスしお、原因ず結果の代替のチェヌンを開くこずができたす。







行動駆動型開発は同様の方向に進んでいたすが、いく぀かの非垞に重芁な違いがありたす。 自然蚀語に䌌たDSLは芋栄えが良いかもしれたせんが、最終的には、このDSLを認識するツヌルなしでは再利甚できたせん。 䞀方、なぜテストたたは蚭蚈のみに限定すべきなのでしょうか ゜フトりェア゚ンゞニアリングのすべおの段階で、自然蚀語および高レベルドメむンアヌキテクチャずやり取りしたす。







合蚈 







このアプロヌチは、コヌドだけでなく、テキストドキュメント、ナヌザヌむンタヌフェむス、機胜、構成、サヌビス、およびWebペヌゞにも適甚されたす 。 これは、盞互䜜甚の新しい芖野を開きたす。 したがっお、Webペヌゞはアルゎリズム関数ずずもに䞀皮の関数ずしお䜿甚でき、逆に、プログラムコヌドの関数は怜玢の䞀皮のWebペヌゞずしお䜿甚できたす。







おわりに



セマンティックWebの最倧の課題は、コミュニティがなぜそれを必芁ずするのか、RDF、トリプレット、トリプストラヌ、自動掚論などの質問に察する答えです。 アプリケヌションは、セマンティックWeb以前の長幎にわたっおデヌタをリンクしおいたした。 アヌキテクトは、オントロゞヌを含むさたざたなツヌルを䜿甚しおドメむンを定矩したした。 XML / UML / SQLに類䌌したヘビヌりェむト暙準を䜿甚するメリットが、移行コストずトレヌニングコストを䞊回るかどうかは完党に䞍明です。 おそらくそれが、セマンティックWebが広く普及しおいるプログラミング蚀語の暙準ラむブラリに含たれおおらず、含める予定がない理由です。 セマンティックWebは、それ自䜓を「デヌタのWeb」ずしお䜍眮付け、むンテリゞェント゚ヌゞェントが異皮情報に察凊できるようにしたす。 暗に瀺されおいるように、人々は「ブラックボックス」から情報を受け取り、それが理由理由になりたす。 セマンティックWebの暙準は、人々自然蚀語などに読たれるこずにはほど遠いため、誰も気にしないようです。 セマンティクスの適甚性ず䜿いやすさに関する議論はありたせん。 なんで むンテリゞェント゚ヌゞェントはすべお自分で行いたす。 セマンティックWebに適応するだけです。 むンスピレヌションを䞎えたすよね







それどころか、提案されたアプロヌチは軜量であり、組み蟌みのJavaScriptおよびunderscore.js機胜を䜿甚しお実装できたすマルチパラダむム蚀語は蚀うたでもありたせん。 最終的なプロトタむプには、玄2,000行のコヌドしか含たれおいたせん。 明床は、単玔化された構文解析、単玔なデヌタ構造をもたらし、あたり耇雑ではない掚論チェヌンに぀ながりたす。 これはセマンティックWebを単玔化しすぎおいたすか ロヌカルデヌタベヌスず同じようにビッグデヌタを単玔化しすぎおいる可胜性がありたすが、䞡方のオプションのスコヌプは異なりたす。







このアプロヌチはセマンティックWebの課題に答えるこずができたすか それらはたず第䞀に、認知の朜圚的な巚倧さ広倧さ、あいたいさあいたいさ、䞍確実性䞍確実性、䞍䞀臎䞍䞀臎、および誀り感受性知識によっお匕き起こされるこずを芚えおおく必芁がありたす。 人類は長幎にわたっおこれらの課題に取り組んでいたすが、それらは本圓に柔軟性がなく、限定的で、高床に専門化されたカテゎリヌアルゎリズムに脅嚁をもたらしたす。







あらゆる情報は、朜圚的に巚倧で、曖昧で、䞍確実で、矛盟し、゚ラヌを起こしやすいものです。 少なくずも朚星の盎埄を取りたす。 その意味は、私たちが自分自身を制限し、「䞀床だけのすべおの凍結された」真実ずしお提瀺する限り、単玔で明確に芋えたす。 しかし、これはそうではありたせん。 非垞に正確に蚈算したい堎合、非垞に耇雑になる可胜性があり、倚くのサブタスクを䌎う可胜性がありたす。 あいたいになる可胜性がありたす 時間ずずもに倉化し、さたざたな方法で異なる粟床で蚈算できたす。 たずえば、朚星が理想的なボヌルであるずいう仮定をすべお思い出すかどうかは䞍確かです。 メヌトル法の倀は、他の長さの単䜍ず矛盟する堎合がありたす翻蚳ツヌルがない堎合。 ゚ラヌの䟡栌蚭定に぀いお知る必芁があるものはすべお、「Jupiter diameter」ずいう怜玢ク゚リで芋぀けるこずができたす。゜ヌスには倚数の異なる倀がありたす。







珟実の䞖界では、私たちは皆これを理解しおいたす。 これらの課題を考えるず、それぞれの䟡倀を考慮するのに十分なリ゜ヌスがない可胜性があるこずを認識しおいたす。 しかし、絶察に信頌できるブラックボックスを考慮するず、本圓に危険な堎合がありたす。 䜙裕がない。 䞀定のフィヌドバックず修正が必芁ですオプションずしお、人ずアルゎリズムの間の察話で。 これらの課題は、問題ずいうよりも機胜やルヌチンずしお考える必芁がありたす。









これらのすべおのポむントは、ある皋床の人間の関䞎を意味したす。 実際、結果が非​​垞に巚倧であるか、曖昧であるか、䞍明確であるか、矛盟しおいるか、誀りであるかを解釈できるのはたさに人々です。 有効かもしれたせんが、修正されたり、怜玢の方向が倉わったり、デヌタやコヌド掚論の䞀皮を手動で倉曎する必芁があるかもしれたせん。 人々はそのような情報を扱うこずができるので、これをサポヌトする必芁がありたす倚数のラむブラリ、アプリケヌション、デバむスに加えお、ナヌザヌず゚ンゞニアのコミュニティ。 そしお、そのようなサポヌトは、コヌドが自然蚀語で話すこずができる堎合にのみ可胜です。 そしお、これがたさにこのアプロヌチが実珟できるものです。







これは蚘事の翻蚳です。 リンクは英語のリ゜ヌスに぀ながりたす。 ロシア語で同様のすべおの必芁な情報が含たれおいたせん。 たた、コヌド䟋は説明のためにロシア語で提䟛されおおり、これたでのテストでは英語を䜿甚しおいたす。








All Articles