JP7023008B2 - 言語によって制御されるシステム - Google Patents
言語によって制御されるシステム Download PDFInfo
- Publication number
- JP7023008B2 JP7023008B2 JP2019507996A JP2019507996A JP7023008B2 JP 7023008 B2 JP7023008 B2 JP 7023008B2 JP 2019507996 A JP2019507996 A JP 2019507996A JP 2019507996 A JP2019507996 A JP 2019507996A JP 7023008 B2 JP7023008 B2 JP 7023008B2
- Authority
- JP
- Japan
- Prior art keywords
- program code
- string
- character string
- code component
- programming
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 139
- 230000014509 gene expression Effects 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 claims description 3
- 238000011524 similarity measure Methods 0.000 description 11
- 239000011800 void material Substances 0.000 description 10
- 206010037660 Pyrexia Diseases 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 206010022000 influenza Diseases 0.000 description 6
- 230000015654 memory Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing 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
- 235000003560 Valerianella locusta Nutrition 0.000 description 2
- 240000004668 Valerianella locusta Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 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
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 208000006820 Arthralgia Diseases 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
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 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
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 201000009240 nasopharyngitis Diseases 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000006403 short-term memory Effects 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
- 230000001755 vocal effect Effects 0.000 description 1
Images
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)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
- Devices For Executing Special Programs (AREA)
- User Interface Of Digital Computer (AREA)
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 (12)
- システム(100)における、自然言語によるプログラミングのための方法であって、
前記システムは、制御装置と、入力装置と、コードジェネレータ(282)およびコンパイラ(284)のうちの少なくとも1つとを備え、
前記方法は、
- 該システム(100)内に、複数の文字列プログラムコードコンポネント(10、10'、10'')を用意し保存するステップ(S1)であって、各前記文字列プログラムコードコンポネント(10)は、自然言語における表現(13)を包含する定義文字列(12)と、自然言語による該表現(13)に割り当てられたファンクショナリティを実装する該定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)とを備える、ステップと、
- 自然言語によるプログラミング文字列を前記入力装置により受け取る受け取りステップ(S602)と、
- 前記プログラミング文字列が前記複数の文字列プログラムコードコンポネントのうちの少なくとも1つの文字列プログラムコードコンポネント(210)の前記定義文字列の少なくとも1つの部分文字列を包含する場合に、前記少なくとも1つの文字列プログラムコードコンポネントを前記制御装置により選択する選択ステップ(S603)と、
- 選択された前記文字列プログラムコードコンポネントの前記プログラムコードセグメントを基に前記プログラミング文字列に割り当てられたプログラムを前記コードジェネレータまたは前記コンパイラにより作成する作成ステップ(S604)か、又は選択された前記文字列プログラムコードコンポネントの前記プログラムコードセグメントによって実装された前記ファンクショナリティを前記制御装置により実行する実行ステップと、を備え、
前記複数の文字列プログラムコードコンポネントのうちの少なくとも1つの文字列プログラムコードコンポネントは、パラメータ入力のためのメソッド(16)を包含し、
この文字列プログラムコードコンポネントが、この文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することを可能にするパラメータ入力を支持するように設けられていることを特徴とする、方法。 - システム(100)における、自然言語によるプログラミングのための方法であって、
前記システムは、制御装置と、入力装置と、コードジェネレータ(282)およびコンパイラ(284)のうちの少なくとも1つとを備え、
前記方法は、
- 該システム(100)内に、複数の文字列プログラムコードコンポネント(10、10'、10'')を用意し保存するステップ(S1)であって、各前記文字列プログラムコードコンポネント(10)は、自然言語における表現(13)を包含する定義文字列(12)と、自然言語による該表現(13)に割り当てられたファンクショナリティを実装する該定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)とを備える、ステップと、
- 自然言語によるプログラミング文字列を前記入力装置により受け取る受け取りステップ(S602)と、
- 前記プログラミング文字列が前記複数の文字列プログラムコードコンポネントのうちの少なくとも1つの文字列プログラムコードコンポネント(210)の前記定義文字列の少なくとも1つの部分文字列を包含する場合に、前記少なくとも1つの文字列プログラムコードコンポネントを前記制御装置により選択する選択ステップ(S603)と、
- 選択された前記文字列プログラムコードコンポネントの前記プログラムコードセグメントを基に前記プログラミング文字列に割り当てられたプログラムを前記コードジェネレータまたは前記コンパイラにより作成する作成ステップ(S604)か、又は選択された前記文字列プログラムコードコンポネントの前記プログラムコードセグメントによって実装された前記ファンクショナリティを前記制御装置により実行する実行ステップと、を備え、
複数の該文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントの該プログラムコードセグメントによって用意されたファンクショナリティが、このファンクショナリティが該システムによって実行されたときに、戻り値を供給し、その際にこの戻り値が好ましくは自然言語によってアノテーションされており、また複数の該文字列プログラムコードコンポネントのうちの少なくとも一つの更なる文字列プログラムコードコンポネントが、その更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを該システムが実行したとき、戻り値を使用し、その際にその戻り値の使用が該戻り値の自然言語アノテーションを基になされることができる、方法。 - 前記選択ステップにおいて、前記プログラミング文字列が前記複数の文字列プログラムコードコンポネントのうちの2以上の文字列プログラムコードコンポネント各々の前記定義文字列の少なくとも1つの部分文字列を包含する場合に、前記2以上の文字列プログラムコードコンポネントを選択し、
前記方法が前記作成ステップを備える場合において、選択された前記2以上の文字列プログラムコードコンポネントの前記プログラムコードセグメントを基に前記プログラミング文字列に割り当てられたプログラムが作成され、
前記方法が前記実行ステップを備える場合において、選択された前記2以上の文字列プログラムコードコンポネントの前記プログラムコードセグメントによって実装された前記ファンクショナリティが実行される、請求項1又は請求項2に記載する方法。 - 該プログラムコードセグメント(14)またはパラメータ入力のための該メソッドが該文字列プログラムコードコンポネント(10)とユーザー(42)の間のダイアログを実装し、該ダイアログが該ユーザーと該文字列プログラムコードコンポネント(10)の間の会話を支持する請求項1に記載する方法。
- 次の更なるステップを包含する請求項1から請求項4の何れか一つに記載する方法。
- 受け取ったプログラミング文字列を保存し、
- 文字列プログラムコードコンポネント(10;10')のプログラムコードセグメント(14)によって実装されたファンクショナリティの後続の実行を支持するための保存された該プログラミング文字列を読み取り、
- 該プログラムコードセグメントによって実装されたファンクショナリティによって該プログラミング文字列からコンテキスト情報を導き出し、かつ
- 該システムへ該コンテキスト情報を保存する。 - 前記複数の文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントが、該文字列プログラムコードコンポネントの定義文字列の一部分が特定すべきパラメータとして標示されるようにパラメータ入力を支持するよう設けられている請求項1に記載する方法。
- 一つの文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することができるパラメータに定義可能なパラメータタイプが割り当てられている請求項1に記載する方法。
- 前記複数の文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントのプログラムコードセグメントがプログラムの流れを制御する制御構造を実装している請求項1又は請求項2に記載する方法。
- 一つの新たな文字列プログラムコードコンポネントを複数の文字列プログラムコードコンポネントの中の複数の文字列プログラムコードコンポネントを基に作成するステップを包含し、その際、
- その新たに作成する文字列プログラムコードコンポネントのための新たな定義文字列が指定され、
- 前記の複数の文字列プログラムコードコンポネントが自然言語によるプログラミング文字列の入力によって選択され、
- その際に前記の新たに作成する文字列プログラムコードコンポネントのための一つの新たなプログラムコードセグメントが、該プログラミング文字列に割り当てられたプログラムの作成ステップにおいて作成されたプログラムコードを基に作成される
請求項1又は請求項2に記載する方法。 - 自然言語の処理のために設けられたシステム(100)であって、
制御装置と、入力装置と、コードジェネレータ(282)およびコンパイラ(284)のうちの少なくとも1つと、複数の文字列プログラムコードコンポネント(10;10';10'')とを包含し、
前記複数の文字列プログラムコードコンポネントに含まれる各文字列プログラムコードコンポネント(10)は、自然言語による表現(13)を包含する定義文字列(12)と、自然言語による該表現(13)に割り当てられたファンクショナリティを実装する前記定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)とを備え、
前記入力装置(240)は、自然言語によるプログラミング文字列を入力するために構成され、
前記制御装置(260)は、前記文字列プログラムコードコンポネントを保存し、入力された前記プログラミング文字列を処理するように構成され、
前記制御装置は、入力された前記プログラミング文字列が前記複数の文字列プログラムコードコンポネントのうちの少なくとも1つの文字列プログラムコードコンポネントの前記定義文字列の少なくとも1つの部分文字列を包含する場合に、前記少なくとも1つの文字列プログラムコードコンポネントを選択するように構成され、
前記コードジェネレータ(282)またはコンパイラ(284)が、選択された前記少なくとも1つの文字列プログラムコードコンポネントの前記プログラムコードセグメントを基に前記プログラミング文字列に割り当てられたプログラムを作成するように構成されるか、又は、前記制御装置が、選択された前記少なくとも1つの前記文字列プログラムコードコンポネントの前記プログラムコードセグメントによって実装された前記ファンクショナリティを実行するように構成され、
前記複数の文字列プログラムコードコンポネント(10;10';10'')のうちの少なくとも1つの文字列プログラムコードコンポネント(10)は、パラメータ入力のためのプロセス(16)を包含し、
この文字列プログラムコードコンポネントが、この文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティを特定することを可能にするパラメータ入力を支持するように設けられていることを特徴とする、システム。 - 自然言語の処理のために設けられたシステム(100)であって、
制御装置と、入力装置と、コードジェネレータ(282)およびコンパイラ(284)のうちの少なくとも1つと、複数の文字列プログラムコードコンポネント(10;10';10'')とを包含し、
前記複数の文字列プログラムコードコンポネントに含まれる各文字列プログラムコードコンポネント(10)は、自然言語による表現(13)を包含する定義文字列(12)と、自然言語による該表現(13)に割り当てられたファンクショナリティを実装する前記定義文字列(12)に一義的に割り当てられたプログラムコードセグメント(14)とを備え、
前記入力装置(240)は、自然言語によるプログラミング文字列を入力するために構成され、
前記制御装置(260)は、前記文字列プログラムコードコンポネントを保存し、入力された前記プログラミング文字列を処理するように構成され、
前記制御装置は、入力された前記プログラミング文字列が前記複数の文字列プログラムコードコンポネントのうちの少なくとも1つの文字列プログラムコードコンポネントの前記定義文字列の少なくとも1つの部分文字列を包含する場合に、前記少なくとも1つの文字列プログラムコードコンポネントを選択するように構成され、
前記コードジェネレータ(282)またはコンパイラ(284)が、選択された前記少なくとも1つの文字列プログラムコードコンポネントの前記プログラムコードセグメントを基に前記プログラミング文字列に割り当てられたプログラムを作成するように構成されるか、又は、前記制御装置が、選択された前記少なくとも1つの前記文字列プログラムコードコンポネントの前記プログラムコードセグメントによって実装された前記ファンクショナリティを実行するように構成され、
複数の文字列プログラムコードコンポネントのうちの少なくとも一つの文字列プログラムコードコンポネントのプログラムコードセグメント(14)によって用意されたファンクショナリティが、該ファンクショナリティが該システム(100)によって実行されるとき、戻り値を供給するように設けられており、その際にその戻り値が好ましくは自然言語によってアノテーションされており、また該複数の文字列プログラムコードコンポネントの少なくとも一つの更なる文字列プログラムコードコンポネントが、この更なる文字列プログラムコードコンポネントのプログラムコードセグメントによって用意されたファンクショナリティが該システムによって実行されるとき、該戻り値を使用し、その際、その戻り値の使用が該戻り値の自然言語アノテーションを基になされるように設けられる、システム。 - トリガー信号を受信し、該トリガー信号に対する反応として該トリガー信号に依存する自然言語による表現を包含する入力文字列を導き出し、該制御装置(20)に転送するように設けられた入力装置(40)を包含する請求項10又は請求項11に記載するシステム(100)。
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 JP2019519870A (ja) | 2019-07-11 |
JP7023008B2 true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921880B (zh) * | 2019-01-25 | 2020-10-23 | 北京航空航天大学 | 基于询问的目标定位方法、装置与电子设备 |
CN112162738B (zh) * | 2020-10-26 | 2022-11-29 | 广东粤港澳大湾区硬科技创新研究院 | 数据转化方法、装置、终端设备及存储介质 |
WO2023209857A1 (ja) * | 2022-04-27 | 2023-11-02 | ファナック株式会社 | 機械動作指令プログラム検索装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01121934A (ja) * | 1987-11-06 | 1989-05-15 | Hitachi Ltd | 日本語メッセージの処理方式 |
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 |
EP1680780A1 (en) * | 2003-08-12 | 2006-07-19 | Philips Intellectual Property & Standards GmbH | Speech input interface for dialog systems |
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 |
JP5363589B2 (ja) * | 2008-12-19 | 2013-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ・メタモデルから音声ユーザ・インタフェース・コードを生成するための方法およびシステム |
FR2947923B1 (fr) * | 2009-07-10 | 2016-02-05 | Aldebaran Robotics | Systeme et procede pour generer des comportements contextuels d'un robot mobile |
CN102687529B (zh) * | 2009-11-30 | 2016-10-26 | 诺基亚技术有限公司 | 用于处理音频信号的方法和装置 |
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 | Общество с ограниченной ответственностью "Спиктуит" | Способ коммуникации пользователя с информационной диалоговой системой |
KR20240132105A (ko) * | 2013-02-07 | 2024-09-02 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
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 |
US10860549B2 (en) * | 2015-08-05 | 2020-12-08 | 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 |
US20190066000A1 (en) * | 2017-08-31 | 2019-02-28 | Selfie Stub LLC | Systems and methods for creating a personalized digital or physical item |
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 JP JP2019507996A patent/JP7023008B2/ja active Active
- 2017-04-06 WO PCT/EP2017/058239 patent/WO2017186469A1/de active Application Filing
- 2017-04-06 ES ES17720367T patent/ES2887998T3/es active Active
- 2017-04-06 KR KR1020187031220A patent/KR102421274B1/ko active IP Right Grant
- 2017-04-06 CA CA3022884A patent/CA3022884A1/en active Pending
- 2017-04-06 CN CN201780026572.9A patent/CN109155129B/zh active Active
- 2017-04-06 US US16/096,840 patent/US10915709B2/en active Active
- 2017-04-06 RU RU2018137557A patent/RU2741622C2/ru active
- 2017-04-06 AU AU2017258454A patent/AU2017258454B9/en active Active
- 2017-04-06 EP EP17720367.6A patent/EP3365891B1/de active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 対話シナリオ生成システム,その方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
ES2887998T3 (es) | 2021-12-29 |
RU2018137557A3 (ja) | 2020-05-28 |
CN109155129B (zh) | 2023-05-12 |
KR20190042490A (ko) | 2019-04-24 |
RU2018137557A (ru) | 2020-05-28 |
RU2741622C2 (ru) | 2021-01-29 |
AU2017258454A1 (en) | 2018-12-06 |
AU2017258454B9 (en) | 2022-06-16 |
AU2017258454B2 (en) | 2022-04-14 |
CN109155129A (zh) | 2019-01-04 |
KR102421274B1 (ko) | 2022-07-15 |
WO2017186469A1 (de) | 2017-11-02 |
CA3022884A1 (en) | 2017-11-02 |
EP3365891B1 (de) | 2021-06-09 |
DE102016115243A1 (de) | 2017-11-02 |
EP3365891A1 (de) | 2018-08-29 |
US10915709B2 (en) | 2021-02-09 |
US20190121854A1 (en) | 2019-04-25 |
JP2019519870A (ja) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gabbrielli et al. | Programming languages: principles and paradigms | |
US8117022B2 (en) | Method and system for machine understanding, knowledge, and conversation | |
RU2509350C2 (ru) | Способ семантической обработки естественного языка с использованием графического языка-посредника | |
JP7023008B2 (ja) | 言語によって制御されるシステム | |
Basu et al. | Knowledge-driven natural language understanding of english text and its applications | |
JP2024501045A (ja) | 共通仕様書からの多くのプログラミング言語のための慣用語ソフトウェアドキュメンテーションの作成 | |
Alexandru et al. | Replicating parser behavior using neural machine translation | |
Steedman | Evolutionary basis for human language: Comment on “toward a computational framework for cognitive biology: Unifying approaches from cognitive neuroscience and comparative cognition” by tecumseh fitch | |
Perzylo et al. | Generating grammars for natural language understanding from knowledge about actions and objects | |
Zimmerer et al. | Semantic Fusion for Natural Multimodal Interfaces using Concurrent Augmented Transition Networks | |
Dombayci et al. | Improving automation standards via semantic modelling: Application to ISA88 | |
Gradl et al. | Data integration for the arts and humanities: a language theoretical concept | |
Paine | Spreadsheet structure discovery with logic programming | |
Hromei et al. | Embedding contextual information in seq2seq models for grounded semantic role labeling | |
TW201537372A (zh) | 動作設計裝置及動作設計程式產品 | |
Weigelt et al. | How to Prepare an API for Programming in Natural Language. | |
Kunic | Cognitive program compiler | |
Noh et al. | Using UIMA to Structure An Open Platform for Textual Entailment. | |
CN112347793B (zh) | 一种基于规则与学习的语义解析方法、装置和电子设备 | |
Wheatman | Programming without program or how to program in natural language utterances | |
Gordon et al. | English for spoken programming | |
Deveci | Transformer models for translating natural language sentences into formal logical expressions | |
Heldal et al. | Chatbot Generation for Open Data Accessibility | |
Cremers | NL from logic: connecting entailment and generation | |
KR20200079702A (ko) | 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템 |
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 |