以下の詳細な説明では、本発明の完全な理解を提供するため多数の具体的な詳細が与えられる。しかしながら、当業者には、本発明がこれらの具体的な詳細なく実施されうることが理解されるであろう。他の例では、周知の方法、手順及びコンポーネントは、本発明を曖昧にしないよう詳細には説明されない。
本出願人は、ウェブサイト構築処理が、初心者の構築者又は設計者にとって、特に限定的な技術的知識しか有さない者にとって困難でありうることを認識していた。初心者の設計者は、レイアウトレベル(ページ上のオブジェクトの配置など)と編集レベル(画像のエンハンスメントなど)との双方において問題に直面しうる。さらに、出願人は、最も専門的なウェブサイト設計者でさえ、画像エンハンスメント及びロゴ作成又は手動では実行不可な他の機能などの特定のタスクによって困難になりうることを認識していた。
本出願人はまた、上述した困難がウェブサイト構築及びメンテナンスワークフロー(ウェブサイトで使用される画像に対する画像クロッピングのサポートなど)をサポートするため、機械学習/人工知能ベースのサービスのセットを設計者/WBSユーザに提供するウェブサイト構築システムを有することによって解消されうることを認識していた。WBSは、異なるオブジェクトタイプ、フィードバックタイプ及びインタラクションフォーマットと共に、ウェブサイト構築システム内から利用可能な収集された情報及びそれに応じて解析されうる外部の情報を利用して、基礎となる機械学習モデルを訓練するための異なるタイプのフィードバックを利用してもよい。そして、これらのデータ収集/解析/フィードバックインタラクションの結果は、サイト設計ワークフローに統合されてもよい。
出願人は更に、WBSが特定のモデルを利用して、上述した解析結果から特定のユーザ(又はユーザ自身)からのフィードバックが信頼できるか否か、また、それが使用される前にフィードバック応答をそれに応じて重み付けする必要があるか否かを判断してもよいことを認識していた。
ウェブサイト構築システムの分野では、機械学習モデル/人工知能は、様々な解決策を提供しうる。ウェブサイトの設計、作成及びメンテナンスは、各種タスクを伴う。これらのタスクは、異なるレベルの抽象化にあり、異なるタイプのオブジェクトを扱う。これらのタスクの一部はメディアファイル(画像、音声、ビデオなど)又はテキストファイル/オブジェクトを扱う一方、一部は上位レベルのオブジェクト(ページの一部、単一のページ又はページの集まりの設計及びレイアウトなど)を扱いうる。一部は非常に機械的又は技術的である一方、一部は高度の創造性又は技能を伴う。
出願人は、機械学習モデルが特定の各アクティビティに対して設計されるべきであり、ベンダの訓練データを使用して最初に訓練され、WBSユーザ(設計者)及び彼のウェブサイトから及びするWBSユーザのウェブサイトについての、暗黙的および明示的データの両方からの非明示的及び明示的データの双方からのフィードバックを更に利用して強化されてもよいことを認識していた。非明示的フィードバックは設計者の挙動情報(編集履歴、ビジネスインテリジェンス、一般的なユーザ情報など)を含んでもよく、明示的フィードバックはウェブサイト設計、作成又はメンテナンス中の何れか適切なポイントにおいて提言又は提案(タージマハールの提案された何れの写真がより明確であるか?)に関する設計者に提示される質問に基づくものであってもよい。モデルはスタンドアロン、すなわち、タスク固有のものであってもよく、あるいは、他のモデルのためのサブルーチンとして動作してもよい。
出願人は更に、サイト作成の自動化された処理に関連する機能及びタスク(サイト生成、サイトインポート、他のシステムからの変換、異なるディスプレイプラットフォーム間の変換など)がまた同じデータ収集/解析/フィードバックインタラクションを利用して向上されうることを認識していた。
機械学習モデルの性能を改善するためにユーザからのフィードバックを使用することは、当該技術分野において知られており、強化学習の一形態である。一例は、電子メールのスパムと非スパム電子メールへの分類である(Microsoft Technology Licensing LLCによる米国特許公開第US2017/0222960A1号など)。スパムメールのケースでは、ユーザフィードバックは、典型的には、一般にかなりシンプルである。電子メールは、スパム又は非スパム(又は、一部のシステムでは“ライトスパム”、つまり、大部分のスパムメールほど目立たず、無関係でないスパムメール)に分類できる。応答のシンプルさは、より複雑なフィードバックを必要とするケースよりユーザフィードバックを取得することを容易にする。
他の共通の具体例は、ユーザによって選択された実際の検索結果を追跡し、それを利用して更なる検索を絞り込むウェブ検索エンジンである。ユーザによって選択された結果は、検索エンジンの機械学習モデルのための訓練データを提供する。
本発明における機械学習タスクは、所与のオブジェクトXを編集又は変換して、新たな又は修正されたオブジェクトYを生成することを伴う。例えば、画像Xを取り込み、それを編集、クロッピング、属性変更(明るさ、コントラスト等)、品質向上などを介し修正された画像Yに変換する。
結果として得られるオブジェクトYは、画像の修正バージョンよりはるかに複雑であってもよく、オブジェクトXとは非常に異なるオブジェクト又はオブジェクトのセットであってもよい。例えば、画像Xに適用されるオブジェクトセグメント化タスクにおいて、タスクの結果は、修正された背景上に物理的オブジェクト(画像Xにおいて検出される)のみを示すバージョンの画像Xを含む合成Zであってもよい。しかしながら、合成Zはまた、オリジナル画像におけるオブジェクト輪郭座標、プロダクトメタデータ、プロダクト分類等の要素を含む(例えば、検出された物理的オブジェクトを電子商取引プロダクトカタログに対してマッチングすることに基づく)ハイレベルのプロダクト詳細のセットを含んでもよい。
タスクの他のカテゴリは、追加される所与のオブジェクト又は要素を提案することを含んでもよい。これは、純粋にシステムによって始動されてもよいし、あるいは、ユーザインタラクションに基づくものであってもよい。例えば、WBSは、特定のサイトの部分におけるユーザのテキストに良好に適合する画像(例えば、システムのレポジトリ又は他のストック画像から)を提言してもよい。逆に、WBSは、画像に適合するようテキストを提言してもよい。従って、WBSは、単に既存のものを編集するのでなく、ウェブ要素を追加してもよい。
他の例として、WBSは、テンプレート置換を実行する能力をユーザに提供してもよい。ユーザ(設計者)はしばしば、WBSベンダによって提供されるテンプレートに基づいてサイトを構築する。ユーザは、設計及びレイアウトの変更、ページ、ページ要素及びサイト部分の挿入及び削除と共に、ユーザ固有のサイトテキスト、媒体及びデータの入力を含む、当該基礎となるテンプレートに対する実質的な修正を実行してもよい。ユーザは以降において異なるテンプレートに切り替えることを所望するかもしれず、それはユーザに新たなテンプレートに対する変更(レイアウト及びコンテンツ)をマッピングし、適宜それらを再適用することを要求するだろう。本発明の機械学習ツールは、このタスクを実行するためのハイレベルの編集ツールを提供してもよく、また、以下に説明するように、自動化ツール及び機械学習ベースツールを提供してもよい。このような場合、処理されるオブジェクトは単なるイメージ(又は他のメディアファイル)ではなく、サイト全体である。
WBSは、単純なタスク固有のツール(例えば、画像クロッパ、画像属性修正部)からメディア編集ツール(例えば、画像エディタ)、フルスケールページ編集又は類似のツール(テンプレート置換適用部)までの範囲にわたるこれらのタスクを実行するための各種ツールを提供してもよいことが理解されるであろう。これらのタスクは、例えば、予備的なメディア収集及びアップロード段階、サイト/ページ編集の直前、サイト又はページ編集中又は統合して、又は後編集若しくは公開処理の一部として、サイト作成ワークフローの様々な段階で行われてもよい。
本発明の実施例により構成及び動作するオンライン機械学習フィードバックをウェブサイト構築システムのサービスに統合するシステム200を示す図2が参照される。ここで上述したように、WBSシステムについて、機械学習モデルから恩恵を受けうる様々なタスクがあり、これらのモデルの各々は、ユーザフィードバックから恩恵を受けうる。システム200は、ユーザが必要とされるレスポンスを提供することを容易に(及び望ましいように)するため、フィードバックループをWBSのワークフローに統合してもよい。さらに、フィードバックループは、ユーザアクティビティから関連するフィードバックを抽出してもよい。システム200は、必要とされるタスクを完了するため、ユーザフィードバックインタラクションをシステムによって必要とされる通常のWBSインタラクションの一部とすることを目的としてもよい。
システム200は、米国特許第10,073,923号に記載されるようなシステム100の要素(何れかのサブ要素と共に)をMLフィードバックベース提案モジュール300と共に含んでもよい。MLフィードバックベース提案モジュール300は、ウェブサイト構築システム5の複数の部分と、特に、以下でより詳細に説明するように、WBSエディタ30、サイト生成システム40及びCMS50とやりとりしうる。
システム200は特定のクライアントソフトウェア(専用又は専用でない)を利用してアクセスされる他のカテゴリのオンラインアプリケーションに適用されてもよいが、以下の議論は、設計者がWBS5を使用することによって作成され、エンドユーザによってウェブサイトとしてアクセスされるアプリケーションを指すことが理解されるであろう。エンドユーザは、通常のパーソナルコンピュータ、スマートフォン、タブレットコンピュータ及び他のデスクトップ、モバイル又はウェアラブルデバイス上のクライアントソフトウェアを使用して、これらのウェブサイトにアクセスしてもよい。あるいは、システム200は、出願人によって共有され、参照によりここに援用される、2018年6月12日に登録された“Visual Design System for Generating a Visual Data Structure Associated with a Semantic Composition Based on a Hierarchy of Components”という名称の米国特許第9,996,566号に記載されるようなモバイルアプリケーション、ネイティブアプリケーション又は他のアプリケーションタイプを生成するシステムに適用可能であってもよい。
さらに、以下の議論は、ウェブサイト構築システムのプロバイダによって運営されるウェブサイトに着目する。以下の議論は、インポートされる画像の処理及び編集されるサイトへのそれらの統合に言及することが理解されるであろう。しかしながら、システム200は、追加情報(クロッピング、埋め込みオブジェクト、識別された顔/ポートレート/オブジェクトなど)、テキストオブジェクト(フィールド又は埋め込みテキストタイプオブジェクト)、他のコンポーネント、コンポーネントの集まり、ページレイアウト、完全なウェブページ及び完全なサイトを有する画像など、他のオブジェクト又はオブジェクトセットを処理してもよい。
MLフィードバックベース提案モジュール300の要素を示す図3が参照される。MLフィードバックベース提案モジュール300は、WBSユーザ61又は62の現在のタスクに対する可能なエンハンスメントを提案することによって、全ての形式の編集処理及びWBS機能をエンハンスしうるものであり、これらのエンハンスメントは、WBSユーザ61又は62のコミュニティから以前に受信したフィードバックから引き出されうることが理解されるであろう。モジュール300は、(以下でより詳細に説明するように)1つ以上のアクティビティ単位AIユニット310を備えてもよく、各々はそれの関連する編集タスク又はWBSシステムタスクのために特に設計される。各アクティビティ単位AIユニット310は、特定の編集タスク又はWBSシステムタスクをエンハンスするためのモジュールであってもよく、WBSユーザ61又は62が応答しうる特定のアクティビティのための特定のインタラクションUIを生成してもよい。各アクティビティ単位AIユニット310は、特定のアクティビティ又はタスクについて訓練されたインタラクション生成部315及び少なくとも1つのMLモデル317を備えてもよい。あるいは、複数のアクティビティ単位AIユニット310は、1つのインタラクション生成部315を共有してもよく、及び/又はユニット310は、複数のMLモデル317を含んでもよく、明示的フィードバックハンドラ320はまた、インタラクション生成部315の1つと一緒に動作してもよい。
MLフィードバックベース提案モジュール300は更に、単一のオブジェクト処理に対して関連するAIユニット310からのタスク固有提言をWBSユーザ61又は62に提供する編集タスクハンドラ370と、複数のオブジェクト処理に対してそのような提言を提供するサイト機能更新部400とを含んでもよい。編集タスクハンドラ370及びサイト機能更新部400の各々は、必要に応じて図7及び図8に関して以下に説明されるように、WBSエディタ30又はサイト生成システム40の何れかと通信してもよい。
さらに、MLフィードバックベース提案モジュール300は、明示的フィードバックハンドラ320、非明示的フィードバックハンドラ340、コミュニティハンドラ380及びベンダフィードバックハンドラ390を含み、WBSユーザ61,62が実行したことに基づいて機能を向上させるため、ユーザフィードバックをMLモデル317に提供するフィードバックシステム305を備えてもよい。MLモデル317は、動作中、定期的、ユーザが自らのウェブサイトを変更又は公開するときなどのトリガ時など、何れか適切な時に更新又は再訓練されてもよい。
以下でより詳細に説明されるように、フィードバックシステム305は、ユーザから受け取ったフィードバックを解析し、何れの機械学習モデルを訓練すべきか決定してもよい。
明示的フィードバックハンドラ320は更に、明示的フィードバック解析部325及びユーザ解析部328を含んでもよい。非明示的フィードバックハンドラ340は更に、非明示的フィードバック解析部345を含んでもよい。これらの要素の機能は、以下でより詳細に論じられる。あるいは、簡単化ため図3には示されていないが、解析部325、328及び345は、特に、特定のアクティビティ単位AIユニット310によって確認されるアクティビティに非常に固有であるとき、アクティビティ単位AIユニット310内で動作してもよい。上述したように、システム200は、様々なタスクを実行する際にユーザをサポートするため機械学習モデルを使用してもよい。システム200は、ユーザフィードバック収集(明示的及び非明示的の両方)をWBSワークフロー及び各種タスク自体に統合してもよい。システム200は、MLモデル317を向上させるため、WBSに知られている追加情報と一緒に、提供されたフィードバックを利用してもよい。そのような情報は、ユーザ、ユーザのメディア及びユーザのウェブサイトに関する現在及び過去の情報と共に、追加のユーザ及びサイトに関連する情報を含んでもよい。このような情報は、例えば、ユーザのパラメータ(地理、経験、専門的設計状態など)、ユーザのウェブサイトのパラメータ(例えば、使用されるテンプレート又はテンプレートからのヒント)及び収集された追加情報を含んでもよい。この情報は、以下でより詳細に説明するように、CMS50におけるレポジトリの何れかに格納されてもよい。
次に、システム200の典型的なユーザワークフローを示す図4が参照される。ステージ1(ユーザ準備)において、WBSユーザは、典型的にはWBSエディタ30を介して、所与のタスクにおいて処理されるオブジェクト(画像、レイアウトページなど)を選択する。あるいは、ユーザは、現在のウェブサイトで使用される画像を(編集後に)アップロードしてもよい。結果は、処理のために選択されたオブジェクトAになる。
ステージ2(システム提言)において、編集タスクハンドラ370又はサイト機能更新部400は、オブジェクトAを受信して、それのMLモデル317が解析して、オブジェクトAに対して向上させうる(又は以下で更に説明されるように、処理パラメータ又は追加情報を提供しうる)“提言”B1~Bnのセットを決定しうる関連するAIユニット310にそれを提供してもよい。以下でより詳細に論じるように、この提言には複数の形態がありうることが理解されるであろう。MLモデル317はまた、CMS50の画像レポジトリからの画像、生成されたテキストなどの適切な要素を追加することを提言しうる。
ステージ3(ユーザフィードバックインタラクション)において、インタラクション生成部315は、関連するハンドラ370又は400を介し提言されるバージョンB1~Bnと共にオブジェクトAをユーザに表示してもよい。そして、ユーザは、ハンドラ370又は400とのインタラクションを通して、バージョンCを決定又は導出する。この決定又は導出は、システム200に明示的フィードバックを提供する。
ステージ4(更なる編集、インタラクション及びサイト設計)において、ユーザは更に、バージョンCを編集して(必要に応じて)、サイト生成システム40によって公開されるサイトSに統合されるバージョンDを作成する。この更なる編集は、システム200に非明示的フィードバックを提供する。このような編集は、オブジェクト自体の編集(バージョンC)、オブジェクトの性質(オブジェクトがウェブサイトに統合されたか、またどのような方法で行われたか)、オブジェクトに対して実行された処理、オブジェクトから抽出される情報又はオブジェクトに関連する他の編集(それを直接変更しない場合でも)を含んでもよい。
提言Bは、実際の修正されたオブジェクト(又はオブジェクトのセット)に限定されなくてもよいことが理解されるであろう。出力はまた、例えば、修正されるオブジェクトBを作成するため、Aを処理するのに使用されるパラメータのセットを含んでもよい。例えば、画像エンハンスメントタスクAIユニット310は、新しい画像B自体ではなく、特定のフィルタ(例えば、輝度、コントラストなど)のための値を提案してもよい。その後、ユーザはこれらのパラメータを変更してもよい。同様に、画像クロッピングタスク(又は各種セグメント化タスク)では、関連するAIユニット310は、結果として得られるクロッピングされた画像を提供するのではなく、ユーザが修正してもよいクロッピングパラメータ(X/Y範囲)を提供してもよい。
提言Bはまた、修正されたオブジェクトBを作成するため、オブジェクトAに適用されうる特定の編集ステップ(又は命令)のセットであってもよい。システム200は、ユーザがそれらの実行の結果を提供するのではなく、これらのステップを修正することを可能にしてもよく、アクティビティ単位AIユニット310自体が、完了された解決策の代わりにこれらのステップを生成してもよい。編集ステップを処理するとき、MLフィードバックベース提案モジュール300は、自然言語処理及び自然言語生成の分野からの機械学習モデルを利用してもよく、ステップの系列に対してより良好な結果を提供しうる。このような自然言語処理モデルは、通常のモデルに加えて又は代わりに使用されてもよい。
ステージ1及び2における提言及びフィードバックインタラクションは複数の形態をとりうることが理解されるであろう。例えば、MLフィードバックベース提案モジュール300は、例えば、イメージの修正されたバージョンでありうるBを提言しうる。ユーザは、提言されたBを受け入れるか又は拒絶してもよい。そして、導出されたバージョンCは、B(変更が受け入れられた場合)又はA(変更が拒絶された場合)の何れかである。
他の具体例では、インタラクション生成部315は、Aの修正又は他の処理(例えば、矩形座標、顔を囲む矩形座標又は輝度フィルタ設定のクロッピング)のためのパラメータのセットと一緒にBを表示してもよい。ユーザは、これらのパラメータ(及び提示されたB)を受け入れてもよいし、あるいは、これらのパラメータを修正して(例えば、クロッピング矩形を移動/リサイズ)、新しいバージョンCを作成してもよい。MLフィードバックベース提案モジュール300はまた、一連の処理ステップ又は命令のモデルベースの生成を適用してもよい。
MLモデル317はまた、Aの修正されたバージョン(例えば、イメージの修正されたバージョン)を提言してもよい。このシナリオでは、システム200は、ユーザがBを更に修正して好ましいバージョンCを作成することを可能にする固有のエディタを提供してもよい。
MLフィードバックベース提案モジュール300はまた、ユーザがそこから1つを選択しうる(バージョンCを決定するために)複数のバージョンB1~Bnを生成(及び提供)してもよい。MLフィードバックベース提案モジュール300はまた、ユーザが全てのオプションを拒否すること(追加のオプションを生成するため)、オプションをマージすること、又は異なるバージョンの生成パラメータを指定すること(及び新しい解決策のセットを生成するためステージ1を再実行すること)を可能にしうる。
MLフィードバックベース提案モジュール300はまた、上述したように、非明示的フィードバック及び明示的フィードバックの双方を利用してもよく、あるいは、必要に応じて非明示的フィードバックのみ又は明示的フィードバックのみを利用してもよい。
システム200はまた、(例えば)ユーザが所与の提言された解決策(又は解決策のセット)を受け入れ、拒絶又は編集することを可能にする上記のフィードバックインタラクションオプションを組み合わせてもよいことが理解されるであろう。システム200はまた、複数の“レイヤ”(オリジナルのA、提言されたB及び現在編集されるC)又は多数の解決策(B1...Bn)の存在を認識する特殊な編集ツール又は環境を提供してもよい。フィードバックインタラクションツール又は環境は、(画像/レイアウト編集又はその他のための)シンプルな編集環境に限定されず、Bを生成したオリジナルのアクティビティ単位AIユニット310とやりとりするか、あるいは、特定のフィードバックインタラクションタスクのための追加的な補助モデルを利用してもよい。
例えば、システム200は、提言Bのいくつかの部分(ブラシ形状/マスク又はマーキングされた領域によって規定される)が事前モデルAの値に戻ることを可能にする、すなわち、実質的に“ブラシのアンドゥー”することを可能にする特定のブラシ又は領域マーキングツールの使用を(画像関連タスクのために)提供してもよい。
逆に、システム200は、モデルにより提言された解決策Bを特定の領域、すなわち、実質的に“ブラシのリドゥー”に適用するためAのコピー上で利用されうる同様のブラシ又は領域マーキングツールを提供してもよい。このようなブラシは、例えば、ユーザが提案された提言Bに全体的に満足していないが、Cを作成する際にBの特定の部分を依然として使用したいときに有用でありうる。
同様に、システム200は、Aの特定の領域をマーキングし、それらに対してアクティビティ単位AIユニット310をアクティブ化又は適用するためのオプションを提供してもよい。このようなオプションは、例えば、関連するアクティビティ単位AIユニット310がいくつかの領域においてオブジェクトを検出することに失敗したオブジェクト認識タスクにおいて利用可能である。このオプションは、ユーザが提言された解決策に加えて又は代わりに(フルに又は特定の領域において)利用されうるユーザによりマーキングされた領域に対して関連するAIユニット310をアクティブ化することを可能にし、AIユニット310に更なるヒント(訓練情報として役立つ)を提供してもよい。システム200は、オリジナルのモデルを利用してもよいし、特定の実行パラメータと共にオリジナルのモデルを利用してもよいし、あるいは、ユーザによりマークされた領域においてオブジェクトを検出するのに特に適した異なるモデルを利用してもよい。
複数の提供されたレイアウトを確認する際、システム200は、異なるモデルからのサブ領域をマージするためのツールを提供してもよい。システム200は、複数のレイアウト要素を1つのコヒーレントなレイアウトにマージするために特定の機械学習モデルを利用してもよく、出願人によって共有され、参照によるここに援用される米国特許第10,185,703号に記載されるように、動的レイアウト技術を使用してそのように実行してもよい。
システム200はまた、例えば、ユーザが2つ以上のオブジェクトのバージョン(A、B又はB1...Bn及び現在のC)をオーバレイし、それらの間で反転するか、又はそれらを視覚的に比較して、ユーザがCを編集するのを支援することを可能にする比較ツールを提供してもよいことが理解されるであろう。
システム200は、異なるユーザに複数の異なるフィードバックインタラクション(又はユーザインタフェース)を提供してもよいし、あるいは、同じユーザとの複数のインタラクションを提供してもよい。これは、オブジェクト自体(例えば、シンプル対複雑なオブジェクト)、インタラクション生成部315からの結果(すなわち、提言された解決策)、ユーザパラメータ(例えば、ユーザの経験レベル、ユーザがこの特定のタスクを実行した回数など)、サイトパラメータ又は他のWBSパラメータに依存しうる。
そして、システム200は、オリジナルのオブジェクトAに基づいて所望の結果Cの具体例としてペア[A,C]を利用して、又は上記のパラメータ化されたフィルタの例と同様にCを生成するため使用されるパラメータを利用して、アクティビティ単位AIユニット310を再訓練してもよい。以降において、システム200は、追加情報(例えば、Dの情報、WBS情報及びユーザアクティビティ情報を含む)を収集してもよく、以下でさらに詳細に論じられるように、追加的な訓練のためにこの情報を使用してもよい。
代替として、追加的な訓練データによって既存のモデルを訓練する代わりに、システム200は、(収集された訓練データに基づいて)新しいモデルを生成してもよく、以下でより詳細に説明するように、既存のモデルに対してそれらの性能を評価してもよい。
MLモデル317は、各アクティビティ単位AIユニット310によって実現されるタスク又はアクティビティに適した何れかのモデルであってもよい。機械学習モデルは、当該技術分野で知られており、典型的には、何らかの形態のニューラルネットワークである。この用語は、システムが既存のアルゴリズム及びデータセットに基づいてパターンを認識し、解決策の概念を提供する能力を表す。訓練されるほど、より多くの知識が展開する。
MLモデル317は、学習モデル(教師あり又は教師なし)であってもよい。具体例として、そのようなアルゴリズムは、予測(例えば、線形回帰)アルゴリズム、分類(例えば、決定木、k近傍法)アルゴリズム、時系列予測(例えば、回帰ベース)アルゴリズム、関連付けアルゴリズム、クラスタリングアルゴリズム(例えば、Kミーンズクラスタリング、ガウス混合モデル、DBscan)、又はベイズ法(例えば、ナイーブベイズ、ベイズモデル平均化、ベイズ適応試行)、画像間モデル(例えば、FCN、PSPNet、U-Net)、系列間モデル(例えば、RNN、LSTM、BERT、オートエンコーダ)又は生成モデル(例えば、GANs)であってもよい。
あるいは、MLモデル317は、次元低減、仮説検定、一方向ANOVA(Analysis of Variance)検定、主成分分析、共同分析、ニューラルネットワーク、サポートベクトルマシーン、決定木(ランダムフォレスト法を含む)、アンサンブル法及び他の技術などの統計アルゴリズムを実装してもよい。他のMLモデル317は、解決策要素(ウェブサイト構築システムの要素及びメディアオブジェクトなど)を生成するための生成モデル(GANs(Generative Adversarial Networks)又はオートエンコーダなど)であってもよい。
大部分の実施例では、MLモデル317は、生成又はランタイムフェーズにリリースされる前に訓練又は学習フェーズを受けてもよいし、あるいは、既存のシステム又はモデルからのモデルにより処理を開始してもよい。訓練又は学習フェーズの間、MLモデル317は、特定の変数に着目するように、誤差マージンを低減するように、又はそうでない場合にはそれらの性能を最適化するように調整されてもよい。MLモデル317は最初に、ウェブサイト構築システムCMSデータ、サイト情報(コンポーネント、構造、レイアウト、フォーマット設定及び他の情報を含む)、外部情報、ユーザ情報、収集された編集履歴、収集されたビジネス情報など、広範なデータから入力を受信してもよい。
他の実施例では、特定のタスクに適しているとき、MLモデル317の1つ以上は、複数のAI技術を組み込んだエキスパートシステム又はハイブリッドインテリジェントシステムなどのルールベースシステムにより実現されてもよい。これらは、en.wikipedia.comの“Rule-Based System”及び“Hybrid Intelligent System”という名称のウィキペディアの記事に記載されている。
ランタイム中、訓練されたMLモデル317は、それらの関連するインタラクション生成部315がWBSユーザ61又は62に提供しうる向上のための提案を提供してもよい。上述されたように、ある適切な時点で、MLモデル317は、フィードバックハンドラ370、340、380又は390の何れか又は全てからの情報によって更新されてもよい。
1つのアクティビティ単位AIユニット310の訓練及び継続セットアップを示す図5が参照される。ここで上述したように、各機械学習モデル317は、アクティビティ毎であってもよく、MLモデル317は、サブモデルを有し、互いにやりとりしてもよい。モデル317はまた、全ユーザからのデータ(“ユニバーサルデータ”)、ユーザのコミュニティからのデータ(“コミュニティデータ”)又は単一ユーザからのデータなど、異なるレベルのデータによって訓練されてもよい。複数のタスク及び/又はユーザの複数のグループ化のための複数のモデル317の存在は、マルチタスク学習を可能にし、異なるタスクの間の共通性及び相違の解析から利益を得ることが理解されるであろう。さらに、モデル317は、互いにサポートしてもよく、例えば、顔検出モデル及びオブジェクト検出モデルは、画像クロッピングモデル又はポートレート/オブジェクトセグメント化モデルへのサポート(転移学習を介することを含む)を提供しうる。モデル317の間のこのインタラクションはまた、システム200が、例えば、ここで以下により詳細に説明するように、所与の画像クロッピング解決策をサポートする基礎となる検出された顔及びオブジェクトを示す、それの提案された解決策に対するサポート情報又は説明を提供することを可能にしてもよい。
レイアウト理解及びコンポーネントグループ化のタスクのために1つのタイプのMLモデル317によって実現される例示的な方法を示す図6が参照される。図5のMLモデル317は、RNN(Recurrent Neural Network)又はLSTM(Long Short-Term Memory)ベースであってもよく、初期的には、処理対象のウェブ要素を抽出してもよい(ステップ210)。ステップ212において、MLモデル317は、幾何学的特性(ページ上の位置、サイズ及び奥行き)、タイプ及び他のメタデータ(テキストフォント及びサイズ、画像埋め込み、コンテンツ(又はその一部)、他のコンポーネントへのリンク、テンプレート情報、編集履歴、関連コードなど)など、ウェブ要素又はコンポーネントの関連する特徴を抽出してもよい。
そして、これらの特徴は、各コンポーネントに対して埋め込みを生成するため、マルチレイヤ化されたRNN/LSTMモデルによって処理される。そして、これらの埋め込みは、グループにクラスタリングされる(ステップ214)。ページは、新しいアスペクト比(モバイルビューなど)又は異なるターゲットディスプレイにおいてサイトをレンダリングする際、一緒に維持される必要がある要素を手作業によりグループ化することによってラベルを付けされうる。これらのラベル付けされたページは、要素のグループを良好に識別するため、MLモデル317が教師付き学習を介し訓練されるグラウンドトゥルースを含む。RNN/LSTMモデルは、対照(contrastive)又はトリプレット損失関数を用いて訓練され、これにより、グランドトゥルースグループラベルは、隣接行列(ターゲット信号)に処理され、モデルの出力される埋込みは、要素ペア間の距離行列(予測信号)を生成するため利用される。各サイトは異なるため、ステップ216において、結果のレイアウト定義(又は他の分類)は、処理中のサイトに対して用いる最善のグループを規定するため、クラスタリングモデルによりクラスタリングされてもよい。
システム200は、各種WBSタスクのための機械学習モデルの構築及び訓練をサポートするため、図5(ここで再び言及する)に示されるような訓練データ及びフィードバックの複数のソースを利用してもよいことが理解されるであろう。これらは、モデルの初期的な訓練と共に、進行中のオンライン訓練に利用可能である。訓練データは、WBSベンダスタッフ61による明示的な訓練(例えば、インタラクティブUIを介して)及びマスデータインポートを介した訓練(適切なインポートインタフェースを介して)を含んでもよい。このインポートは、外部データソース(一致するクロッピング領域規定に関連するCMS50における画像の既存のレポジトリなど)からとすることができる。それはまた、WBS内の既存のユーザ題材(例えば、WBSで使用される画像と一緒にユーザによって作成されるそれらのクロッピング領域規定)から導出される訓練データであってもよい。非明示的フィードバックハンドラ340は、以下により詳細に説明するように、各MLモデル317にこのデータを提供してもよい。
初期的な訓練はまた、雇用された外部スタッフ(おそらくは問題の専門家/プロフェッショナル)又はクラウドソーススタッフ(AmazonのMechanical Turkなどのクラウドソーシングプラットフォームを使用する)など、WBSベンダスタッフ61の外部のスタッフからも行われてもよい。
訓練はまた、明示的フィードバックハンドラ320によって処理されるような特定のデータサンプルに関する特定のフィードバックを要求する開始されたインタラクションの形式において、システム200を介しWBSの既存のユーザから生じたものであってもよい。これらは、特定のMLモデル317を訓練するために特に選択されたデータサンプルであってもよい。システム200はまた、アクティブ学習技術を利用して、最も高い訓練価値を提供するインタラクション戦略を選択し、非明示的フィードバック解析部345はまた、以下においてより詳細に説明するように、照会する最良のユーザを検出するためユーザ情報及びユーザウェブサイト情報を解析してもよい。非明示的フィードバック解析部345は、ユーザの過去の応答性、パフォーマンス及び回答品質に関して維持される情報を考慮しうることが理解されるであろう。当該解析はまた、(特定のモデルが訓練される)特定のタスクを実行する際のユーザの熟練度を考慮に入れてもよい。そのような熟練度解析は、(例えば)ユーザのウェブサイトの解析に基づくことができる。さらに、非明示的フィードバックは、保存/破棄決定、公開アクション、設計者のサイトブラウジングパターンなど、WBS5内の他のアクティビティを含んでもよい。
システム200はまた、システム又は他のシステム内商品(例えば、エンハンスされたウェブサイトテンプレート、より高いキャパシティ制限など)と共に使用されるプレミアムパッケージアップグレードなど、金銭又は他のボーナスをフィードバックに提供するようユーザを奨励してもよい。
上述したソースは、以下でより詳細に説明されるように、非明示的フィードバックハンドラ340及び明示的フィードバックハンドラ320によって全体的に収集される訓練情報に加えられることが理解されるであろう。さらに、上述した訓練ケースについて、訓練を提供するベンダスタッフ61は、通常のフィードバックインタラクションの一部として要求されない追加的なラベリング又はフィードバック情報を提供してもよいことが理解されるであろう。
上述したように、システム200は、ユーザフィードバックインタラクション自体の他の追加ソースからフィードバック情報を抽出してもよく、そのような情報は、ユーザによって提供される通常のフィードバックより指示的、代表的又は適切であってもよい。この推測されたフィードバックは、明示的に提供される“明示的”フィードバックとは対照的に、“非明示的フィードバック”として参照される。さらに、非明示的フィードバックは、定期的、ユーザがウェブサイトに変更を加えるときはいつでも、又はユーザがウェブサイトを公開するときはいつでもなど、何れか適切な時点に非明示的フィードバックハンドラ320によって生成されうることが理解されるであろう。非明示的フィードバックハンドラ320は、変更を収集し、それらを解析し、そしてそれらを関連するAIユニット310に提供して、それらのモデルを適切に更新してもよい。
例えば、システム200は、画像輝度、コントラスト等の自動的エンハンスメントを提供しうる画像エンハンスメントMLモデル317を利用して、画像のエンハンスされたバージョンを提供することによって、画像をインポートする際にユーザをサポートしてもよい。ユーザは、オリジナル画像又はエンハンスされた画像を好むか否かを尋ねられてもよく、ユーザの決定は、モデルを訓練するのに使用されてもよい。
あるいは、システム200は、適用された輝度、コントラスト及び他の変更(“フィルタ”としても知られている)を修正するため、特定の編集ツールをユーザに提供してもよい。システム200は、これらの編集ツールのモデルベースの初期設定を提供してもよく、ユーザはこれらの設定を変更してもよい。そして、ユーザにより修正された設定は、画像エンハンスメントMLモデル317を訓練するため、ユーザフィードバックとして利用されてもよい。
しかしながら、ユーザはサイトの編集を続けてもよく、進行中のサイト編集中にインポートされた画像を更に修正してもよい。ユーザはまた、オリジナル画像を再インポートし、(例えば、WBSエディタ30に組み込まれた画像エディタを介して)パラメータのいくつかを修正し、あるいは、異なる画像を一緒にインポートしてもよい(すなわち、オリジナルのインポートされた画像をドロップする)。システム200は、新しい画像を解析し、それを利用して、関連するモデル317に対する追加又は更新された訓練情報を提供してもよい。例えば、非明示的フィードバック解析部345は、最終的な修正された画像と選択された初期画像(又は選択された初期輝度値)における輝度のレベルを解析してもよく、画像エンハンスメントMLモデル317を再訓練するため、輝度の変化に関する当該情報を利用してもよい。非明示的フィードバックハンドラ340及びそれの解析部345はまた、画像コンテンツに直接関連しない訓練のための追加的特徴、例えば、重要ページ(例えば、サイトホームページ)上で使用される画像、重要性の低いページ上で使用される画像又は全く使用されない画像などを抽出してもよい。同様に、非明示的フィードバック解析部345は、その重要性を決定するため、それが出現するページ上の画像の配置を解析してもよい(例えば、“折り目の上”、“折り目の下”、又は任意的な画像として)。これらの全ては、MLモデル317のモデル特徴として機能してもよい。
他の例として、適切な時点において、明示的フィードバック解析部325は、既存のページAを処理して、当該ページに適した向上されたレイアウトBを決定してもよい(例えば、コンポーネントの配置、サイズ及びタイプを修正することによって)。当該解析は、選択のコンポーネント、ユーザに提示される複数の可能なレイアウト(例えば、B1~B4)、及びユーザの最終選択(例えば、B3)を確認することを含んでもよい。ユーザの明示的な選択は、明示的フィードバックである。明示的フィードバック解析部325は、全ての明示的フィードバック又はその一部のみを利用してもよく、MLモデル317を再訓練するためのより良い入力を提供するための変更をマージ又は要約してもよい。
ここで上述したように、ユーザは、以降において“受け入れられた”Cバージョン(B3であった)を編集し、追加の変更を実行して、ページの以降のバージョンDを作成してもよい。非明示的フィードバック解析部345は、これら以降の変更を追跡し、該当するMLモデル317を再訓練するための追加的なフィードバックソースとしてDバージョンを利用してもよい。ユーザがそれを受け入れる前にページB3を編集する場合、明示的フィードバック解析部325は、当該情報を非明示的フィードバックとして解析してもよい。
非明示的フィードバック解析部345は、ページのCバージョン(ユーザによって最初に選択されたB3バージョン)とDバージョン(最終的に公開されたもの)との間の差分を解析し、モデル及びそれによって使用される特徴に関連する固有の差分を分離してもよいことが理解されるであろう。そのような解析は、例えば、B3に存在するコンポーネントに対する変更を訓練するため差分を利用するなど、コンポーネント差分解析を含んでもよい。そのような解析はまた、属性に固有の解析を含んでもよく、すなわち、位置及びサイズなどの属性のみを考慮し、他の属性を考慮しないことも可能である。そして、非明示的フィードバック解析部345は、再訓練のため解析の結果を該当するMLモデル317に提供してもよい。
さらに、そのような解析はまた、WBS内において利用可能な他のタイプのタスク及びモデルに対して非明示的フィードバック解析部345によって実行可能であることが理解されるであろう。
非明示的フィードバックはまた、以下でより詳細に説明するように、同じ設計者(ユーザ)の他のサイト又は類似して位置するユーザ(例えば、日本におけるプロのグラフィカル設計者)のサイトに対して生成されるフィードバックなど、サイトの外部ソースから収集されてもよい。
さらに、非明示的フィードバックはサイト作成ワークフロー中の各種時点において収集されてもよいことが理解されたい。それは、オンラインで収集されてもよく、すなわち、ユーザが機械学習モデルベースの編集を含む構成を有するサイト要素を修正すると直ちに収集されてもよいし、あるいは、例えば、処理されるサイト要素が編集又は交換される毎に、特定のイベントに基づいて収集されてもよい。
非明示的フィードバックはまた、ユーザがユーザの理解をより良く反映するウェブページのよりファイナライズされたバージョンを作成したと仮定して、編集セッションの終わりに収集されてもよい。この仮定は、ユーザがページ(又はそれにおける所与のオブジェクト)をファイナライズさせずに自分の編集セッションを終了し、次の編集セッションにおいて作業を継続しようとするため、いくつかのケースでは正しくないかもしれない。
それはまた、これはウェブページの“最終的”バージョンであり、それにおけるオブジェクトである可能性が高いため、サイトが公開されたときに収集されてもよい(ただし、サイトは複数のバージョンで複数回公開されるが)。例えば、上記の向上したページレイアウトの例では、これは、非明示的変更をサンプリングするための最良のポイントでありうる。このシナリオでは、非明示的フィードバック収集は、(例えば)ユーザが自分の心を変えたとしても、正しい価値でモデルを訓練するのに役立ちうる。
また、システム200は、所与のサイトは複数のMLモデル317を使用して生成される複数のオブジェクトを含みうるため、複数のタスク及びモデルに対する非明示的フィードバックを同時に収集してもよい。(フィードバックを生成する)更なる編集は、複数のそのようなオブジェクトを含んでもよい。
多くのタイプのシステム及びタスクについて、普遍的なMLモデル317が適用可能でありうることが理解されるであろう。これは、例えば、システムのターゲット視聴者における全てのユーザによってなされた決定が類似する際にありうる。一例は、電子メールをスパム又は非スパムに分類することであり、これは、典型的には、所与の電子メールを確認する全ての人々にとって一様である。この状況では、ある人が所与の電子メールをスパムとして分類し、別の人が非スパムとして分類することはまれである。
そのようなモデルは、全てのユーザに使用されてもよいが、異なるユーザカテゴリ間の十分な区別を提供する追加のモデル特徴によって強化されてもよい。例えば、ユーザの言語と電子メールの言語を含む特徴は、ユーザの言語とは異なる言語のプロンプトが出されていない電子メールがスパムである可能性が非常に高いため、スパム検出に非常に関連性が高いかもしれない。
一般に、WBSシステムで実行されるタスクの多くについて、所望の結果は普遍的ではないことが理解されるであろう。所与のユーザに対する所望の結果は、ローカル又はパーソナルな嗜好、コミュニティ関連の設計嗜好(例えば、国、地域、設計者、専門的経験/知見、業界など)に大きく依存しうる。例えば、プロフェッショナル及び非プロフェッショナルな設計者はしばしば、タスクのいくつか(サイト設計又は画像エンハンスメント)がどのように実行されるべきかに関する異なる嗜好を有する。他の例として、法律事務所のウェブサイトを専門とする設計者の嗜好は、音楽演奏ウェブサイトを専門とする設計者の嗜好とは大きく異なりうる。
従って、ユーザフィードバックによって(何れか特定のタスクに対して)単一の普遍的なアクティビティ単位AIユニット310を訓練することは、全てのユーザに最適な結果を提供しないかもしれず、嗜好が完全に分離しているコミュニティのために別々のモデルを訓練することがより良いかもしれない。
しかしながら、システム200は、いくつかのタスクについて、普遍的なMLモデル317を有する普遍的なアクティビティ単位AIユニット310を利用してもよい。普遍的なAIユニット310は、WBSにおいて利用可能な追加情報を利用してもよく、すなわち、システム200は、ユーザのフィードバックだけでなく、(非明示的フィードバック解析部345に関して上述したように)追加の既存又は解析されたWBS情報を利用して、普遍的なMLモデル317を訓練してもよい。非明示的フィードバック解析部345はまた、ユーザパラメータ(地理、経験、専門的設計状態など)、ユーザのウェブサイト、ユーザアクティビティ及び収集される追加情報(WBS CMS50又はその他において利用可能である)に基づいて特徴を抽出してもよい。適切なアクティビティ単位AIユニット310は、全てのコミュニティ/ユーザに共通のケースを処理するのに最良である。
システム200はまた、異なる母集団に対して(例えば、全てのプロの開発者に対して、全ての弁護士ウェブサイトの設計者に対して、日本式設計を専門とする設計者に対してなど)、追加の複数のグループ単位又はコミュニティ単位MLモデル317を利用してもよい。システム200は、関連するMLモデル317及び関連するグループ単位MLモデル317を訓練してもよい。訓練データは、収集されたユーザフィードバックと共に、追加のWBS情報(ここで上述したように)を含んでもよい。システム200はまた、その解決策が非常に個別的であるタスクに対して(ユーザ単位及びタスク単位)パーソナルモデル317を利用してもよい。
実際、グループは重複しうるものであり、従って、システム200は、所与の収集される各フィードバックに対して複数の(グループ固有の)モデルを訓練してもよい。コミュニティハンドラ380は、最初に訓練フローを分割し(すなわち、訓練データを複数のモデルに送信し)、その後、複数のMLモデル317によって生成される推奨される解決策を複数の方法で統合し、例えば、マージされた解決策を作成し、複数のアクティビティ単位AIユニット310によって提供されるこれらのうちの最良の解決策を選択するなどしてもよい。グループの規定は、所与のタスク(及びそれの関連モデル)に対して一意的であってもよいし、あるいは、複数のタスクの間で共有されてもよい。
コミュニティハンドラ380は、グループが手作業により管理されることを可能にしうる(すなわち、必要に応じてグループ規定及び関連するモデルを追加及び削除する)。あるいは、コミュニティハンドラ380は、(別々のモデル又はクラスタリング解析などの他の技術に基づいて)類似の嗜好を有する一般的な母集団のサブセグメントを自動的に識別してもよい。何れのユーザが何れのコミュニティに属するかを決定するため、コミュニティハンドラ380は、ユーザの編集履歴及び/又はユーザのウェブサイトに関する情報から、特定のユーザのユーザプロファイルを推測してもよい。ユーザプロファイルはまた、ユーザのウェブサイトに関するビジネスインテリジェンスを含んでもよい。例えば、主に日本からアクセスされるアートウェブサイトは、(必ずしもそうではないが)日本式アートである可能性が最も高い。
コミュニティハンドラ380はまた、いくつかのグループ規定をユーザコミュニティに公開し、さらに、ユーザが1つ以上のグループとの自らの提携を宣言することを可能にしてもよい。例えば、システム200は、“バロック設計スタイル”グループ(関連するアクティビティ単位AIユニット310による)をサポートしてもよく、バロック設計スタイルの推奨を望むユーザが当該グループに参加することを可能にしてもよい。さらに、コミュニティハンドラ380は、例えば、ユーザのサイトの宣言された状態又は解析に基づいてユーザに自動的に割り当てられる“プロフェッショナルユーザ”及び“非プロフェッショナルユーザ”グループなどのいくつかのグループを公開することを回避してもよい。
上述したように、フィードバックをWBSのワークフローに統合することは、ユーザが特定のモデルにフィードバックを提供する確率を向上させ、提供されるフィードバックの品質を向上させる。この改良は、明示的又は非明示的フィードバックの何れかの統合から生じる。
特に、いくつかのタスクに対して、フィードバックインタラクションは、タスクを実行する際にユーザが透過的にフィードバックを提供するように(例えば、提供された解決策を受理又は拒絶することによって)、WBSワークフローと十分に統合されてもよい。従って、このようなフィードバックインタラクションに対する応答レートは、可能な限り100%に近くなる可能性があり、ユーザは、(その時点でのユーザの嗜好及び知識に対して)正しい応答を提供する可能性がある。
しかしながら、いくつかのケースでは、ユーザは、フィードバックを提供できないかもしれず、あるいは、不正確なフィードバックを提供しうる。例えば、該当するMLモデル317が画像フィルタのための初期設定を提供しうる画像エンハンスメントタスクによると、ユーザはジャンク値を選択してもよい(例えば、0~100の値の範囲を有するフィルタパラメータを用いて、全ての値を0に近い又は100に近い値に設定する)。他の例として、オブジェクト検出又はセグメント化タスクにおいて、ユーザは、関連するオブジェクトを含まない(又は全くオブジェクトを含まない)領域をマーキングしてもよい。
このようなフィードバックの提供の失敗は、特定のタスクによる局所化された問題又は一部のユーザに関する反復的な問題でありうるものであり、例えば、一部のユーザは、大部分の時間において有用なフィードバックを提供しない“再犯者”である(無関心、理解不足、過失又は他の何れかの理由による)。一例として、ユーザは、(何らかの理由で)“自分のことをする”という強い嗜好を有しうる。そのようなユーザは、全ての提言を悪いものとして格付けすることによって、複数のモデル提言B1~Bnを不適格にしうる。あるいは、そのようなユーザは、任意の低品質又は誤ったフィードバック(例えば、顔を全く含まない顔セグメント化クロッピング矩形をマーキングする)を提供しうる。その後、ユーザは対象オブジェクトの別々のバージョンを使用することに進んでもよく、提言されるBn解決策の何れかに類似してもよいし、あるいはそうでなくてもよい。
そのような場合、システム200は、そのようなユーザを検出し、一般に、それらの明示的フィードバックを使用する代わりに、それらの(誤った)明示的フィードバックを完全に無視して、(それらのサイトから収集される)非明示的フィードバックを使用すべきである。
この問題は、MLモデル317の出力及び所望のフィードバックが編集されたウェブサイトにおけるオブジェクトに視覚的に寄与しないケースにおいてより顕著になりうる。例えば、システム200の実施例は、(例えば、画像クロッピングモデルにおける画像の関心領域を決定するなどの他のモデルへの入力として)内部的な目的のために使用されるが、編集されたウェブサイトにおけるオブジェクトに直接的には影響を及ぼさない顔検出モデルを含んでもよい。システム200は、例えば、インポートされた画像において顔を検出し、これらの画像において検出された顔矩形を補正するようユーザに依頼することによって、顔検出モデルのためのフィードバックを依然として収集してもよい。このような場合、ユーザは、ウェブサイトを視覚的に害することなく、不正確な又は低品質のフィードバックを提供する可能性が高い。
例えば、MLフィードバックベース提案モジュール300がアクティブ学習システムの一部として非タスクデータに対するフィードバックインタラクションを開始するとき、実際のユーザタスクに関連しないデータ/オブジェクトに関するフィードバックをMLフィードバックベース提案モジュール300が求める場合に、この問題が発生しうる。そのようなシナリオでは、MLフィードバックベース提案モジュール300は、非明示的フィードバックを全く収集することができず、(おそらく無効又は誤った)明示的フィードバックを利用することしかできないかもしれない。MLフィードバックベース提案モジュール300はまた、1つ以上の補助モデルを利用することによって、このような欠落又は誤ったフィードバックのケースを処理してもよい。例えば、明示的フィードバック解析部325及びアクティビティ単位AIユニット310の一方又は双方は、以下により詳細に説明するように、フィードバックシステム305の一部を構成する応答評価部330及び/又はユーザ評価部332を利用してもよい。これらのユニットは、(それぞれ)フィードバック応答及びユーザの品質を評価してもよい。例えば、応答評価部330は、所与のユーザからの応答の品質及び関連性を解析してもよい。理論的には、所与のユーザは、写真修正に関する優れたフィードバックを提供しうるが(彼がプロの写真家である場合)、レイアウト関連の問題については低品質/不正確なフィードバックを提供しうる(彼が非常に悪いグラフィック設計者である場合)。
応答評価部330は、ユーザのフィードバックと他の同様に位置するユーザによって提供されるフィードバックとを比較してもよい(例えば、クラスタリング解析によって決定される)。ユーザフィードバックが“他のクラスタから極端に離れている”場合、ユーザは、所望されない外れ値であると規定されうる。応答評価部330はまた、これらの値が意味をなさない設定(例えば、写真修正パラメータにおいて輝度を100%に設定する)においてユーザが極端な値を使用するか否かを検索してもよい。同様に、応答評価部330は、ユーザの設定/規定に基づいて出力を確認してもよい。出願人によって共有され、参照によりここに援用される2017年8月29日に登録された“System and Method for the Creation and use of Visually-Diverse High-Quality Dynamic Layouts”という名称の米国特許第9,747,258号に記載されるレイアウト品質評価部47などの外部(おそらく客観的)評価部を使用して、出力が非常に悪いと評価される場合、ユーザは、外れ値として規定されうる。
ユーザ評価部332は、ユーザのグループ又はコミュニティと比較するのではなく、同じユーザの以前の回答に対して同様のタイプの解析を利用してもよい。
評価部330及び332の双方は、ユーザフィードバック及びその品質(明示的及び非明示的の両方)を考慮してもよいことが理解されるであろう。追加特徴は、境界値フィルタ設定を使用する応答、又は顔画像を含まないユーザ指定の顔検出矩形を有する応答などの不良応答を探す(上述したように)、特定の解析及びルールを通じて導出されうる。
評価部330及び332の双方はまた、ユーザ応答の履歴、ユーザ格付け(プロの設計者対通常の設計者)、ユーザスキルレベル、ユーザのサイトの複雑さ、ユーザパラメータ(地理など)又はサイトパラメータなどの他のパラメータを考慮してもよいことを理解されたい。特に、評価部330及び332は、同じタスクの以前の使用におけるユーザの選択又は最終的なサイトバージョン(上記の“C”及び“D”レベルバージョン)に対するユーザ応答/フィードバックを評価してもよい(例えば、現在のユーザフィードバックは、同じタスクに対する過去のフィードバックと一致するか?)。
一実施例では、評価部330及び332の双方はまた、例えば、WBSベンダスタッフ61又はクラウドソース評価部とのインタラクションを介して、人間の評価(ラベル付け)又はフィードバックの一部若しくは全部を利用してもよい。このような人間のラベリングは、例えば、補助モデルの初期的な訓練に有用でありうる。
これら補助評価部330及び332はまた、特定のタスク、関連タスク、全体的なサイト設計(例えば、この設計者によって作成されたウェブサイトがどの程度良好であるか)、又はWBS情報から抽出される他の要因及び特徴に関連するようなユーザのスキルレベルを評価しうることが理解されるであろう。上述されるように、所与のタスクに対する“最良”の結果は、ユーザコミュニティ、文化、スキルレベルなどに依存しうるため、“品質”及び“スキル”は絶対的な指標ではない。
評価部330及び332の双方はまた、インタラクションの“ソフト”パラメータを評価してもよい。そのようなパラメータは、ユーザが応答するのに要した時間、応答の確実性のレベル(例えば、ユーザが応答を選択し、“OK”を押す前にそれを変更した)、及び/又はインタラクションのバイオメトリックパラメータ(例えば、マウスの動き、手の動き、目の動き、測定可能なバイオメトリック/生物学的ユーザパラメータ又は他のパラメータ)を含んでもよい。
ここで上述したように、明示的フィードバック解析部325又はアクティビティ単位AIユニット310は、応答評価部330を適用して、ユーザのフィードバック(有効性、正確性などについて)を評価し、応答が利用されるべきか否かと、どのように利用されるべきか(例えば、訓練のため)を、もしあれば決定してもよい。応答評価部330は、フィードバックレーティングを使用して、当該レーティングが特定の閾値未満であるフィードバックデータを不適格にしてもよい。応答評価部330はまた、レーティングを利用して、ウェイト割当てをサポートする基礎となるモデルを扱う際、特定の訓練データサンプル(すなわち、ユーザフィードバック)にウェイトを割り当ててもよい。
ユーザ評価部332は、ユーザ自らを評価し、ユーザが有用なフィードバックを提供する可能性があるか否かの継続中の評価を提供してもよい。アクティビティ単位AIユニット310は、何れのフィードバックインタラクションを提供するか、又はおそらくフィードバックインタラクション又はモデル解決策を提供しないか決定するため(例えば、特定のモデルによって提供される解決策を一貫して拒絶するユーザに対して)、フィードバックインタラクションに入る前に応答評価部332を起動してもよい。
システム200はそれのMLモデル317をユーザフィードバックによって訓練するため、モデル317は、一般にユーザの嗜好及び好みの変化に従うべきであることが理解されるであろう。しかしながら、システム200は、ユーザフィードバック(明示的及び非明示的の双方)がMLモデル317によって生成される解決策における精度の増加する損失を反映しうることを検出しうる(ユーザに所望の結果を得るため、提言される解決策Bに対するより重要な変更を実施することを要求する)。それはまた、これらの結果を編集しなくても、ユーザが提言された結果を一貫して拒否する際にも検出されうる。
このような精度の損失は、設計及び開発中にMLフィードバックベース提案モジュール300に導入されるエラー、特定のユーザグループ又はセグメントの嗜好及び好みの変化、並びにユーザの嗜好及び好みの全体的な変化(アクティビティ単位AIユニット310によって以前に提供されていない特徴の解析を必要とする変化を含む)の組み合わせから生じうる。このような全体的な変化は、概念ドリフトとして知られる。
ここで上述したように、モデルの結果は、ユーザのグループ又はセグメントへの分類と、コミュニティハンドラ380による各グループの特定の嗜好とに依存しうる。しかしながら、特定のグループの嗜好とグループへのユーザの正しい割当てとの双方は、経時的に変化しうる。
アクティビティ単位AIユニット310は、経時的に上記のいくつかを訂正可能であってもよい。しかしながら、一部の問題(実装上のバグなど)は自己修正できないかもしれない。特に、アクティビティ単位AIユニット310は、それらが利用する特徴の規定が変更される必要があるケース(特定の特徴の規定が変更されるべきか否か、又は新しい特徴が作成されるべきか否かなど)を検出及び処理することができない。
これの具体例は、いくつかのタスクに対する非常に異なる嗜好を有する複数の部分集団に経時的に分割されるユーザコミュニティである。これらの複数の部分集団を区別する新しい特徴が追加される必要がある場合、特定のアクティビティ単位AIユニット310は、そのような変更を推奨すること、あるいは、そのような新しい特徴を単独で規定することもできないかもしれない。
ベンダフィードバックハンドラ390(図3)は、システム200からWBSベンダ61のスタッフに主要な指標及び性能を報告することにより、上記の全てを解決してもよい。このようなレポートは、WBSベンダのスタッフに必要なフィードバックを提供してもよく、必要に応じて人が指導する訂正アクションを開始することを可能にしてもよい。ベンダフィードバックハンドラ390はまた、警告及び統計(おそらく特定の問題に関連するユーザ/サイト/オブジェクト情報を含む)などの追加情報をWBSベンダ61に提供してもよい。
ここで上述したように、MLフィードバックベース提案モジュール300はまた、編集に関連するタスクの一部としてフィードバックインタラクションを利用してもよい。単一のオブジェクト/コンポーネント(画像など)のみの処理と、単一のオブジェクトに関連する追加オブジェクト(画像において識別されたプロダクトのためのクロッピング矩形規定又はプロダクト記述子など)とを中心とするいくつかのアプリケーション領域があることが理解されるであろう。
タスクのいくつかについて、すでに上述したフィードバック収集技術の全て(例えば、サイトにおける生成されたイメージの位置決めに基づく)は、ここで以下に説明するように、各アプリケーション領域に関連しうるが、特定のアクティビティ単位AIユニット310及び非明示的フィードバック収集技術が存在しうる。
編集タスクハンドラ370(図3)は、この収集された情報を適宜利用して、WBSエディタ30によって提供される編集タスクを向上させてもよい。そして、編集タスクハンドラ370の要素を示す図7が参照される。編集タスクハンドラ370は、画像解像度向上部371、顔検出部372、ポートレートセグメント部373、オブジェクトセグメント部374、画像クロップ部375、画像エンハンス部376、ロゴ作成部377及びテキスト生成編集部378を備えてもよい。編集タスクハンドラ370の各要素は、MLフィードバックベース提案モジュール300内の自らのアクティビティ単位AIユニット310と共に動作してもよく、明示的及び非明示的フィードバック情報の双方を利用してもよいことが理解されるであろう。
ユーザが小さな画像をそれらを含む大きなコンポーネントにアップロードするとき、画像はピクセル化され、ノイズを含みうることが理解されるであろう。この問題を解決するため、画像解像度向上部371は、画像のピクセルをアップスケールするため超解像度AIユニット310を利用して、いったん拡大されると、スムースでピクセル化されていない結果を作成してもよい。画像向上部371はまた、デブロッキング及びアップスケーリングの要素を合成してもよい。
画像解像度向上部371は、インポート時、ページ編集中にコンテナがサイズ変更されるときはいつでも、又は画像解像度向上部371が解像度差を検出するとき(例えば、必要とされる解像度が入力解像度よりも有意に大きい、例えば、4倍大きいとき)など、いくつかの条件下で超解像度AIユニット310を起動してもよい。
画像解像度向上部371は、以下のアクションの何れか又はそれらの組合せなどの複数のフィードバックインタラクションを利用してもよいことを理解されたい。画像解像度向上部317は、1つ以上のモデルにより生成された画像のセットを用いてオリジナル画像を表示してもよく、ユーザが何れの画像を使用するかを選択することを可能にしてもよい。これら複数の画像は、複数のアクティビティ単位AIユニット310、複数のアルゴリズム、及び特定のモデル/アルゴリズムのための複数の設定によって生成されてもよい。画像解像度向上部371はまた、モデルにより生成される画像を表示してもよく、ユーザがそれを編集することを可能にし、それに応じて明示的フィードバックハンドラ320と調整してもよい。
非明示的フィードバックのため、画像解像度向上部371は、画像の以降のバージョン(例えば、サイトの以降のバージョン又は公開されたバージョンから)を利用してもよいことが理解されるであろう。システム200は、このような利用をユーザが最初のフィードバックインタラクションの後に画像を更に修正したケースに限定してもよい。画像解像度向上部371はまた、対応して非明示的フィードバックハンドラ340と連携して、画像配置、ユーザパラメータ及び画像編集履歴(ここで上述されるような)など、モデルのための情報の追加ソースを利用してもよい。
顔検出部372は、所与の画像における1つ以上の顔の外観を認識してもよい。顔検出部372は、検出のみを実行してもよく、あるいは、顔認識(すなわち、検出された顔画像の身元を決定すること)を含んでもよい。このシナリオでは、顔検出AIユニット310は、検出された顔を囲むフレーム(例えば、矩形)を生成してもよいが、追加情報(例えば、より正確な包囲する曲線又は多角形)を生成してもよい。
顔検出部372のためのフィードバックインタラクションは、ユーザが明示的フィードバックハンドラ320を介し検出された顔を包囲するフレームを承認、拒否又は編集することを可能にしてもよいことが理解される。編集は、ユーザが検出を訂正するためフレームを移動/サイズ変更することを可能にすることと共に、フレームを削除したり、新しいフレームを追加することを可能にすること(すなわち、追加の顔を手動で識別すること)を含んでもよい。
顔検出AIユニット310の1つの問題は、検出された顔が必ずしも常にページ編集処理に直接使用されるわけではないことである(従って、フィードバックの品質が低下する)。上述したように、システム200は、補助MLモデル317を利用して、不良なフィードバックが不適格にできるように、マークされた領域(例えば、ユーザによって修正された)が顔を含むことを確認してもよい。あるいは又はさらに、MLモデル317は、フォローアップ処理において収集された非明示的又は明示的フィードバックを利用して、ユーザが顔矩形に従って画像をクリッピング又はクロッピングしたか否か判定してもよい。
顔検出部372の出力は、典型的には、以下でより詳細に説明されるように、画像クロッパ375への入力として利用されてもよい。顔検出部372が最小の閾値を超える確率で顔を検出した場合、出力は、以下でより詳細に説明されるように、ポートレートセグメント部373へのリダイレクションのためのインジケータとして利用されてもよい。
ポートレートセグメント部373は、ポートレート画像から背景を除去し、ユーザが複数のポートレートを含む同種の画像を作成するのを支援してもよい。そのような画像は、手動により編集されたサイト又は自動生成されたサイトの一部であってもよい“私たちのチーム”などのウェブサイトの一部に必要とされてもよい。このシナリオでは、ポートレートセグメント化AIユニット310は、全身画像の処理を含む、背景から人物を区別するよう訓練されてもよい。ポートレートセグメント化AIユニット310は、包囲フレーム(矩形)又はより正確な包囲曲線/多角形を生成してもよい。
ポートレートセグメント部373は、ユーザがセグメンテーション境界を規定又は編集することを可能にする編集ツールを含んでもよいことが理解されよう。そのようなツールは、(例えば)ユーザが、ブラッシングされないもののみが前景のポートレートとなるように、写真の領域をクリーンアップするためブラシを利用することを可能にするものであってもよい。また、当該ツールは、ユーザが多角形のノードを移動/挿入/削除して、セグメント化多角形と直接やりとりすることを可能にしてもよい。このツールは、フィードバックインタラクションを提供しうることが理解されるであろう。
そして、ポートレートセグメント部373は、例えば、閲覧時にポートレートを目立たせるように既存の背景をグレーアウトすること、(ビデオブルースクリーンに類似した)背景を、一様なカラー、シンプルな勾配又はパターンなどのよりシンプルなものに置き換えること、及び/又は代替背景として使用されるマッチング画像を特定することなどによって、検出されたポートレート及び画像の残りの部分(“背景”)を複数の方法で処理してもよい。補助背景画像選択AIユニット310は、検出されたポートレートのレイアウト、ユーザの嗜好及びユーザのサイトの他の要素に基づいて、そのような画像を選択するよう訓練されてもよい。特に、提言される写真は、オリジナル画像におけるポートレートの位置に一致するよう選択されてもよい。ポートレートセグメント部373は、選択のために複数のそのような潜在的な背景画像を提供してもよい。
ポートレートセグメント部373はまた、ユーザが新しい結合された[画像+ポートレート]を編集したり、あるいは、背景画像又はパターンを変更することを可能にするツールを提供してもよい。これらは、通常のサイト編集中の明示的ユーザフィードバック又はフォローアップ編集の一部であってもよい(追加的な非明示的フィードバックを提供する)。このフィードバックは、補助背景画像選択AIユニット310と共に、プライマリポートレート認識AIユニット310を訓練するのに使用されてもよい。
オブジェクトセグメント部374は、ポートレートセグメント部373と同様の機能を有し、WBSの一部とすることができるか、そうでない場合にはWBSと共に動作することができる電子商取引システムに一体化されてもよい。
オブジェクトセグメント部374は、複数のオブジェクトタイプを認識してもよい(おそらく、異なるオブジェクトクラスに対して複数の特殊なオブジェクトセグメント化AIユニット310を使用する)。このような認識は、オブジェクトの輪郭を認識すること、オブジェクトタイプ(例えば、Tシャツ)を認識すること、特定のオブジェクト(ベンダXによって作られたTシャツ)又はオブジェクトの特定の属性(シリーズYのMサイズのブルーホワイトカラーのTシャツ)を認識することなど、複数のレベルで行われてもよい。このような認識はまた、特定のオブジェクト識別及び属性検出のためのオブジェクト及び属性のカタログを必要としうる。
当該検出は、自動化されてもよいし、あるいは、ユーザによって支援されてもよく(例えば、ユーザが認識対象の特定のオブジェクトを指し示すことによって、又は検出のスタートポイントとして近似的な輪郭を提供することによって)、オブジェクトセグメント部374は、所与のプロダクトページに複数のフィールドを含むプロダクトページを直接配置するため使用されてもよい。
オブジェクトセグメント部374について、フィードバック処理は、ポートレートセグメント部373について説明したようなインタラクション(セグメント化規定の変更など)と共に、ユーザがオブジェクトを識別するか、又は属性値及びタグを指定することによって提供されるフィードバックを含んでもよい。追加のフィードバックは、生成されたプロダクトページに対してユーザによって行われた編集によって生成されてもよい。
画像クロップ部375は、画像の自動的なクロッピングを提供し、編集されたページにおいて使用する画像の“重要”又は“関心”部分を選択してもよい。これらの概念(重要/関心)は主観的に規定されうるものであり、画像クロップ部375は、一般的で普遍的な画像クロッピングAIユニット310に加えて、ユーザ固有の画像クロッピングAIユニット310を実装してもよいことが理解されよう。画像クロップ部375は、業界又は他のサブグループに特有の画像クロッピングAIユニット310を利用してもよい。例えば、都市の街路画像について、ファッションデザインウェブサイトのサブエリア重要度レーティングは、交通計画ウェブサイトに使用されるものと全く異なるものであってもよい。
画像クロッパ375は、画像の“ヒートマップ”を作成し、写真における主焦点及びオブジェクトに基づいて、画像のための最良のクロッピング矩形を提言してもよい。画像クロップAIユニット310は、顔検出、ポートレートセグメント化及びオブジェクトセグメント化(オブジェクトタイプの識別と、より関連する又は重要なオブジェクトの選択を含む)のため、上述したような他のAIユニット310からの入力を利用してもよい。画像クロップAIユニット310は、ユーザの決定及びフィードバックにおいてユーザを支援するため、画像クロッピングプレビュー(以下でより詳細に説明する)の一部として、これらのサポートAIユニット310からの入力を表示してもよい(例えば、検出された顔の周りの矩形を囲む矩形を表示する)。
画像クロッパAIユニット310(及び基礎となるサポートモデルの一部)はまた、(手動で編集されたサイト又は自動生成されたサイトにおける)クロッピングされた画像の予想される使用を考慮してもよい。これは、例えば、ターゲットページの設計及びレイアウトに関連する情報、又は最終画像を含む電子商取引プロダクトページに関連する情報とすることができる。
画像クロッパAIユニット310は、複数の可能な領域を生成してもよい。これは、ユーザが(例えば、複数のクロッピングされたサブ画像から複数の画像ギャラリコンポーネントを作成することによって)複数のクロッピングされたサブ画像をサポートするシステム及びシナリオを利用又はサポートするために最良の領域を選択することを可能にしてもよい。この後者のシナリオであっても、ユーザは、依然として使用する複数の提案された領域のサブセットを選択することを所望してもよい。また、マルチ領域解決策は、提言されたレイアウトにおける異なる位置に画像の複数の(及び可能な相関する)部分を利用可能なサイト生成システムのコンテクストにおいて関連するものであってもよい。
画像クロップ部375は、例えば、切り抜かれた画像を含む特定のプロダクトページ内など、クロッピングオプションのプレビューをコンテクストにおいて表示し、このプレビュー内でフィードバックインタラクション(及び編集)が行われることを可能にしてもよい。
フィードバックインタラクションについて、画像クロップ部375は、提言されたクロッピング矩形と一緒に、画像のプレビューを表示してもよい。ディスプレイは、スタンドアロンであってもよく、あるいは、例えば、クロッピングされた画像(ページの複数のバージョンを示す)を含む電子商取引プロダクトページ内のコンテクストにおいて作成されてもよく、このプレビュー内でフィードバックインタラクション(及び編集)が行われることを可能にしてもよい。そして、画像クロップ部375は、ユーザが提言されたフレームを移動又はサイズ変更し、特定のフレームを選択し、フレームを追加し、又はフレームを削除することを可能にしてもよい。
画像クロップ部375は、以降において画像の実際の利用と、ユーザがページを編集した際にそれのズーミング及びクロッピングに行われた何れかの変更とに基づいて、フォローアップ(すなわち、非明示的)フィードバックを収集してもよい。
画像クロップ部375はまた、背景として使用される画像の領域に重複するWBS要素(例えば、文字又は小さな画像)を手動で配置するユーザからフィードバックを収集してもよい。このシナリオでは、画像クロップ部375は、重複する領域がそれほど重要でない領域であると推測し、当該情報を利用して、それの画像クロッピングモデル317を訓練してもよい。このようなフィードバックは、画像クロップ部375によってクロッピングされる画像から収集できるが、システム200の外部において手動でクロッピングされた(又は全くクロッピングされていない)画像からも収集できる。このようなフィードバックは、自動クロッピング施設がユーザに利用可能にされる前でさえ、画像クロッパAIユニット310のための大規模な初期的な教師あり学習のためのソースとして役立ちうる。
複数のユーザが同じ画像(又は非常に類似した画像)を異なって取り扱ってもよく、例えば、他の物を配置する画像の異なる領域を選択してもよいことが理解されるであろう。これは、(例えば、異なる優先度又は嗜好を有する異なるユーザに起因して)ある程度任意とすることができ、あるいは、各種パラメータ、ユーザ又はワークシナリオに関連しえる。画像クロップ部375は、学習アルゴリズムの訓練のための追加特徴として、固有のパラメータ又はユーザ/シナリオを提供してもよい。
さらに、画像クロッピングAIユニット310はまた、通常の画像クロッピングの領域外で利用されてもよいことが理解されるであろう。例えば、(上述したように)サイト生成システム40は、何れのレイアウト要素が画像に重なるべきかを選択する際、画像クロッピングAIユニット310を利用してもよい。従って、画像クロッピングAIユニット310は、背景画像の重要領域及び非重要領域を決定するため、初期解析を実行してもよい。この解析の結果は、サイト生成システム40に提供され、サイトを生成する際に何れのレイアウト要素を使用すべきか、及びそれらをどこに配置すべきか(例えば、それらが背景画像の非重要部分と重なるように)を決定するため利用されてもよい。あるいは、画像クロッピングAIユニット310のモデルは、サイト生成システム40によって使用されるMLモデル又はルールベースエンジンと統合されてもよい(従って、クロッピング解析及びサイト生成は一緒に実行される)。
画像エンハンス部376は、(一例として)ユーザの画像の明るさ、コントラスト、彩度及び他の特性を自動的に変更することによって、ユーザの画像を向上させるオプションをユーザに与えてもよい。一般に、WBSエディタ30のユーザインタフェースは、ユーザが複数のレバー、回転ボタン等を介して、明るさ、コントラスト、彩度、シャープネス等の値を指定することを可能にしてもよい。画像エンハンス部376は、“自動”オプション(各設定に対して、設定の組み合わせ又は全ての設定の組み合わせ)を提供してもよく、ユーザが画像の最初のインポート中又は通常ページ若しくは画像編集中(例えば、ポップアップユーザインタフェース(UI))の何れかにおいて、生成/修正された設定を訂正することを可能にしてもよい。
画像エンハンス部376のために収集されたユーザフィードバックは、ユーザが各種設定に対して行った変更に基づくものであってもよいことが理解されるであろう。画像エンハンス部376は、(例えば)自動設定を使用する際、又は手動設定を使用する際など、何れかの時点でのユーザ変更に基づいて画像エンハンスメントAIユニット310を訓練してもよい。画像エンハンス部376はまた、これらの値が明らかに間違っている(100%の明るさなど)とき、又はユーザ評価モデル332によって決定されるように、訓練データからユーザ設定の境界値を省略してもよい。
画像エンハンス部376について、インタラクション生成部315は、各種シナリオについて提言された設定を提供してもよいことが理解されよう。あるいは、それは、基礎となる画像を直接修正してもよい。
ロゴ作成部377は、自動生成されたロゴ提言をサイト作成者に提供してもよい。ロゴ作成部377は、ロゴ作成AIユニット310を利用して、例えば、サイト生成システム40によって収集された情報からのユーザに関して知られている情報(テキスト、画像など)と、ユーザ応答、解析及び内部及び外部ソースから収集された情報とに基づいて、ロゴを作成してもよい。当該情報は、例えば、ビジネス名、スローガン、ビジネスに関連する写真、既存のオフラインロゴ、又は既存の非WBSサイトで使用されるロゴを含むことができる。従って、ロゴ提言は、テキスト(特定のフォント、サイズ及び他のパラメータを含む)、画像、グラフィックアートなどを含んでもよい。生成されたロゴは、複数のそのような要素を組み合わせてもよい。
ロゴ作成部377は、典型的には、複数の提言を生成し、ユーザがそれらを評価することを可能にしてもよい。これは、例えば、各提言を別々にレーティングすることによって、又は(好ましくは)提言のペアを相対的に(すなわち、ペアの一方がより良く見える)レーティングすることによって行うことができる。そして、ユーザによって行われるこれらのレーティング及び最終選択は、ロゴ作成アクティビティ単位AIユニット310を訓練するのに利用されてもよい。
設計者によって提供されたスコアとユーザによって提供されたスコアとの間に相違がありうることが理解されるであろう。従って、実際のユーザによって提供されるデータ及び訓練は、プロの設計者による最初の訓練より代表的であってもよい。
テキスト生成編集部378は、サイトのコンポーネントに埋め込まれたメディア及びテキスト要素のための構造化された生成編集環境を提供しうるテキスト生成AIユニット310を備えてもよい。一例は、推奨されるビデオセグメントのセットを、セグメントを修正したり、セグメントに情報を埋め込んだり、セグメントを連結したり、ビデオエフェクト及びトランジションを追加したりするツールと一緒に提供するビデオ編集環境である。更なる具体例は、オーディオセグメントを処理する際に同様の機能を提供するオーディオ編集環境である。
更なる具体例は、出願により共有され、参照によりここに援用される2019年5月30日に公表された“System and Method for the Generation and Editing of Text Content in Website Building Systems”という名称の米国特許公開第2019/0163728号に記載されたものと同様の構造化されたテキスト編集環境であってもよい。このような環境は、テキスト要素を形成するため“一緒に動作”可能なテキスト要素又は“ミニテンプレート”のセットを提供してもよい。これらは、“about us”、“our products”、“terms of use”、チームバイオグラフィ、特定のプロダクト説明などのサイトテキスト部分を編集するのに利用可能である。“ミニテンプレート”は、システムに利用可能な情報(サイトのビジネス名、住所、プロダクトリスト、又はサイト生成システム40若しくは基礎となるデータベースにおいて利用可能な他の詳細など)を利用して充填されうるプレースホルダを含んでもよい。
テキスト生成編集部378はまた、提言された写真又はビデオ要素のセット(例えば、漫画のキャラクタ画像及び背景)及び操作処理に基づいて画像作成を提供する専用エディタを備えてもよい。修正及び埋め込み処理は、シンプル-ビデオセグメントへの音声又はキャプションの追加、中間-ビデオセグメント内で閲覧されるテキスト、オーディオ及びサブ画像の修正(ビデオをある言語から別の言語に翻訳する際に実行されることがある)、複雑-ビデオセグメントにおけるキャラクタ及びオブジェクトの動きと挙動の要素を実際に指定し、パラメータ化されたビデオセグメントを作成するなど、複数レベルにおいて提供されてもよい。
テキスト生成編集部378は、これらのセグメントを作成及び編集する際に複数のユーザのアクティビティからフィードバックを収集してもよい。収集されたフィードバック(及び訓練データ)は更に、ユーザ特徴を含んでもよい。例えば、1つの領域におけるユーザは、他の領域におけるユーザと比較して、異なる嗜好を有してもよい。
収集されたフィードバックに基づいて、テキスト生成編集部378は、(それのテキスト生成編集AIユニット310と共に)、ユーザに何れの題材及びオプションを提供するか決定し(例えば、何れのテキストテンプレート又はセグメント、何れのビデオサブセグメント、何れの処理を提言するかなど)、可能なオプションをフィルタリング及び/又はレーティングしてもよい。一般に、非明示的フィードバックに対して、システム200は、上述したように、画像クロッピング又はポートレートセグメント化モデルなど、フォローアップアクティビティAIユニット310によって収集されるフィードバック情報を利用してもよいことが理解されるであろう。
上述したように、編集タスクハンドラ370及びそれの要素は、単一のオブジェクトを処理するタスクに対するサポートを提供してもよい。この機能は、問題領域の研究から生成されるルールの所定のセットを使用する特殊なルールエンジンを利用して以前に実行された処理をサポートするのに利用されてもよい。これらのルールは、構築するのが困難であり、維持するのは更に困難である。さらに、システム200はルールエンジンの代わりにそれの機械学習ベースの解決策を利用するか、あるいは、2つの技術を組み合わせ、双方のソースからの出力を統合してもよいことが理解されるであろう。例えば、AIベースの方法は、ウェブ要素のグループを検出し、そして、ルールベースの方法は、それら各種パラメータに基づいてそれらをモバイルビューにどのように配置するかを決定してもよい。
さらに、システム200は、既存のルールベースシステムを利用して、基礎となるアクティビティ単位AIユニット310に初期的な教師あり訓練を提供してもよい。そのような初期的な訓練は、ルールエンジンの既存の出力(例えば、既存のサイト解析及びサイト変換結果)を利用することと共に、収集されたサイト(例えば、他の未処理のWBS/非WBSサイトと共にランダムに生成されたサイト)上でルールエンジンを利用することによって実行可能である。
編集タスクハンドラ370はまた、処理対象(解析又は変換)のソース題材をユーザが確認又は編集することを可能にしうる特定の編集又はマークアップツールをユーザに提供してもよい。そのようなツールは、ユーザがルールベースシステム又はMLモデル317に追加入力を提供しうる追加的ヒント又は関連情報を提供することを可能にしてもよい。
編集タスクハンドラ370は、MLフィードバックベース提案モジュール300を実行し、典型的には、現在編集されているページ上のレイアウト及び他の情報に着目し、既存のWBS情報の解析を向上させてもよいことが理解されるであろう。そのような解析は、補助構造の作成及び修正(コンポーネントのグループ化の規定又は上位レベルのレイアウト記述など)をもたらしうるが、典型的には、直接可視的なサイトページに影響を及ぼさない。
異なる解析は、意味解析又は他の解析タイプの結果を反映する特徴を含む、レイアウト及びコンポーネントから抽出された複数の特徴を利用してもよい(例えば、出願人により共有され、参照によりここに援用される、2019年1月8日に登録された“System and Method for Automated Conversion of Interactive Sites and Applications to Support Mobile and Other Display Environments”という名称の米国特許第10,176,154号、及び2018年2月1日に公開された“System and Method for Implementing Containers which Extract and Apply Semantic Page Knowledge”という名称の米国特許公開第2018/0032626号に詳述される解析タイプに従う)。
複数のWBSコンポーネントを一緒に処理するタスクに対するサポートを提供しうるサイト機能更新部400の要素を示す図8が参照される。サイト機能更新部400は、コンポーネントグループ化部401、コンポーネントグループラベル付け部402、オブジェクト解析部403、コンポーネントオーダ部404、オブジェクト変換部405、デスクトップ・ツー・モバイル変換部406、WBSインポート部407、レスポンス編集サポート部408、テンプレート置換部409、マニュアルサイトアダプタ410及び設計提言部411を備えてもよい。
編集タスクハンドラ370と同様に、サイト機能更新部400の各要素は、MLフィードバックベース提案モジュール300の関連するアクティビティ単位AIユニット310と共に動作してもよいことが理解されるであろう。各アクティビティ単位AIユニット310は、普遍的であってもよいし、所定のコミュニティに従ってもよいし、ユーザに従ってもよい。サイト機能更新部400の要素は、モデルに提供されるシンボルとして、WBSコンポーネントと共に、自然言語の理解に適合されたMLモデル317を利用してもよい。そのようなシンボルは、WBSによって直接的に生成されてもよいし、あるいは、非WBSウェブサイトにおけるレイアウト及びコンポーネントを識別するための基礎となる解析の結果であってもよい(例えば、WBSにインポートされるべき、又は抽出された情報に対して解析されるべき非WBSサイトを解析する際)。このような言語関連モデルは、例えば、RNN(Recurrent Neural Network)及び同様の機械学習モデルを含みうる。
言語関連モデルは、典型的には、本来的に1次元である入力シンボル列として情報を取り扱うことがまた理解されるであろう。一方、典型的なウェブページ構造は2次元であり、表示オーダのz座標を考慮すると3次元とみなすことができる。ウェブページ構造は、特にコンテナ階層が解析される必要がある場合、さらに複雑になりうる。
サイト機能更新部400の要素は、アルゴリズムを利用して、レイアウトにおける要素の“自然なオーダ”を決定し、それによって、3D+レイアウトデータを1Dシンボル列に変換してもよい。このようなアルゴリズムは、米国特許第10,176,154号のスーパーノード作成部及びオーダ部の規定に記載されるものと同様であってもよい。
MLフィードバックベース提案モジュール300は、アクティビティ単位AIユニット310によって処理される生成されたシーケンシャルなシンボルの特徴として、オリジナルコンポーネントの属性を含んでもよいことを理解されたい。そのような属性は、幾何学的属性(オリジナルのX/Y座標、コンポーネントの高さ及び幅、並びにそれのzオーダなど)と共に、コンポーネントの他の属性を含んでもよい。
サイト機能更新部400の各要素は、(上述したように)ユーザが明示的又は非明示的フィードバックを提供することを可能にしうることがまた理解されるであろう。例えば、コンポーネントグループ化解析タスクでは、ユーザは、グループの初期的なラベリングを提供し、何れが誤っているか、又は最適ではないかに関して、生成された解析(コンポーネントグループ化など)のラベリングを提供してもよい。
サイト機能更新部400によって提供される解析タスクは、スタンドアロンタスクであってもよいが、以下でより詳細に説明するように、変換タスクの第1段階であってもよいことがまた理解されよう。
そのようなタスクの1つは、コンポーネントグループ化である。米国特許出願公開第2018/0032626号に記載されるシステムと同様に、コンポーネントグループ化部401は、オブジェクトの持続的なグループ化をサポートし、編集処理のための特殊な挙動(例えば、サイズ変更及びサブエレメントの挿入、削除又は編集)、又は基礎となるデータレポジトリとの特殊な接続など、そのようなグループ化に基づいて複数の機能を提供してもよい。
コンポーネントグループ化部401は、コンポーネントグループ化AIユニット310を利用して、そのようなグループを検出し、それらのレイアウトを理解してもよく、図6に示すものと同様のMLモデル317を利用してもよい。そのような検出の結果は、“フラット”(すなわち、グループ規定の単一セットから構成される)又は階層的(すなわち、グループ及びスーパーグループの階層から構成される)であってもよいコンポーネントグループ化の規定である。
コンピュータビジョンに基づく、トリプレット解析に基づく、及びトリプレット解析とコンピュータビジョンとの組み合わせに基づくMLモデルを利用してコンポーネントグループ化部401の他の方法を示す図9A、図9B及び図9Cが参照される。各処理は、図6の方法と同様に、ウェブ要素を抽出すること(ステップ210)から開始されうる。
コンピュータビジョンモデルについて、当該方法は図9Aにおいて抽出されたウェブ要素を含むページの画像を生成することに続き(ステップ220)、結果としてのサイト画像を訓練されたオブジェクト検出ニューラルネットワークに提供してもよい。訓練のため、各ページは画像としてレンダリングされ、これにより、各要素タイプにはカラーが与えられ、バウンディングボックスが各要素の周囲に手作業により描画される。モデルは、要素のグループの周りにバウンディングボックスを描くことを学習する(ステップ222)。これは、画像オブジェクト検出部が画像におけるオブジェクトの周りにバウンディングボックスを描くよう訓練される方法に類似している。これらのバウンディングボックスは、要素のグループを示し、更なるクラスタリングは必要ない。そして、これらの画像は、教師あり学習(バウンディングボックス回帰)を介しニューラルネットワークを訓練するのに利用される。そして、訓練されたニューラルネットワークは、以下でより詳細に説明されるように、コンポーネントグループに処理されうる(ステップ224)ページの要素の周りに(潜在的なグループのための)バウンディングボックスのセットを生成してもよい(ステップ222)。訓練入力は、サイト画像及びそれらの関連するグループ規定を含んでもよいことが理解されるであろう。図9Bのモデルは、トリプレットモデルと呼ばれ、3つの要素のグループを3つのカテゴリ、1)全ての要素が同じグループにある、2)全ての要素が異なるグループにある、又は、3)3つの要素の2つが同じグループにある、の1つに分類するようモデルを訓練することに関する(ステップ234)。このモデルは、トリプレットを分類するため、要素間の関係幾何学的特徴(例えば、距離、オーバラップ、交差、ユニオン)を使用する。これらの特徴は、ステップ232において抽出される。全てのトリプレットが分類されると、グループは、DBScanクラスタリングを利用して、最も頻繁に一緒に属するものとして分類される要素をクラスタリングすることによって、後処理において再構成される(ステップ236)。
図9Cに示されるように、コンピュータビジョン及びトリプレット方法は、組み合わされてもよい。最初に、図9Aのコンピュータビジョン処理が利用され、それのグループが図9Bのトリプレット方法への入力として提供されてもよい。これは、要素のより正確なグループ化を提供しうる。2つの方法の組み合わせは、コンピュータビジョンモデルがハイレベルなグループを識別することを可能にし、ハイレベルなグループ内におけるより良好な低レベルのグループを検出するため、各ハイレベルグループ上でトリプレットモデルを実現する。
図9Cは、特定のコンテナ上において、通常は先頭ノードとしてのページから始まって、包含階層内の各コンポーネントノードに対して再帰的に実現されてもよい。各ノード(例えば、内部にX個のサブ要素を有するコンテナ)について、ステップ230は、これらX個の要素から可能な各トリプレットを作成する(すなわち、
個のトリプレットが作成される)。これらは、最良のグループ化を説明するため上記のように解析される。最後に、情報は“ツリーをフローアップする”ようにマージされる。
階層的グループ化処理を示す図10が参照される。図示されるように、ページAは、一緒にグループ化されるべき写真及び関連するキャプション(人物の写真及び名前など)のペアを示す([b,e]、[c,f]及び[d,g])。それに関連するコンポーネントグループ化AIユニット310を利用して、コンポーネントグループ化部401(図8)は、ページBに示すようにコンポーネントを3つのグループ(k、l及びm)にグループ化してもよい。さらに、コンポーネントグループ化部401は、3つのペアを(ページA上で)一緒にグループ化し、ここで参照されるページA及びBについて図11に示される階層によって規定される“私たちのチーム”タイプグループ(j)(ページB上)を形成してもよい。
グループ化階層は、“自然”なページ包含階層とは異なるか、又は矛盾することさえあることが理解されるであろう。例えば、グループ化階層は、技術的に同じコンテナレベル(すなわち、全て兄弟)に存在する要素から構成されるサブツリーを含んでもよく、従って、それらの間に事前に規定された階層関係を有さない。
さらに、グループ規定は、コンテナ境界を横切ってもよい。例えば、ページ設計者は、編集及び位置合わせを支援するため、図9からの3つの写真(b、c及びd)を1つのコンテナに当初は配置し、3つのテキストキャプション(e、f及びg)を第2の別のコンテナに当初は配置していてもよい。しかしながら、(コンテンツ関連)グループ化は、上述したように、これらのコンテナ境界を横切ってもよい。
コンポーネントグループ化AIユニット310は、コンテナ階層情報(特徴として利用可能である場合)を利用し、また、適切な場合(例えば、人間のラベル付けに基づいて)コンテナ階層を“破る”よう訓練されてもよい。
コンポーネントグループ化部401はまた、(例えば、米国特許第10,176,154号に記載されるスーパーノード作成部と同様に)予め規定されたグループ化規則及び方法を統合してもよい。コンポーネントグループ化部401は、それのコンポーネントグループ化AIユニット310と共に、そのようなルール及び方法を適用してもよく、初期的な訓練データをコンポーネントグループ化AIユニット310に提供してもよい。
コンポーネントグループ化部401はまた、レイアウト/グループ理解を提供するようそれのコンポーネントグループ化AIユニット310を訓練してもよく、例えば、それは全てのレベルでグループに特定のタイプを割り当ててもよい。そのようなタイプは、“WBSコンポーネントワールド”(リスト、マトリックス、画像+キャプション、画像ギャラリなど)又は“リアルワールド”(人物の詳細、チームメンバー、オファーされたプロダクトなど)にあるものとして規定することができる。システム200は、おそらくタイプの階層を含む、双方のタイプの関連する分類を提供してもよい。そのような訓練はまた、ユーザがそのタイプによってグループをラベル付けすることを可能にするラベル付けツールによって提供されてもよい。このグループの理解は、上述されるようなグループ検出に加えて決定されるべき情報の追加的レイヤとして役立つ。
従って、コンポーネントグループ化部401は、ユーザに提言されたグループ化規定(おそらく上述される提言されたグループタイプを含む)を提供し、例えば、ユーザがグループ規定を承認し、グループ規定を拒絶し、複数のグループ化提言の中から選択し、提供された規定を編集し、ユーザのグループ化規定又は変更(例えば、グループのマージ、分割、リオーダリング又はリペアレンティング(re-parenting))を提案することを可能にすることによって、明示的フィードバックを収集してもよい。
コンポーネントグループ化部401は、編集中に実行される以降の処理からフォローアップ非明示的フィードバックを収集してもよい。特に、WBSエディタ30は、グループ処理及びグループ解除処理を提供してもよく、これらは追加的フィードバックを提供しうる。コンポーネントグループ化部401はまた、例えば、コンポーネントの挿入/削除、及び要素のセットに対して実行される処理などの他の処理の解析に基づいて、フィードバックを収集してもよい。例えば、テキストフィールドと画像フィールドとは、典型的には、一緒に変更される場合、これは、両者が相互接続され(例えば、テキストフィールドが画像フィールドのコンテンツを記述する)、可能であればグループ化されるべきことを示してもよい。
コンポーネントグループラベル付け部402は、(おそらく階層的)方法でコンポーネントのグループにラベリングする際にユーザをサポートしてもよい。そのようなラベル付けは、グループの構成(すなわち、グループがどのコンポーネントを含むか)及びグループの意味(すなわち、“チームメンバー”、“ピクチャ+キャプション”など、グループの機能が何であるか)の双方を含んでもよい。そして、これらのラベルは、グループの識別及び理解のため他のMLモデル317を訓練するため利用されてもよい。
3つのレベルの階層において規定された同一のウェブページに対するグループラベルを示す図12A、12B及び12Cが参照される。図12Aは、コンポーネントのハイレベルの階層を示す。その結果、ページのコンポーネントは、タイトル、見出し及び論文記事などの非常に一般的なコンポーネントラベルを有する。図12Bは、コンポーネントのより詳細な階層を示し、カラムは関連するラベルと共に、コンポーネントタイプの以前のセットに追加される。図12Cは、コンポーネントの高度に詳細な階層を示し、テキスト及び画像が、関連するラベルと共に、コンポーネントタイプの以前のセットに追加される。
コンポーネントグループラベル付け部402(図8)は、ページの部分、ページ全体、ページのセット又はサイト全体などの様々なレベルでグループをラベル付けしてもよい。コンポーネントグループラベル付け部402は、WBS内又は外部サイト(他のWBS又は非WBS技術若しくはプラットフォームを利用して開発された)から開発されたサイトをラベル付けするのに利用されてもよい。コンポーネントグループラベル付け部402は、複数のサポートされるプラットフォームに対するラベリングを実行することを目的とする複数のツールの変形例又は実施例から構成されてもよい。
WBSによって作成又は運営されるサイトについて、コンポーネントグループラベル付け部402は、WBSランタイムサーバ20と統合されてもよい。従って、それは、表示されるコンポーネント、それらのレイアウト、それらの状態、それらのコンテンツ及びWBSに利用可能な何れかの追加情報(編集履歴などの履歴情報を含む)に関する完全な情報によってラベル付け処理をサポートしてもよい。
また、コンポーネントグループラベル付け部402はまた、サイトにおけるユーザのアクティビティおよびセッション中に発生するサイト変更と統合されてもよく、従って、ユーザ及びサイトを“フォロー”し、ラベリング作業をサイト変更と同期させてもよい。コンポーネントグループラベル付け部402は、例えば、ページの一部を変更させるユーザアクティビティに従ってもよく、従って、以前にラベル付けされた領域は、隠蔽又は不可視化され、新しいページ領域、コンポーネント、コンポーネントバージョン又はコンフィギュレーションが可視的になる。コンポーネントグループラベル付け部402は、結果としてグループ化規定を修正してもよい。コンポーネントグループラベル付け部402はまた、例えば、ユーザ編集のため(例えば、コンポーネントのサイズを変更し、他のコンポーネントのレイアウトを移動又は影響を及ぼす)、又は非ユーザ変更のため(他のユーザによって行われた変更を反映するコンポーネント、又はコンポーネントに埋め込まれた動的に変わるデータ)に行われるサイトに対する変更に従ってもよい。それはまた、例えば、サイトが表示領域の幅(又は他のパラメータ)に応じて複数のレイアウトバージョン間で切り替わるとき、応答レイアウトによって生じるサイトへの変更に従ってもよい。
コンポーネントグループラベル付け部402はまた、WBSの機能及び挙動に影響を及ぼしうる。例えば、コンポーネントグループラベル付け部402は、WBSランタイムサーバ20に、修正された、代替の、単純化された、フレームのみの、又は(例えば、視覚的要素又はクラッタを除去することによって、あるいは、各種コンポーネント間の関係を明確にすることによって)ラベル付けをより容易にする別のモードで、ユーザによって処理されるコンポーネントを表示するよう指示してもよい。
コンポーネントグループラベル付け部402はまた、他の方法により(WBSなどから)利用可能な情報を利用して、特定のマーキング、変更、アニメーション又は他のUI要素(ハンドラ又は要素間接続など)を、グループを形成しうるコンポーネントに追加するなど、可能なヒント及び指示をサポートするか、又はユーザに提供してもよい。
他の例として、コンポーネントグループラベル付け部402は、コンポーネントが追加(又は編集)された順序をユーザに示すか、又は所与の期間若しくはセッション中に追加又は編集されたコンポーネントをマーキングしてもよい。このような情報は、(編集履歴情報に基づいて)ツールに直接利用可能であってもよいし、あるいは、データ分析に基づいて生成されてもよい。
外部WBSプラットフォーム又は非WBSサイト上に実装されたサイトについて、コンポーネントグループラベル付け部402は、ブラウザアドオン又はエクステンションとして(例えば)実装されてもよい。そして、コンポーネントグループラベル付け部402は、基礎となるサイトディスプレイと共に表示される追加のUIのレイヤとして機能し、図13A及び13Bに示されるように、参照が簡単になされる表示されたページにおけるグループ(及びグループ階層)にユーザがラベルを付けすることを可能にしてもよい。図13AはラベリングUIを示し、図13Bは、いくつかのコンポーネントがグループ化のため選択されると、ラベリングUIを示す。
このシナリオでは、コンポーネントグループラベル付け部402は更に、ブラウザ及び表示されるページ文書オブジェクト(DOM)構造と、例えば、DOMを解析することによって(ページロード時、リアルタイム又は他の方法で)やりとりしてもよい。このインタラクションは、コンポーネントグループラベル付け部402が何れかのグループマーキングアクティビティを、表示されたページの変更と同期させることを可能にしうる。
コンポーネントグループラベル付け部402は更に、グループ化を実行するユーザにヒントを提供するため、DOMに修正を加えることによって、基礎となる表示されるページのDOMとやりとりしてもよい(上述されるように、WBSとのインタラクションを通じてページUIに対して実行される変更と同様)。あるいは、コンポーネントグループラベル付け部402は、表示されたページの先頭に表示される追加的(おそらく半透明の)レイヤを介するなど、他の手段を介し追加的なUI表示及びヒントを提供してもよい。
従って、コンポーネントグループラベル付け部402は、WBSサイト及び非WBSサイトの双方をマーキングするのを支援してもよい。それは、(双方の場合において)ユーザによって提供されるラベルに追加される追加特徴として、(例えば、それの解析の結果、WBS又はDOM構造からの抽出など)それに利用可能な追加情報を利用してもよい。
典型的なシナリオでは、コンポーネントグループラベル付け部402は、WBSベンダ61によって内部的に使用され、通常(外部)のユーザに以降に配備可能なアクティビティ単位AIユニット310を訓練してもよい。しかしながら、WBSはまた、ユーザが特定のサイトのためのグループ化フィードバックを提供することを要求されるシナリオにおいて、外部ユーザにシステム200を配備してもよい。例えば、ユーザが、サイト生成システム40を使用してWBSにおいてサイトを作成することを所望し、ユーザが追加の関連サイト(例えば、ユーザ自身又は競合者サイト)の詳細を提供するとき、そのようなサイトから抽出される情報は、ユーザのためのサイトを生成又は修正する際、サイト生成システム40によって利用可能である。インタラクションの一部として、ユーザは、提供されるサイトの要素を指し示すか、マーキングするよう求められてもよい。そのようなマーキングは、グループ化情報を含んでもよく、それらに関する情報を提供してもよく、サイト生成システム40は、グループラベリング処理の一部として利用されるコンポーネントグループラベル付け部402に提供することができる。
コンポーネントグループラベル付け部402はまた、グループ化データを利用して、グループラベラAIユニット310とのループバック統合を実現してもよい。このようにして、コンポーネントグループラベル付け部402は、確認されるページ(又は一部)をグループラベラAIユニット310に送信してもよく、インタラクション生成部315から最初のグループ化提言を受信してもよい。そして、コンポーネントグループラベル付け部402は、(表示されるページと共に)これらの提言をユーザに提示してもよい。そして、ユーザは、これら提言されたグループ化指示(それらを編集すること、又は異なるグループ化を作成することを含む)を確認してもよく、コンポーネントグループラベル付け部402は、当該グループ化を訓練のためにグループラベラAIユニット310に提供してもよい。
コンポーネントグループラベル付け部402は、同じページ又はコンポーネントセットについて複数の人々(ラベラ)によって実行される作業を比較して、所与のページ又はコンポーネントセットについてグループ化を規定する方法に同意するか否かを確認してもよい。このような比較は、例えば、調整されたランドインデックスの値に基づいてもよい。このインデックスは、異なるグループ化規定の間の類似度を測定する。おそらく、複数の人々が同じ(又は類似する)ラベル付けを推奨する場合、このラベル付けは、より正確であるか、さもなければ、最良のグループ化が何であるべきかをより反映する。
オブジェクト解析部403は、ロゴなどのサイト内の特定のオブジェクト又はパターンを検出してもよい。これは、(例えば、サイト生成処理で使用するため)ロゴを検出するため非WBSサイトを解析する際に特に関連する。そのような解析タスクはまた、ロゴとしてマーキング又は指示されていない既存のWBSサイト内の“ユーザ構成”ロゴを検出することを含むことができる。
オブジェクト解析部403は、一緒になってロゴを形成するコンポーネントのセットを検出することを目的とする。ユーザは、複数のテキスト、画像及びグラフィック要素(例えば、星形)を組み合わせることによって、これらの要素がロゴ(又は何れかのタイプのグループ)を形成するという何れの指示なく、ロゴを構成しうることが理解されるであろう。そのようなロゴを検出することは、コンポーネントがまた直接規定されず、それらの規定が基礎となるHTMLコードにおいて検出されるべき非WBSサイトを解析する際、特に困難となりうる。オブジェクト解析部403はまた、(単独で)解析されたサイトのロゴである単一のコンポーネントを検出することを含んでもよい。
オブジェクト解析部403は、検出されたロゴを提示する際、ユーザとの承認/拒否インタラクションを通じて、ロゴ検出タスクに関するフィードバックを収集してもよい。オブジェクト解析部403は、ロゴが解析されたサイトに基づいて作成されたサイトの公開されたバージョンで使用されたかを検出することによって(直接変換又はサイト生成によって)、又は、ロゴがサイトのモバイルバージョンの先頭領域に移動されたか、あるいは、サイトの複数のページに現れるヘッダに追加されたかを検出することによって、フォローアップフィードバックを収集してもよい。そのような処理は、検出されたロゴがどの程度ユーザに対して許容可能(又は有用)であるかについての更なるフィードバックを提供しうることが理解されるであろう。
ここで上述したように、システム200は、3次元レイアウトで配置された表示されたコンポーネントの間の線形順序を規定するため、オーダリングアルゴリズム(米国特許第10,176,154号に詳述されているものなど)を利用してもよい。線形順序は、典型的には、ページの自然な読み取り順序に基づいて規定されるが、そのような順序は、規定することが困難であるか、又は、あいまいである可能性があり、他の可能な順序が存在してもよい。そのような線形順序は、例えば、コンポーネントセット上の言語関連のアクティビティ単位AIユニット310を利用するため、又は、シンボル系列ベースのMLモデル317を使用するAIユニット310を利用することが必要とされうる。このような順序付けはまた、既存のレイアウトをモバイル又は異なる表示パラメータに変換すること、応答性のある編集及び表示機能を提供すること、システムのアクセス性サポートの一部としてブラインドユーザのためのサイトを読むなど、所与のコンポーネント順序に依拠するサイトページの代替ビューを提供することなど、追加のシステム機能の基礎を提供してもよい(及び追加のタスク固有AIユニット310に入力を提供してもよい)。
コンポーネントオーダ部404は、(上述したように)明示的なコンポーネントオーダリング解析を利用して初期化されてもよく、ユーザからのフィードバック(おそらく、WBSユーザ又は設計者によって作成されるウェブサイトのエンドユーザからのフィードバックを含む)を通じて更に訓練されうるコンポーネントオーダリングのためのオーダリングAIユニット310を利用してもよい。コンポーネントオーダリング部404は、注文番号をコンポーネントに添付することを可能にしうるUIを提供することによってフィードバックを収集してもよい。あるいは、コンポーネントオーダリング部404は、モデルが間違った注文を提供するときはいつでも、エンドユーザによって利用可能なシンプルな“Oops”ボタンを有してもよい。Oopsボタンは、エラーの位置(例えば、誤って配置されたコンポーネントの位置)を指し示すためのカーソルと組み合わされてもよい。そのようなボタンは、例えば、ブラインドユーザによって使用され、システム200に異なるオーダを使用して誤ってオーダされたコンポーネントのセットを再読取させてもよい。
オブジェクト変換部405は、それらのレイアウト及び他の関連情報(ソースオブジェクトセット)を有するウェブページ内のコンポーネントなどのオブジェクトの集合を、修正されるターゲットオブジェクトセットに変換してもよい。当該変換は、典型的には、上述されたグループ化及びオーダリング解析など、ソースオブジェクトセットの予備解析に基づく。
オブジェクト変換部405に関する以下の説明は、ウェブページ変換に関するものであることが理解されよう。しかしながら、同じ処理がページの一部又はページのサブセット(例えば、所与のコンテナのコンテンツ)、ページセット(完全なウェブサイトを含む)、任意のコンポーネント集合及び他の非ウェブコンポーネント若しくは要素セットに適用されてもよい。
ソースオブジェクトセットとターゲットオブジェクトセットの双方が(例えば、WBSにおける)同じウェブサイトページであり、変換がいくつかのコンポーネント、レイアウト及び属性の変更を伴うときなど、複数のレベルで変換が実行可能であることを理解されたい。一例は、ページのデスクトップバージョンにおけるコンポーネントとレイアウトとを変更して、ページのモバイルバージョンを生成することである。
他のレベルは、ソース及びターゲットオブジェクトセットが、一般に同じプラットフォーム(例えば、WBS)における異なるページであるときであり、オブジェクト変換部405は、コンテンツ、レイアウト及び設計情報をソースオブジェクトセットからターゲットオブジェクトセットに転送してもよい。一例は、特定のテンプレートに基づいて構築されたサイトを処理し、そのコンテンツ、レイアウト及び設計(及びオリジナルソーステンプレートになされた変更)を新しいターゲットテンプレートに転送することである。
更なるレベルは、ソースオブジェクトセットとターゲットオブジェクトセットが異なるプラットフォーム上のページであるときである。一例は、異なるWBS又は非WBSサイトからWBSにページをインポートすることに関する。上述したタイプの変換タスクと異なって、このタイプの変換では、ソースオブジェクトセットとターゲットオブジェクトセットとは実際には“異なる言語”であり、利用可能なコンポーネントと属性とのセットは、ソースプラットフォームとターゲットプラットフォームとの間で実質的に異なりうる。実際、通常の(HTML/JS)ウェブページから変換する際、ソースページは(本発明のWBSで規定されたページとは異なり)コンポーネント規定を有しなくてもよい。
オブジェクト変換部405は、言語解析モデルと生成モデルとの双方を含む自然言語処理の領域に適応されたオブジェクト変換AIユニット310を利用してもよい(おそらく、各種コンポーネントのオーダリングを通して)。これらのタスク(及び関連する設備及びモデル)のいくつかが、以下でより詳細に説明される。
オブジェクト変換AIユニット310は、ソースオブジェクトセットとターゲットオブジェクトセットとの一致するペアを使用して訓練されてもよい。そのようなペアは、WBSベンダスタッフ61及び上述した他の者によって提供されてもよい。このようなペアはまた、システム200によって提供される最初の解決策を訂正するユーザから抽出された非明示的フィードバックデータを使用して収集されてもよい。オブジェクト単位変換AIユニット310は、以下でより詳細に説明するように、他の明示的及び非明示的フィードバック形態及びインタラクションを利用して訓練されてもよい。
また、既存のWBSはしばしば、タブレット及び携帯デバイスに見られるようなデスクトップのために構築されたサイトを異なるスクリーンサイズ(異なるディスプレイウィンドウサイズと共に)にリターゲットする必要があることが理解されるであろう。このようなタブレット及び携帯デバイスは、標準的なスクリーンサイズを有しておらず、多数のサイズが市場に存在する。異なるスクリーンサイズに適合するようページに行われる変換は、必須であり、水平スクロールを回避し、垂直スクロールを最小限に抑えるようコンポーネントの再配置を伴いうる。それはまた、コンポーネントタイプを変更すること(例えば、グリッドギャラリをモバイル対応スライダギャラリに変更すること)、コンポーネントのレイアウト及び他の属性を変更すること、コンポーネント(例えば、モバイルナビゲーションバー)を追加すること、コンポーネント(例えば、モバイルバージョンでは必要とされない装飾コンポーネント)をドロップすること、及び他の変更を含みうる。
既存のシステムは、典型的には、ページレイアウト及び要素の解析と、レイアウト変更及び他のページ変更を提供するためのルールエンジンの使用とに基づく。そのようなシステムの1つは、米国特許第10,176,154号に記載される。
デスクトップ・ツー・モバイル変換部406は、既存サイト上の該当するルールエンジンを使用して訓練可能なデスクトップ・ツー・モバイル変換AIユニット310を使用してもよい。それはまた、以前に変換されたサイト(提言されたルールベースバージョンを向上させるため設計者によって編集されたものであってもよい)を利用して訓練されてもよい。それはまた、新たに変換されたサイトに基づいて、すなわち、モデルを使用して変換されたサイトに対してユーザによって行われた変更に基づいて、訓練されてもよい。
他の訓練アプローチは、適切なアクティビティ単位AIユニット310によって支援される解析ベースのページ変換アルゴリズムを利用してもよい。例えば、米国特許第10,176,154号は、関連するコンポーネント(例えば、写真とキャプションとのペア)のグループ化と、ページのコンポーネントの読み取り順序の階層的決定とを組み込んだ、そのような解析ベースのアルゴリズムを記載している。この出願は、ページの解析とこのようなグループ化と順序付けとの決定とについて複数の方法を記載する。
WBSインポート部407は、非WBSサイトを解析し、一致するWBSサイトを作成してもよい。これは、ソースWBSからターゲットWBSへのサイトの変換であり、又は、通常の(HTMLベースの)サイトからターゲットWBS内のサイトへの変換でありうる。第1のインスタンス(WBSからWBS)では、主な問題は、ソースWBSからターゲットWBSへのコンポーネント及び属性のマッピングである。特に、2つのWBSは、異なるデータモデル、アーキテクチャ及び/又は概念セットを使用していてもよい。例えば、それらの1つはページの階層が作成されることを可能にする一方、他方は関連するページを接続するため異なる機構を利用してもよい。WBSの1つは、コンポーネント及びレイアウト規定を使用していくつかの能力(このようなページルーティングメニュー)を規定する一方、他のWBSは、データテーブル又は手続き規定を介しこれらの能力を表現してもよい。
第2のケース(HTMLからWBS)では、WBSインポートAIユニット310は、HTML内から複雑なコンポーネントを検出する必要があり、その理由は、そのような複雑なコンポーネントのHTML表現が、無関係に見えうる複数のHTML要素から構成されうるためである。例えば、単一のWBSビデオプレーヤコンポーネントは、複数のフレーム、ビデオ表示ウィンドウ、複数のボタン(停止、開始、一時停止、・・・)及び他の制御を使用してHTMLで実現されてもよい。ビデオプレーヤ要素は、複数のHTML要素のサブ階層に分散し、他のページ要素と合成されてもよい。このモデルは、このようなHTML要素の組み合わせを認識し、それらを単一のビデオプレーヤコンポーネント(適切な属性とレイアウト情報を備える)にマッピングすることが可能であるべきである。
WBSインポート部407は、複数のWBSインポートAIユニット310を利用してもよい。特に、初期的なWBSインポートAIユニット310は、サイトにおける要素階層の解析を提供してもよい。WBSインポートAIユニット310はまた、(例えば)所与のサブ階層がサイトの“about us”要素を表すことを認識するため、階層における要素のコンテクストを解析してもよい。このような解析は、米国特許第10,073,923号に記載されるようなレイアウト要素に対するものと同様のセマンティックを使用して表現されてもよい。
第2のWBSインポートAIユニット310は、サイトのレイアウトの解析と共に、以下でより詳細に説明されるようなサイトの応答挙動(すなわち、応答設計を提供するためにサイトがそれの要素構成を変更するスクリーン幅のブレークポイントであるもの)などのサイトの追加特性の理解を処理してもよい。例示的な応答設計及び編集システムは、出願人によって共有され、参照によりここに援用される、これと同日に出願された“System and Method Providing Responsive Editing and Viewing,Integrating Hierarchical Fluiid Components and Dynamic Layout”という名称の米国特許出願(代理人整理番号P-25078-US)に記載されている。
所与のレイアウトが複数の利用可能なスクリーン幅上に表示される方法を示す図14が参照される。図示されるように、5つのコンポーネントa~eから構成される所与のレイアウトS1が、幅(W1~W4)を有する4つの異なるスクリーン上に表示される。幅W1及びW2について、コンポーネントa~eは、コンポーネントaを先頭に、コンポーネントb~dをコンポーネントaの下の単一の行に、コンポーネントeを下部にして、同様の方法でレイアウトされる。はるかに狭い幅W3では、コンポーネントaが先頭に残り、続いてコンポーネントbがあり、続いてコンポーネントc及びdが単一の行にあり、コンポーネントeが下部にある。非常に狭い幅W4については、コンポーネントa~dのみが単一の列に示される。
図14において、幅W1~W4は、2つのブレークポイントbp1及びbp2によって範囲に分割される。理解できるように、幅の変化は、コンポーネントa~eにサイズ、位置、相対関係を変化させ、いくつかのケースではレイアウトから除去さえさせうる(幅w4のコンポーネントeのように)。WBSインポート部407は、サイトを解析して、そのようなブレークポイントがサイトについて既に規定されているか、及び何れのブレークポイント値が利用されるべきか(所定のもの又は新しいもの)を決定してもよい。WBSインポート部407はまた、何れか既存の応答挙動(WBSバージョンにマッピングされうる)を解析し、使用すべき最良の応答挙動を決定してもよい。
応答サイトは、各範囲について別々のレイアウト及びコンポーネント構成によるブレークポイント範囲のセットを有するサイトとみなすことができることが理解されよう。さらに、各範囲は、表示サイズが範囲と共に変化する際(又はコンポーネントコンテンツの変化などの他の変化が生じるとき)、コンポーネントの挙動(例えば、移動又はサイズ変更)を制御しうるそれ自体の動的レイアウトルールを有してもよい。
WBSインポート部407は、1つの形態のサイト(例えば、デスクトップのみ)を利用して、オリジナルサイトのオフラインコピーをアクティビティ単位AIユニット310への入力として提供してもよい。第2のアクティビティ単位AIユニット310は、例えば、複数のディスプレイ構成(実際のサイト又はそのオフラインコピーにより実行されてもよい)の下で実際のサイトをテストするため、実際のサイトとの何らかのインタラクションを必要としてもよい。
WBSインポート部407について、フィードバックが上述されるように提供されてもよい(変換されたサイトでの訓練、モデル結果訂正から生じる非明示的ユーザフィードなど)。システム200はまた、インポート処理が終了した直後に非明示的フィードバックを提供するため、専用のインポートされたサイトエディタを提供してもよい。このような特殊なエディタは、追加のフィードバック、例えば、階層解析結果を表示し、ユーザがWBSエディタ30によって提供されない方法で階層を編集することを可能にしてもよい。
上述したように、応答性サイト構造は、サイトをWBSにインポートするコンテクストにおいて説明される。このコンテクストでは、システム200は、非WBSサイトから既存の応答サイト規定をインポートしてもよい。
しかしながら、応答サイト処理はまた、WBS内で規定されるサイトを直接編集する際に関連してもよい。これは、既存の応答サイトを編集すると共に、応答挙動(ブレークポイント及び複数の構成を含む)を以前に応答していないサイトに追加することを含んでもよい。応答サイトの編集は、ブレークポイント範囲規定の編集(修正、追加、削除、分割又はマージ)を含んでもよいことを理解されたい。このような編集はまた、特定のブレークポイント範囲のためのコンポーネント及びそれらのレイアウト又は構成を編集することを含み、システム200が他のブレークポイント範囲のために(該当する修正によって)レイアウト又は構成に適用しようとする変更に影響を与える。
上記の例として、ユーザは、特定のブレークポイント範囲のレイアウトに変更(新しいコンポーネントの追加など)を加えてもよい。システム200は、関連する他のブレークポイント範囲のレイアウトに変更を適用してもよい(関連する場合、関連時、及び関連する適応によって)。所与のWBSサイトが3つの構成(3つのブレークポイント範囲に対して)を有すると(例えば)仮定すると、それは2つのデスクトップ構成(AとB)と1つのモバイル構成(M)がありうる。コンポーネントが構成Aに追加される場合、システム200は、(修正されたサイズ及び位置を有する)コンポーネントを構成Bに自動的に追加し、コンポーネントのモバイルバージョンを構成Mに追加することをサポートしてもよい。
レスポンス編集サポート部408は、1つのウェブサイト構成又は他の構成に対してユーザによってなされる変更及び編集を利用して、それに関連する応答編集AIユニット310を訓練してもよい。代替的な実施例では、インタラクション生成部315は、他の構成上に1つの構成に行われたユーザの変更を適用するため複数の代替を生成してもよい。ユーザは、使用する代替方法を選択するよう求められうる。レスポンス編集サポート部408は、このフィードバックを使用して、その応答編集AIユニット310を訓練してもよい。レスポンス編集サポート部408は、必要に応じて、サイト生成システム40、エディタ30又はその双方と共に動作しうることが理解されよう。
上述したように、システム200は、ユーザにテンプレート置換を実行する能力を提供してもよい。ユーザ(設計者)はしばしば、WBSベンダ61によって提供されるテンプレートに基づいてサイトを構築する。ユーザは、設計及びレイアウトの変更、ページ、ページ要素及びサイトの部分の挿入及び削除と共に、ユーザ固有のサイトテキスト、メディア及びデータの入力を含む、この基礎となるテンプレートに対する実質的な修正を実行してもよい。ユーザは以降において異なるテンプレートに切り替えることを所望してもよく、それはユーザが変更(レイアウト及びコンテンツ)を新しいテンプレートにマッピングし、(テンプレート変換セッションにおいて)適宜それらを再適用することを要求するだろう。
テンプレートの置換は、いくつかのケースでは可能であっても可能でなくてもよい。例えば、サイト生成システム40を利用して作成されたサイトは、高度に構造化され、典型的にはレイアウト要素の階層に基づく(米国特許第10,073,923号に記載されるように)。そのようなサイトの編集は、高度にモジュール化されたレイアウト要素が保存されるように制限されてもよく、例えば、システム200は、ユーザがコンポーネントを1つのレイアウト要素から他のレイアウト要素に移動させることを阻止してもよい。さらに、レイアウト要素は、ビジュアル設計の一部ではなく、従って、サイト編集中に視覚的に変更されない(例えば、変更は、典型的には、コンテンツに対する変更に限定される)基礎となるコンテンツ要素に関連付けされてもよい。
状況は自由に編集されたウェブサイト、すなわち、通常のWBSエディタ30を使用して作成されたウェブサイトと異なりうることを理解されたい。ソーステンプレートとターゲットテンプレートとは、最初は対応しなくてもよく、2つのテンプレートの間の既存の類似性は、ユーザによって行われた変更を通じて破棄されてもよい。従って、正確なマッピングは不可能でありうる。
テンプレート置換部409は、この問題に対する機械学習ベースの解決策を提供してもよい。テンプレート置換部409は、部分的な解決策、コンテンツ、レイアウト及びターゲットテンプレートにマッピングすることが不可能なコンテンツを省略しながらソーステンプレートに行われた他の変更の一部のマッピングを提供してもよい。
テンプレート置換部409はまた、テンプレート要素の等価性に関する追加情報を伝えうるそれらの作成者(例えば、WBSベンダ61のスタッフ)によってテンプレートに追加されるヒントを利用してもよい。例えば、WBSベンダ61は、セマンティックマーカによって異なるテンプレートの異なる部分をマーキングしてもよい(例えば、“our company history”マーカを用いてコンポーネントの所与のセットをマーキングする)。これらのマーカは、米国特許第10,073,923号に規定されるコンテンツ要素/レイアウト要素のセットに匹敵しうるか、あるいは、テンプレート置換のためにテンプレート置換部409によって検出されうるグループタイプの異なるセットであってもよい。コンポーネントグループ化部401、コンポーネントグループラベル付け部402及びコンポーネントオーダリング部404などのサイト機能更新部400における他のモジュールは、テンプレート置換部409がグループタイプを決定するのを支援してもよい。結果として得られるテンプレート置換はまた、オブジェクト変換部405及びWBSインポート部407によって実行される変換と同様であってもよい(及び要素を共有してもよい)。
テンプレート置換部409は、何れのコンテンツ/レイアウトが正常に転送されたか(及びどのように転送されたか)、及び何が転送されなかったかに関する追加の指示を提供し、ユーザが転送結果を訂正及び完了することを可能にする特殊なエディタを含んでもよい。このエディタはまた、WBSエディタ30(例えば、タスクリスト、ウィザード又はワークフローシステムとして)に統合することもできる。
テンプレート置換部409によって使用されるテンプレート置換AIユニット310は、テンプレート間で変換されるサイトのペアによって訓練されてもよいことが理解されるであろう。テンプレート置換AIユニット310はまた、上述した専用エディタを使用して変換されたサイトに対して行われるフォローアップ訂正と共に、WBSエディタ30を使用してサイトに対して行われた変更によって訓練されてもよい。テンプレート置換AIユニット310はまた、特定のコンテンツが挿入されていなくても、または部分的に特定のコンテンツが挿入されていても、(上述のように)コンテンツ等価ヒントが指定されたテンプレートのセットにより訓練されてもよい。
さらに、訓練テンプレート置換AIユニット310は、テンプレートペア毎に関連する変換セッションが非常に少ないため、困難でありうることが理解されるであろう。テンプレートの数が増えるに従って、可能なテンプレートペア(ソースサイトテンプレート及びターゲットサイトテンプレート)の数も増える可能性がある。テンプレート置換部409は、良好な例が与えられると、必要とされる処理が何であるかを一般化及び決定してもよい。テンプレート置換部409は、例えば、以下のアプローチ又はそれらの組み合わせを利用してもよい。テンプレート置換部409は、所与のペアについて全ての変換セッションによって所与のテンプレートペアの別々のアクティビティ単位AIユニット310を訓練してもよく、(WBSベンダ61によって規定されるように)“類似”のペアの各グループについて別々のモデルを訓練してもよく、あるいは、全てのペアについて単一のモデルを一緒に訓練してもよい。
収集された訓練データは、ソーステンプレート及びターゲットテンプレートと、それらのパラメータ及び属性(例えば、ビジネス領域及び一般的なスタイルと共に、より詳細な特徴)とを識別する特徴を依然として含んでもよい。類似するペアの各グループについて、又は全てのペアについて(関連するペア情報特徴により)モデルを訓練することは、多くのケースにおいて、複数の領域においてさえ類似するペアが存在しうるため、好ましいかもしれない。
例えば、WBSベンダ61は、(例えば、フィットネススタジオ及び衣料品店のため)エレガントなスタイルテンプレートのセットAを、Aにおける全てのテンプレート間の類似度によって作成してもよい。以降のWBSベンダ61は、(同じ又は異なるビジネス領域のため)正式なスタイルテンプレートのセットBを同様に作成してもよい。そして、ユーザは、グループAからのテンプレートにより作成されるいくつかのサイトをグループBからのテンプレートと共に使用するように変換してもよい。このような変換は、典型的には、同じビジネス領域内で行われてもよい(すなわち、フィットネススタジオAのテンプレートをフィットネススタジオBのテンプレートに変換する)。このシナリオでは、テンプレート変換AIユニット310は、グループAのテンプレートとグループBのテンプレートとの間の複数の変換セッションから収集された情報、典型的には、“グループ名”(A、B又はその他)及び“ビジネス領域”などの追加された特徴によって訓練されることから利益を得てもよい。これは、実際に使用された各特定のペア[Aメンバ、Bメンバ]について別のモデルを訓練するよりもはるかに良好でありうる。
テンプレート置換部409はまた、WBSインポート部407について上述したように、別々の機能領域(例えば、サイトの階層及び構造を解析するためのものと、レイアウト及び追加属性を解析するためのもの)に対して複数のアクティビティ単位AIユニット310を利用してもよい。
上述したように、サイト生成システム40を利用して作成されたサイトは、高度に構造化されてもよい。この高度に構造化されたレイアウト要素階層の1つの主要な効果は、サイトがその基礎となるデータが修正された後に容易に再生成されうることである。システム200は、関連するコンテンツ要素を更新し、コンテンツ要素とレイアウト要素との関連付け及びレイアウト要素配置を再評価し、必要に応じてレイアウト要素階層及び結果となるページを再生成してもよい。一方、通常の(手動で編集された)サイトは、あまり厳格でないコンポーネント階層を利用する。それらの構造は、例えば、基礎となるテンプレートの作成及び実際のウェブサイトの編集中に、一連の編集セッションを通して発展してきた。このようなサイトは、基礎となるデータが変化するときに単に再生成することはできない。
従って、ユーザは、手動で編集されたサイトをサイト生成システム40によって採用されるフォーマットに変換することを所望してもよい。マニュアルサイトアダプタ410は、1つ以上のアクティビティ単位AIユニット310を利用して、WBSコンポーネント階層におけるグループを検出し、コンポーネント間のセマンティック接続を決定してもよい。そして、マニュアルサイトアダプタ410は、これらのグループをサイト生成システム構造(コンテンツ要素及びビジュアルサイト部分を含む)の既存のセットに対してマッチングし、サイトのマッチングサイト生成システム形態を構築してもよい。
WBSインポート部407の機能と同様に、マニュアルサイト適応AIユニット310は、既存のサイトペア(変換前又は変換後サイト)に対して訓練されてもよい。それはまた、変換後バージョンに対してユーザによってなされる以降の修正に基づいて(例えば、サイト生成システム限定エディタを介して)訓練されてもよい。
設計提言部411は、ユーザがコンポーネントのセットを選択し、WBSに照会し、選択されたセットレイアウト/設計の代替オプションを受信し、好ましいレイアウト/設計オプションを選択し、選択されたコンポーネントセットに好ましいレイアウト/設計オプションを適用することを可能にしうる。設計提言部411は、米国特許第9,996,566号及び第9,747,258号において説明されたものと同様に、提言された代替的な品質レーティング及び多様化を統合してもよい。
設計提言部411は、複数のソース(WBSにおける他のサイト、事前に構築されたテンプレート、非WBSサイトなど)から収集されたレイアウト、又は選択されたセットにおけるコンポーネントに基づいて作成される構築されたレイアウトにそれの申出を基づかせてもよいことが理解されよう。さらに、選択されたコンポーネントセットに好ましいレイアウト/設計を適用するとき、それらは正確には一致しないかもしれず、システム200は、一致を作成するため、提言された又は好ましいレイアウト/設計の要素を拡張又は修正することが必要とされる。
設計提言部411は、以下の機能をサポートし、システムとのユーザのインタラクションから収集されたユーザフィードバックを受信する設計提言AIユニット310を含めることによって、上述した技術から利益を得てもよいことがさらに理解されるであろう。この処理は、いくつかの段階で実行されてもよい。
段階1は、レイアウト収集である。上述したように、アクティビティ単位AIユニット310は、インポートされたレイアウト(上述したようなWBSインポート部407に関連するMLモデル317など)の理解及び解析を含む、複数のソースからのインポートをサポートしてもよい。
設計提言部411は、提言されたレイアウトを作成するため、特定レイアウト抽出AIユニット310を実装及び訓練してもよい。このような特定レイアウト抽出AIユニット310は、レイアウト抽出AIユニット310が抽象的なレイアウト情報(より抽象的又は一般化された)のみを抽出し、完全なコンポーネント情報又は実際のコンポーネントコンテンツを抽出しないため、本格的なサイトインポートモデルよりも良好な結果を提供しうる。例えば、ビデオコンポーネントを含むレイアウトをインポートする際、フルレイアウト抽出AIユニット310は、使用される正確なビデオ及びそれの表示属性を識別してもよい一方、設計提言AIユニット31は、ビデオコンポーネントフレーム位置及びサイズと、何れの関連するビデオ制御が含まれるかしか必要としない(実際のビデオクリップはユーザによって指定されたものによって置換されるため)。
設計提言AIユニット310は、フォローアップ編集から収集されるユーザフィードバックによって訓練されてもよい。設計提言部411は、全ての変更が当初の抽出におけるエラーを示すとは限らないため、フォローアップ変更を分類してもよい。例えば、設計提言AIユニット310は、インポートされたサイトにおけるHTML要素の所与の組み合わせを画像ギャラリとして解釈してもよく、ユーザは、以降においてこれをビデオギャラリに変更してもよい。この変更は、検査されたサイトの当初の理解におけるエラー又は提言されたレイアウトにおけるコンポーネントタイプを変更するユーザによる決定を示すことができる。設計提言部411は、例えば、何人のユーザがこの変更を行ったか(例えば、多数のユーザがこのレイアウトに対して同じ変更を行った場合、当初の抽出が誤っていた可能性がより高い)に基づいて、分類におけるこのような変更を実現してもよい。
段階2は、提言するレイアウトの選択及び提言されたレイアウトとのインタラクションである。この照会後段階では、設計提言部411は、設計の選択肢を選択、ランク付け及びユーザに提示してもよい。設計提言部411は、これらの機能をサポートする選択ランク付けAIユニット310を利用してもよい。
そのような選択ランク付けAIユニット310は、米国特許第9,747,258号及び第9,996,566号に記載されるものなどのレーティング及び多様化アルゴリズムに基づく選択及びランク付けの例を使用して訓練されてもよい。選択ランク付けAIユニット310は、ユーザからの入力に基づいて更に訓練されてもよい。従って、使用される特徴は、照会に渡されるユーザにより選択されたオリジナルセットを含みうる。当該特徴は、実際のコンポーネントデータ(タイプ、レイアウト、コンテンツ及び属性を含む)と共に、コンポーネントセットを記述するセマンティックシグネチャ(第9,747,258号及び第9,996,566号に記載されるような)を含んでもよい。当該特徴は更に、ユーザパラメータ及びサイトパラメータ(上述したような)などの追加パラメータ及び特徴を含んでもよい。このような特徴は、設計提言AIユニット310が特定のユーザ及びコミュニティの嗜好、例えば、よりカラフル又はよりフォーマルな設計に対する地域の嗜好などに適応することを可能にする。
他の入力特徴は更に、ユーザによって行われた実際の選択を含んでもよく、ユーザによって確認されているが、選択されていない可能性のある追加の代替策及び結果として得られるページの使用レベル(例えば、それが発行されたか否かといつであったか)を含む。
段階3は、選択された結果レイアウトに対する選択されたコンポーネントセットの適合である。このような適応は、当該タスクのために訓練された適応AIユニット310を利用して実行されてもよいことが理解されるであろう。適応AIユニット310は、コンポーネントマッチング及び適応アルゴリズムに基づいて最初に訓練されてもよい。その後、それは、適合されたレイアウトに対してユーザによって行われた変更から非明示的に収集されるユーザフィードバックに基づいて訓練されてもよい。
従って、代替的な設計は、所定のコンポーネントのインポート、クエリ、マッチング、ランキング及び多様化アルゴリズムだけでなく、必要とされる機能をサポートするため1つ以上のアクティビティ単位AIユニット310を利用して実現されてもよい。そのようなアクティビティ単位AIユニット310は更に、更なるセッション中にユーザから収集されたフィードバックを利用して訓練されてもよい。
従って、機械学習/人工知能モデルは、標準的なWBS機能及び編集タスクに組み込まれてもよい。これらのモデルは、明示的及び非明示情報の双方に基づいてフィードバックを利用して訓練され、継続的に更新されうる。
さらに、上記の説明は、ウェブサイト構築システムのプロバイダ(システム200を実現する)によって運営されるウェブサイトに着目した。しかしながら、システム200は、更なるタイプのウェブサイト及び他の非ウェブデジタル作成により実現されてもよい。これらは、例えば、ウェブサイト全体及びウェブサイトの部分(例えば、ウェブサイトページの一部)又は1つ以上のウェブサイトページの部分、通常のデスクトップコンピュータの閲覧用に設計されたウェブサイト、モバイルウェブサイト及びタブレット向けウェブサイト、外部的に運営されるウェブサイト構築システムによって作成されるウェブサイト(すなわち、ウェブサイト構築システムのベンダによってではなく)、ユーザのマシーンにインストールされるローカルサーバ上でローカルに実行されるウェブサイト、及びUIとして機能し、他のシステム(埋め込みシステム及びアプリケーションを含む)内で運営されるウェブサイト(又はこれらの何れかの組み合わせ)を含んでもよい。
他のタイプのウェブサイト及び他の非ウェブデジタル作成はまた、(例えば)ソーシャルネットワーク内に運営されるページ(Facebookなど)、ブログ、ポータル(YouTube(登録商標)チャネルなどのユーザによりカスタマイズ可能なページをサポートするビデオ及びオーディオポータルを含む)などを含む、より大きなシステム内で運営されるウェブサイト又は他の表示されるビジュアルコンポジションを含んでもよい。これは、ウェブサイトとしてみなされない他のタイプのリモートアクセス可能なオンラインプレゼンスを含んでもよい。
他のタイプのウェブサイト及び他の非ウェブデジタル作成はまた、ハイブリッドアプリケーション(ローカルにインストールされた要素とリモートに抽出された要素とを組み合わせる)と、電子メール、ニュースレター及び他のデジタルドキュメントなどの非インタラクティブデジタル作成とを含むインタラクティブ(モバイルなど)アプリケーションを含んでもよい。
特に明記しない限り、上記の説明から明らかなように、本明細書を通じて、“処理する”、“演算する”、“計算する”、“決定する”などの用語を利用した議論は、計算システムのレジスタ及び/又はメモリ内のデータを計算システムのメモリ、レジスタ又は他のそのような情報ストレージ、送信若しくは表示デバイス内の他のデータに操作及び/又は変換する、クライアント/サーバシステム、モバイル計算デバイス、スマートアプライアンス、クラウド計算ユニット又は同様の電子計算デバイスなど、何れかのタイプの汎用コンピュータのアクション及び/又はプロセスを指すことが理解される。
本発明の実施例は、ここでの処理を実行するための装置を含んでもよい。この装置は、所望の目的のために特別に構成されてもよく、または、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成される、典型的には少なくとも1つのプロセッサ及び少なくとも1つのメモリを有する計算デバイス又はシステムを備えてもよい。結果として得られる装置は、ソフトウェアによって命令されると、汎用コンピュータを、ここで説明されるような発明的要素に変えうる。命令は、それが望まれるコンピュータプラットフォームと共に動作する本発明のデバイスを規定しうる。そのようなコンピュータプログラムは、光ディスク、磁気光ディスク、読出し専用メモリ(ROM)、揮発性及び不揮発性メモリ、ランダムアクセスメモリ(RAM)、電気的にプログラム可能な読出し専用メモリ(EPROM)、電気的に消去可能及びプログラム可能な読出し専用メモリ(EEPROM)、磁気又は光カード、フラッシュメモリ、ディスクオンキー、又は電子命令を記憶するのに適し、コンピュータシステムバスに結合することができる何れかの他のタイプの媒体を含むが、これらに限定されない、何れかのタイプのディスクなどのコンピュータ可読記憶媒体に記憶することができる。コンピュータ可読記憶媒体は、クラウド記憶装置に実装することもできる。
一部の汎用コンピュータは、データネットワーク及び/又は移動通信ネットワークとの通信を可能にするために、少なくとも1つの通信要素を含んでもよい。
ここで提示されるプロセス及び表示は、本来的に何れか特定のコンピュータ又は他の装置に関連するものではない。様々な汎用システムが、ここでの教示によるプログラムと共に使用されてもよく、あるいは、所望の方法を実行するためより特化された装置を構成することが便利であることが判明されうる。様々なこれらのシステムのための所望の構造は、以下の説明から明らかになるであろう。さらに、本発明の実施例は、何れか特定のプログラミング言語を参照して説明されない。ここに説明されるように、本発明の教示を実現するため様々なプログラミング言語が利用されうることが理解される。
本発明の特定の特徴がここに例示及び説明されたが、多くの修正、置換、変更及び均等は、当業者に想到しうるであろう。従って、添付した請求項は、そのような修正及び変更の全てを本発明の真の趣旨に含まれるものとしてカバーすることを意図していることを理解されたい。