ã¯ããããã¯ãŸã æ®åããŠããŸããã èªç¶èšèªåŠçã¯ãŸã ååã«éçºãããŠããããéçºãšçµ±åãããŠããŸããã ãŸããã³ãŒããæ€çŽ¢ãŸãã¯ä»®æ³ã¢ã·ã¹ã¿ã³ãïŒ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ïŒäžè²«æ§ã®åé¡ãšæ€èšŒã«æå³è«çæšè«ã·ã¹ãã ãå¿ èŠã§ãã
ãããã£ãŠã次ã®ãããªä»£æ¿ã¢ãããŒããå¿ èŠã§ãã
- ãã©ã³ã¹ã®åããé¡äŒŒæ§ã䜿çšããŸãïŒææ§ããå¯èœãªéã解決ãããææ§ãªèªç¶èšèªã®åœ¢åŒã§ïŒ
- ææ§æ§è§£æ¶ã®çµæã䜿çšããã³ã³ããŒãã³ãæ§é ãæã€ïŒèå¥åéã®æ瀺çãªå¢çãæ瀺çãªé¢ä¿ïŒ
- 人éã«åªããèªç¶èšèªã«äŸåããïŒlivesInãcountryIDãªã©ã®æ©æ¢°ã«åªããèå¥åã«å¯ŸããŠïŒ
- èŸæžãšãªã³ãããžãŒãéžæçã«äœ¿çšãã
- èªç¶èšèªã«åºæã®ç¡éã®æè»æ§ïŒã¹ããŒãã¡ã³ããå ã æå³ãããŠãããã®ã ãã§ãªããåæ§ã®ãã®ã«ãã¹ããŒãã¡ã³ããé©çšããæ©èœïŒ
- èªç¶èšèªã«åºæã®ç¡å¶éã®æ¡åŒµæ§ïŒã¢ãã«ãå€æŽããŠããã€ã§ããã詳现ãŸãã¯ããç°¡æœãªèª¬æãæäŸããæ©èœïŒ
- äžè²«æ§ãæšè«ãªã©ãåé¡ãæ€èšŒããããã«äººã ãå·»ã蟌ã¿ãŸãã
åèš ïŒ
èªç¶èšèªãžã®é©å¿ã¯ããã®æåéãã®äœ¿çšãæå³ããã®ã§ã¯ãªãããã®ææ§ããšã³ã³ãã¥ãŒã¿ãŒã¢ãããŒãã«åºæã®ç²ŸåºŠãšã®ãã©ã³ã¹ãæå³ããŸãã
ãã¬ãŒãã³ã°
ãã®ã¢ãããŒãã®ç 究ãä¿é²ãããã®ã¯äœã§ããïŒ ãŸãããã§ã«è¿°ã¹ãèªç¶èšèªèå¥åã®äœ¿çšã 第äºã«ãèªç¶èšèªã®ãããŸããã®æé€ã 第äžã«ãã«ãŒã«ã®ç·©åã 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ããšããæ€çŽ¢ã¯ãšãªã§èŠã€ããããšãã§ããŸãããœãŒã¹ã«ã¯å€æ°ã®ç°ãªãå€ããããŸãã
çŸå®ã®äžçã§ã¯ãç§ãã¡ã¯çãããç解ããŠããŸãã ãããã®èª²é¡ãèãããšãããããã®äŸ¡å€ãèæ ®ããã®ã«ååãªãªãœãŒã¹ããªãå¯èœæ§ãããããšãèªèããŠããŸãã ãããã絶察ã«ä¿¡é Œã§ãããã©ãã¯ããã¯ã¹ãèæ ®ãããšãæ¬åœã«å±éºãªå ŽåããããŸãã äœè£ããªãã äžå®ã®ãã£ãŒãããã¯ãšä¿®æ£ãå¿ èŠã§ãïŒãªãã·ã§ã³ãšããŠã人ãšã¢ã«ãŽãªãºã ã®éã®å¯Ÿè©±ã§ïŒã ãããã®èª²é¡ã¯ãåé¡ãšãããããæ©èœãã«ãŒãã³ãšããŠèããå¿ èŠããããŸãã
åºå€§ãã¯å¥œå¥å¿ãšèšç»ãä¿é²ããŸãã ã¿ã¹ã¯ã倧ãããããšããã€ã§ãå§ä»»ã§ãããµãã¿ã¹ã¯ã«åå²ã§ããŸãã
ãããŸããã¯æè»æ§ã«ã€ãªãããŸãã ååèªãç¹å®ã®æ¡ä»¶äžã§ã®ã¿ååã«æ£ç¢ºã§ãããããªãææ§ãªèªç¶èšèªã䜿çšããŸãã äžçã¯å»ã ãšå€åããŠãããç§ãã¡ããçŸå®ã«å·»ã蟌ãŸããããã¹ãŠã®ãã®ã¯ããã°ãã°æ¬¡ã®ç¬éã«äŸ¡å€ããªããªããŸãã ãããããè¥ãããªã©ã®ãããŸããªç¹æ§ã¯ããã®äººã®éåžžã«æ£ç¢ºãªå¹Žéœ¢ãããããã«å€ãã®ããšãäŒããããšãã§ããŸãã å質ã®å®çŸ©ã¯ãåžžã«è©äŸ¡ãäžè¬åãç¹å®ã®æšè«ã®ããã»ã¹ã®çµæã§ãã ããã«ãããä»ã®äººãåãè³æ Œã«è²»ããå¿ èŠã®ããæéãç¯çŽã§ããŸãïŒãã ããçµæã¯ç§ãã¡ã®èŠä»¶ã«ã¯åãå ¥ããããªãå¯èœæ§ããããŸãïŒã
äžç¢ºå®æ§ã«ã¯ä»£æ¿æ段ãããããªã¹ã¯ã管çããå¿ èŠããããŸãã åºåã§è€æ°ã®çµæãåŸãããå Žåãããã¯ãŸã£ããæ£åžžã§ãã å®éã決å®ãäžãããšãã§ããããŸãã¯è¡ãã¹ã人ã¯ãæãŸããçµæãéžæããããšã«åŸäºããªããã°ãªããªãå ŽåããããŸãã
ççŸã¯ãæ±çšæ§ãšæ±çšæ§ãåæ©ä»ããŸãã çµå±ã®ãšãããäžè²«æ§ã¯ãã»ãšãã©ã®å Žåãç§ãã¡ã®åšãã®äžçãçµç¹ããããã®å€ãã®æ¹æ³ã«ç±æ¥ããŸãã ããã¯éåžžã«ããŸããŸãªæ¹æ³ã§å®è¡ã§ããŸããããããã®äžéšãé€å€ããã«ã¯ãå šäœåãææ¡ããå¿ èŠããããŸãã ããããå€ãã®ç¶æ³ã§ãããæããªããããããŸããã
- 誀ibilityã¯æçè«ã«ãã£ãŠæããããŠããŸãã ã¢ã«ãŽãªãºã ã¯æççã§ã¯ãããŸããïŒãŸã ïŒïŒã ã§ã人ã ã ããŸããŸãªãœãŒã¹ããã®ãã¹ãŠã®äºå®ãå確èªããæéã¯ãããŸããã
ãããã®ãã¹ãŠã®ãã€ã³ãã¯ãããçšåºŠã®äººéã®é¢äžãæå³ããŸãã å®éãçµæãéââåžžã«å·šå€§ã§ããããææ§ã§ããããäžæ確ã§ããããççŸããŠãããã誀ãã§ãããã解éã§ããã®ã¯ãŸãã«äººã ã§ãã æå¹ãããããŸããããä¿®æ£ãããããæ€çŽ¢ã®æ¹åãå€ãã£ãããããŒã¿ãã³ãŒãïŒæšè«ã®äžçš®ïŒãæåã§å€æŽããå¿ èŠããããããããŸããã 人ã ã¯ãã®ãããªæ å ±ãæ±ãããšãã§ããã®ã§ãããããµããŒãããå¿ èŠããããŸãïŒå€æ°ã®ã©ã€ãã©ãªãã¢ããªã±ãŒã·ã§ã³ãããã€ã¹ã«å ããŠããŠãŒã¶ãŒãšãšã³ãžãã¢ã®ã³ãã¥ããã£ïŒã ãããŠããã®ãããªãµããŒãã¯ãã³ãŒããèªç¶èšèªã§è©±ãããšãã§ããå Žåã«ã®ã¿å¯èœã§ãã ãããŠãããããŸãã«ãã®ã¢ãããŒããå®çŸã§ãããã®ã§ãã
ããã¯èšäºã®ç¿»èš³ã§ãã ãªã³ã¯ã¯è±èªã®ãªãœãŒã¹ã«ã€ãªãããŸãã ãã·ã¢èªã§åæ§ã®ãã¹ãŠã®å¿ èŠãªæ å ±ãå«ãŸããŠããŸããã ãŸããã³ãŒãäŸã¯èª¬æã®ããã«ãã·ã¢èªã§æäŸãããŠããããããŸã§ã®ãã¹ãã§ã¯è±èªã䜿çšããŠããŸãã