JP2019519870A - 言語によって制御されるシステム - Google Patents
言語によって制御されるシステム Download PDFInfo
- Publication number
- JP2019519870A JP2019519870A JP2019507996A JP2019507996A JP2019519870A JP 2019519870 A JP2019519870 A JP 2019519870A JP 2019507996 A JP2019507996 A JP 2019507996A JP 2019507996 A JP2019507996 A JP 2019507996A JP 2019519870 A JP2019519870 A JP 2019519870A
- Authority
- JP
- Japan
- Prior art keywords
- program code
- string
- input
- natural language
- code component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 146
- 230000014509 gene expression Effects 0.000 claims abstract description 62
- 238000011524 similarity measure Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 230000001747 exhibiting effect Effects 0.000 claims 1
- 239000011800 void material Substances 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 206010022000 influenza Diseases 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 206010037660 Pyrexia Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 206010011224 Cough Diseases 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 208000006820 Arthralgia Diseases 0.000 description 1
- 240000004160 Capsicum annuum Species 0.000 description 1
- 235000008534 Capsicum annuum var annuum Nutrition 0.000 description 1
- 206010019233 Headaches Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 208000036071 Rhinorrhea Diseases 0.000 description 1
- 206010039101 Rhinorrhoea Diseases 0.000 description 1
- 240000004668 Valerianella locusta Species 0.000 description 1
- 235000003560 Valerianella locusta Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000001511 capsicum annuum Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 231100000869 headache Toxicity 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 201000009240 nasopharyngitis Diseases 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【選択図】図 2
Description
Loop loop_1 = new Loop();
while ( loop_1.excecuteCodesegment() ) {
// hier wird durch Codegenerator der
// Source Code anderer Satzkomponenten eingetragen.
}
図1は文字列プログラムコードコンポネント10の形によるデータ構造10の好ましい一実施形態の概略図である。該文字列プログラムコードコンポネントは自然言語による表現13を包含する定義文字列12を包含する。更に前記文字列プログラムコードコンポネントは自然言語による前記表現13に対して割り当てられたファンクショナリティを実装するプログラムコードセグメント14を包含する。そして前記文字列プログラムコードコンポネントはパラメータの入力のためのメソッド16を包含する。
class Zeichenketten-Programmcode-Komponente {
public string getSentence() = 0;
public void collectParameter() = 0;
public ResultObject executeCodesegment () = 0;
}
class MyCPlusPlusAddition : Zeichenketten-Programmcode-Komponente {
public string getSentence(){
return " Addiere eine Zahl zu einer anderer Zahl";
};
public void collectParameter( ... ) {
... some code;
};
public Object executeCodesegment (){
... some code;
};
}
ユーザー:"ich glaube, ich bin krank"(「私は病気だと思う」)
システム:"Was fehlt Dir, hast Du Fieber?"(「どうしたの、熱があるの?」)
ユーザー:"ja"(「ある」)
システム:"Wie hoch ist Dein Fieber?(「熱は何度あるの?」)
ユーザー:"38,5"(「38.5度」)
システム:"Wie lange hast Du schon Fieber?"(「いつから熱があるの?」)
ユーザー:"Seit heute Mittag"(「今日の昼から」)
システム:"Hast Du weitere Beschwerden"(「ほかに悪いところは?」)
ユーザー:"Nein"(「ない」)
システム:"Dann ruh' Dich aus, vielleicht geht es morgen schon wieder besser"(「それじゃ安静にして。明日になればまた直ぐ良くなるかもしれない」)
...
システム:"Was fehlt Dir, hast Du Fieber?"(「どうしたの、熱があるの?」)
ユーザー:"ja"(「ある」)
システム:"Wie hoch ist Dein Fieber?(「熱は何度あるの?))
ユーザー:"39,5"(「39.5度」)
システム:"Wie lange hast Du schon Fieber?"(「いつから熱があるの?」)
ユーザー:"Seit drei Tagen"(「三日前から」)
システム:"Hast Du weitere Beschwerden"(「ほかに悪いところは?」)
ユーザー:"Ja, Kopf- und Gliederschmerzen, Schnupfen und Husten"(「ある。頭痛と関節の痛み、鼻水と咳が」。)
該文字列プログラムコードコンポネント10の該プログラムコードセグメント14は次のような会話の流れになるよう形成されることができる。
システム:"Deine Symptome koennten auf eine Grippe hindeuten"(「君の症状からインフルエンザかもしれない」) ...
"Wenn ich im Arbeitszimmer bin,
stelle die Helligkeit der Raumbeleuchtung auf Vollmondnacht.
Lasse die Jalousien herunter und
schalte den Arbeitszimmerfernseher an.
Wenn ich in Wohnzimmer bin,
schalte den Wohnzimmerfernseher an".
(「もし私が書斎にいるときは
室内照明の明るさをフルムーンナイトに設定せよ
ブラインドを下ろせ
書斎のテレビをつけろ
私が居間にいるときは
居間のテレビをつけろ」。)
public class WhatTime: SentenceComponent {
public:
String getSentence();
String collectParameter(String *sentence,
String *suggestions,
String receivedWord);
/* Markierung: nameRueckgabe =>
"aktuelle Zeit der Staedte" */
String excecuteCodesegment();
Private:
List<String> selectedCities;
}
public String WhatTime:: getSentence ()
{
return "Wie spaet ist es in den folgenden Staedten?"
}
public String WhatTime::collectParameter(String *sentence,
String *suggestions,
String receivedWord);
{
if (!sentence.isEmpty())
{
sentence = "Wie spaet ist es";
return "ok";
}
if (sentens.endsWith("?"))
{
sentence.replaceLastCommaWith(" und ");
return "EndOfSentence";
}
if (receivedWord == "Schweiz"))
{
selectedCities.add("Schweiz")
sentence = sentence + "in der Schweiz";
return "ok";
}
else if (receivedWord == "Malta"))
{
selectedCities.add("Malta")
sentence = sentence + "auf Malta";
return "ok";
}
else if (receivedWord == "London"))
{
selectedCities.add("London")
sentence = sentence + "in London";
return "ok";
}
else
{
suggestions = "(Suggestion: Paris),
(Suggestion: London),
(Suggestion: Schweiz),
(Suggestion: Malta)";
Return "(Error: Ihr Angabe ist falsch!)";
}
}
public String WhatTime::excecuteCodesegment() {
String timeInCities = "Die Ausgabe der Uhrzeit fuer
folgende Staedte: ";
for(int i; sizeOf(selectedCities) < i; i++)
{
timeInCities = timeInCities + selectedCities[i] + ": " +
Date.getTime(selectedCities[i]).toString();
}
return timeInCities;
}
if (!sentence.isEmpty())
{
sentence = "Wie spaet ist es";
return "ok";
}
if (receivedWord == "Schweiz"))
{
selectedCities.add("Schweiz")
sentence = sentence + "in der Schweiz, ";
return "ok";
}
else
{
suggestions = "(Suggestion: Paris),
(Suggestion: London),
(Suggestion: Schweiz),
(Suggestion: Malta)";
Return "(Error: Ihr Angabe ist falsch!)";
}
else if (receivedWord == "Malta"))
{
selectedCities.add("Malta")
sentence = sentence + "auf Malta";
return "ok";
}
if (sentens.endsWith("?"))
{
sentens.replaceLastCommaWith(" und ");
return "EndOfSentence";
}
/* Markierung: partOfSentence = "eine Zeichenkette" */
void setOutput( String output );
public class PrintText: public SentenceComponent {
public:
String getSentence();
void executeCodesegment();
/* Markierung: partOfSentence = "eine Zeichenkette" */
void setOutput ( String output );
private:
String outputString;
}
public void PrintText:: setOutput( String output ){
outputString = output;
}
public PrintText:: getSentence (){
return "gebe eine Zeichenkette auf dem Bildschirm aus."
}
public String PrintText::executeCodesegment() {
println( outputString );
}
それに従いプログラミング言語C++ におけるメソッドexecuteCodesegment()のメタデータは次のような形であっても良い。
public class LocalTime: SentenceComponent {
public:
String getSentence();
Time executeCodesegment();
}
public String LocalTime:: getSentence (){
return "Wie spaet es ist?"
}
public String LocalTime::executeCodesegment() {
return Date.getTime();
}
プログラミング言語 = c++
ヘッダファイル = WhatTime.h
クラス名 = WhatTime
メソッド名 = executeCodesegment
戻り値のタイプ = Time
アーギュメント = keins
プログラミング言語 = c++
ヘッダファイル = time.h
クラス名 = Time
"wie spaet ist es? gebe die aktuelle Uhrzeit auf dem Bildschirm aus."
(「何時か。現在時刻を画面に出力せよ。」)
#include " WhatTime.h"
#include "PrintText.h"
WhatTime whatTime_1= new WhatTime ()
String result_1 = whatTime_1.excecuteCodesegment();
PrintText printText_1 = new PrintText()
printText_1.setOutput( result_1 );
printText_1.excecuteCodesegment();
if ( classX.executeCodesegment() ){
// hier wird durch Codegenerator der
// Source Code anderer Zeichenketten-Programmcode-Komponenten
// eingetragen.
}
public class MyFirstIF: SentenceComponent {
public:
String getSentence();
/* Markierung: controlFlow = "IF" */
boolean executeCodesegment();
}
public String MyFirstIF:: getSentence (){
return "Wenn es draussen hell ist, dann ..."
}
public boolean MyFirstIF:: executeCodesegment(){
OutdoorBrightnessSensor sensor = new OutdoorBrightnessSensor();
boolean brightness = sensor.isBright();
if ( brightness == true ){
return true;
}
else {
return false;
}
}
#include "MyFirstIF.h"
MyFirstIF myFirstIF _1 = new MyFirstIF ();
if (myFirstIF _1.executeCodesegment() ){
// hier wird durch Codegenerator der
// Source Code anderer Zeichenketten-Programmcode-Komponente
// eingetragen.
}
Public MyThread_1 implements Thread{
public void run()
{
}
}
Public MyThread_1 implements Thread{
public void run()
{
JalousieDown jalousieDown_1 = new JalousieDown();
jalousieDown_1.executeCodesegment();
}
}
Mache folgendes parallel:
stelle die Helligkeit der Raumbeleuchtung auf Vollmondnacht.
Lasse die Jalousien herunter
(次を並行して行え:
室内照明の明るさをフルムーンナイトに設定しろ
ブラインドを下げろ)
Public MyThread_1 implements Thread{
public void run()
{
LightDeamer lightDeamer_1 = new LightDeamer();
lightDeamer_1.setLight( "Vollmondnacht" );
lightDeamer_1.executeCodesegment();
}
}
Public MyThread_2 implements Thread{
public void run()
{
JalousieDown jalousieDown_1 = new JalousieDown();
jalousieDown_1.executeCodesegment();
}
}
MyThread_1.start();
MyThread_2.start();
"Erzeuge neue Zeichenketten-Programmcode-Komponente zu der Definitionszeichenkette D und der Programmierzeichenkette P"
(「定義文字列Dおよびプログラミング文字列Pに対し新しい文字列プログラムコードコンポネントを作成せよ」)
は希望する効果をもたらす。
なお、本明細書において、ドイツ語特有の表記(アー・ウムラウト、ウー・ウムラウト、オー・ウムラウト、エスツェット)はアルファベットで表記した(アー・ウムラウトは「ae」、ウー・ウムラウトは「ue」、オー・ウムラウトは「oe」、エスツェットは「ss」)。
Claims (41)
- 自然言語によるシステム(100)の制御の方法であって、
- 該システム(100)内に、複数の文字列プログラムコードコンポネント(10、10'、 10'')を用意する(S1)ステップを包含し、その際に一つの文字列プログラムコードコンポネント(10)がそれぞれ
- 自然言語における表現(13)を包含する定義文字列(12)および
- 自然言語による該表現(13)に割り当てられたファンクショナリティを実装する該定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)
を包含し、
複数の文字列プログラムコードコンポネントのうちの諸文字列プログラムコードコンポネントの少なくとも一つがパラメータ入力のためのメソッド(16)を包含し、それによってこの文字列プログラムコードコンポネントがこの文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することができるパラメータ入力を支持するように設けられていることを特徴とする前記自然言語によるシステム(100)の制御の方法。 - 複数の該文字列プログラムコードコンポネントのうちの諸文字列プログラムコードコンポネントの少なくとも一つの文字列プログラムコードコンポネントの該プログラムコードセグメントによって用意されたファンクショナリティが、このファンクショナリティが該システムによって実行されたときに、戻り値を供給し、その際にこの戻り値が好ましくは自然言語によってアノテーションされている請求項1に記載する方法。
- 複数の該文字列プログラムコードコンポネントのうちの少なくとも一つの更なる文字列プログラムコードコンポネントが、その更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを該システムが実行したとき、特にその更なる文字列プログラムコードコンポネントの該プログラムコードセグメントによって用意された該ファンクショナリティを特定するためのパラメータとして、戻り値を使用し、その際にその戻り値の使用が該戻り値の自然言語アノテーションを基になされることができる請求項2に記載する方法。
- 所定の類似性尺度に基づいて該定義文字列(12)に対し所定の類似性を示す入力文字列を受け取った際に該プログラムコードセグメント(14)によって実装されたファンクショナリテを実行するように該システム(100)が設けられている請求項1から3までのうちの一つに記載する方法。
- 前記プログラムコードセグメント(14)が前記システム(100)と連結された機器(30; 32; 34; 36)の一つを制御するためのファンクショナリティを実装している請求項4に記載する方法。
- 該プログラムコードセグメント(14)またはパラメータ入力のための該メソッドが該文字列プログラムコードコンポネント(10)とユーザー(42)の間のダイアログを実装している請求項4または5のうちの一つに記載する方法。
- 前記ダイアログが該プログラムコードセグメント(14)側で実装されたファンクショナリティの特定のためのパラメータ入力に使われる請求項6に記載する方法。
- 前記ダイアログが該ユーザーと該文字列プログラムコードコンポネント(10)の間の会話を支持する請求項6または7に記載する方法。
- 該プログラムコードセグメント(14)が入力文字列を該システム(100)へ伝達するためのファンクショナリティを実装する請求項1から8までのうちの一つに記載する方法。
- 次の更なるステップを包含する請求項1から9までのうちの一つに記載する方法。
- 該システム(100)による入力文字列の受け取り(S2)、
- 入力文字列が所定の該類似尺度に基づく該定義文字列(12)と比較(S3)され、かつ
- 該入力文字列が所定の前記類似尺度に基づいて該定義文字列(12)に対し所定の類似性を示しているときに、システム(100)によって該プログラムコードセグメント(14)よって実装されたファンクショナリティが実行(S4)される。 - 次の更なるステップを包含する請求項10に記載する方法。
- 受け取った入力文字列の保存、
- 文字列プログラムコードコンポネント(10; 10')のプログラムコードセグメント(14)によって実装されたファンクショナリティの後続の実行を支持するための保存された該入力文字列の読み取り。 - 受け取った入力文字列が文字列プログラムコードコンポネント内に保存され、該文字列プログラムコードコンポネント(10; 10')の該プログラムコードセグメント(14)によって実装されたファンクショナリティの後続の実行を支持するために該文字列プログラムコードコンポネントによって読み取られる請求項11に記載の方法。
- 次の更なるステップを包含する請求項10から12までのうちの一つに記載する方法。
- 受け取った入力文字列を保存する、
- 該プログラムコードセグメントによって実装されたファンクショナリティによって該入力文字列からコンテキスト情報を導き出し、かつ
- 該システムへ該コンテキスト情報を保存する。 - 自然言語によるプログラミングの方法を包含し、次の更なるステップを包含する請求項1から3までのうちの一つに記載する方法。
- 自然言語によるプログラミング文字列の入力(S602)、
- 該プログラミング文字列が該文字列プログラムコードコンポネントの該定義文字列の少なくとも部分文字列を包含する場合における複数の文字列プログラムコードコンポネントのうちの一つの文字列プログラムコードコンポネント(210)の選択(S603)、
- 選択された該文字列プログラムコードコンポネントの該プログラムコードセグメントを基にした該プログラミン文字列に割り当てられたプログラムの作成(S604)。 - 該プログラミング文字列が選択された複数の文字列プログラムコードコンポネントの各文字列プログラムコードコンポネントの定義文字列の少なくとも部分文字列を包含するときに複数の該文字列プログラムコードコンポネントの中から複数の文字列プログラムコードコンポネントが選択され、かつその際に該プログラミング文字列に割り当てられたプログラムが前記の複数選択された文字列プログラムコードコンポネントのプログラムコードセグメントに基づいて作成される請求項14に記載する方法。
- 選択された該文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティの動的特定のための少なくとも一つのパラメータの入力のステップを包含する請求項14または15に記載する方法。
- 複数の文字列プログラムコードコンポネントのうちの諸文字列プログラムコードコンポネントの少なくとも一つの文字列プログラムコードコンポネントが、該文字列プログラムコードコンポネントの定義文字列の一部分が特定すべきパラメータとして標示されるようにパラメータ入力を支持するよう設けられている請求項1から16までのうちの一つに記載する方法。
- 一つの文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することができるパラメータに定義可能なパラメータタイプが割り当てられている請求項1から17までのうちの一つに記載する方法。
- 複数の文字列プログラムコードコンポネントの中からの諸文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントのプログラムコードセグメントがプログラムの流れを制御する制御構造を実装している請求項1から18までのうちの一つに記載する方法。
- 該プログラムコードセグメントが条件付き命令を実装し、該条件付き命令を定義する条件が該文字列プログラムコードコンポネントのプログラムコードセグメントによって実装されたファンクショナリティによって問合せされる請求項19に記載する方法。
- 該プログラムコードセグメントが条件付き命令を実装し、該条件付き命令を定義する条件が少なくとも一つのオペレータと少なくとも一つのオペランドによって定義される請求項19に記載する方法。
- 少なくとも該オペレータの一つおよび少なくとも該オペランドの一つが該文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティの特定のためのパラメータとして自然言語によるプログラミングの際に入力される請求項14および21に記載する方法。
- 該プログラミング文字列に割り当てられたプログラムの作成のステップにおいて所定のプラットフォーム上で実行可能なプログラムコードが作成される請求項14から22までのうちの一つに記載する方法。
- 一つの新たな文字列プログラムコードコンポネントを複数の文字列プログラムコードコンポネントの中の複数の文字列プログラムコードコンポネントを基に作成するステップを包含し、その際、
- その新たに作成する文字列プログラムコードコンポネントのための新たな定義文字列が指定され、
- 前記の複数の文字列プログラムコードコンポネントが請求項1に則った自然言語によるプログラミング文字列の入力によって選択され、
- その際に前記の新たに作成する文字列プログラムコードコンポネントのための一つの新たなプログラムコードセグメントが、該プログラミング文字列に割り当てられたプログラムの作成ステップにおいて作成されたプログラムコードを基に作成される
請求項14から22までのうちの一つに記載する方法。 - 複数の文字列プログラムコードコンポネント(10; 10'; 10'')を包含し、その際に一つの文字列プログラムコードコンポネント(10)がそれぞれ
- 自然言語による表現(13)を包含する定義文字列(12)、
- 自然言語による該表現(13)に割り当てられたファンクショナリティを実装する該定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)
を包含し、複数の文字列プログラムコードコンポネント(10; 10'; 10'')のうちの諸文字列プログラムコードコンポネント(10)の少なくとも一つがパラメータ入力のためのメソッド(16)を包含し、それによってこの文字列プログラムコードコンポネントが同文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することができるパラメータ入力を支持するように設けられていることを特徴とする自然言語の処理のために設けられたシステム(100)。 - 複数の文字列プログラムコードコンポネントの中の諸文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントのプログラムコードセグメント(14)によって用意されたファンクショナリティが、該ファンクショナリティが該システム(100; 200)によって実行されるとき、戻り値を供給するように設けられており、その際にその戻り値が好ましくは自然言語によってアノテーションされている請求項25に記載するシステム。
- 前記複数の文字列プログラムコードコンポネントの少なくとも一つの更なる文字列プログラムコードコンポネントが、この更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティが該システムによって実行されるとき、特にこの更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティの特定のためのパラメータとして、該戻り値を使用し、その際、その戻り値の使用が該戻り値の自然言語アノテーションを基になされるように設けられた請求項26に記載するシステム。
- 自然言語によって制御されるように設けられており、更に所定の類似性尺度に基づいて該定義文字列(12)に対して所定の類似性を示す入力文字列を受け取ったときに、該プログラムコードセグメント(14)によって実装されたファンクショナリティを実行するように設けられている請求項25から27までのうちの一つに記載するシステム(100)。
- 次のように設けられている制御装置(20)を包含する請求項28に記載するシステム(100)。
- 自然言語による表現を包含する入力文字列を受け取り、
- 該入力文字列を所定の類似性尺度に基づいて文字列プログラムコードコンポネント(10)の定義文字列(12)と比較し、かつ
- 該入力文字列が該定義文字列(12)に対して所定の類似尺度に基づいて所定の類似性を有するときに、該プログラムコードセグメント(14)によって実装されたファンクショナリティを実行する。 - 自然言語によるユーザー入力を受け取り、そこから自然言語による表現を包含する入力文字列を導き出して該制御装置(20)に転送するように設けられた入力装置(50、52)を包含する請求項29に記載するシステム(100)。
- トリガー信号、なかでも入力装置(40)のセンサーによって収集された周辺信号を受信し、該トリガー信号に対する反応として該トリガー信号に依存する自然言語による表現を包含する入力文字列を導き出し、該制御装置(20)に転送するように設けられた入力装置(40)を包含する請求項29または30に記載するシステム(100)。
- 出力信号をユーザー(42)のために自然言語で出力し、該ユーザー(42)と文字列プログラムコードコンポネント(10)の間のダイアログを支持するように設けられた出力装置(50; 54)を包含する請求項29から31までのうちの一つに記載するシステム(100)。
- 文字列プログラムコードコンポネント(10)のプログラムコードセグメント(14)によって実装されるファンクショナリティによって制御されるように設けられた装置(30; 32; 34; 36)を包含する請求項28から32までのうちの一つに記載するシステム(100)。
- 間接的に種々の文字列プログラムコードコンポネント(10; 10'; 10'')の自然言語によるコミュニケーションを支持するように設けられた請求項28から33までのうちの一つに記載するシステム(100)。
- 自然言語によるプログラミングのために引き続き設けられており、
- 自然言語によるプログラミング文字列の入力のための入力装置(240)、
- 文字列プログラムコードコンポネントを保存し、入力された該プログラミング文字列を処理するように設けられ、また諸文字列プログラムコードコンポネント(210)のうちの少なくとも一つを、入力されたプログラミング文字列が該文字列プログラムコードコンポネントの定義文字列の少なくとも部分文字列を包含するときに、選択するように設けられた制御装置(260)および
- 該プログラミング文字列に割り当てられたプログラムを少なくとも一つの選択された文字列プログラムコードコンポネントのプログラムコードセグメントを基に作成するよう設けられた一つのコードジェネレータ(282)および一つのコンパイラ(284)
を包含する請求項25から34までのうちの一つに記載するシステム(200)。 - 請求項1から24までのうちの一つに記載する方法を実行するように設けられた請求項35に記載のシステム(200)。
- 該入力装置(240)が、特に選択された文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティの特定のためのパラメータの入力または選択に関係してプログラミング文字列を編集するように設けられたエディタ(250)を包含する請求項35または36に記載するシステム(200)。
- 自然言語を処理するように設けられ、文字列プログラムコードコンポネント(10)を包含し、その際に該文字列プログラムコードコンポネント(10)が
- 自然言語による表現(13)を包含する定義文字列(12)および
- 同定義文字列(12)に一義的に割り当てられ、自然言語による前記表現(13)に割り当てられたファンクショナリティを実装するプログラムコードセグメント(14)
を包含するシステムのためであり、
パラメータ入力のためのメソッド(16)によって該文字列プログラムコードコンポネントが該文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定できるパラメータ入力を支持するように設けられることを特徴とするデータ構造(10)。 - 複数の文字列プログラムコードコンポネントを更に包含し、その際にその複数の文字列プログラムコードコンポネントの諸文字列プログラムコードコンポネントのそれぞれが
- 自然言語による表現(13)を包含する定義文字列(12)、および
- 自然言語による該表現(13)に割り当てられたファンクショナリティを実装し該定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)、
を包含し、
その際、複数の文字列プログラムコードコンポネントの諸文字列プログラムコードコンポネントの少なくとも一つの文字列プログラムコードコンポネントのプログラムコードセグメント(14)によって用意されたファンクショナリティが、システム(100; 200)によって該ファンクショナリティが実行されたときに、好ましくは自然言語によってアノテーションされている戻り値を供給するように設けられている請求項38に記載するデータ構造。 - 複数の文字列プログラムコードコンポネントの少なくとも一つの更なる文字列プログラムコードコンポネントが、この更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティがシステムによって実行されたとき、特にこの更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティの特定のためのパラメータとして、戻り値を使用し、その際にその戻り値の使用が該戻り値の自然言語によるアノテーションを基になされるように設けられている請求項39に記載するデータ構造。
- 文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することができるパラメータに定義可能なパラメータタイプが割り当てられている請求項38から40までのうちの一つに記載するデータ構造。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016107892.1 | 2016-04-28 | ||
DE102016107892 | 2016-04-28 | ||
DE102016115243.9A DE102016115243A1 (de) | 2016-04-28 | 2016-08-17 | Programmieren in natürlicher Sprache |
DE102016115243.9 | 2016-08-17 | ||
PCT/EP2017/058239 WO2017186469A1 (de) | 2016-04-28 | 2017-04-06 | Sprachgesteuertes system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019519870A true JP2019519870A (ja) | 2019-07-11 |
JP7023008B2 JP7023008B2 (ja) | 2022-02-21 |
Family
ID=60081578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019507996A Active JP7023008B2 (ja) | 2016-04-28 | 2017-04-06 | 言語によって制御されるシステム |
Country Status (11)
Country | Link |
---|---|
US (1) | US10915709B2 (ja) |
EP (1) | EP3365891B1 (ja) |
JP (1) | JP7023008B2 (ja) |
KR (1) | KR102421274B1 (ja) |
CN (1) | CN109155129B (ja) |
AU (1) | AU2017258454B9 (ja) |
CA (1) | CA3022884A1 (ja) |
DE (1) | DE102016115243A1 (ja) |
ES (1) | ES2887998T3 (ja) |
RU (1) | RU2741622C2 (ja) |
WO (1) | WO2017186469A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023209857A1 (ja) * | 2022-04-27 | 2023-11-02 | ファナック株式会社 | 機械動作指令プログラム検索装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921880B (zh) * | 2019-01-25 | 2020-10-23 | 北京航空航天大学 | 基于询问的目标定位方法、装置与电子设备 |
CN112162738B (zh) * | 2020-10-26 | 2022-11-29 | 广东粤港澳大湾区硬科技创新研究院 | 数据转化方法、装置、终端设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01121934A (ja) * | 1987-11-06 | 1989-05-15 | Hitachi Ltd | 日本語メッセージの処理方式 |
JP2000322245A (ja) * | 1999-05-13 | 2000-11-24 | Murata Mach Ltd | プログラミング装置および記憶媒体 |
JP2008020242A (ja) * | 2006-07-11 | 2008-01-31 | Shimadzu Corp | オートサンプラ制御プログラム作成支援システム及び作成支援プログラム |
JP2008145769A (ja) * | 2006-12-11 | 2008-06-26 | Hitachi Ltd | 対話シナリオ生成システム,その方法およびプログラム |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH034331A (ja) * | 1989-06-01 | 1991-01-10 | Fujitsu Ltd | 宣言的に定義された数論的関数処理方式 |
JPH07311677A (ja) * | 1994-05-18 | 1995-11-28 | Nec Corp | 操作処理装置 |
US5774860A (en) * | 1994-06-27 | 1998-06-30 | U S West Technologies, Inc. | Adaptive knowledge base of complex information through interactive voice dialogue |
US20050005266A1 (en) * | 1997-05-01 | 2005-01-06 | Datig William E. | Method of and apparatus for realizing synthetic knowledge processes in devices for useful applications |
JP2002523828A (ja) * | 1998-08-24 | 2002-07-30 | ビーシーエル コンピューターズ, インコーポレイテッド | 適応型自然言語インターフェース |
US6173441B1 (en) * | 1998-10-16 | 2001-01-09 | Peter A. Klein | Method and system for compiling source code containing natural language instructions |
US6374226B1 (en) * | 1999-08-06 | 2002-04-16 | Sun Microsystems, Inc. | System and method for interfacing speech recognition grammars to individual components of a computer program |
US7305345B2 (en) * | 2001-02-15 | 2007-12-04 | Livewire Acquisition, Inc. | Methods, systems, and computer program products for providing automated customer service via an intelligent virtual agent that is trained using customer-agent conversations |
DE10251112A1 (de) * | 2002-11-02 | 2004-05-19 | Philips Intellectual Property & Standards Gmbh | Verfahren und System zur Spracherkennung |
US6980949B2 (en) * | 2003-03-14 | 2005-12-27 | Sonum Technologies, Inc. | Natural language processor |
KR20060060019A (ko) * | 2003-08-12 | 2006-06-02 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 대화 시스템 동작 방법, 스피치 입력 인터페이스 제조방법, 대화 시스템 구성 방법, 대화 시스템 및 스피치 입력인터페이스 제조용 시스템 |
KR100725719B1 (ko) * | 2005-02-04 | 2007-06-08 | 주식회사 유진로봇 | 음성과 태스크 오브젝트 기반의 대화시스템 |
US7930168B2 (en) | 2005-10-04 | 2011-04-19 | Robert Bosch Gmbh | Natural language processing of disfluent sentences |
US7966182B2 (en) * | 2006-06-20 | 2011-06-21 | Lunis Orcutt | Voiced programming system and method |
US8589874B2 (en) | 2007-06-11 | 2013-11-19 | Microsoft Corporation | Visual interface to represent scripted behaviors |
US10095985B2 (en) * | 2008-07-24 | 2018-10-09 | Hamid Hatami-Hanza | Assisted knowledge discovery and publication system and method |
CN101196883A (zh) * | 2008-01-07 | 2008-06-11 | 刘莎 | 一种互联网信息自然语言翻译通用方法和系统 |
US8229736B2 (en) * | 2008-04-16 | 2012-07-24 | International Business Machines Corporation | Transforming a natural language request for modifying a set of subscriptions for a publish/subscribe topic string |
US8218397B2 (en) * | 2008-10-24 | 2012-07-10 | Qualcomm Incorporated | Audio source proximity estimation using sensor array for noise reduction |
US9142213B2 (en) * | 2008-12-19 | 2015-09-22 | International Business Machines Corporation | Generating vocal user interface code from a data meta-model |
FR2947923B1 (fr) * | 2009-07-10 | 2016-02-05 | Aldebaran Robotics | Systeme et procede pour generer des comportements contextuels d'un robot mobile |
WO2011063857A1 (en) * | 2009-11-30 | 2011-06-03 | Nokia Corporation | An apparatus |
FR2963132A1 (fr) * | 2010-07-23 | 2012-01-27 | Aldebaran Robotics | Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface |
US9930225B2 (en) * | 2011-02-10 | 2018-03-27 | Villmer Llc | Omni-directional camera and related viewing software |
US9201859B2 (en) * | 2011-12-15 | 2015-12-01 | Microsoft Technology Licensing, Llc | Suggesting intent frame(s) for user request(s) |
WO2013104504A1 (en) * | 2012-01-12 | 2013-07-18 | Thomson Licensing | Method and device for compiling a source program |
FR2989209B1 (fr) * | 2012-04-04 | 2015-01-23 | Aldebaran Robotics | Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot |
US9110659B2 (en) | 2012-11-20 | 2015-08-18 | International Business Machines Corporation | Policy to source code conversion |
RU2530267C2 (ru) * | 2012-11-28 | 2014-10-10 | Общество с ограниченной ответственностью "Спиктуит" | Способ коммуникации пользователя с информационной диалоговой системой |
DE212014000045U1 (de) * | 2013-02-07 | 2015-09-24 | Apple Inc. | Sprach-Trigger für einen digitalen Assistenten |
CN104239002B (zh) * | 2013-06-07 | 2019-06-14 | 上海能感物联网有限公司 | 一种用汉语自然语语音控制智能电磁炉的方法 |
US9324025B2 (en) * | 2013-06-27 | 2016-04-26 | International Business Machines Corporation | Automating natural-language interactions between an expert system and a user |
CN103885783A (zh) * | 2014-04-03 | 2014-06-25 | 深圳市三脚蛙科技有限公司 | 一种应用程序的语音控制方法及装置 |
US9430461B2 (en) * | 2014-04-11 | 2016-08-30 | International Business Machines Corporation | Mobile based lexicon and forecasting |
CN103957635A (zh) * | 2014-04-28 | 2014-07-30 | 梁涛 | 开关装置及其控制实现方法 |
CN107209780A (zh) * | 2015-01-16 | 2017-09-26 | 普华永道会计事务所 | 医疗数据交换系统和方法 |
WO2016161119A1 (en) * | 2015-04-01 | 2016-10-06 | Smartcare Consultants, Llc | System for determining behavioral patterns and deviations from determined behavioral patterns |
AU2016302371B2 (en) * | 2015-08-05 | 2021-06-24 | Equifax Inc. | Building and managing data-processing attributes for modeled data sources |
US20180039829A1 (en) * | 2016-08-04 | 2018-02-08 | Roger D. Summers | Continuous, self-executing verification worksheet system |
US10832684B2 (en) * | 2016-08-31 | 2020-11-10 | Microsoft Technology Licensing, Llc | Personalization of experiences with digital assistants in communal settings through voice and query processing |
US10469884B2 (en) * | 2016-12-12 | 2019-11-05 | The Directv Group, Inc. | Devices for presenting video program segments in accordance with definition documents |
US10372597B2 (en) * | 2017-05-03 | 2019-08-06 | International Business Machines Corporation | Software testing and verification |
EP3685337A4 (en) * | 2017-08-31 | 2021-08-25 | Selfie Stub LLC | SYSTEMS AND METHODS FOR CREATING A PERSONALIZED DIGITAL OR PHYSICAL OBJECT |
US10621978B2 (en) * | 2017-11-22 | 2020-04-14 | International Business Machines Corporation | Dynamically generated dialog |
-
2016
- 2016-08-17 DE DE102016115243.9A patent/DE102016115243A1/de not_active Ceased
-
2017
- 2017-04-06 WO PCT/EP2017/058239 patent/WO2017186469A1/de active Application Filing
- 2017-04-06 JP JP2019507996A patent/JP7023008B2/ja active Active
- 2017-04-06 US US16/096,840 patent/US10915709B2/en active Active
- 2017-04-06 AU AU2017258454A patent/AU2017258454B9/en active Active
- 2017-04-06 CA CA3022884A patent/CA3022884A1/en active Pending
- 2017-04-06 ES ES17720367T patent/ES2887998T3/es active Active
- 2017-04-06 RU RU2018137557A patent/RU2741622C2/ru active
- 2017-04-06 EP EP17720367.6A patent/EP3365891B1/de active Active
- 2017-04-06 CN CN201780026572.9A patent/CN109155129B/zh active Active
- 2017-04-06 KR KR1020187031220A patent/KR102421274B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01121934A (ja) * | 1987-11-06 | 1989-05-15 | Hitachi Ltd | 日本語メッセージの処理方式 |
JP2000322245A (ja) * | 1999-05-13 | 2000-11-24 | Murata Mach Ltd | プログラミング装置および記憶媒体 |
JP2008020242A (ja) * | 2006-07-11 | 2008-01-31 | Shimadzu Corp | オートサンプラ制御プログラム作成支援システム及び作成支援プログラム |
JP2008145769A (ja) * | 2006-12-11 | 2008-06-26 | Hitachi Ltd | 対話シナリオ生成システム,その方法およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023209857A1 (ja) * | 2022-04-27 | 2023-11-02 | ファナック株式会社 | 機械動作指令プログラム検索装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3365891A1 (de) | 2018-08-29 |
KR102421274B1 (ko) | 2022-07-15 |
EP3365891B1 (de) | 2021-06-09 |
CN109155129A (zh) | 2019-01-04 |
US10915709B2 (en) | 2021-02-09 |
WO2017186469A1 (de) | 2017-11-02 |
ES2887998T3 (es) | 2021-12-29 |
DE102016115243A1 (de) | 2017-11-02 |
AU2017258454A1 (en) | 2018-12-06 |
CA3022884A1 (en) | 2017-11-02 |
CN109155129B (zh) | 2023-05-12 |
AU2017258454B9 (en) | 2022-06-16 |
JP7023008B2 (ja) | 2022-02-21 |
RU2018137557A (ru) | 2020-05-28 |
KR20190042490A (ko) | 2019-04-24 |
RU2741622C2 (ru) | 2021-01-29 |
RU2018137557A3 (ja) | 2020-05-28 |
AU2017258454B2 (en) | 2022-04-14 |
US20190121854A1 (en) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eppler et al. | PyNEST: a convenient interface to the NEST simulator | |
US6877155B1 (en) | System and method for generating target language code utilizing an object oriented code generator | |
CN106598556A (zh) | 用户界面生成方法及装置 | |
Hough | Incremental semantics driven natural language generation with self-repairing capability | |
CN110941427B (zh) | 代码生成方法及代码生成器 | |
Çetinkaya et al. | Model continuity in discrete event simulation: A framework for model-driven development of simulation models | |
JP2019519870A (ja) | 言語によって制御されるシステム | |
Sredojević et al. | ALAS: agent-oriented domain-specific language for the development of intelligent distributed non-axiomatic reasoning agents | |
Messina et al. | Biographbot: a conversational assistant for bioinformatics graph databases | |
Costagliola et al. | Extending local context-based specifications of visual languages | |
Staub | xLogo online-a web-based programming IDE for Logo | |
Bergmann et al. | Model generation in SLX using CMSD and XML stylesheet transformations | |
CN111967247A (zh) | 基于函数声明的自然语言语义表示方法、装置和电子设备 | |
Perzylo et al. | Generating grammars for natural language understanding from knowledge about actions and objects | |
Weigelt et al. | How to Prepare an API for Programming in Natural Language. | |
Barashev | Translating semantic networks to UML class diagrams | |
Krainz et al. | Accapto, a generic design and development toolkit for accessible mobile apps | |
EP3121711B1 (en) | Action designing device and action designing program | |
Chen et al. | The knowledge base development for the web content accessibility guidelines | |
Van Khanh et al. | Development of Matlab/Simulink Library for Unsupported Microcontrollers, Case Study: STM32F407 | |
KR20200079702A (ko) | 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템 | |
Erbad et al. | A Hybrid Framework to Program Smart Environments | |
Perez et al. | LabVIEW DSP-a hands-on DSP educational platform | |
Pan | An innovative course in parallel computing | |
Alkhalifah et al. | Relational Algebra Interpreter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210706 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7023008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |