JP2021009665A - ファイル生成方法、装置、デバイス及び記憶媒体 - Google Patents
ファイル生成方法、装置、デバイス及び記憶媒体 Download PDFInfo
- Publication number
- JP2021009665A JP2021009665A JP2019204473A JP2019204473A JP2021009665A JP 2021009665 A JP2021009665 A JP 2021009665A JP 2019204473 A JP2019204473 A JP 2019204473A JP 2019204473 A JP2019204473 A JP 2019204473A JP 2021009665 A JP2021009665 A JP 2021009665A
- Authority
- JP
- Japan
- Prior art keywords
- skill
- file
- node
- attribute information
- description file
- 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.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
-
- 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/35—Creation or generation of source code model driven
-
- 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/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
スキルの属性情報を受信することと、
前記スキルの業務ロジックを編集することと、
前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成することと、を含む。
開発側からの前記属性情報を受信することを含み、前記属性情報は、前記スキルのタイプ、基本情報及びスキルエントリ意図のうちの少なくとも1つを含み、
ここで、前記スキルの基本情報は、前記スキルの名称、アイコン、所有権情報、宣伝術、表示画像、費用情報のうちの少なくとも1つを含む。
前記スキルの業務ロジックに含まれるシーンに基づいて、使用する必要がある記述ファイル構成の各要素を確定することと、
各シーン間の関係に基づいて前記各要素間の関係を確定することと、
編集インタフェースで前記各要素の属性及び前記各要素間の関係を編集することと、を含む。
前記属性情報、前記業務ロジックに対応する前記各要素、前記各要素間の関係、及び前記各要素の属性に基づいて、JSON又はXMLフォーマット構成データの記述ファイルを生成することを含む。
スキルの属性情報を受信するように構成される受信モジュールと、
前記スキルの業務ロジックを編集するように構成される編集モジュールと、
前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成するように構成される生成モジュールと、を含む。
ここで、前記スキルの基本情報は、前記スキルの名称、アイコン、所有権情報、宣伝術、表示画像、費用情報のうちの少なくとも1つを含む。
前記スキルの業務ロジックに含まれるシーンに基づいて、使用する必要がある記述ファイル構成の各要素を確定するように構成される第1の確定サブモジュールと、
各シーン間の関係に基づいて前記各要素間の関係を確定するように構成される第2の確定サブモジュールと、
編集インタフェースにおいて前記各要素の属性及び前記各要素間の関係を編集するように構成される編集サブモジュールと、を含む。
ある実施形態において、デバイスは、上記ファイル生成方法をデバイスに実行させるためのプログラムを記憶するメモリ及び前記メモリに記憶されたプログラムを実行するプロセッサを有する構成とすることができる。前記デバイスは、他の装置又は通信ネットワークと通信するための通信インタフェースを含むこともできる。
ステップS11において、スキルの属性情報を受信する。
スキルは、人工知能インタラクション装置におけるインターネットサービスのアプリケーションを含んでもよい。対話型人工知能装置を例としたとき、ユーザが装置に「今日の天気はどうですか」と言った場合、装置が「今日は曇りであり、温度はxxx...」と回答した場合、装置のバックグラウンドの天気サービスは、ユーザのこの問合せを理解し、それに対する解答を与えることができ、この場合、天気サービスがスキルの一つである。
スキルの属性情報は、開発側の対話型人工知能システムのオープンプラットフォーム、例えばDBP( DuerOS BOT Platform、度秘BOTプラットフォーム)にてスキルを作成する際に生成される。ここで、DuerOSは対話型人工知能操作システムであり、DBPはduerOSのオープンプラットフォームである。BOTはチャットロボット対話システムであってもよい。
スキルの業務ロジックは、そのスキルを実現するために必要な様々なプロットを含んでもよい。例えば、どのようにゲームに進むか、ゲームに進んでから現れるシーンの順番、どのように次のシーンに進むか等である。シーンには、案内情報、バックグラウンド、音楽、会話等が含まれていてもよい。
例えば、可視化エディタのインタフェースにおいて、スキルの属性情報や業務ロジックに従った編集を完了した後、開発者がコードエクスポートコントロールをクリックする操作に応じて、記述ファイル構成に従った記述ファイルを自動的に生成することができる。
ステップS21において、前記スキルの業務ロジックに含まれるシーンに基づいて、使用する必要がある記述ファイル構成の各要素を確定する。
ステップS22において、各シーン間の関係に基づいて前記各要素間の関係を確定する。
ステップS23において、編集インタフェースにおいて前記各要素の属性及び前記各要素間の関係を編集する。
編集インタフェースは、ページプレゼンテーション状態又はドキュメント編集状態のいずれであってもよい。ページプレゼンテーション状態にある編集インタフェースには、構成プレゼンテーション領域及び編集領域が表示される。ここで、構成プレゼンテーション領域は、インタフェースプレゼンテーション言語で記述された各要素のフレーム構造・階層関係を含み、前記編集領域は、要素の編集可能属性を含む。スキルの業務ロジックに従って、使用する必要がある要素(単に対象要素と呼ぶ)を決定した後、要素選択操作に応じて、構成プレゼンテーション領域にて表示されたフレーム構造・階層関係から対象要素を選択することができる。対象要素を選択した後、対象要素に対する編集操作に応じて、対象要素の属性の論理記述コードを編集領域にて編集することができる。編集インタフェースがドキュメント編集状態にある場合、編集インタフェースは、現在編集している要素の論理記述コードを表示する。
編集インタフェースにおいてコード導出コントロールを表示し、このコード導出コントロールの操作に応じて、現在編集している論理記述コードをインタフェースプレゼンテーション言語で定義されたフォーマット、例えばJSON( JavaScript Object Notation,JavaScriptのオブジェクト表記)形式のファイルとして導出し、指定された格納場所に保存する。例えば、可視化エディタの編集インタフェースにおいて、スキルに応じた属性情報及び業務ロジックの編集が完了した後、開発者のコード導出コントロールをクリックする操作に応じて、記述ファイル構成に従った記述ファイルを自動生成することができる。
例えば、セッション要素の属性として、ゲーム名、ゲームの種類、含まれるノード、バックグラウンド画像、セッションタグ等が挙げられる。また、例えば、ノード要素の属性は、ノードタグ、ノード名称、ノードタイプ、ノードが対応するシーン等を含むことができる。表示要素の属性は、テンプレート、DPL( DuerOS Presentation Language、DuerOS表示言語)記述などの属性を含むことができる。これらの属性の具体的な内容は、可視化エディタのインタフェースにおいて設定することができる。
記述ファイル構成はDAG( Directed Acyclic Graph、有向グラフ)に類似し、有向グラフは、ルートノードから二分木構造または他の木構造に分かれ、条件に応じて、異なる分岐に沿って下方に進むことができる。各ノードは、1つのシーンに対応することができる。各シーンは、複数のセグメントまたはステップを含むことができる。例えば、歓迎ノードはルートノードに対応することができる。退出ノードは退出が必要な場合に対応することができる。インタラクションノードは、インタラクションが必要な様々なシーンに対応することができる。自動ジャンプノードは、遷移シーンに対応することができる。
記述ファイルの生成後、記述ファイルをスキルサービスコードに変換し、スキルサービスコードを利用して対応するスキルサービスをセッティングする。図3に示すように、記述ファイルをコード化するプロセスは、下記のステップS31を含む。
例えば、記述ファイル中のリソースを再構成した後、記憶側に保存し、その記憶側におけるリソースの格納場所を取得する。記憶側は、様々なデータベースを含むことができる。記述ファイル中の画像は画像データベースに、映像は映像データベースに、音声は音声データベースに保存される。また、例えば、記述ファイル中のページアドレス及び/又はページコンテンツはページデータベースに保存する。
スキルエントリ意図、ノードに対応するシーン意図など、スキルの含む様々な意図を記述ファイルから抽出して、これらの意図を開発側に登録することができる。開発側では、意図に応じて、その意図がどのスキルサービスに属するか、そのスキルサービスがどのサーバに格納されているか等を特定することができる。さらに、意図には複数の単語が含まれていてもよく、意図中の単語を分割して開発側の辞書に登録してもよい。また、意図を一般化し、同じ意図を似た話術に関連付けることもできる。
例えば、記述ファイルに含まれるスキルの属性情報、業務ロジック、リソース再構成後の格納場所、及び意図登録結果に基づいて、前記記述ファイルをスキルサービスコードに変換する。PHP( Hypertext Preprocessor、ハイパーテキストプリプロセッサ)のコードテンプレートなどのプログラミング言語が予め設定されていてもよい。コード化の過程では、そのプログラミング言語のコードジェネレータを用いて記述ファイルをあるプログラミング言語フォーマットのコードに変換する。
方式1、前記スキルサービスコードを指定されたサービスデプロイへ保存する。
方式2、前記スキルサービスコード及び前記記述ファイルを指定されたサービスデプロイに保存する。
サービススデプロイは、対象記憶システム、例えばBOS( Baidu Object Storage)システムを含んでもよく、CDN( Content Delivery Network、コンテンツソーティング)等を含んでもよい。
受信モジュール51は、スキルの属性情報を受信するように構成される。
編集モジュール52は、前記スキルの業務ロジックを編集するように構成される。
生成モジュール53は、前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成するように構成される。
1つの実施形態において、図5に示すように、前記編集モジュール52は、第1の確定サブモジュール521、第2の確定サブモジュール522及び編集サブモジュール523を含む。
第2の確定サブモジュール522は、各シーン間の関係に基づいて前記各要素間の関係を確定するように構成される。
編集サブモジュール523は、編集インタフェースにおいて前記各要素の属性及び前記各要素間の関係を編集するように構成される。
応用例一
開発者は、このシステムを通じて、テンプレートやカスタム業務ロジックを選択し、プロット記述ファイルを可視化編集の形で作成することができる。システムは、プロット記述ファイルから対応するスキルサービスコードを生成し、セッティングを完了させることができる。開発者は、特定のアプリケーションを検証するために、オンラインシミュレーションおよび実機試験を行うことができる。プロットを可視化編集することによって、サービス更新技術は、オンラインでサービスを更新し、TTS( Text To Speech、テキストから音声へ)のカスタム合成は、サービスの影響力を向上させ、アプリケーションに更なる個性をもたらすことができる。また、既存のシナリオ化されて記述されたゲームに対して、既存のゲームのシナリオを本件のプロット記述ファイル構成のファイルに変換移植し、コードを生成し、デプロイし、対話型音声サービスを実現することも可能である。
ビュー(view)レイヤは、可視化エディタの機能を実現し、出力結果はプロット記述ファイルである。ビューレイヤでは、プロット記述ファイルのみを編集し、プロット記述ファイルを保存しない。例えば、BOSにはプロット記述ファイルが格納される。ビューレイヤは、開発側からのスキル属性情報を受信することができる。ビューレイヤでは、フロントエンドユーザ設計や編集スキルの業務ロジックのテキスト、グラフィック等の内容を可視化エディタで実現することができる。
コントローラ(controller)レイヤは、プロット記述ファイルに基づきコードを生成し、サービスをセッティングする。コントローラレイヤは、サービス生成側を含むことができる。
DAO( data access object、データアクセスオブジェクト)レイヤなどの記憶レイヤは、スキルのプロット記述ファイルを記憶するプラットフォームデータベースとして使用することができる。
さらに、当該システムは、オープンプラットフォームを介してデバイスと相互作用することもできる。例えば、開発プラットフォーム、例えばDBPに統合されたBOTエンジンによって、デバイスと相互作用する。
1)コードを生成する。プロット記述ファイルを読み出し、その構造、内容、配置などを得て、コントローラレイヤにてPHPやその他のプログラミング言語のコードを生成する。
2)リソースを変換する。プロット記述ファイル中のリソースを再構成して指定の場所、DAO( data access object、データアクセスオブジェクト)レイヤ、CDNなどに置く。コード化の際、プロット記述ファイル中の画像や音声などのリソースをコントローラレイヤにより再分割し整理する。例えば、リソース内の画像を新しい記憶デバイスに転送し、リソース内の音声として出力されたテキストをTTS方式によりテキストに変換し、SSML( Speech Synthesis Markup Language、音声合成マークアップ言語)接続などを行う。そして、再整理したリソースを、指定された場所、例えば異なるDAO層や外部サービスに格納する。再整理の対象となるリソースの格納場所は、生成されたコードに含まれていてもよい。
コード化の過程において意図や辞書の登録を行うことも可能である。例えば、プロット記述ファイルからスキルエントリ意図及び各シーンに対応する意図を抽出する。これらの意図は、対話型人工知能システムのオープンプラットフォーム、例えばDBPに登録される。各意図は、オープンプラットフォームの辞書システムに保存される1つ又は複数の単語を含んでもよい。このように、オープンプラットフォームにおいて、ユーザの音声が受信されれば、ユーザの音声は意図として認識され、意図が属するスキルが決定される。また、同一の意図を示す異なる表現の関連話術を辞書システムに格納することもできる。サービスをセッティングした後、オープンプラットフォームがユーザ音声を受け取ると、音声内の意図から所属スキルを探し、その意図をそのスキルをセッティングしたサーバ処理に送信することができる。
3) サービスデプロイ、コントローラレイヤは、生成された実行コードを指定サーバに格納してもよいし、記述ファイルをコードとともに指定サーバに格納してもよい。サービスのコードを実行する際、当該コードに対応する記述ファイルからリソースを読み出してもよいし、当該コードが示すデータベースの格納場所からリソースを読み出してもよい。
S101において、対話型人工知能システムのオープンプラットフォームにおいてスキルを作成する。
S102において、新たなスキルタイプを割り当てる。
S103において、スキル基本情報を保存する。
S104において、スキル意図情報を保存する。
ここで、スキルは、Webサービス( Web Services )によるインターネットアプリケーション、例えば、ゲームサービス、ストーリーサービスなどを含んでもよく、スキルはアプリケーションサービスと称されてもよい。
スキルの種類は、例えば、ゲーム、ストーリー等、様々であってもよい。
スキル基本情報には、例えば、「ゲームA」等の名前、アイコン、作者、有料か否か、宣伝術、所有権情報、表示画像等が含まれる。
スキル意図情報は、スキルエントリ意図を含むことができる。スキルエントリ意図は、スキルにどのようにして入れるかを表現する。例えば、「ゲームAを開く」、「ゲームAをプレイする」等である。
S106において、生成されたプロット記述ファイルは、BOSシステムなどの指定された場所に保存されることができる。
S107において、更新されたプロットが記述ファイルである場合、更新後のファイルを対象ストレージシステム、例えばBOSシステムにアップロードし、プロット記述ファイルのBOSに対応する格納アドレス、例えばURL( Uniform Resource Locator、ユニフォームリソースロケータ)を生成して保存する。
S108において、コード化時にコード生成器を用いてシナリ記述ファイルをスキルサービスコードに変換することができる。PHPや他のプログラミング言語のコードなど、複数の異なるプログラミング言語のコードに変換することができる。コード化の過程において、プロット記述ファイル中のリソースを再構成し、指定の場所に格納する。
生成されたプロット記述ファイルはそのままとし、プロット記述ファイルをコード化し、サービスを配置する際に意図表現を更新する。これにより、オンラインでのサービスにおいて、1つの意図を複数の表現に対応させることができる。例えば、可視化編集時のスキルエントリ意図は、ドアを入ることのみを含み、コード化時に「ドアに入る」という意図を複数の異なる表現「入る」、「ドアの中に入る」等にすることができる。
そして、サービスデプロイを行い、コードを特定のサーバに格納し、コードのオーディットが完了してからオンラインに発行することができる。オンラインに発行した後、プロット記述ファイルもコードをデプロイしたサーバにプッシュするようにしてもよい。
応用例二
プロット記述ファイル構成は、セッション(session)、ノード(node)、カード(card)、ショー(show)、テンプレート(template)、ヒント(hint)、スピーチ(speech)、条件関連状態(condition)、ユーザ関連状態(state)などの要素を含むことができる。ここで、card、show、templateは、表示形式に属し、showは、DPL( DuerOS Presentation Language,DuerOS表示言語)に関する表示形式及び他の拡張形式を示すことができる。hintは案内表示、speechは音声を表す。stateは、プロットにおいて現在ユーザに関係する状態、例えば、体力を示す。conditionは、環境の変化、条件、計算等に関する。例えば、風、荷物不足等がある。
JSONフォーマット記述のように、各要素に対応する属性を予め設定しておくことができる。例えば、セッション要素の属性として、ゲーム名、ゲームの種類、ノード、バックグラウンド画像、セッション識別、歓迎ノード等が挙げられる。また、例えば、ノード要素の属性は、ノードタグ、ノード名称、ノードタイプ、ノードが対応するシーン等を含むことができる。表示要素の属性は、テンプレート、DPL記述などの属性を含むことができる。これらの属性の具体的な内容は、可視化エディタのインタフェースにおいて設定することができる。
プロット記述ファイルにおいて、表示シーンはDPL記述を用いることができる。例えば、ゲームシーンには、ユーザが「店に入る」と発言し、その後、店員が「何を食べたい」と話しかけ、ユーザが「牛肉を食べたい」と話していることが含まれる。バックグラウンドサービスし、店員は「牛肉AA円」と述べ、DPL記述が実現する牛肉画像「牛肉」を提示し、店員は「この牛肉を食べますか?」と表示し、システムに戻る。なお、記述ファイルに表示すべき対話や牛肉画像等は、DPLにおいて記述することができる。
シーン1として、ゲームに入った後、「ゲームxxにようこそ、ゲーム開始と仰ってください」と表示され、再びゲームに入った後、「再びゲームのモードにようこそ、ゲームを続けると仰ってください」と表示される。表示された内容は、card、show、speechなどの様々な要素提示形式を採用することができる。このプロットは、歓迎ノードを使用することができる。
シーン2として、ゲーム中にある飲食店に入場した後、「飲食店にようこそ、何を食べますか」と表示し、再びその飲食店に入場した後、「再び飲食店にようこそ、何を食べますか」と表示する。表示された内容は、card、show、speechなどの様々な要素提示形式を採用することができる。プロットは、インタラクションノードを使用してもよい。
シーン3として、ゲームを退場する必要が生じた場合、「本当に退場なさいますか」と表示し、ユーザの確認を得てからゲームを退場する。表示された内容は、card、show、speechなどの様々な要素提示形式を採用することができる。シーンは、退出ノードを使用することができる。
上記のシーンから、各シーンに対応するノードをそれぞれ決定し、ノードにおける各属性の内容を設定し、例えばJSONフォーマットの論理記述ダミーコードを含む記述ファイルを生成する。記述ファイルには、ゲーム名、ノード、ゲームの各シーン等が含まれてもよい。
本発明の実施形態におけるプロット記述ファイルは、可視エディタを用いて生成することができる。
例えば、図8aに示すように、ユーザは、テンプレート選択インタフェースにおいて、以下の操作を行うことができる。
1)最初から新しいプレゼンテーション形式を作成する。例えば、新規作成オプションである「新規作成を最初から行う」の選択操作に応じて、新規プレゼンテーションフォームを作成するページにジャンプする。
2)コードファイル又はリソースファイルをアップロードする。例えば、アップロードファイルの選択肢である「アップロードコード」の選択操作に応じて、アップロードコードファイルやリソースファイルのページにジャンプする。
3)システムデフォルトのプレゼンテーション形式やテンプレートを選択する。例えば、あるテンプレートの選択操作に応じて、選択されたテンプレートをロードする。
テンプレート選択インタフェースでは、ユーザは好みのレイアウトテンプレートを選択してスキルを作成したり、コードファイルをアップロードして最初からスキルを作成したりすることができる。レイアウトテンプレートは、例えば、簡単な絵、長いテキスト、短いテキスト、図とテキストの混合など、複数の種類がある。
1) ページ表示ブロック図によって表示可能なフィールドが直接表示される。
例えば、左側は、明確なフレーム構造及び階層関係を示し、右側は、ユーザが修正できるフィールドを直接提示し、テキストボックス内で編集できる。
2) 全体属性を選択すると、ファイル、スタイル、リソースなどの全体に影響するコードフレームワークが表示され、ユーザによる修正は、全体の表示状態を修正する。
3)異なるデバイスを選択する。例えば、ユーザが、上のデバイス選択コントロールをクリックすると、下に異なるシミュレータ効果が提示される(各デバイスの画面タイプは異なる可能性がある)。
4)コードを導出する。右上隅は、ユーザがクリックしてファイルのコードを導出することができるコード導出コントロールである。
1.複雑なフロントエンド編集インタフェースをフローチャート化されたブロック図で示し、階層構造が明瞭であり、クリックで直接編集でき、操作が便利である。
2.異なるデバイスを選択することで、異なるデバイスのプレゼンテーシ効果をシミュレートすることができ、編集のたびにリアルタイムで異なる機器のシミュレート表示効果をプレゼンテーシすることができる。
3.フレーム図形やコード選択表現の提示をサポートし、開発効率を大幅に向上させる。
4.コード導出をサポートし、豊かなテンプレートが内蔵される。
5.コア論理部のモジュールを分立し、選択して直接コード編集する。
応用例三
そして、生成したスキルサービスコードを指定されたサーバに配置する。例えば、対話型人工知能システムのオープンプラットフォーム、例えばDBPが生成する1つのメモリ空間にスキルサービスを配置する。スキルサービスが実行されると、発話テキストリソースは、オープンプラットフォームに戻され、オープンプラットフォームによって最終的にデバイス側(例えば、スマート・サウンドボックス)に戻されてもよい。どのサーバにスキルサービスを配置するかは、アルゴリズムを用いて決定することができる。例えば、クラウド上にどれだけのサーバがあるか、負荷状況、空間状況、新規申請サーバ、1つまたは複数のサーバを多重化するかなどに応じて、どのようにサービスを配置するかが決定される。サービスを配置した後、サービスを監査し、監査が通過した後にオンラインに発行することができる。
例えば、ユーザは、「ゲームAの音声をオンして」とスピーカに言い、スピーカはその声をオーププラットフォームに送り、意図を転換する。オープンプラットフォームは、意図登録の情報から、その意図が属する「ゲームA」のスキルサービスを検索し、「ゲームA」のスキルサービスを配置するサーバにその意図を送信することができる。サーバは、この意図を受信すると、その意図に応じたスキルサービスコードを実行する。実行結果をオープンプラットフォームに返す。DPL記述がある場合、オープンプラットフォームは、DPLを通して視覚的に表示される。オープンプラットフォームは、このサービス資源、例えば音声、画像等をスマートスピーカ又は他のデバイス側に送信する。
例えば、PHPコードのディレクトリ構造には、コントローラファイル、例えば、エントリ、イベントハンドラ、意図イベントハンドラのルート、意図処理、ノード解析、BOTが含まれる。PHPのディレクトリ構造は、構成ファイル、CI( Continuous Integration、持続集約)ファイル、ストーリー( story )ファイル、libライブラリファイルなどをさらに含むことができる。
意図処理クラスは、様々な意図のPHPフォーマットファイルを含むことができる。例えば、startintent.class.phpは、開始意図を表し、歓迎ノードに対応する。restartintent.class.phpは再開意図を示す。answerintent. class.phpは回答意図を表し、ユーザ回答に対応する。repeatintent.class.phpは、繰り返し意図を表す。repeatintent.class.phpは、繰り返し意図を表す。sessionendedrequest.class.phpは終了意図を表し、終了ノードに対応する。
ノード解析クラスは、様々なノードのPHPフォーマットファイルを含むことができる。例えば、基本ノード( basenode.class.php )、終了ノード( endnode.class.php )、退出ノード( quitnode.class.php )、ノード解析器( nodeparser.class.php )、正常ノード( normalnode.class.php )、質問ノード( questionnode.class.php )、状態ノード( conditionnode.class.php )、ランダムノード( randomnode.class.php )、サブノード( childnode.class.php )、歓迎ノード( welcomenode.class.php )、開始ノード( startnode.class.php )などである。
コード生成器を用いると、プロット記述ファイルにより対応する実行可能コードを自動生成し、対話型AIシステムのオープンプラットフォーム、例えばDBPなどに配置することができ、その間に関係するスキルサービスの意図や辞書登録、リソース変換などは、上記の実施形態の関連説明を参照することができるため、ここでは省略される。
応用例四
1、元データマッピングである。既存のスクリプトを移植対象ファイルと呼ぶことができる。既存スクリプト中の元データとプロット記述ファイル構成中の元データとをマッピングして関連付ける。
ここで、既存のスクリプトの元データには、本発明の実施形態におけるプロット記述ファイル構成の各要素と同様のデータが含まれていてもよい。例えば、既存のスクリプトの元データは、ゲームの名称、作者、メーカ、アイコンなどの属性情報を含んでもよい。プロット記述ファイル構成中のスキルの名称、作者、メーカ、アイコンには、それぞれ既存スクリプトのゲームの名称、作者、メーカ、アイコンが関連付けられている。
例えば、移植されるファイルのシーン、プロット、節などの内容は、プロット記述ファイル構成のセッションやノードの属性情報に対応してもよい。また、例えば、移植されるファイルにおける質問は、移植されるファイルにおけるスピーチ(speech)の属性情報に対応し得る。
既存スクリプト中のシーン、本願のプロット記述ファイル構成のセッション要素、及びノード要素などをマッピングする。そして、既存のスクリプトからDAG(有向グラフ)と同様のプロット記述ファイル構成に従ったファイルを生成する。これにより、既存のスクリプトを十分に利用してプロット記述ファイルに迅速に生成することができ、インテリジェント音声対話機器などの機器側でのサービスを迅速に実現することができる。
当該デバイスは、さらに通信インタフェース930を含む。
通信インタフェース930は、外部デバイスとの通信や、データのやり取りを行うためのものである。
メモリ910、プロセッサ920、及び通信インタフェース930は、別個のエンティティであり、メモリ910、プロセッサ920、及び通信インタフェース930は、バスを介して相互接続されて相互通信を達成することができる。全体の一連のエンジニアリング標準アーキテクチャ( ISA、Industry Standard Architecture )全体のシリーズ、相互周辺機器接続( PCI、Peripheral Component Interconnect )全体のシリーズ、または拡張一連のエンジニアリング標準アーキテクチャ( EISA、Extended Industry Standard Architecture )全体のシリーズなどが挙げられる。上記総限度以上の布アドレス総個数、数値制御総個数、制御総個数などを記憶する。図9では、1本の太い行のみが示されるが、1本のみ、あるいは1種類のみが示されていない。
任意選択として、実装形態において、メモリ910、プロセッサ920、および通信インタフェース930が1つのチップ上に統合される場合、メモリ910、プロセッサ920、および通信インタフェース930は、内部インタフェースを通じて相互間の通信を完了することができる。
本発明の実施形態は、プロセッサによって実行されると、上記実施形態のいずれかに記載の方法を実現するコンピュータプログラムを記憶したコンピュータ可読記憶媒体を提供する。
また、用語「第1」、「第2」とは比較的重要性を示している又は暗示しているわけではなく、単に説明のためのものであり、示される技術的特徴の数を暗示するわけでもない。そのため、「第1」、「第2」で限定される特徴は、少なくとも1つの当該特徴を明示又は暗示的に含むことが可能である。本出願の記載の中において、「複数」の意味とは、明確的に限定される以外に、2つ又は2つ以上を意味する。
フローチャートに示された、又はその他の方式で説明された論理及び/又はステップは、例えば、論理機能を実現させるための実行可能なコマンドのシーケンスリストとして見なされることが可能であり、コマンド実行システム、装置、又はデバイス(プロセッサのシステム、又はコマンド実行システム、装置、デバイスからコマンドを取得して実行することが可能なその他のシステムを含むコンピュータによるシステム)が使用できるように提供し、又はこれらのコマンドを組み合わせて使用するコマンド実行システム、装置、又はデバイスに使用されるために、いかなるコンピュータ読取可能媒体にも具体的に実現されることが可能である。本明細書において、「コンピュータ読取可能媒体」は、コマンド実行システム、装置、デバイス、又はこれらのコマンドを組み合わせて実行するシステム、装置又はデバイスが使用できるように提供するため、プログラムを格納、記憶、通信、伝搬又は伝送する装置であってもよい。コンピュータ読み取り可能媒体のより具体的例(非網羅的なリスト)として、1つ又は複数の布配線を含む電気接続部(電子装置)、ポータブルコンピュータディスク(磁気装置)、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去書き込み可能リード・オンリー・メモリ(EPROM又はフラッシュメモリ)、光ファイバー装置、及びポータブル読み取り専用メモリ(CDROM)を少なくとも含む。また、コンピュータ読み取り可能媒体は、そのうえで前記プログラムを印字できる紙又はその他の適切な媒体であってもよく、例えば紙又はその他の媒体に対して光学的スキャンを行い、そして編集、解釈又は必要に応じてその他の適切の方式で処理して電子的方式で前記プログラムを得、その後コンピュータメモリに記憶することができるためである。
Claims (14)
- スキルの属性情報を受信することと、
前記スキルの業務ロジックを編集することと、
前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成することと、を含む、
ことを特徴とするファイル生成方法。 - 前記スキルの属性情報を受信することは、
開発側からの前記属性情報を受信することを含み、
前記属性情報は、前記スキルのタイプ、基本情報及びスキルエントリ意図のうちの少なくとも1つを含み、
前記スキルの基本情報は、前記スキルの名称、アイコン、所有権情報、表示画像のうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載のファイル生成方法。 - 前記スキルの業務ロジックを編集することは、
前記スキルの業務ロジックに含まれるシーンに基づいて、使用する必要がある記述ファイル構成の各要素を確定することと、
各シーン間の関係に基づいて前記各要素間の関係を確定することと、
編集インタフェースで前記各要素の属性及び前記各要素間の関係を編集することとを含む、
ことを特徴とする請求項1に記載のファイル生成方法。 - 前記記述ファイル構成は、セッション要素、ノード要素、カード要素、表示要素、テンプレート要素、ヒント要素、スピーチ要素、条件関連状態要素、ユーザ関連状態要素のうちの少なくとも1つを含む、
ことを特徴とする請求項3に記載のファイル生成方法。 - 前記ノード要素は、歓迎ノード、終了ノード、退出ノード、インタラクションノード及び自動ジャンプノードのうちの少なくとも1つを含む、
ことを特徴とする請求項4に記載のファイル生成方法。 - 前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成することは、
前記属性情報、前記業務ロジックに対応する前記各要素、前記各要素間の関係、及び前記各要素の属性に基づいて、JSON又はXMLフォーマットの記述ファイルを生成することを含む、
ことを特徴とする請求項1〜5のいずれか1項に記載のファイル生成方法。 - スキルの属性情報を受信する受信モジュールと、
前記スキルの業務ロジックを編集する編集モジュールと、
前記属性情報及び前記業務ロジックに基づいて、前記スキルに対応する記述ファイルを生成する生成モジュールとを含む、
ことを特徴とするファイル生成装置。 - 前記受信モジュールは、さらに、開発側からの前記属性情報を受信し、
前記属性情報は、前記スキルのタイプ、基本情報及びスキルエントリ意図のうちの少なくとも1つを含み、
前記スキルの基本情報は、前記スキルの名称、アイコン、所有権情報、表示画像のうちの少なくとも1つを含む、
ことを特徴とする請求項7に記載のファイル生成装置。 - 前記編集モジュールは、
前記スキルの業務ロジックに含まれるシーンに基づいて、使用する必要がある記述ファイル構成の各要素を確定する第1の確定サブモジュールと、
各シーン間の関係に基づいて前記各要素間の関係を確定する第2の確定サブモジュールと、
編集インタフェースにおいて前記各要素の属性及び前記各要素間の関係を編集する編集サブモジュールとを含む、
ことを特徴とする請求項7に記載のファイル生成装置。 - 前記記述ファイル構成は、セッション要素、ノード要素、カード要素、表示要素、テンプレート要素、ヒント要素、スピーチ要素、条件関連状態要素、ユーザ関連状態要素のうちの少なくとも1つを含む、
ことを特徴とする請求項9に記載のファイル生成装置。 - 前記ノード要素は、歓迎ノード、終了ノード、退出ノード、インタラクションノード及び自動ジャンプノードのうちの少なくとも1つを含む、
ことを特徴とする請求項10に記載のファイル生成装置。 - 前記生成モジュールは、さらに、前記属性情報、前記業務ロジックに対応する前記各要素、前記各要素間の関係、及び前記各要素の属性に基づいて、JSON又はXMLフォーマットの記述ファイルを生成する、
ことを特徴とする請求項7〜11のいずれか1項に記載のファイル生成装置。 - 1つ又は複数のプロセッサと
1つ又は複数のプログラムを記憶する記憶装置とを含み、
前記1つ又は複数のプロセッサは、前記1つ又は複数のプログラムを実行する場合、請求項1〜6のいずれか1項に記載のファイル生成方法を実現させる、
ことを特徴とするファイル生成デバイス。 - コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、
当該コンピュータプログラムがプロセッサにより実行される場合、請求項1〜6のいずれか1項に記載のファイル生成方法を実行させる、
ことを特徴とするコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910583571.5 | 2019-06-28 | ||
CN201910583571.5A CN110308902B (zh) | 2019-06-28 | 2019-06-28 | 文件生成方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021009665A true JP2021009665A (ja) | 2021-01-28 |
Family
ID=68078010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019204473A Pending JP2021009665A (ja) | 2019-06-28 | 2019-11-12 | ファイル生成方法、装置、デバイス及び記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200409693A1 (ja) |
JP (1) | JP2021009665A (ja) |
CN (1) | CN110308902B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111701223B (zh) * | 2020-05-18 | 2023-04-18 | 武汉西瓦科技有限公司 | 一种实景娱乐的流程自动控制方法及装置 |
CN111708520B (zh) * | 2020-06-16 | 2023-08-29 | 北京百度网讯科技有限公司 | 应用构建方法、装置、电子设备及存储介质 |
US11321054B2 (en) * | 2020-06-26 | 2022-05-03 | Xoriant Corporation | System and method for automated software engineering |
CN112138380B (zh) * | 2020-09-30 | 2024-02-23 | 网易(杭州)网络有限公司 | 一种游戏中数据编辑的方法和装置 |
CN114582314B (zh) * | 2022-02-28 | 2023-06-23 | 江苏楷文电信技术有限公司 | 基于asr的人机音视频交互逻辑模型设计方法 |
CN115543324B (zh) * | 2022-11-30 | 2023-03-10 | 网易(杭州)网络有限公司 | 交互界面的生成方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425469A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 基于mda技术的手机游戏代码生成方法 |
JP2017533503A (ja) * | 2014-09-26 | 2017-11-09 | オラクル・インターナショナル・コーポレイション | モバイルアプリケーションのための効率的および直観的なデータ・バインディング |
CN108334353A (zh) * | 2017-08-31 | 2018-07-27 | 科大讯飞股份有限公司 | 技能开发系统及方法 |
CN108459875A (zh) * | 2018-03-27 | 2018-08-28 | 网易(杭州)网络有限公司 | 生成游戏流程的方法、装置和终端 |
JP2018533125A (ja) * | 2015-09-18 | 2018-11-08 | アマゾン テクノロジーズ インコーポレイテッド | ビジュアルコンテンツ開発 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175329A (ja) * | 1997-12-08 | 1999-07-02 | Hitachi Ltd | アプリケーション連携方法及び装置 |
US20020078103A1 (en) * | 2000-12-20 | 2002-06-20 | Gorman William Phillip | Wizard development kit |
CN100498812C (zh) * | 2004-11-30 | 2009-06-10 | 华为技术有限公司 | 一种游戏业务生成方法 |
US20060129972A1 (en) * | 2004-11-30 | 2006-06-15 | Tyburski John C | Application developer and method for generating platform independent code |
JP5800657B2 (ja) * | 2011-10-03 | 2015-10-28 | 三菱電機株式会社 | ソフトウェア再利用支援装置、ソフトウェア再利用支援方法、及び、プログラム |
CN102520972B (zh) * | 2011-12-31 | 2015-09-09 | 上海方寸信息科技有限公司 | 电子游戏开发系统及其方法 |
CN102799430B (zh) * | 2012-07-02 | 2015-07-15 | 电子科技大学 | 一种面向移动互联网的离线可视化业务开发生成器 |
CN104217270A (zh) * | 2013-06-03 | 2014-12-17 | 深圳中兴网信科技有限公司 | 业务流程应用文件生成和执行方法、客户端、设备及系统 |
CN105739954A (zh) * | 2014-12-09 | 2016-07-06 | 北京大唐高鸿数据网络技术有限公司 | 基于可视化ivr流程编辑器实现ivr业务流程的方法 |
CN105955731B (zh) * | 2016-04-26 | 2019-05-14 | 深圳市编玩边学教育科技有限公司 | 一种手机游戏快速编写方法和系统 |
CN106445556B (zh) * | 2016-10-18 | 2019-08-30 | 中国银行股份有限公司 | 一种可视化代码生成方法及系统 |
EP3635538A4 (en) * | 2017-06-05 | 2021-03-10 | Umajin Inc. | PROCEDURES AND SYSTEMS FOR AN APPLICATION SYSTEM |
CN107977236B (zh) * | 2017-12-21 | 2020-11-13 | 上海智臻智能网络科技股份有限公司 | 问答系统的生成方法、终端设备、存储介质及问答系统 |
CN108664568A (zh) * | 2018-04-24 | 2018-10-16 | 科大讯飞股份有限公司 | 语义技能创建方法及装置 |
CN109901899A (zh) * | 2019-01-28 | 2019-06-18 | 百度在线网络技术(北京)有限公司 | 视频语音技能处理方法、装置、设备及可读存储介质 |
-
2019
- 2019-06-28 CN CN201910583571.5A patent/CN110308902B/zh active Active
- 2019-11-12 JP JP2019204473A patent/JP2021009665A/ja active Pending
- 2019-11-26 US US16/696,097 patent/US20200409693A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425469A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 基于mda技术的手机游戏代码生成方法 |
JP2017533503A (ja) * | 2014-09-26 | 2017-11-09 | オラクル・インターナショナル・コーポレイション | モバイルアプリケーションのための効率的および直観的なデータ・バインディング |
JP2018533125A (ja) * | 2015-09-18 | 2018-11-08 | アマゾン テクノロジーズ インコーポレイテッド | ビジュアルコンテンツ開発 |
CN108334353A (zh) * | 2017-08-31 | 2018-07-27 | 科大讯飞股份有限公司 | 技能开发系统及方法 |
CN108459875A (zh) * | 2018-03-27 | 2018-08-28 | 网易(杭州)网络有限公司 | 生成游戏流程的方法、装置和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110308902A (zh) | 2019-10-08 |
US20200409693A1 (en) | 2020-12-31 |
CN110308902B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021009665A (ja) | ファイル生成方法、装置、デバイス及び記憶媒体 | |
US11249731B2 (en) | System and method implementing campaign products and services within an intelligent digital experience development platform | |
CN101639943B (zh) | 制作动画的方法和设备 | |
CN110297633B (zh) | 代码转换方法、装置、设备和存储介质 | |
US20140122083A1 (en) | Chatbot system and method with contextual input and output messages | |
TW201921267A (zh) | 基於機器翻譯的自動生成重述以產生一對話式代理人的方法及系統 | |
US20200202737A1 (en) | Automated system for mapping ordinary 3d media as multiple event sinks to spawn interactive educational material | |
TW200900966A (en) | Client input method | |
JP6866336B2 (ja) | 人工知能アプリケーションを構築する方法及び装置 | |
KR20210038971A (ko) | 커리큘럼 패키지의 개발 방법 및 장치, 시스템, 기기 및 저장 매체 | |
Bosetti et al. | An end user development approach for mobile web augmentation | |
CN110286910B (zh) | 文件移植方法、装置、设备和存储介质 | |
Schwarzmuller | React Key Concepts: Consolidate your knowledge of React's core features | |
Klopfenstein et al. | Adapting a conversational text generator for online chatbot messaging | |
Engström | ‘I have a different kind of brain’—a script-centric approach to interactive narratives in games | |
CN116956019A (zh) | 文本生成方法、装置、电子设备及计算机可读存储介质 | |
CN110286893B (zh) | 服务生成方法、装置、设备、系统和存储介质 | |
Hart et al. | Beginning ASP. NET 2.0 with C | |
CN113296759B (zh) | 用户界面处理方法、用户界面处理系统、设备及存储介质 | |
CN113518160A (zh) | 视频生成方法、装置、设备及存储介质 | |
KR20100002061A (ko) | 인터랙티브 콘텐츠를 기록한 저장매체, 인터랙티브 콘텐츠의 저작/재생 장치 및 그 저작/재생 방법 | |
Ornbo | Sams teach yourself Node. js in 24 hours | |
Brumbulli et al. | Verification of bpmn models | |
US11875698B2 (en) | Language learning through content translation | |
Ugli et al. | Website Development with New Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210430 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20210531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210831 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20211014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211207 |