以下の記述では、説明の目的のために、本発明の実施形態の十全な理解を与えるために、個別的な詳細が述べられるが、本発明がこれらの個別的な詳細なしでも実施できることは明白であろう。
本発明の諸実施形態は、タスクのための入力として使われる情報のプライバシーまたは秘匿性を保持しつつタスクを実行するための技法を提供する。ある実施形態では、タスクはより小さなタスク(サブタスクまたはマイクロタスクと呼ばれる)に分解される。各マイクロタスクについての入力情報は、そのタスクについて受領された入力情報に基づき、一般にその部分集合である。タスクについてのマイクロタスクの決定は、タスクに関連する制約条件が満足されるような仕方で実行される。たとえば、タスクについて、マイクロタスクは、リスク(たとえば、アウトソーシングの結果として入力情報のプライバシーまたは秘匿性が危殆化されることに関わるリスク)、品質制約条件(たとえば、タスクの実行から帰結する作業生成物の所望される品質)、コスト制約条件およびジョブに関連する他の制約条件に基づいて決定されてもよい。
図1は、本発明のある実施形態を組み込んでもよいシステム100の概略図である。システム100は、一つまたは複数のタスク要求者システム102と、マイクロタスク管理システム(MMS: microtask management system)104と、分配システム106と、アウトソーシングされたマイクロタスクを実行するために使用されうる一つまたは複数のシステム108および110とを含む複数のシステムを有する。図1に描かれるさまざまなシステムは、一つまたは複数の通信ネットワーク(図1には示さず)を介して互いに結合されていてもよい。これらの通信ネットワークは、同じ型であっても異なる型であってもよく、インターネット、イントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、イーサネット(登録商標)・ネットワークまたはシステム間通信を可能にする任意の通信ネットワーク/インフラストラクチャーを含んでいてもよい。これらの通信ネットワークは、通信のための有線または無線のプロトコルを含む異なる通信プロトコルを使っていてもよい。図1に描かれるシステム100は単に、本発明の教示を組み込むある実施形態の一例であり、請求項に記載される本発明の範囲を限定することを意図したものではない。
高レベルでは、MMS 104はタスク要求者からタスク要求を受領する。タスク要求は、実行されるべきタスクと、そのタスクを実行するための入力として使われる情報とを同定してもよい。MMS 104は、タスクについての入力情報のプライバシーを保持するためのステップを講じつつ、タスクの実行を容易にするよう構成される。ある実施形態では、MMS 104は、実行されるべきタスクに対応する、アウトソーシングされるべき一組のタスク(サブタスクまたはマイクロタスクと称される)を決定し、マイクロタスクについて入力として使われるべき前記入力情報の部分を決定するよう構成される。タスクのマイクロタスクへの分割は、そのタスクについて受領される入力情報のプライバシーを保護するために(換言すれば、マイクロタスクをアウトソーシングする結果として入力情報のプライバシーまたは秘匿性が破られるリスクを下げるために)実行される。ある実施形態では、タスク要求は、そのタスクについての受け容れ可能なリスク閾値を指定してもよい。このリスク閾値は、タスクをマイクロタスクに細分するために考慮に入れられる。タスク要求はまた、タスクを実行する受け容れ可能なコスト、タスクを実行する結果として生成される出力についての所望される品質などといったタスクに関係する他の因子を指定してもよい。これらのさまざまな因子も、どのようにタスクをマイクロタスクに細分するかを決定するときに考慮されてもよい。次いで、MMS 104は、マイクロタスクを実行するプロバイダー114への分配またはアウトソーシングのために、マイクロタスクおよびそれぞれの入力情報を分配システムに転送する。
プロバイダー114は人間の作業者および/または自動化されたシステム(機械)110を含んでいてもよい。本願で使われるところの用語「作業者」は、タスクまたはマイクロタスクを実行する、人間の作業者または機械を指しうる。人間の作業者は、その作業者に割り当てられたマイクロタスクを実行するためにシステム108を使ってもよい。プロバイダー114は、種々の地理的位置に位置していてもよい。自動化システムまたは機械110はコンピュータ・システムおよびアプリケーションを含んでいてもよい。図1には分配システム106は一つしか描かれていないが、MMS 104は複数の分配システムと協働するよう構成されていてもよい。
MMS 104は、タスクについての一組のマイクロタスクに対応するマイクロタスク作業生成物を受け取るよう構成される。マイクロタスク作業生成物は、分配システム106から、あるいは一または複数の作業者から直接、受領されうる。MMS 104は、受領されたマイクロタスク生成物に基づいて、タスク要求において要求されていたタスクについての最終生成物(最終出力)を構築するよう構成される。ある実施形態では、MMS 104はマイクロタスク生成物を総合してそのタスクについての最終出力生成物を生成するよう構成される。タスクについての作業生成物は次いでタスク要求者に提供されうる。さらなる詳細は下記で与える。
先に論じたように、実行するには、あるいはより効率的もしくはより正確に実行するには、人間の知性を使って人間によるしかないタスクがある。結果として、これらのタスクは、人間の処理または人間と機械の処理の組み合わせを使って実行されるのが最善である。これらのタスクは典型的には、タスクについて提供される入力(入力情報)の解析、要約または処理に関わる。たとえば、文書の画像を与えられて、タスクは文書画像の記号表現を含む出力を生成することに関わるものでありうる。記号表現(symbolic representation)は、文書画像から抽出された単語および文書ページに描かれている何らかのオブジェクトの名称を含んでいてもよい。別の例としては、音声情報が与えられたとき、タスクはその音声情報の文字起こしを生成することに関わるものでありうる。さらにもう一つの例としては、入力情報は構造化されていない情報(たとえばテキスト・ファイル)を含んでいてもよく、タスクはその情報を構造化されたフォーマットにすること(たとえば情報をスプレッドシートに入力すること)であってもよい。
実行されるべき何らかのタスクについて、コスト、人間または機械作業者によってタスクを実行させることに関わるリスク、タスクの作業生成物の期待される品質などといったタスクに関連するいくつかの因子がある。たとえば、タスク入力に含まれる情報を人間または機械に与えることに関わるいくばくかのリスクがありうる。たとえば、入力情報が企業によって提供される名前、住所および電話番号の手書きのリストを含む場合、人間またさらには外部の機械に管理される処理システムに入力情報を与えることは、企業のプライバシー・ポリシーに反する、あるいは該情報を扱う機関に対する信用の欠如につながることがありうる。このリスクは、タスクを実行する人間または機械が典型的にタスク要求者に知られない、自動化されたオンライン・アウトソーシング・シナリオでは特に高まる。
ある実施形態では、MMS 104は、タスクに関連しうるさまざまな因子を考慮に入れる仕方でタスクをアウトソーシングするよう構成される。たとえば、MMS 104は、タスクおよびその入力情報をアウトソーシングすることに関わるリスク(すなわち、アウトソーシングの結果として入力情報のプライバシーまたは秘匿性が危殆化されるリスク)を減らすことに向けた、タスクのマイクロタスクへの分割を含む、アウトソーシングを実行するよう構成される。MMS 104は、これを達成するためにさまざまな異なる技法を使ってもよい。たとえば、多くの場合において、MMS 104は、各作業者に与えられる入力情報を制御してもよい。これは、各作業者に暴露される入力情報の量を制限することによって、またさらには作業者に与えられる情報を修正することによってなされてもよい。
作業者に与えられる入力情報を制限および/または修正するために、さまざまなセグメント分割および/または組み合わせ技法が使用されうる。ある実施形態では、マイクロタスクを実行する作業者に入力情報の部分集合しか与えられないようなセグメント分割技法が使われてもよい。作業者はそれでも、その作業者に与えられた入力情報の何らかの解析、要約または処理されたバージョンを提供することはできるが、入力情報全体はその作業者には利用可能でないため、タスクについて受領される入力情報の流布に関わる全体的なリスクは大幅に軽減される。たとえば、タスクについての入力情報が住所および電話番号に関わる名前の画像を含む場合、入力画像は三つの画像にセグメント分割されてもよい:第一の画像は名前だけを含み、第二の画像は電話番号だけを含み、第三の画像は住所だけを含む。次いで、各画像セグメントは別々の作業者に提供されてもよい。マイクロタスクは、各画像セグメントに対応するテキスト情報を生成することである。このようにして、どの単一の作業者もすべての入力情報へのアクセスはもたない。これは、作業者によって知られる名前およびその関連付けられた住所および電話番号の流出に関わるリスクを減らす。
リスクをさらに軽減するため、マクロタスクのために作業者に与えられる入力情報は、組み合わせ技法を使うなど多様な仕方で修正できる。たとえば、上述したような入力情報が住所および電話番号が関連付けられた名前の画像を含む状況では、電話番号の画像だけがある作業者に与えられてもよい。秘匿情報が知られるリスクをさらに軽減するため、電話番号の画像は他の電話番号の画像、さらには偽の電話番号と組み合わされてもよい。電話番号の修正された画像は次いで作業者に与えられてもよい――これは電話番号を作業者に開示することに関わるリスクを軽減する。作業者は、該作業者に与えられた入力情報がどのように修正されたかを全く知らないからである。それでも、作業者は、該作業者に割り当てられたマイクロタスク(これはたとえば画像をテキスト情報に変換することであってもよい)を実行できる。
一般に、タスクに関わるリスクは次のように表現されうる。Iをタスクについての完全な入力情報とする。Oを入力Iに対してタスクを実行することから生成される完全な出力(または作業生成物)とする。完全な出力Oは、入力情報全体を単一の作業者Wに与えることによって得ることができる。このことをO=W(I)と書く。しかしながら、単一の作業者に入力情報全体を与えることに関わるリスクRがある。リスクは入力情報のプライバシー/内容が危殆化されることに関するものである。このリスクRは、作業者および与えられる入力情報に依存し、R(I,W)と表してもよい。R(I,W)は受け容れられないほど高いことがありうる。全体的なリスクを軽減するために、入力Iを修正することができる。たとえば、入力Iは部分集合I1,I2,…,Inに分割され、ある部分集合とそれに関連するマイクロタスクが作業者Wiに与えられることができる。各作業者(Wi)は、その作業者に割り当てられたマイクロタスクを実行し、受領された入力(Ii)に基づいて出力(Oi)を生成することができる。ここで、Oi=Wi(Ii)である。最終出力Oは、作業者Wiからの出力Oiをまとめたバージョンである。したがって、O=Assemble(O1,O2,…,On)である。そのような技法に関するリスクは、入力の部分集合を各作業者に与えることに関するリスクの組み合わせである。作業者間での情報交換のリスクが十分小さい場合、全体的なリスクRはほぼR=ΣR(Ii,Wi)である。ここで、R(Ii,Wi)は、作業者Wiに入力の部分集合Iiを与えることに関わるリスクである。ある実施形態では、MMS 104によってなされる入力情報修正は、ΣR(Ii,Wi)がR(I,W)より小さくなるようなものである。
タスクに関連しうるもう一つの因子は、タスク実行から帰結する出力の期待される品質である。したがって、作業者Wに入力Iを与えることによって得ることのできる、Q(I,W)で表せるある品質Qがある。一般に、品質は、「所望される」または「正しい」出力への近さと考えることができる。もちろん、多くの場合において、「正しい」出力は未知であり、推定することしかできない。タスクのアウトソーシングが、前記リスクを軽減するのみならず、タスク出力の品質を最大化もするような仕方で実行されることが望まれる。
タスクに関連しうるさらにもう一つの因子は、タスクを実行するためのコストである。作業者に入力に対して作業させて出力を生成させることに関わるコストがある。このコストは、C(Wi,Ii)と表してもよい。典型的には、機械実装されるプロセスによってタスクを実行するコストは、人間の作業者のコストより低いが、出力の品質も低くなることがある。
記号Wは作業者について使われ、作業者は自動化プロセス(機械)であっても人間の作業者であってもよい。さまざまな作業者におけるリスクの差もある。たとえば、自動化プロセスに関連するリスク(すなわち、入力情報のプライバシーまたは秘匿性が作業者にタスクまたはマイクロタスクをアウトソーシングする結果として危殆化されるリスク)は、人間作業者に関連するリスクよりもしばしば低い。これは部分的には、自動化プロセスは、そのタスクについてのもとの入力Iを与えるエンティティによってよりよく管理されうるためである。リスクは作業者および与えられる入力の両者とともに変わるので、ある作業者からの出力を別の作業者への入力として与える、あるいは入力のより大きな部分を機械作業者に与えより小さな部分を人間の作業者に与えることがリスクを軽減することがありうる。たとえば、機械作業者に与えられる入力の部分集合しか人間の作業者には与えられなくてもよい。たとえば、自動化プロセスは、入力画像におけるすべての単語に対して作用して、その多くについての記号出力を生成するが、入力画像中の単語のいくつかを、たとえば筆跡が汚いために処理できないことがありうる。この場合、自動化プロセスにとって困難だった入力画像の部分だけが人間の作業者に入力として渡されてもよい。
一般には特定の作業者に関するリスクは初期には未知であるが、リスクは、経験に基づいて推定することができ、作業者位置、作業者教育レベル、作業者収入、作業者評価レーティングおよび作業者の他の多くの特性に依存しうる。これらの特性のいくつかは、種々の状況における作業者との経験を収集することによって、MMS 104によって時間がたつとともに推定されうる。いくつかの特性は、他の手段によって推定されうる。場合によっては、特定のタスク分配システムが作業者に関連付けられた契約、非開示協定または束縛を提供した場合にはリスクはより低いことがありうる。よって、特定の入力を特定の作業者に与えることに関するリスクR(I,W)は、複数の因子に基づいて推定されてもよい。
アウトソーシングの一環として作業者に与えられる入力情報は、入力情報に「ノイズ」を加えることによって修正されてもよい。たとえば、入力が人間の作業者に与えられる前に入力に「ノイズ」を加えることによって入力を修正するために自動化プロセスが使われてもよい。上述したように、本物の電話番号の画像が人間の作業者に与えられる前に、偽の電話番号の画像が追加されることができる。この場合、マイクロタスクに対応する出力は、O1=Wmachine(I1)およびI2=O1およびO2=Whuman(I2)と表されうる。したがって、機械(machine)に与えられる第一のマイクロタスクは入力情報I1にノイズを加えて出力O1を生成する。第一のマイクロタスクの出力O1は次いで、人間(human)の作業者に割り当てられた別のマイクロタスクの入力(I2)として与えられる。この処理シーケンスでは、R(I2,Whuman)<R(I1,Whuman)であり、R(I1,Wmachine)は自動化プロセスであるため非常に小さいので、リスクが軽減される。
リスクを軽減するために加えることのできるもう一つの型のノイズは、作業者に与えられる(入力される)画像に対するぼかしまたはその他の歪みである。たとえば、入力画像は人間および認識されるべきオブジェクトを含んでいてもよい。画像がそのまま与えられれば、人間が誰であるかは認識されうる。しかしながら、何らかのぼかしが適切な位置において入力画像に適用されれば、作業者はその人間を同定することはできないが、それでいて画像中のオブジェクト、たとえば自動車、空、建物などを同定することはできることがありうる。この場合、R(I,W)>R(Distorted(I),W)である。この場合、同定タスクの品質は、画像を歪めることによって損なわれることがありうるので、この場合、Q(I,W)>Q(Distorted(I),W)である。よって、タスク要求者の期待に依存して、リスクと品質のパラメータ間でバランスを取ってもよい。
「ノイズ」は、品質管理目的のために入力に加えられてもよい。たとえば、自動化プロセスによって注入される「ノイズ」は、所望される出力が既知である入力情報を含んでいてもよい。たとえば、記号的電話番号が既知である電話番号画像である。これは、出力の品質の評価を許容する。人間の作業者が既知部分について正しい答えを含まない出力を提供する場合、MMS 104はそのタスクについてのその作業者によってなされた作業に対して、低い品質推定を割り当てることができる。低い品質推定が要求される品質を下回る場合、タスクは別の作業者に割り当てられてもよく、該別の作業者が品質要求を満たすかどうかを見るために再び新しいジョブの品質が推定されることができる。
作業者がすでに完遂した以前のタスクに関係した情報を、その同じ作業者に与えることに関わるリスクもある。これは、その作業者が情報を蓄積して潜在的にそれを流出させることを可能にするからである。たとえば、同じ作業者が社会保障カードおよび同じ人物からの申し込み書式の画像を与えられる場合、その作業者がその申込者についてもつ情報は多過ぎることになりうる。よって、一般に、R(I1+I2,W0)>R(I1,W1)+R(I2,W2)である。
先述したように、リスクRを最小にしつつ、最終出力の品質を最大にすることも望ましい。コスト制約のため、場合によっては両方を同時に行うことは可能でないこともあり、よって、何らかの受け容れ可能な出力品質および何らかの受け容れ可能なリスクをもつ動作点〔オペレーティング・ポイント〕を選んでもよい。さらに、品質およびリスクは式で記述されうるものの、精密なリスクおよび品質は各入力に依存し、よってリスクおよび品質は推定することしかできないことがありうる。よって、入力の分割の影響が精密にはわからないときに、これらの目標を達成しようとして使われうる一組の指針または規則が使用されてもよい。たとえば、より高いプライバシー(すなわち、リスクを下げるべき)が所望される場合、タスクはより多くのマイクロタスクに分割されてもよい。各マイクロタスクは、その入力として、入力全体の部分集合をもつ。したがって、ある実施形態では、所望されるプライバシー・レベルが高い(すなわち、許容できるリスクが低い)ほど、タスクについてのマイクロタスクの数は大きくなり、これはそのタスクについて与えられる入力情報のより大規模な分割を含意する。たとえば、文書全体をマクロタスクについての入力として一作業者に送ることにおいて推定される一つのリスク・レベル、その文書を二つの半分に分割して一方の半分を位置の作業者に、他方の半分を別の作業者に送ることに関わるより低いリスク・レベル、入力文書を三つ以上の部分に分割して(たとえば文書を一行ごとに分割して)各部分(たとえば各行)を別々の作業者に送ることに関する最小リスク・レベル、などがあってもよい。このように、受け容れ可能なリスクのレベルは、タスクのマイクロタスクへの分割がどのように実行されるべきかを決定するための因子として使われてもよい。
多くの場合、複数の作業者の間での入力の分割はより低い品質につながる。たとえば、ΣQ(Ii,Wi)はQ(I,W)より低い。しかしながら、場合によっては、分割は品質を改善する(すなわち、ΣQ(Ii,Wi)>Q(I,W))。たとえば、一作業者が電話番号を認識することにとりわけ熟達しており、別の作業者は特定言語の文字を認識することにとりわけ熟達している場合、マイクロタスクが、該マイクロタスクを実行することに熟達している作業者に割り当てられるよう、タスクを分割すれば、リスクを下げつつ品質を上げることができる。
品質を上げるために複数の動作を使用できる。たとえば、複数の作業者が同じデータに対して同じマイクロタスクを実行するよう依頼され、その作業生成物が比較されて品質レベルを決定してもよい。別の状況では、ある作業者によってマイクロ作業実行の結果として生成された作業生成物が、別の作業者によって(別のマイクロタスクの一環として)検査されてもよい。追加的な作業者による追加的なマイクロタスクを使うことは、情報の分配を増すことになり、潜在的にはタスク完了に関する全体的なリスクを高めることになりうる。
入力の部分集合に対する作業の品質を改善するために人間の作業者が使用されることができる。たとえば、人間は、自動化プロセスの出力または作業生成物を与えられて、それをチェックするよう依頼されてもよい。まず、自動化プロセスがO1=Wmachine(I1)を行い、次いで人間はO2=Whuman(I1,O1)を生成する。ここで、第二の出力は、自動化プロセスの訂正された形である。自動化プロセス(機械)によって実行されるタスクまたはマイクロタスクは、自動化プロセスの以前の動作に基づく何らかの期待される品質Qmachineをもつことができる。あるいは場合によっては、自動化タスクは入力に基づく品質を自己報告することができる。たとえば、文字を認識する自動化タスクは「c」である可能性が99%で「e」である可能性が1%と報告してもよく、これは中程度の品質と考えられてもよい。しかしながら、自動化タスクが「c」である可能性が90%で「e」である可能性が10%と報告する場合、これは低品質と考えられ、おそらくは追加的な処理または訂正を必要とする。人間は訂正しか行わないので、全体的なタスクに関するコストは、もとの入力に対して人間に作業させるよりも低い。よって、C(Whuman,I1,O1)+C(Wmachine,I1)<C(Whuman,I1)である。
ある実施形態では、タスクまたはマイクロタスクの品質Qは自動化技法を使って測定されてもよい。一つのそのような自動化技法は、作業者Wiによって提出される単語数Niおよび対応するマイクロタスク(たとえばある文書画像)において自動単語境界検出アルゴリズムによって検出される単語数Mの関数であることができる。この場合、品質QはQ=f(M,Ni)として測定される。別の関数はMとNの比Q=M/Nを使ってもよく、別の関数はQ=M−N/Mであってもよい。ある実施形態では、二以上の作業者が特定のジョブについての結果を提出する場合、自動化品質検出は、すべての出力に依存する関数Q=f(N1,…,Ni)であることができる。ある場合、fは、1/累積編集距離(N1…Ni)であってもよい。もう一つの場合には、Q=(min(N1…Ni)/max(N1…Ni))である。
ある実施形態では、入力および出力が画像である場合(または画像に変換できる場合)、ジョブ品質Qは、入力画像の規格化されたグレーレベルまたはカラー・ヒストグラムHiを、タスク出力の規格化されたグレーレベルまたはカラー・ヒストグラムHoと比較することによって測定できる。この場合、Q=f(Hi,Ho)である。
同じ作業者が、すぐ連続して、あるいはある時間期間の間に、いくつかの同様の型のタスクを実行する場合、その作業生成物はその作業者によって生成される品質を推定するために使われることができる。最も単純なレベルでは、作業者品質は、タスクの以前の受入率(acceptance rate)に基づいていてもよい。作業者品質のより正確な推定は、先に論じたように、既知の入力に対する実績を考慮に入れてもよい。十分なデータがあれば、作業者品質推定は、作業者疲労(多くの連続したタスクの後の品質推定を下げる)または作業者が該作業者の時間帯〔タイムゾーン〕においてタスクを実行している時刻を考慮に入れることができる。特定の作業者についてその作業者の品質を推定するには不十分なデータしかない場合には、おおまかな初期推定は、他のタスクに対する実績、あるいはより多くのデータがある他の作業者との何らかの類似性、たとえば地理的位置、言語スキルに基づいていてもよい。タスクのさまざまな型についての品質推定を確立するために初期タスクを作業者に割り当てることも可能である。
ある実施形態では、システム100のMMS 104は上で論じた原理を具現する。さまざまな因子を考慮に入れつつタスクをいかにしてマイクロタスクに分割すべきかを制御する規則がMSS 104のために構成されてもよい。該因子は、そのタスクについての受け容れ可能なリスク閾値、そのタスクについての所望される品質レベル、そのタスクについての受け容れ可能なコスト閾値、マイクロタスクが人間または自動化された作業者によって実行されるべきかどうか、および上で論じた他の因子といったものである。システム100によって実行される処理に関係する詳細は後述する。
図1に描かれるシステム100を参照するに、タスクまたは作業要求者は、システム102を使って、タスク要求112をMMS 104に通信してもよい。タスク要求者は人間、機械、ソフトウェア・アプリケーション/プロセスなどであってもよい。ある実施形態では、タスク要求者はタスク要求を構成するためにMSS 104と直接対話してもよい。MMS 104は複数のタスク要求者から複数のタスク要求を受け取ってもよい。このようにして、MMS 104はいつでも、複数の要求者にサービスし、複数のタスク要求を処理しうる。
MMS 104によって受領されるタスク要求112は、実行されるべきタスクを同定するタスク記述を含んでいてもよい。タスクは、人間知性タスク(HIT)または他のタスクであってもよい。タスク要求は、実行されるべき一つまたは複数のタスクを指定してもよい。要求されうるHITの例としては、これに制約されるわけではないが、次のようなものが含まれる。
・手書き文字またはテキストを画像からタイプ・テキストに変換する(たとえば、一つまたは複数の名刺から連絡先情報をタイプする、顧客が記入した書式データをエクセル・スプレッドシートにタイプする、文書修正をタイプする、名刺からの情報をデータベースに格納されている連絡先情報にタイプする)。
・グラフィック(たとえば手書きのグラフィック、ロゴ)をコンピュータ描画に変換する(たとえば、画像からのグラフィックをVISIO描画データに変換する、ホワイトボード画像をパワーポイント・スライドに変換する)。
・オブジェクト、画像、文書に対して、メタデータによりタグ付けする/記述する(たとえば、写真に写っている人の名前を入力する)。
・オブジェクト、画像、文書を分類する(たとえば、文書が請求書か納税用紙か分類する)。
・デジタル貯蔵所においてオブジェクト、画像、文書をみつける(たとえば、文書Aのすべてのバージョンをみつける、人物Aについてのリンクトイン(Linked-in)のURLをみつける)。
・オブジェクト、画像、文書の間の関係を定義する(たとえば請求書Aが書類Bに関係する)。
MMS 104によって受領されるタスク要求112はまた、要求されたタスクを実行するために使われるべき情報、すなわちそのタスクについての入力情報をも含んでいてもよい。入力情報は、実行されるべきタスクに依存してもよく、一つまたは複数の型の情報を含んでいてもよい。一つまたは複数の型の情報には、これに限られないが、テキスト情報、画像情報、オーディオ情報、ビデオ情報、グラフィック、手書き情報および他の型の情報ならびにそれらの組み合わせが含まれる。タスクについての入力情報は、さまざまな異なる形において与えられてもよい。ある実施形態では、入力情報は、一つまたは複数の文書の形で与えられ、各文書が一つまたは複数の型の情報を含んでいてもよい。入力文書は、テキスト・ファイル、スキャナによって生成されたファイル、ワードプロセシング・プログラムによって生成されたファイル、画像または写真、オーディオ・ファイル、ビデオ・ファイルなどであることができる。たとえば、入力文書は名刺、レシート、手紙のメモ、ラベル、標識、請求書、写真、書式または図、新聞記事、小切手、オブジェクトなどの画像であってもよい。
上に示したように、タスクについて与えられる入力情報は典型的には実行されるべきタスクに依存する。たとえば、実行されるべきタスクが音声文字起こしである場合、入力情報は、文字起こしされるべき一つまたは複数の音声ファイルを含んでいてもよい。もう一つの例として、タスクが第一の言語から第二の言語に翻訳することである場合、入力情報は、翻訳されるべき第一の言語における一つまたは複数の文書を含んでいてもよい。もう一つの例としては、タスクが画像中のオブジェクトを識別する/タグ付けすることである場合、入力文書は一つまたは複数の画像であってもよい。したがって、タスクについて与えられる入力情報の内容は、実行されるべきタスク(または入力情報が複数のタスクについて使用されるのであれば複数のタスク)の型に依存しうる。
図1を参照するに、タスク記述および入力情報に加えて、MMS 104によって受領されるタスク要求112は、実行されるべきタスクに関係する他の情報をも任意的に含んでいてもよい。たとえば、タスク要求は、タスクを実行するために使用されるべき基準を指定してもよい。該基準は、タスクを実行するための所望される価格/コストに関係する情報、タスクに関連するリスクの所望されるまたは受け容れ可能なレベル、タスクを完了するための時間枠、タスク出力についての所望される品質、タスクを実行する作業者の所望される位置、使われる作業者のタイプ(たとえば人間か機械か)、分配制約条件およびその他の情報といったものである。すると、この追加的情報は、マイクロタスクを生成する、入力情報をセグメント分割する、マイクロタスクを分配するなどのためにMMS 104によって使用される。
ある実施形態では、タスク要求112は、プライバシーが保護されるべき入力情報の一つまたは複数の部分を同定する情報をも含んでいてもよい。これは、タスク要求者が、要求者にとって重要であり、プライバシーが保護されるべきである入力情報の部分を具体的に特定することを可能にする。たとえば、スキャンされた画像(たとえば名刺の画像)の内容に対応するテキストを生成することに関わるタスクについては、タスク要求者は人物の名前、人物の雇用者および雇用者の住所のプライバシーが保護されるべきであることを指定してもよい。タスク要求112はまた、供給されるデータに関して取ることのできる受け容れ可能なリスクの全体的なレベルをも含んでいてもよい。この情報は、MMS 104によって、そのタスクについて指定されたさまざまな因子(たとえば、リスク、品質、コストなど)を満足しつつ、タスクをどのようにしてマイクロタスクに分割するかを決定するために使われてもよい。
MMS 104は、MMS 104によって実行されるさまざまな機能を容易にするいくつかのサブシステムを含んでいてもよい。図1に描かれる実施形態では、MMS 104は、ユーザー・インターフェース・サブシステム116、内容解析サブシステム117、セグメント分割器サブシステム118、組み合わせ器サブシステム120、マイクロタスク生成器サブシステム122、値付け〔費用評価〕サブシステム124、前置処理器サブシステム126およびタスク生成物管理サブシステム(TPMS: task product management subsystem)128を有する。MMS 104のこれらさまざまなサブシステムはハードウェア、ソフトウェア(たとえばMMS 104のプロセッサによって実行されるコード、プログラム、命令)またはそれらの組み合わせにおいて実装されてもよい。ソフトウェアはコンピュータ可読記憶媒体に記憶されていてもよい。各サブシステムによって実行される処理は、のちにさらに詳細に記述する。
MMS 104によって実行される処理を制御する一組の規則が、MMS 104について構成されてもよい。これらの規則は、リスク・レベル、品質、コストなどに関係するようなタスクについて指定されるさまざまな因子または制約条件が満たされるようにタスク・アウトソーシングを実行するために、MMS 104によって実行されるさまざまな処理機能を制御する。たとえば、リスクに関し、これらの規則は、タスクについて指定されるリスク・レベルが満足されるように特定のタスクをどのようにマイクロタスクに細分するかを制御する。もう一つの例として、品質に関し、これらの規則は、タスク実行から生成される出力の全体的な品質が指定された品質閾値を満たすよう、どのように特定のタスクをマイクロタスクに細分するかを制御する。リスクを品質とバランスする必要がある状況では、これらの規則は、品質を最大にしつつリスク・レベルが満足されるよう、あるタスクについてのマイクロタスクを決定するために使用されてもよい。図1に描かれる実施形態については、一組の規則は、タスク規則130、セグメント分割規則132、組み合わせ規則138、マイクロタスク規則144、分配規則148および価格付けサブシステム124によって使われる規則を含む。
タスクに影響し、該タスクのマイクロタスクへの分割に影響する因子が指定されるさまざまな方法がある。上記のように、タスク要求者は、タスク要求においてこれらの因子の一つまたは複数を指定してもよい。あるいはまた、デフォルト因子がMMS 104について構成されてもよい。MMS 104は、実行されるべきタスクの性質に基づいて(たとえば、タスク自身、入力情報の性質などに基づいて)、タスクについて使われるべき因子の組を決定するよう構成されてもよい。
MMS 104は任意的に、MMS 104に情報を提供し、MMS 104が情報を出力する(たとえばタスク要求者システム102またはタスク要求者に)ためのインターフェースを提供するよう構成されたユーザー・インターフェース・サブシステム116を有していてもよい。ある実施形態では、ユーザー・インターフェース・サブシステム116は、タスク要求者のようなユーザーがMMS 104と対話できるようにするグラフィカル・ユーザー・インターフェース(GUI)の組を提供してもよい。たとえば、タスク要求者がタスク要求を構成設定できるようにする、タスク要求に関連した情報を与える、タスクについての最終作業生成物を閲覧するなどできるようにするGUIが設けられてもよい。タスク要求者がMMS 104によって実行される処理を構成設定できるようにするGUIが設けられてもよい。たとえば、タスク要求者は、ユーザー・インターフェース116を使って、MMS 104の一つまたは複数のコンポーネントによって実行される処理に影響する規則または基準を構成設定してもよい。
ユーザー・インターフェース・サブシステム116はまた、MMS 104の動作を制御するためにMMS 104のユーザーが使用しうる一組のアプリケーション・プログラミング・インターフェース(API)をも提供してもよい。たとえば、タスク要求者が、実行されるべきタスク、そのタスクについての入力情報およびそのタスクがどのように実行されるべきかに関する他の基準を指定できるようにするAPIが提供されてもよい。ある実施形態では、ユーザー・インターフェース・サブシステム116は、タスク要求112を受領し、タスク要求をさらなる処理のために内容解析サブシステム117に転送するよう構成される。
内容解析サブシステム117は、タスク要求および関連する情報を解析するよう構成される。解析の一環として、内容解析サブシステム117は、実行されるべきタスクの型を認識する、タスクについて受領された入力の型を判別する、実行されるべきタスクに対して課された制約条件があればこれを判別するなどするよう構成されてもよい。解析を実行することから内容解析サブシステム117によって探り出される情報は、次いで、MMS 104の他のサブシステムによって使用されてもよい。たとえば、内容解析サブシステム117によって実行される解析は、MMS 104の他のサブシステムによって、そのタスクについてのマイクロタスクを決定することに関係する処理について使用されるべき規則を選択するために使用されてもよい。たとえば、内容解析サブシステム117によって実行される解析は、そのタスクについてセグメント分割器118によって使用されるべきタスク規則および/またはセグメント分割規則を決定するために、セグメント分割器118によって使用されてもよい。たとえば、内容解析サブシステム117は、タスクについての入力が画像であることを判別し、次いで入力画像をホワイトボード画像、名刺、文書画像などとしてさらに分類するための一つまたは複数のアルゴリズムを実行してもよい。内容解析サブシステム117によって決定された分類情報は、次いで、入力画像をセグメント分割するための適切なセグメント分割規則を選択するために、セグメント分割器118によって使用されてもよい。
状況によっては、タスク要求は実行されるべきタスクすら同定せず、入力情報だけを指定してもよい。内容解析サブシステム117は、入力情報を解析し、実行すべきタスクを自動的に決定してもよい。内容解析サブシステム117は、実行すべきタスクを自動的に決定するためにタスク規則130を使ってもよい。
タスク要求は、タスクに関連付けられるべき一つまたは複数の因子または制約条件(たとえばリスク、品質など)を同定してもよい。内容解析サブシステム117は、これらの制約条件を認識し、その情報をMMS 104の他のサブシステムに伝達するよう構成されていてもよい。ある実施形態では、内容解析サブシステム117は、解析に基づいて、そのタスクのために使われるべき一組の因子を決定するよう構成されていてもよい。たとえば、リスク・レベルがタスク要求において指定されていない場合、内容解析サブシステム117によって実行される解析が、そのタスクに関連付けられるべきリスク・レベルまたは閾値を決定するために使われてもよい。
上に示したように、内容解析サブシステム117は、タスク規則130を使って、実行すべきタスクを自動的に決定してもよい。ある実施形態では、タスク規則は、条件と、該条件が満たされるとき、あるいは該条件が満たされないときに実行されるべきタスクとを特定してもよい。タスク規則のための条件は、タスク要求者の素性〔識別情報〕、入力情報に含まれる情報の型および他の基準ならびにそれらの組み合わせといった一つまたは複数の基準に基づいていてもよい。タスク規則の例:
(1)入力情報=音声情報のみであれば、タスク=音声情報を文字起こしする;
(2)入力情報のソース=ユーザーA かつ 入力情報=一つまたは複数のスキャン画像であれば、タスク=各入力画像のテキスト内容をタイプ・テキストに変換し、各画像のグラフィック内容をコンピュータ描画に変換する。
タスク規則130はユーザー構成設定可能である。たとえば、ユーザー・インターフェース・サブシステム116によって提供されるAPIまたはGUIが、タスク要求者によって、該要求者のためのタスク規則をカスタマイズするために使用されてもよい。
MMS 104の機能の一つは、タスクについて受領される入力情報の秘匿性およびプライバシーを保護しつつ、タスクの実行をアウトソーシングすることである。上で論じたように、これを行う一つの方法は、タスクをマイクロタスクに分割して、各マイクロタスクには入力情報の部分集合が関連付けられるようにし、次いでマイクロタスクを複数の作業者にアウトソーシングすることである。タスクをマイクロタスクに分解することによって、入力情報は部分集合にセグメント分割され、各部分集合が、ある作業者に割り当てられるマイクロタスクについての入力となる。ある実施形態では、入力情報の、マイクロタスクに関連付けられるべき部分集合へのセグメント分割は、セグメント分割器サブシステム118によって実行される。セグメント分割器サブシステム118は、タスクについて受領される入力情報を一つまたは複数のセグメント136にセグメント分割するよう構成される。各セグメントは、入力情報の一部分を含む。
セグメント分割器サブシステム118は、実行されるべきタスクおよびそのタスクに関連付けられた制約条件に基づいて、入力情報をセグメント分割するために、種々の型のセグメント分割技法を使ってもよい。使用されうるセグメント分割技法の例は、これに制約されるものではないが、さまざまな内容ベースのセグメント分割技法、時間的データ(たとえばビデオまたはオーディオ)については時間的セグメント分割技法その他を含む。内容ベースのセグメント分割技法の例は、これに制約されるものではないが、単語境界セグメント分割、画像/グラフィック・ベースのセグメント分割、キャラクタ・セグメント分割、キャラクタ行セグメント分割、領域セグメント分割、フェース(face)・セグメント分割、描画領域セグメント分割、手書きセグメント分割、オブジェクト・セグメント分割、署名セグメント分割などを含む。入力情報がオーディオ・クリップまたはビデオ・クリップのような時間的情報を含む場合、セグメント分割は、時間次元に沿って実行されうる。たとえば、オーディオおよびビデオ・クリップは、固定時間間隔に基づいてセグメント分割されてもよい。内容ベースのセグメント分割も時間的入力情報に対して実行されてもよい。セグメント分割技法は、全自動化されていてもよいし、あるいは自動化および手動の入力セグメント分割技法の組み合わせを含んでいてもよい。さらに、入力情報が選択されたセグメント分割技法を使ってセグメント分割されうる種々の方法がある。
ある実施形態では、セグメント分割器サブシステム118は、セグメント分割規則132を使って、タスクについての入力情報をセグメント分割するために使われるべき一つまたは複数のセグメント分割技法を決定し、また、選択された一つまたは複数のセグメント分割技法を使って入力情報がセグメント分割される仕方を決定する。セグメント分割規則は、条件と、使用されるべき一つまたは複数のセグメント分割技法と、前記条件が満たされたとき(あるいは前記条件が満たされないときに)選択された一つまたは複数のセグメント分割技法を使って入力情報がセグメント分割される仕方とを特定してもよい。セグメント分割規則についての条件は、実行されるべきタスク、タスク要求者の素性、入力情報に含まれる情報の型(たとえばオーディオ情報、ビデオ情報、画像など)および他の基準ならびにそれらの組み合わせといった、一つまたは複数の基準に基づいていてもよい。セグメント分割規則の例:
(1)入力情報=オーディオ情報のみであれば、セグメント分割技法=時間的セグメント分割技法A;
(2)タスク=テキストをタイプ・テキストに変換、かつ入力情報=画像であれば、セグメント分割技法=単語境界セグメント分割。
ある実施形態では、タスクに関連付けられた受け容れ可能なリスク・レベルが、タスクがどのようにマイクロタスクに分解されるべきか、および、入力情報がどのように部分集合にセグメント分割されるべきかを制御してもよい。たとえば、入力情報がセグメント分割されるセグメントの数は、ジョブに関連付けられたリスク閾値に反比例してもよい。低いリスク閾値だと、入力情報はX個のセグメントにセグメント分割され、中くらいのリスク閾値だと、入力情報はY個のセグメントにセグメント分割され、高いリスク閾値だと、入力情報はZ個のセグメントにセグメント分割され、X>Y>Zである。さまざまなリスク閾値と対応するセグメント数との間のこの相関は、セグメント分割規則132においてエンコードされていてもよく、セグメント分割を実行するためにセグメント分割器118によって使用されてもよい。
ある種の実施形態では、タスクに関連付けられる所望される品質レベルは、そのタスクについて受領された入力がどのようにして、それぞれがマイクロタスクへの入力として与えられる部分集合にセグメント分割されるかを決定するためにも使われてもよい。さまざまな品質閾値と、対応するセグメント数との間のこの相関は、セグメント分割規則132においてエンコードされていてもよく、セグメント分割を実行するためにセグメント分割器118によって使用されてもよい。
セグメント分割規則132はユーザー構成設定可能である。たとえば、ユーザー・インターフェース・サブシステム116によって提供されるAPIまたはGUIは、タスク要求者がセグメント分割規則を、該要求者のニーズに適合するようカスタマイズできるようにしてもよい。ある実施形態では、異なるタスク要求者について異なるセグメント分割規則が構成設定されてもよい。特定のタスクについて、セグメント分割器サブシステム118は、そのタスクについて使われるべき一つまたは複数のセグメント分割規則を決定し、選択されたセグメント分割規則に基づいて使用されるべき前記一つまたは複数のセグメント分割技法および選択された技法を使って入力情報がセグメント分割される仕方を決定するよう構成される。セグメント分割器サブシステム118は、次いで、選択されたセグメント分割規則によって指定される仕方で、選択された技法を使って、入力情報をセグメント分割するよう構成される。セグメント分割を実行することから生成されるセグメント136は次いで、セグメント分割器サブシステム118によって、さらなる処理のために組み合わせ器サブシステム120に提供されてもよい。
図8Aおよび図8Bは、本発明のある実施形態のさまざまな側面を記述するために、本願を通じて使用される例を描いている。しかしながら、この例は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。図8Aに描かれる例では、タスクは画像のテキスト内容をタイプ・テキスト〔テキスト・データ〕に変換し、画像のグラフィック内容があればそれをコンピュータ描画(たとえばVISIO描画データ)に変換することであると指定するタスク記述800を含むタスク要求が受領されてもよい。そのようなタスクについて受領される入力情報802は、一つまたは複数の名刺のラスタ化された画像を含んでいてもよい。記述800は、供給される入力情報に関して取ることのできるリスクのレベルおよび/または所望される品質のレベルといった、そのタスクに関連付けられる因子または制約条件を指定する情報を含んでいてもよい。図8Aの例では、入力情報は、二つの名刺の二つのスキャンされた画像804および806を含む。ある実施形態では、スキャンされた画像は、タスク要求者システムからMSS 104によって受領されるタスク要求に含まれていてもよい。別の実施形態では、MMS 104は画像を生成するための機構を提供してもよい。たとえば、MMS 104は、名刺を入力として取り、名刺をスキャンして画像804および806を生成し、次いでそれらの画像をタスクを実行するために利用可能にするスキャナを有していてもよい。
図8Aの例では、各入力画像は単語境界セグメント分割技法およびグラフィック・セグメント分割技法を使ってセグメント分割される。グラフィック・セグメント分割技法は、各入力画像中のグラフィックの位置を判別し、グラフィック部分だけを含むセグメントを生成する。単語境界セグメント分割技法は、各入力画像中の単語境界を判別し、単語境界に対応するセグメントを生成する。ある実施形態では、単語セグメント分割技法は、各入力文書画像中に、セグメント分割された単語領域を含む一組の長方形を識別する。セグメント分割された各単語領域は次いで、入力画像から抽出され、新しい画像として保存される。これらの新しい画像は入力画像についてのセグメントを表している。図8Aに示されるように、画像804は、画像セグメント810と、単語境界に基づく12個の単語セグメント812とを含む13個のセグメント808に分割される。画像806は、画像セグメント816と、単語境界に基づく11個の単語セグメント818を含む12個のセグメント814に分割される。セグメント808および814は、次いで、さらなる処理のために組み合わせサブシステム120に提供されてもよい。ある実施形態では、セグメント分割を実行するために、非特許文献1に記載される技法が使用されてもよい。非特許文献の内容全体はここにあらゆる目的について参照によって援用する。
セグメント分割器サブシステム118が入力情報をセグメント分割する仕方は異なるタスクについては異なることがあるので、セグメント分割器サブシステム118は、各タスクについて、そのタスクについて入力情報がセグメント分割された特定の仕方を同定するセグメント分割情報134を記憶する。ある実施形態では、タスクについて記憶されるセグメント分割情報134は:タスクを同定する情報、タスクの要求者を同定する情報、タスクについて受領された入力情報を同定する情報、生成されるセグメント数を含め入力情報がどのようにセグメント分割されたかを同定する情報およびセグメントが生成された仕方(たとえば使用されたセグメント分割技法(単数または複数))、もとの入力中でのセグメントの位置および他の情報を含んでいてもよい。タスクについて受領された入力情報は複数の入力文書を含むことができるので、セグメント分割情報134は、それらの文書を同定する情報および、各文書について、その文書の内容がどのようにセグメント分割されたかを同定する情報を含んでいてもよい。このようにして、セグメントが与えられたとき、セグメント分割情報134は、そのセグメントに対応する入力文書と、該入力文書が入力として受領された目的のタスクとを判別するために使用されることができる。後述するように、セグメント分割情報134は、タスク生成物管理サブシステム(TPMS)128によって、タスクについての最終作業生成物を構築するために使用される。
セグメント分割システムは、タスクをどのようにセグメント分割するかを決定するために、所望される入力リスクおよび品質を使ってもよい。たとえば、リスク要件がなければ、すべてのテキストは一つのセグメント内に留まってもよい。中くらいのレベルのリスクが許容されるならば、テキストは種々のセグメントにセグメント分割されることができる。非常に低いリスクが許容されるなら、入力は個々の単語にまでセグメント分割されることができる(図8Aに示されるように)。きわめて低いリスクのためには、入力は文字にまでセグメント分割されることができる。セグメント分割の選択は、所望される品質レベルを考慮に入れてもよい。一つの場合には、すべてのテキストを単一のセグメントに残すことは、高い品質につながることができる。テキスト全体について同じフォントが使用されていることがあり、会社名のような情報が複数回、たとえば住所および電子メール・アドレスの両方に、現れることがあるからである。テキストを単語にセグメント分割することは、典型的には、文字に分割するよりは高い品質につながる。人間も機械も、単語のコンテキストにおいて文字を認識することの恩恵を受けるからである。
タスクについての入力情報がセグメント分割され、セグメント分割情報が記憶されると、セグメント分割器サブシステム118がセグメント136を、さらなる処理のために組み合わせ器サブシステム120に提供してもよい。たとえば、セグメント分割器サブシステム118は図8Aに描かれるセグメント808および814を、さらなる処理のために組み合わせ器サブシステム120に提供してもよい。図8Aでは、単語画像セグメントは、境界で区切られたボックス内の単語(これは、単語画像セグメントに対応する図8Bにおける記号的な単語(symbolic word)とは区別する必要がある――記号的な単語は境界で区切られたボックスなしに示されている)によって表されている。
組み合わせ器サブシステム120は、セグメント136から組み合わされたセグメント140を生成するよう構成される。ある実施形態では、組み合わせは、そのタスクについて受領された入力情報の内容のプライバシーを危殆化するリスクを軽減しようとするようになされる。セグメントが組み合わされる仕方は、実行されるべきタスクに関連付けられた受け容れ可能なリスクおよび/または品質のレベルといったさまざまな因子に依存してもよい。セグメント136の内容が、入力情報の内容のプライバシーを保護するよう(換言すれば、アウトソーシングの結果として入力情報のプライバシーまたは秘匿性が失われることに関連するリスクを軽減するよう)組み合わせ器サブシステム120によって組み合わされうる種々の方法がある。ある実施形態では、この組み合わせは、入力情報中の情報間のコンテキスト関係をぼかす方向でなされる(下記で例を与える)。別の実施形態では、入力情報の内容とともに「ノイズ」情報が組み合わされてもよい。たとえば、偽の名前、電話番号などが、入力情報から抽出された内容に加えられてもよい。組み合わせ器は、種々の組み合わせ規則に関連付けられたリスクの推定を行って、それをそのタスクについて指定されているリスクのレベルと比較してもよい。
ある実施形態では、組み合わせ器サブシステム120は、組み合わせ規則138を使って、どのように組み合わせが行われるかを決定する。組み合わせ規則は、条件と、該条件が満たされるときに(あるいは該条件が満たされないときに)使われるべき一つまたは複数の組み合わせ技法とを特定してもよい。組み合わせ規則についての条件は、一つまたは複数の基準に基づいていてもよい。下記の表Aは、組み合わせ器サブシステム120によって組み合わせが実行される仕方に影響しうる例示的な基準と、各基準の組み合わせ処理に対する影響を挙げている。
表A
〈基準〉組み合わせ処理に対する影響
〈プライバシー考慮〉組み合わされた諸セグメントは、プライベートな情報が別個の組み合わされたセグメントを横断してスクランブルされ、個々のどの組み合わされたセグメントの内容も全体的な入力情報のプライバシーを危殆化させないような仕方で形成されうる。
たとえば、入力情報のある部分がプライベートであるとタグ付けされている場合(たとえば、先述したように、タスク要求者が入力情報のある部分をプライベートであると指定してもよい)、組み合わせ器サブシステム120は、組み合わされたセグメントを生成するときにこれを考慮に入れてもよい。ある実施形態では、組み合わされた諸セグメントは、プライベートとタグ付けされた入力情報内容が複数の組み合わされたセグメントにまたがって分散され、単一の組み合わされたセグメントの内容が知られても入力情報のプライバシーが危殆化されないように形成されうる。
〈タスク要求または入力情報の源〉タスク要求者は、該タスク要求者に由来するタスクについて使用されるべきカスタマイズされた組み合わせ技法を指定することが許容されてもよい。
〈入力情報に含まれる内容の型〉ある特定の組み合わせ技法がある種の情報については好適であるが、別の種類の情報については好適でないことがありうる。
〈タスクに関連付けられた値付け情報〉値付け情報は、生成されるべき組み合わされたセグメントの数および組み合わされたセグメントの内容に対して、タスクを完了するための全体的なコストがそのタスクについて指定された受け容れ可能な値付け限界内になるよう、影響しうる。
後述するように、各組み合わされたセグメントについて一つまたは複数のマイクロタスクが決定される。次いで、各マイクロタスクを完了するための価格/費用が決定されてもよい。したがって、組み合わされたセグメントの数はマイクロタスクの数に影響し、マイクロタスクの数はタスク完遂の全体的なコストに影響する。いくつかの事例では、組み合わされたセグメントの数、よってマイクロタスクの数をある閾値を超えて増やすことは、そのタスクを実行するためのコストが受け容れ可能な値付けコストを超過することにつながることがある。
〈タスク完遂までの所望時間〉タスク完遂までの時間は生成されるべき組み合わされたセグメントの数および組み合わされたセグメントの内容に影響しうる。組み合わされたセグメントの数はそのタスクについてのマイクロタスクの数に影響し、マイクロタスクの数はそれらのマイクロタスクを実行するために必要とされる時間に影響しうる。いくつかの事例では、多数の組み合わされたセグメントを生成して各セグメントの内容を少なくすることは、全体的なタスクがより速く完了されることにつながりうる。だが、他の事例では、これは全体的なタスク完了に対して遅延を追加することがある。
〈作業者の利用可能性〉上述したように、組み合わされたセグメントの数はマイクロタスクの数に影響する。マイクロタスクは完了するために作業者にアウトソーシングされる。したがって、マイクロタスクの数はそれらのマイクロタスクを実行するために必要とされる作業者の数に影響する。したがって、組み合わされたセグメントの数は作業者の利用可能性に基づいて決定されてもよい。
〈作業者のスキル・レベル〉既知のスキル・セットをもつ作業者のために、組み合わされたセグメントが生成されてもよい。それにより、該組み合わされたセグメントに関連付けられるマイクロタスクがそれらの作業者によって実行されることができる。
〈人手/自動化〉ある実施形態では、人間によって実行される必要があるタスクに関係した内容が一組の組み合わされたセグメントにグループ化されてもよく、一方でコンピュータによって実行できるタスクが別個の組の組み合われたセグメントにグループ化されてもよい。このようにして、全体的なタスクは、人間の作業者および自動化されたコンピュータ技法のハイブリッドを使って実行できる。
〈タスクについての所望される精度〉タスクについての所望される正確さの度合いは、生成される組み合わされたセグメントの数および組み合わされたセグメントの内容に影響しうる。
セグメントが組み合わされる仕方は、タスクに関連付けられた受け容れ可能なリスク・レベルおよび/または品質レベルに依存してもよい。さまざまなリスクおよび/または品質閾値と使用されるべき組み合わせ技法との間のこの相関は、組み合わせ規則138においてエンコードされていてもよく、組み合わせを実行するために組み合わせ器120によって使用されてもよい。
図8Aに描かれる例を参照するに、四つの組み合わされたセグメント820、822、824および826がセグメント808および814の内容に基づいて生成されている。(グラフィックを含む)セグメント810および816の内容は単一の組み合わされたセグメント820に組み合わされている。組み合わされたセグメント822、824および826は、入力画像から抽出された812および818における単語セグメントに基づいて生成されている。たとえば、セグメント822、824および826のそれぞれは、一つまたは複数のセグメント画像を含む新しい組み合わされた画像(たとえば822)を生成するよう、812および818からのセグメント画像の一つまたは複数を組み合わせるまたは融合することによって生成される。
組み合わされた画像は、複数の異なる文書からのセグメント画像を含んでいてもよい。たとえば、組み合わされたセグメント822は、文書804から抽出されたセグメント「Tom」〔トム〕を含み、文書806から抽出されたセグメント「Smith」〔スミス〕をも含む。同様に、組み合わされたセグメント820は文書804からのセグメント810および文書806からのセグメント816を含む。同様に、組み合わされたセグメント824および826も、文書804および806の両方からの内容を含む。代替的な実施形態(図8Aには示さず)では、組み合わされたセグメントは、意図的に導入されたノイズ内容をも含む。
図8Aにおいて見て取れるように、セグメントは、タスク要求者によってプライベートであるとタグ付けされた入力情報の部分(たとえば、人の名前、人の地位、人の雇用主および雇用主の住所)が三つの組み合わされたセグメント822、824および826にまたがって拡散されるように、組み合わされている。結果として、それぞれの組み合わされたセグメントは、どの一つの入力文書からの情報全部よりも少ない部分を含んでいる。たとえば、入力文書804からの単語「Tom」が組み合わされたセグメント822に含まれていたとしても、トムの名字「Jones」〔ジョーンズ〕は含まれない。組み合わされたセグメント822の内容を見ている誰かにとって、名前Tom Jonesを判別することは可能ではなく、それにより名前のプライバシーが保持される。これは、初期タスクのそれぞれについての推定されるリスクを下げる。こうして、単一の名刺からのフルネームの流出のリスク0.05があった場合、ファーストネームと名字が分離されているときにシステムがフルネームを開示するリスクは1000分の1、すなわち0.00005と推定されうる。これらの推定は経験的な結果に基づいていてもよい。
さらなるレベルのプライバシー保護が、入力文書から抽出された個々のセグメントが組み合わされて組み合わされたセグメントを形成する仕方によって可能にされる。たとえば、組み合わされたセグメント822は文書804からのファーストネーム「Tom」と入力文書806からの名字「Smith」を含むセグメントを含む。セグメントのそのようなスクランブルは、さらなる層のぼかし(obfuscation)、そしてプライバシーが保持されるべき情報についての追加的な保護を加える。組み合わされたセグメントの一つだけから実際の情報を見きわめることは、不可能ではないまでも、極めて困難だからである。
図8Aに描かれた例から明らかなように、組み合わされたセグメントは複数の入力文書から抽出されたセグメントを含むことができる。たとえば、組み合わされたセグメント822は画像804からのセグメント「Tom」および画像806からのセグメント「Smith」を含む。したがって、二つ以上の異なる入力文書からの内容が単一の組み合わされたセグメント中に組み合わされてもよい。複数の入力文書にまたがる内容のこのようなスクランブルは、いずれか一つの文書からの内容のプライバシーが危殆化される可能性をさらに低下させる。
組み合わせ器サブシステム120は異なるタスクについて異なる組み合わせ技法を使ってもよいので、組み合わせ器サブシステム120は、各タスクについての、組み合わされたセグメントを生成するためにそのタスクについてセグメントが組み合わされた特定の仕方を同定する組み合わせ情報142を記憶する。ある実施形態では、タスクについて記憶されている組み合わせ情報142は、組み合わされた各セグメントについて記憶されている以下の情報を含んでいてもよい:組み合わされたセグメントを同定する情報、組み合わされたセグメントと、該組み合わされたセグメントに含められた諸セグメントとの間のマッピングを与える情報、組み合わされたセクション内の諸セグメントの位置およびその他の情報。したがって、組み合わされたセグメントを与えられたとき、組み合わせ情報142を使って、該組み合わされたセグメントに内容が含まれている一つまたは複数のセグメントを決定することができる。後述するように、組み合わせ情報142は、組み合わされたセグメントに関連付けられたマイクロタスクの実行から受領される結果に基づいて、そのタスクについての最終作業生成物を構築するために、TPMS 128によって使用される。
組み合わされたセグメントが生成され、組み合わせ情報142が記憶されたのち、組み合わせ器サブシステム120は組み合わされたセグメント140をさらなる処理のためにマイクロタスク生成器サブシステム122に転送してもよい。たとえば、組み合わせ器サブシステム120は、図8Aに描かれる組み合わされたセグメント820、822、824および826を、さらなる処理のためにマイクロタスク生成器サブシステム122に与えてもよい。
マイクロタスク生成器サブシステム122は、各組み合わされたセグメントについての一つまたは複数のマイクロタスクを決定するよう構成される。ある実施形態では、マイクロタスク生成器サブシステム122は、組み合わされたセグメントについて前記一つまたは複数のマイクロタスクを決定するために、マイクロタスク規則144を使ってもよい。マイクロタスク規則は、条件と、該条件が満たされたときに(あるいは該条件が満たされないときに)組み合わされたセグメントに関連付けられるべき一つまたは複数のマイクロタスクとを同定してもよい。マイクロタスク規則についての条件は、実行されるべきタスク、組み合わされたセグメントの内容、タスク要求者の素性およびその他の基準といった一つまたは複数の基準に基づいていてもよい。
図8Aに描かれた例を参照するに、各組み合わされたセグメントについて一つずつ、四つのマイクロタスクが決定されている:(1)マイクロタスク「MT1:コンピュータ描画への変換」は組み合わされたセグメント820に関連付けられている;(2)マイクロタスク「MT2:タイプ・テキストへの変換」は組み合わされたセグメント822に関連付けられている;(3)マイクロタスク「MT3:タイプ・テキストへの変換」は組み合わされたセグメント824に関連付けられている;(4)マイクロタスク「MT4:タイプ・テキストへの変換」は組み合わされたセグメント826に関連付けられている。図8Aに描かれている例では各組み合わされたセグメントに関連付けられているのは一つのマイクロタスクだけであるが、代替的な実施形態では、複数のマイクロタスクが単一の組み合わされたセグメントに関連付けられてもよい。
図1に戻って参照するに、ひとたび一組の組み合わされたセグメントについてのマイクロタスクが決定されたら、マイクロタスク生成器サブシステム122は、生成されたマイクロタスクについての価格/費用を決定するために値付けサブシステム124のサービスを使ってもよい。HITは典型的には、コンピュータまたは機械によって実行されるタスクよりも、単位時間当たりより高い価格点で値付けされる。値付けサブシステム124は、マイクロタスクについての入力における内容の量といったさまざまな基準に基づいて、マイクロタスクについての価格点を計算するよう構成されていてもよい。たとえば、マイクロタスクは、該マイクロタスクに対応する組み合わされたセグメント中の内容の量に基づいて値付けされてもよい。他の実施形態では、コンピュータによって実行できるマイクロタスクは人間によって実行できるマイクロタスクから区別されてもよい。たとえば、マイクロタスクの値付けに先立って、機械によって実行されるべきマイクロタスクと、人間によって実行されるべきマイクロタスクとの区別をするために前処理器126が使われる。ある実施形態では、前処理器サブシステム126は、組み合わされたセグメントの内容を前処理して、その組み合わされたセグメントに関連付けられたマイクロタスク(単数または複数)を実行するためにより助けとなる形にしてもよい。マイクロタスクの値付けおよび前処理器サブシステム126の使用に関するさらなる詳細は後述する。図8Aに描かれた例を参照するに、価格P1がマイクロタスクMT1について決定され、価格P2がマイクロタスクMT2について決定され、価格P3がマイクロタスクMT3について決定され、価格P4がマイクロタスクMT4について決定される。
マイクロタスク生成器サブシステム122は、マイクロタスクおよび関連付けられた情報を、一つまたは複数のプロバイダー114に分配するために分配システム106に転送するよう構成される。マイクロタスク生成器サブシステム122はまた、分配システム106に転送されたマイクロタスクに関するマイクロタスク情報146を記憶してもよい。マイクロタスクについて、マイクロタスク情報146は、そのマイクロタスクを同定する情報、そのマイクロタスクのために関連付けられた値付け情報、そのマイクロタスクをその入力された組み合わされたセグメントにマッピングする情報、そのマイクロタスクが転送される先の分配システム(本質的にはMMS 104が複数の分配システムを使用してもよい実施形態において)およびその他の情報を含んでいてもよい。
上述したように、マイクロタスク生成器サブシステム122は、マクロタスクおよび関連付けられた情報を、一つまたは複数のプロバイダー114に分配するために、分配システム106に転送するよう構成される。マイクロタスクに関連付けられた情報は、そのマイクロタスクを実行するための入力として使われる内容をもつ組み合わされたセグメント、そのマイクロタスクについての値付け情報およびその他の情報を含んでいてもよい。
マイクロタスクに関連付けられた情報はまた、そのマイクロタスクの実行のためのコンテキストを与えうるコンテキスト情報をも含んでいてもよい。このコンテキスト情報は、マイクロタスクの実行に関して助けとなるべくプロバイダーに提供されてもよい。たとえば、単語画像をテキスト・タイプに変換することに関わるマイクロタスクについて、マイクロタスクの精度を高めるために、そのマイクロタスクについて、入力単語画像が医療書式または名刺から抽出されたことを示すコンテキスト情報が提供されてもよい。もう一つの例として、マイクロタスクについてのコンテキスト情報は、作業者が数字、電子メール・アドレスなどをタイプする必要があるといった、そのマイクロタスクに関係するさらなる情報を提供してもよい。このように、マイクロタスクとともにプロバイダーに転送されるコンテキスト情報は、そのマイクロタスクを実行するためのコンテキストを与える情報を含んでいてもよい。
ある実施形態では、MMS 104は、一組のマイクロタスクに関連付けられるべき一つまたは複数の制約条件150を決定するよう構成されていてもよい。制約条件150は、個々のマイクロタスクに関係した制約条件および/またはマイクロタスクがどのように分配されるべきかに関する制約条件を含んでいてもよい。制約条件は、マイクロタスクがどのように実行されるべきか、マイクロタスクを実行するために許容される作業者の特性、マイクロタスクについて完了までの時間の期待、どこでマイクロタスクが実行できるか(たとえば位置制約条件)、マイクロタスクについての所望される精度、分配制約条件などに関する制約条件を含んでいてもよい。作業者の特性に関係した制約条件は、たとえば、マイクロタスクが機械によって実行されるべきか人間の作業者によって実行されるべきか、作業者の専門技量のレベル、作業者の位置(たとえば米国内か国外か)、作業者の年齢などを含んでいてもよい。
タスクに関連付けられた受け容れ可能なリスクおよび/または品質レベルは、マイクロタスク生成器サブシステム122によって生成されるマイクロタスクに関連付けられる制約条件を制御してもよい。たとえば、受け容れ可能な限度内でリスクを下げるために、特定のマイクロタスク(または一組のマイクロタスク)を、人間の作業者の代わりに、一または複数の機械作業者にアウトソーシングするほうがよいことがありうる。他方、望ましい品質の出力を得るために、特定のマイクロタスク(または一組のマイクロタスク)を一または複数の人間の作業者にアウトソーシングするほうがよいことがありうる。したがって、制約条件150は、特定のマイクロタスクが人間のプロバイダーだけに分配されるべきか、機械のプロバイダーだけに分配されるべきか、そのタスクに関連付けられたリスクおよび品質レベルに基づいて人間または機械のプロバイダーのいずれにもソーシングできるかを指定してもよい。リスクおよび/または品質因子とマイクロタスク制約条件との間のこれらの相関は、マイクロタスク規則情報144においてエンコードされていてもよく、要求されるタスクに対応する一組のマイクロタスクおよびもしあれば該一組のマイクロタスクに関連付けられるべき制約条件を決定する際に、マイクロタスク生成器サブシステム122によって使用されてもよい。
制約条件150は、分配システム106が一組のマイクロタスクを個々のプロバイダーに分配またはアウトソーシングする仕方に関係した分配制約条件をも含んでいてもよい。たとえば、一組のマイクロタスクについての分配制約条件は、プロバイダーは該一組のマイクロタスクからの二つ以上のマイクロタスクを割り当てられることができないことを指定してもよい。そのような制約条件は、本質的に、プロバイダーが一組のマイクロタスクから一つのマイクロタスクのみを割り当てられることができることを保証する。このことは、プロバイダーがその一つのマイクロタスクに対応する高々一つの組み合わされたセグメントを開示されることを保証し、それによりそのプロバイダーに暴露されるのがそのタスクについて受領された入力情報の部分集合のみであることを保証するので、このことはプライバシーの保護のために重要である。
分配制約条件150はまた、マイクロタスク・アウトソーシングに対する地理的制約条件を課す制約条件のような他の制約条件をも含んでいてもよい。たとえば、一組のマイクロタスクについての分配制約条件は、その一組のマイクロタスクからの二つのマイクロタスクが同じ都市内のプロバイダーに割り当てられるべきではないことを指定してもよい。これは、プロバイダー間の地理的な距離を加え、それにより入力情報のプライバシーが危殆化される可能性をさらに減らす。そのような分配は、入力情報の内容のプライバシーが危殆化されるリスクをさらに減らす(またはほとんどなくす)。
いくつかの事例では、マイクロタスクについての入力情報の一つまたは複数の部分は、情報のプライバシーを保持するために編集(たとえば黒塗り〔ブラックアウト〕)されてもよい。編集されるべき領域は、タスク要求者から受領される情報に基づいてMMS 104の人間のオペレーターによって手動でマークされてもよい。あるいはまた、編集されるべきセクションは、たとえば光学文字認識(OCR)技法、キーワード検索(タスク要求者によってプライベートであると同定された社会保障番号の検索など)などを使うことによって、自動的に決定されてもよい。
分配システム106は、MMS 104から一組のマイクロタスク(およびもしあれば関連付けられた制約条件)を受領し、それらのマイクロタスクを実行するための一または複数の作業者またはプロバイダーを決定し、それらのマイクロタスクを決定されたプロバイダーに分配するよう構成される。アウトソーシングという用語は一般に、一または複数のプロバイダーへのタスクの分配を指すのに使われる。プロバイダーは、人間の作業者および/または自動化されたコンピュータ・システム(たとえば図1に描かれたシステム110)を含んでいてもよい。いくつかの実施形態では、分配システム106はマイクロタスクおよび関連付けられた情報を、作業者またはプロバイダーによって使用されるシステム108(たとえばコンピュータ)に転送してもよい。プロバイダーに提供されるマイクロタスクに関連付けられた情報は、該マイクロタスクを実行するための入力として使われる一つまたは複数の組み合わされたセグメントの内容、可能性としてはそのマイクロタスクについて決定された値付け情報、そのマイクロタスクについての期待される品質情報、そのマイクロタスクを完了するための時間枠およびその他の情報を含んでいてもよい。
マイクロタスクおよびその関連付けられた情報を送達するために種々の技法が使われてもよい。場合によっては、マイクロタスクおよび関連付けられた情報は、そのマイクロタスクを実行するために選択された人間の作業者のシステムに、あるいはそのマイクロタスクを実行するシステム/機械に提供されてもよい。たとえば、実行されるべきマイクロタスクを同定する電子メールがプロバイダーに送られてもよく、そのマイクロタスクについての入力情報(すなわち、そのマイクロタスクについての組み合わされたセグメント)がその電子メールに添付されてもよい。他の実施形態では、該情報は人間の作業者に直接与えられてもよい。ある実施形態では、分配システム106は、分配プロセスを容易にするために分配規則148を使ってもよい。ある実施形態では、アマゾン・メカニカル・タークのような分配システムは、分配システム106によって提供される機能を提供するよう向上されてもよい。
分配システム106は、マイクロタスクが、該マイクロタスクに関連付けられた制約条件があればそれに従って分配されることを保証するよう構成される。特に、所望されるリスクまたは品質を、マイクロタスクの分配に影響するために使うことができる。そのような制約条件の結果として、一組のマイクロタスクからのマイクロタスクは、異なる地理的位置、異なるIDをもつ作業者、異なる年齢グループの作業者、異なるタイム・ゾーンの作業者、異なるアウトソーシング会社に勤める作業者などにアウトソーシングまたは分配されてもよい。
分配システム106は、実行されるべきマイクロタスクについて一つまたは複数のプロバイダー114を選択するよう種々の技法を使ってもよい。ある実施形態では、最低入札値をもつプロバイダーにマイクロタスクが分配される入札システムを使ってもよい。ある実施形態では、入札システムにおいて情報のプライバシーを保護するために追加的施策が講じられてもよい。たとえば、特定のマイクロタスクについて、プロバイダーからの入札を得るために、分配システム106は自動的に「代表的」マイクロタスク(すなわち、たとえばタイプ・テキストへの変換のための同じ長さの語、同じ分類子信頼性(classifier confidence)など、目標の特定のマイクロタスクと同じ難しさだが架空の入力内容をもつマイクロタスク)を生成してもよい。分配システム106は、次いで、入札に基づいて特定のプロバイダーを選択し、次いで実際の特定のマイクロタスクおよびその関連付けられた入力された組み合わされたセグメント(単数または複数)を「落札した」入札者に分配してもよい。そのような技法を使えば、一の選択されたプロバイダーだけがマイクロタスクおよびその関連付けられた入力内容にアクセスをもつ。これは、分配プロセスのセキュリティを高める。代表的マイクロタスクを提供し、該代表的問題に対する入札に基づいてプロバイダーを選択するプロセスは、自動化されていてもよいし、あるいは何らかの人間の入力を含んでいてもよい。
もう一つの実施形態では、潜在的プロバイダーが、代表的マイクロタスクを解くよう求められてもよく、その問題を解くことができる、あるいはその問題を所望される品質で所望された時間枠内に解くことができる一のプロバイダーだけが、実行されるべき実際のマイクロタスク(単数または複数)へのアクセスを得ることが許容され、他のプロバイダーは閉め出される。そのようなアプローチも、プロバイダーの素性がわかるので、セキュリティを高める、あるいはリスクを減らし、トラッキング〔追跡性〕を高める。そのようなシナリオでは、マイクロタスクに関連付けられた内容が公に暴露される(または危殆化される)場合、その情報を漏洩したプロバイダーの素性が簡単に決定できる。
マイクロタスクが分配される作業者がそのマイクロタスクを受け容れないことが可能であってもよい。たとえば、作業者は、マイクロタスクに関連付けられたコスト/価格制約条件を受け容れないことがありうる。別のシナリオでは、マイクロタスクについて作業者を見出すことさえできないこともありうる。たとえば、マイクロタスクに関連付けられた作業者に関係した、地理に関係したなどの制約条件がある場合、そうした制約条件を満たす作業者を見出すことは常に可能ではないことがありうる。結果として、マイクロタスクは分配されないままとなりうる。そのようなシナリオをカバーするため、各マイクロタスクにタイムアウト値〔有効期限値〕が関連付けられていてもよい。マイクロタスクが、該マイクロタスクに関連付けられたタイムアウト値以内にアウトソーシングされることができない場合(これは作業者によってマイクロタスクが拒否された、適切な作業者がみつからなかった、その他の理由のためでありうる)、そのマイクロタスクに関係したさまざまな動作が、タイムアウトの期限切れに際してトリガーされうる。ある実施形態では、タイムアウトに際して、そのタスクが作業者によって拒否されたことが判別される場合、そのマイクロタスクは異なる作業者にアウトソーシングされてもよいし、あるいは、そのマイクロタスクは同じ作業者に、その作業者がそのマイクロタスクを受け容れる可能性を高めるような修正された制約条件をもって(たとえばより高いコスト/価格制約条件をもって)再び分配されてもよい。そのマイクロタスクについて作業者がみつからなかったために起こったタイムアウトのシナリオでは、そのタスクがより大きな、より手にはいりやすい作業者の集合に分配できるよう、そのマイクロタスクに関連付けられた制約条件が変更(典型的には低下)されてもよい。このようにして、マイクロタスクに関連付けられたタイムアウトに際して、そのマイクロタスクを再分配するためにさまざまな動作が実行されてもよい。
分配システム106はまた、プロバイダー114からマイクロタスク実行の結果または作業生成物(マイクロタスク生成物と称する)を受け取るよう構成される。マイクロタスク生成物は、一または複数の作業者システム108からおよび/または一または複数の自動化されたシステム110から受領されてもよい。分配システム106は、マイクロタスク生成物をMMS 104に転送するよう構成される。いくつかの実施形態では、一または複数のプロバイダーは、マイクロタスク生成物をMMS 104に直接提供してもよい。
ある実施形態では、分配システム106は、マイクロタスク生成物を受領するために、プロバイダー114のシステムをポーリングしてもよい。ある代替的な実施形態では、プロバイダー・システムが、マイクロタスク生成物を分配システム106にプッシュするよう構成されてもよい。さらに、ある実施形態では、MMS 104は、マイクロタスク生成物を受領するために分配システム106にポーリングしてもよい。一方、他の実施形態では、分配システム106はマイクロタスク生成物をMMS 104にプッシュするよう構成されていてもよい。
一または複数の分配システム106からMMS 104によって受領されるマイクロタスク生成物は、タスク生成物管理サブシステム128(TPMS)に転送される。TPMS 128は、そのタスクに対応する諸マイクロタスクについて受領されたマイクロタスク生成物に基づいて、そのタスクについての最終作業生成物を構築するよう構成される。ある実施形態では、そのタスクについての最終生成物は、マイクロタスクについて受領されたマイクロタスク作業生成物を総合することによって生成されてもよい。TPMS 128は、総合を実行するためのアセンブラー・モジュール129を有していてもよい。次いで、最終生成物は、タスク要求者に提供されてもよい。
ある実施形態では、TPMS 128は、タスクに対応するマイクロタスクについて受領されたマイクロタスク生成物に基づいて、そのタスクについての最終作業生成物を構築するために、マイクロタスク情報146、組み合わせ情報142およびセグメント分割情報134を使う。たとえば、分配システム106から受領されたマイクロタスク生成物について、TPMS 128は、マイクロタスク生成物に対応するマイクロタスクおよびそのマイクロタスクに対応する組み合わされたセグメント(すなわち、そのマイクロタスクについて入力として使われた組み合わされたセグメント)を決定するためにマイクロタスク情報146を使ってもよい。このようにして、TPMSは、マイクロタスク情報146を使って、受領された各マイクロタスク生成物を組み合わされたセグメント(単数または複数)にマッピングしてもよい。TPMS 128は、組み合わされたセグメントにマッピングされた一または複数のマイクロタスク生成物に基づいて、各組み合わされたセグメントについて作業生成物を生成してもよい。TPMS 128は次いで、組み合わせ情報142を使って、組み合わされたセグメントに対応するセグメントを決定してもよい。TPMS 128は次いで、各セグメントについて、該セグメントに対応する組み合わされたセグメントについての作業生成物に基づいて、作業生成物を構築してもよい。TPMS 104は次いで、それらのセグメントを、そのタスクについて受領された入力情報における個々の入力文書にマッピングするために、セグメント分割情報134を使ってもよい。TPMS 128は、セグメント分割情報134を、セグメントについて構築された作業生成物に基づいて各入力文書についての作業生成物を構築してもよい。入力文書について構築された作業生成物は、そのタスクについての最終作業生成物を表していてもよい。
先に論じたように、一つのマイクロタスク(またはその一部)についての作業生成物または出力は、別のマイクロタスクについての入力情報として使われてもよい。たとえば、機械が第一のマイクロタスクを実行することによって生成される作業生成物は、人間の作業者によって実行されるべき第二のマイクロタスクについての入力として使われてもよい。したがって、第一のマイクロタスク・タスクをある「作業者」に提出し、該マイクロタスクを実行することから得られた結果を受領し、第一のマイクロタスク実行から受領された結果(またはその一部)を入力とする新たなマイクロタスクを生成することが可能である。ある実施形態では、第一のマイクロタスクから受領された結果は、他の情報(たとえば、別のマイクロタスクから受領された結果)と組み合わされてもよく、組み合わされた情報が、別の作業者または自動化システムにソーシングされる新しいマイクロタスクについての入力として使われてもよい。別の実施形態では、第一のマイクロタスクから受領された結果は部分集合にセグメント分割され、各部分集合について新しいマイクロタスクが決定され、次いで新しい一組のマイクロタスクが実行されるために作業者に送られてもよい。
したがって、ある種の事例では、TPMS 128は受領されたマイクロタスク生成物の一または複数をマイクロタスク生成器サブシステム122に転送してもよい。TPMS 128からマイクロタスク生成物を受領するに際して、マイクロタスク生成器サブシステム122は、一または複数のマイクロタスクからなる新たな組を生成してもよい。ここで、受領されたマイクロタスク生成物が新しいマイクロタスクについての入力である。これらの新しいマイクロタスクは次いで、値付けサブシステム124を使って値付けされてもよく、次いで一または複数のプロバイダーへの分配のために分配システム106に送られてもよい。
ある実施形態では、マイクロタスクについてプロバイダーから受領されたマイクロタスク生成物の品質が検査されてもよく、必要な品質閾値を満たさないと判定された場合、マイクロタスクは別のプロバイダーへの分配のために分配システム106に再提出されてもよい。たとえば、TPMS 128は、オーディオ・セグメントの文字起こしから帰結するマイクロタスク生成物を受領してもよい。TPMS 128は次いで、そのマイクロタスク生成物に関連付けられた信頼性スコアを決定してもよい。信頼性スコアが何らかのユーザー構成設定可能な閾値を下回る場合、TPMS 128は、文字起こしをやり直す必要があると判定してもよく、そのマイクロタスク生成物をマイクロタスク生成器サブシステム122に送ってもよい。マイクロタスク生成器サブシステム122は次いで、そのマイクロタスク生成物に対応する(オーディオ情報を含む)組み合わされたセグメントを決定し、その組み合わされたセグメントについての新たな文字起こしマイクロタスクを生成してもよい。新しいマイクロタスクは、最初にそのマイクロタスクを実行したプロバイダー以外のプロバイダーへの分配のために、分配システム106に送られてもよい。
図8Bは、図8Aにおいて生成され複数のプロバイダーに分配されたマイクロタスクに対応する受領されたマイクロタスク生成物に基づいて、図8Aにおいて受領されたタスクについて、いかにして最終作業生成物が構築されうるかの例を示している。図8Bに描かれているように、マイクロタスクMT1、MT2、MT3およびMT4に対応するマイクロタスク生成物(MTP: microtask product)がMMS 104によって受領されてもよい。マクロタスクMT1に対応するマイクロタスク生成物840は作業者1から受領され、組み合わされたセグメント820に含まれるグラフィックに対応するコンピュータ描画を含む。マクロタスクMT2に対応するマイクロタスク生成物842は作業者2から受領され、組み合わされたセグメント822に含まれるさまざまなセグメントの内容に対応するタイプ・テキストを含む。マクロタスクMT3に対応するマイクロタスク生成物844は作業者3から受領され、組み合わされたセグメント824に含まれるさまざまなセグメントの内容に対応するタイプ・テキストを含む。マクロタスクMT4に対応するマイクロタスク生成物846は作業者4から受領され、組み合わされたセグメント826に含まれるさまざまなセグメントの内容に対応するタイプ・テキストを含む。
ある実施形態では、受領された各マイクロタスク生成物は、使用された作業者および訂正のシーケンスまたはマイクロタスクに対して実行された検査に依存する、関連付けられた品質推定値Q1、Q2、Q3、Q4を持っていてもよい。この品質は、認識されたカードの品質ではなく、マイクロタスクについての所望される結果への推定される近さである。
マイクロタスク情報146および組み合わせ情報142を使って、TPMS 128は次いで、マイクロタスク生成物をその対応する組み合わされたセグメントに、最終的にはセグメント808および814にマッピングしてもよい。図8Bに描かれているように、マイクロタスク生成物840の内容の一部(XYZロゴのコンピュータ描画)がセグメント810にマッピングされる――これがセグメント810についての生成物を表す。マイクロタスク生成物840の内容の一部(ABCロゴのコンピュータ描画)がセグメント816にマッピングされる――これがセグメント816についての生成物を表す。同様にして、812および818におけるセグメントについての生成物が、マイクロタスク生成物842、844および846の内容から決定される。812、816および818における各セグメントについての生成物は、セグメント内容に対応するタイプ・テキスト部分のリストを含む。
TPMS 128は次いで、それらのセグメントを、そのタスクについて受領された入力情報における個々の入力文書804および806にマッピングし、それらの入力文書についての作業生成物を構築する。TPMS 128は、セグメントをタスクについての個々の入力文書にマッピングするためにセグメント分割情報134を使ってもよい。図8Bに描かれるように、文書804についての最終作業生成物は、文書804内のテキスト部分に対応するタイプ・テキストおよび文書804内のXYZロゴ・グラフィックに対応するコンピュータ描画を含む。文書806についての最終作業生成物は、文書806内のテキスト部分に対応するタイプ・テキストおよび文書806内のABCロゴ・グラフィックに対応するコンピュータ描画を含む。このように、タスク800について最終作業生成物は、そのタスクについての入力情報の一部として受領された各入力文書について構築される作業生成物を含む。
ある実施形態では、最終作業生成物について品質推定値が与えられる。この品質推定値は、個々のマイクロタスク生成物に関連付けられた品質推定値に依存する。最も単純な場合では、最終作業生成物についての品質推定値は、その最終作業生成物を形成するために総合されたマイクロタスク作業生成物に関連付けられた品質推定値の平均であってもよい。あるいはまた、該品質推定値は、最終作業生成物における、各マイクロタスクの一部であった項目の数に依存して重み付けされてもよい。
図1に戻って参照すると、タスクについての最終作業生成物を構築すると、TPMS 128は、タスク要求者に最終作業生成物を転送するよう構築されてもよい。最終作業生成物は、タスク要求者に、いくつかの異なる方法を使って転送されうる。ある実施形態では、作業生成物は、タスク要求者によって指定された、最終作業生成物を記憶するためのメモリ位置に記憶されてもよい。最終作業生成物はまた、タスク要求者に通信されてもよい。たとえば、図8Bに描かれる最終作業生成物はWORD〔ワード〕文書に書き込まれてもよく、そのWORD文書が次いでタスク要求者に通信されてもよい。最終作業生成物に対して、他のユーザー構成設定可能な動作がMMS 104によって実行されてもよい。
ある実施形態では、マイクロタスク生成器サブシステム122によって決定された一組のマイクロタスクは、複製されたマイクロタスクを含んでいてもよい。たとえば、文字起こしされるべきオーディオ情報を含む組み合わされたセグメントについて、文字起こしの精度を高めるために、同じ組み合わされたセグメントに関連付けて、それぞれがそのオーディオ情報が文字起こしされるべきことを指定する複数の重複したマイクロタスクが生成されてもよい。それら複数の重複したマイクロタスクには、互いに異なるプロバイダーに分配されるという制約条件が関連付けられてもよい。すると、MMS 104は、該異なるプロバイダーから重複したマイクロタスクに対応して受領されるマイクロタスク生成物どうしを比較して、文字起こしの精度を決定してもよい。
別のシナリオでは、マイクロタスクおよび関連付けられた入力情報は、同じプロバイダーに複数回アウトソーシングされ、それによりそのマイクロタスクが複数回実行されてもよい。そのマイクロタスクが複数回実行されることから帰結する複数のマイクロタスク生成物は、結果として得られる作業生成物の品質を向上させることがありうる。
たいていの場合は(たとえば90%の場合)コンピュータがうまく行うが、残りの場合についてはひどく失敗するタスクがたくさんある。この品質レベルはしばしば十分ではなく、通常、これらのタスクは人間に与えられる。そのようなシナリオにおいて、MMS 104は、コンピュータ・システムによる実行のために第一の組のマイクロタスクを生成してもよい。第一の組のマイクロタスクについて得られた結果に基づいて、MMS 104は、人間の作業者に分配される第二の組のマイクロタスクを生成してもよい。ここで、第一の組のマイクロタスクの実行から得られた結果が、第二の組のマイクロタスクへの入力として使われる。第二の組のマイクロタスクは、第一の組のマイクロタスクから得られる結果における誤りを訂正することを含んでいてもよい。このようにして、人間が、それ以外の点では自動化されたプロセスによってなされた誤りを訂正するために使われてもよい。全体的なタスクの品質およびその品質の推定値は、人間によってなされるおよび機械によってなされる作業の品質の複雑な組み合わせである。
もう一つの実施形態では、あるタスクについて二組のマイクロタスクが生成されてもよい。第一の組は機械による実行にとってより好適であり、第二の組は人間による実行にとってより好適である。人間により実行されるマイクロタスクとコンピュータにより実行されるマイクロタスクの組み合わせがこのようにして、半自動化された仕方でタスクを効率的に解くために使用されてもよい。このハイブリッド・モデルはいくつかの恩恵をもたらす。たとえば、人間は、プロセスの自動化された部分について、コンピュータによる誤りを少なくすることができるトレーニング・データを提供することができる。さらに、より平凡なマイクロタスクは機械/コンピュータにアウトソーシングされる一方、より高い認知要件をもつマイクロタスクは人間にアウトソーシングされてもよい。これにより、人間の作業者にとっての作業がより興味深いものとなり(そのことはよりよい品質につながりうる)、一方、タスク全体を完成させるために必要とする全体的な人間時間はより少なくなる。機械によって実行されるマイクロタスクに関連付けられるコストは人間によって実行されるマイクロタスクよりも概して安価なので、これは、全体的なタスクの費用を下げることもありうる。
品質管理は、どんなアウトソーシング・モデルでもきわめて重要である。プロバイダー、特に人間の作業者は、評価され、作業の品質についてのフィードバックを与えられる必要がある。伝統的に、これは、タスク(たとえばマイクロタスク)の出力を吟味し、フィードバックを提供する人間によってなされる。しかしながら、このプロセスは、特にタスクが複数のより小さなマイクロタスクに分解され、そのそれぞれが別個に評価される必要があるときには、タスク自身と同じくらい高価になることがある。ある実施形態では、MMS 104は、タスクについての品質管理を自動化するよう構成される。それは、品質管理を、それ自身マイクロ・アウトソーシングされることのできる(よって人間によって実行されるものおよびコンピュータによって実行されるものを含むより小さなジョブに分解される)マイクロタスクとして成形することによる。マイクロタスクの該生成において品質を上げるいくつかの方法がある。一つの方法は、複数の作業者に同じタスクを実行させて、二の作業者が一致するときにのみ結果を受け容れることである。これは品質を高める。Q(I,W1,W2)>Q(I,W)。そのような技法は、複数の作業者がタスク全体を行うことを要求するので、より高価となりうる。
もう一つの技法によれば、入力の何らかの部分集合が、何らかの重なりをもって、複数の作業者に送られることができる。たとえば、I=I1+I2+I3であれば、W1はI1およびI2に対して作業でき、W2はI2およびI3に対して作業できる。よって、どの作業者も入力全体を見ることはなく、リスクを低下させ、それでいて各入力は二以上の作業者によって処理される。ある実施形態では、品質に関係した動作に関係するマイクロタスクを生成することによって、品質管理がタスクと統合されることができる。たとえば、書式における数値項目を認識することからなるタスクであって、書式には合計値も記入されており、これも認識すべきであり、転写〔認識〕された個々の値の和が前記合計値の転写になるべきである場合を考える。転写された値は自動化タスクによって簡単に合計でき、計算された和が転写された和と一致すれば、転写の品質は良好であると考えることができる。それらの値が一致しなければ、品質を検査するために追加的なマイクロタスクが必要となることがありうる。それはたとえば、作業者に、もとの書式の合計が正しく計算されていたことを検証させる、あるいはタスクの一部を異なる作業者をもって繰り返すことによる。
マイクロタスクの実行をより興味深いものとするとともに品質を改善するもう一つのアプローチは、作業者の実績を何らかのフォーマットで公開することを含む。たとえば、作業プロバイダーからのフィードバックを使って何らかのスコアを確立することができ、スコアが上位の作業者が、現在ゲームやソーシャル・ネットワークで行われているように、「高スコア」リスト上で公開されることができる。作業プロバイダー・フィードバックに加えて、作業者は、タスク完了のスピードまたは実行されたタスクの多様さについて認められることができる。何らかの品質尺度において上位の作業者にはボーナスが与えられてもよい。
品質管理に対するもう一つのアプローチは、自己報告品質に関わる。しばしば、人間の作業者は、該作業者によって実行されたマイクロタスクの結果に対する自信/信頼性を正確に報告できる。たとえば、文字起こし/転写のマイクロタスクについて、そのマイクロタスクを実行する人間の作業者は、そのマイクロタスクの実行に対するフィードバック(たとえば信頼性スコア)を与える能力を備えていることがある。このフィードバックは、そのマイクロタスクをやり直す必要があるかどうかを決定する際に、MMS 104によって使用されてもよい。作業者(worker)による品質の推定値Qworker(I)は、所望される品質レベルと比較されることができ、所望される品質が達成されていれば、タスクは完了と考えられる。所望される品質が達成されていなければ、品質を改善するために訂正マイクロタスクが使われてもよいし、あるいはその作業が別のマイクロタスクを使って別の作業者によって繰り返されたり別の作業者からの出力と組み合わされたりしてもよい。作業者は、ある種のジョブをもっと得ること、あるいは何らかのジョブもしくは何らかの型のジョブについて追加的なトレーニングを得ることに関心があることを報告することができてもよい。これは、作業プロバイダーが追加的な指示を与え、品質を改善することを許容しうる。作業者からの、自らの作業に対する信頼性の報告は、自動的な統計とともに、特定のジョブについてのジョブ品質を推定し、新しいタスクの割り当てを決定するために使うことができる。
MMS 104は図1に描かれている実施形態では単一のシステムとして示されているが、代替的な実施形態では、MMS 104によって実行される機能は、互いと協働する複数のシステムによって実行されてもよい。さらに、MMS 104および分配システム106が図1では別個のシステムとして示されているが、代替的な実施形態では、MMS 104および分配システム106によって実行される機能は単一のシステムまたは複数のシステムによって実行されてもよい。したがって、図1に描かれている実施形態は、請求項に記載される本発明の範囲を限定することを意図したものではない。他の変形が可能である。
図2は、本発明のある実施形態に基づく、タスクについて受領される入力情報の内容のプライバシーを保持しつつ、該タスクを実行する高レベルの方法を記述する簡略化されたフローチャート200を描いている。図2に描かれる処理は、プロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図2に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。
図2に描かれるように、処理は、タスク要求を受領するに際して開始されてもよい(ステップ202)。タスク要求は、実行されるべきタスクを同定してもよく、そのタスクを実行するために使われるべき入力情報を指定してもよい。代替的な実施形態では、タスク要求は入力情報を含んでいてもよく、MMS 104は、該入力情報の属性に基づいて実行されるべきタスクを自動的に決定してもよい。たとえば、MMS 104は、実行されるべきタスクを決定するためにタスク規則130を使ってもよい。202において受領される情報はまた、受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクについての一つまたは複数の因子または制約条件を含んでいてもよい。
タスクについての因子または制約条件が決定される(ステップ203)。これらの因子のうちの一つまたは複数は、202において受領されるタスク要求において指定されてもよい。たとえば、タスク要求者は、タスクについての受け容れ可能なリスク閾値、タスクについての期待される品質閾値、タスクを実行するためにコストなどの一つまたは複数を、タスク要求を介して指定してもよい。ある実施形態では、MMS 104は、タスク要求の解析に基づいて、そのタスクについての因子を、もしあれば決定するよう構成されてもよい。たとえば、実行されるべきタスクの性質に基づいて、および/またはそのタスクについて与えられる入力情報の特性に基づいて、MMS 104は、そのタスクに関連付けられるべき一つまたは複数の因子または制約条件の組を決定してもよい。さらにもう一つのシナリオでは、MMS 104について構成設定されたいくつかのデフォルト制約条件が決定されてもよく、要求されたタスクについて使用されてもよい。203におけるタスクについて決定された因子または制約条件は、タスク要求がどのように処理されるかに影響しうる。たとえば、204、206、208、210、211、212、214、216および218に関して後述されるさまざまな処理は、203において決定された制約条件が満たされるまたは満足されるように実行されうる。
入力情報は次いで、一組のセグメントにセグメント分割され、ここで、各セグメントは、202において受領された入力情報の内容の一部または部分集合を含む(ステップ204)。セグメント分割は、そのタスクについて選択された一組のセグメント分割規則に基づいて実行されてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件は、セグメント分割に影響してもよい。図1に描かれる実施形態では、204における処理はセグメント分割器サブシステム118によって実行されてもよい。
次いで、204において生成されたセグメントに基づいて、一組の組み合わされたセグメントが生成されてもよい(ステップ206)。206において生成される組み合わされたセグメントは、204において生成されたセグメントのうちの一つまたは複数またはその一部を含んでいてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件は、セグメントが組み合わされる仕方に影響してもよい。たとえば、図1について先述したように、どの一つの組み合わされたセグメントに対応する情報も全体的な入力情報の内容を危殆化させないよう、複数の組み合わされたセグメントにまたがって情報が分配されてもよい。図1に描かれる実施形態では、206における処理は組み合わせ器サブシステム120によって実行されてもよい。
ある実施形態では、一組の組み合わされたセグメントの生成は、毎回実行されなくてもよい。そのような実施形態では、組み合わされたセグメントが生成されるかどうかは、実行されるべきタスクに関連付けられたリスク・レベルに依存してもよい。組み合わされたセグメントの生成はセグメント分割を超えて入力情報をさらにぼかし、よってアウトソーシングに関連するリスクを減らす助けになる。したがって、ある実施形態では、組み合わされたセグメントは、タスクに関連付けられたリスク・レベルが何らかの閾値を下回るときにのみ、生成されてもよい。たとえば、組み合わせは、タスクに関連付けられた受け容れ可能なリスク・レベルが「高」である場合には実行されなくてもよいが、前記リスク・レベルが「中」または「低」である場合には実行されてもよい。さらに、使用される組み合わせ技法の種別もさまざまな異なるリスク・レベルについて異なっていてもよい。たとえば、特定の受け容れ可能なリスク・レベルについて、組み合わされたセグメントの生成は、204において生成された複数のセグメントを組み合わせることを含んでいてもよい。しかしながら、より低い受け容れ可能なリスク・レベルについては、複数のセグメントを組み合わせることに加えて(あるいは複数のセグメントを組み合わせる代わりに)、組み合わされたセグメントの生成は、組み合わされたセグメントにノイズ情報を加えることをも含んでいてもよい。このようにして、タスクに関連付けられたリスク・レベルは、組み合わされたセグメントが生成されるべきか、またどのように生成されるべきかを決定しうる。組み合わされたセグメントを生成するためのリスク・レベル閾値およびそれらさまざまなリスク・レベルに対応した使われるべきさまざまな組み合わせ技法に関係した情報が、組み合わされたセグメントを生成するために組み合わせ器120によって使用される組み合わせ規則138にエンコードされていてもよい。
次いで、206において生成された各組み合わされたセグメントについて、一つまたは複数のタスク(マイクロタスク)が決定される(ステップ208)。図1に描かれた実施形態では、208の処理は、マイクロタスク生成器サブシステム122によって実行されてもよい。
208で決定されたマイクロタスクのうちの一つまたは複数について、値付け情報が決定されてもよい(ステップ210)。図1に描かれた実施形態では、210の処理は値付けサブシステム124によって実行されてもよい。208で決定された一組のマイクロタスクの分配に影響するさらなる制約条件がもしあれば決定される(ステップ211)。これらの制約条件は、208において決定された一組のマイクロタスクにおける個々のマイクロタスクに関係した制約条件および/またはマイクロタスクの組に適用可能な制約条件を含んでいてもよい。
次いで、一組のマイクロタスクは、一または複数のプロバイダーに分配(アウトソーシング)されてもよい(ステップ212)。マイクロタスクに関連付けられた情報が、212の一部として分配されてもよい。マイクロタスクに関連付けられた情報は、そのマイクロタスクについての入力として使われる情報およびそのマイクロタスクに関連付けられた値付け情報を含む組み合わされたセグメントを含んでいてもよい。いくつかの実施形態では、マイクロタスクの実行を容易にするためのツール/リソースもマイクロタスクとともに分配されてもよい。たとえば、マイクロタスクがグラフィックをコンピュータ描画に変換することに関わる場合、コンピュータ描画アプリケーション(たとえばVISIO)がマイクロタスクとともに分配/配送されてもよい。212における分配は、マイクロタスクに関連付けられており、211において決定された制約条件があればそれに従いつつ、実行されてもよい。プロバイダーは人間の作業者でも自動化されたシステムでもよい。
マイクロタスクの実行に際して、マイクロタスクに対応する作業生成物が受領されてもよい(ステップ214)。次いで、202において受領されたタスクについての最終作業生成物が、214において受領されたマイクロタスク生成物に基づいて構築されてもよい(ステップ216)。図1に描かれる実施形態では、216の処理はTPMS 128によって実行されてもよい。次いで、216において構築されたタスクについての作業生成物に対して、動作が任意的に実行されてもよい(ステップ218)。たとえば、最終作業生成物がメモリに記憶される、タスク要求者に通信される、などしてもよい。
図3は、本発明のある実施形態に基づく入力情報をセグメント分割するために実行される処理を記述する簡略化されたフローチャート300を描いている。図3に描かれた処理は、プロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図3に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。ある実施形態では、図3に描かれる処理は、図2のステップ204の一部として実行されてもよく、図1のセグメント分割器サブシステム118によって実行されてもよい。
図3に描かれるように、処理は、実行されるべきタスクについての入力情報を受領するのに際して開始されてもよい(ステップ302)。そのタスクについて使用されるべき一組のセグメント分割規則が決定される(ステップ304)。タスク要求者の素性、タスク要求の源(たとえばタスク要求の受信元のコンピュータのIPアドレス、タスク要求の受信元の地理的領域など)、入力情報の内容およびその他の因子といった、さまざまな因子が、304でセグメント分割規則を選択するために使用されてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件は、セグメント分割規則の選択に影響してもよい。302において受領された入力情報は次いで304において決定された一組のセグメント分割規則を使ってセグメント分割されて、一つまたは複数のセグメントの組を生成する(ステップ306)。306において実行されたセグメント分割について、セグメント分割情報が記憶される(ステップ308)。306において生成された一組のセグメントは、次いで、さらなる処理のために組み合わせ器サブシステム120に与えられる。
図4は、本発明のある実施形態に基づく組み合わされたセグメントを生成するために実行される処理を記述する簡略化されたフローチャート400を描いている。図4に描かれた処理はプロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図4に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。ある実施形態では、図4に描かれる処理は、図2のステップ206の一部として実行されてもよく、図1の組み合わせ器サブシステム120によって実行されてもよい。
図4に描かれるように、処理は、実行されるべきタスクについての入力情報から生成された一組のセグメントを受領するのに際して開始されてもよい(ステップ402)。組み合わされたセグメントを生成するために使用されるべき一組の組み合わせ規則が決定される(ステップ404)。タスク要求者の素性、タスク要求の源、セグメントの内容およびその他の因子といった、さまざまな因子が、404において組み合わせ規則を選択するために使用されてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件も、404における組み合わせ規則の選択に影響してもよい。次いで、一つまたは複数の組み合わされたセグメントの組が、402において受領されたセグメントに基づいて、404において決定された組み合わせ規則を使って生成される(ステップ406)。各組み合わされたセグメントは、402において受領されたセグメントの一つまたは複数またはその一部を含んでいてもよい。組み合わせ情報が記憶されてもよい(ステップ408)。他の情報に加えて、408において記憶される組み合わせ情報は、各組み合わされたセグメントについて:組み合わされたセグメントを同定する情報、組み合わされたセグメントをその構成要素である一つまたは複数のセグメントにマッピングする情報(すなわち、組み合わされたセグメントに内容が含まれている諸セグメントの情報)、組み合わされたセグメント内の諸セグメントの位置およびその他の情報を含んでいてもよい。次いで、406において生成された一組の組み合わされたセグメントは、さらなる処理のためにマイクロタスク生成器サブシステム122に与えられる(ステップ410)。
先述したように、組み合わされたセグメントが生成されるかどうかは、実行されるべきタスクに関連付けられたリスク・レベルに依存してもよい。さらに、組み合わされたセグメントを生成するために使われる組み合わせ技法は、さまざまな異なるリスク・レベルについて異なっていてもよい。組み合わされたセグメントを生成するためのリスク・レベル閾値および該さまざまなリスク・レベルに対応する使用されるべきさまざまな組み合わせ技法に関係した情報が、組み合わされたセグメントを生成するために組み合わせ器120によって使用される組み合わせ規則138においてエンコードされてもよい。
図5は、本発明のある実施形態に基づく、マイクロタスク生成器サブシステムによって実行される処理を示す簡略化されたフローチャート500を描いている。図5に描かれた処理はプロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図5に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。
図5に描かれるように、処理は、タスクについての一組の組み合わされたセグメントを受領するのに際して開始されてもよい(ステップ502)。502において受領された一組の組み合わされたセグメントについて一組のマイクロタスク規則が決定されてもよい(ステップ504)。タスク要求者の素性、タスク要求の源、組み合わされたセグメントの内容およびその他の因子といったさまざまな因子が、マイクロタスク規則を選択するために使用されてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件が、504におけるマイクロタスク規則の選択に影響してもよい。次いで、一つまたは複数のマイクロタスクが、502において受領された各組み合わされたセグメントについて、504において決定されたマイクロタスク規則の一つまたは複数を使って決定される(ステップ506)。506において決定されたマイクロタスクの一つまたは複数について、値付け情報が決定されてもよい(ステップ508)。マイクロタスクについての値付け情報を決定するための処理は、値付けサブシステム124によって提供されるサービスを使ってもよい。前記一組のマイクロタスクに関連付けられるべき制約条件があれば決定される(ステップ510)。これらの制約条件は、前記一組のマイクロタスクにおける個々のマイクロタスクに関係した制約条件および/または前記マイクロタスクのプロバイダーへの分配に関係した制約条件を含んでいてもよい。受け容れ可能なリスク・レベル、所望される品質レベル、コスト閾値などといった、実行されるべきタスクに関連付けられる制約条件が、510において前記一組のマイクロタスクについて決定される制約条件に影響してもよい。
次いで、前記一組のマイクロタスクは、関連付けられた情報とともに、一または複数のプロバイダーへの分配のために分配システムに転送される(ステップ512)。前記一組のマイクロタスクに関連付けられた情報は、各マイクロタスクについて、該マイクロタスクを実行するための入力として使われるべき内容を含む組み合わされたセグメント(単数または複数)、そのマイクロタスクについて決定された値付け情報、そのマイクロタスクについての制約条件(もしあれば)および前記一組のマイクロタスクに関連付けられた分配制約条件を含んでいてもよい。マイクロタスク生成器サブシステムはまた、前記一組のマイクロタスクについてのマイクロタスク情報を記憶してもよい(ステップ514)。マイクロタスク情報は、各マイクロタスクに関連付けられた値付け情報、マイクロタスクをその組み合わされたセグメントにマッピングする情報、マイクロタスクの転送先の分配システム(特にMMS 104が複数の分配システムを使用しうる実施形態において)およびその他の情報を含む、マイクロタスクに関係した情報を含んでいてもよい。
図6は、本発明のある実施形態に基づく、分配システムによって実行される処理を示す簡略化されたフローチャート600を描いている。図6に描かれた処理はプロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図6に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。
図6に描かれるように、処理は、分配システムが一組のマイクロタスクおよび関連付けられた情報を受領するときに開始されてもよい(ステップ602)。関連付けられた情報は、マイクロタスクに対応する組み合わされたセグメントおよび可能性としてはまた、マイクロタスクに関連付けられた一つまたは複数の制約条件を含んでいてもよい。前記一組のマイクロタスクにおけるマイクロタスクは次いで分配システムによって分配される(ステップ604)。604における分配は、マイクロタスクに関連付けられた制約条件があればそれが満足されるように実行される。分配システムはまた、プロバイダーによるマイクロタスクの実行から帰結する作業生成物(マイクロタスク生成物と称される)を受領もする(ステップ606)。次いで、マイクロタスク生成物はさらなる処理のためにマイクロタスク管理システム(図1に描かれるMMS 104のような)に転送されてもよい(ステップ608)。
図7は、本発明のある実施形態に基づく、あるタスクに対応する諸マイクロタスクについて受領されたマイクロタスク生成物に基づいて、該タスクについての最終作業生成物を生成するために実行される処理を示す簡略化されたフローチャート700を描いている。図7に描かれた処理はプロセッサによって実行されるソフトウェア(たとえばプログラム、コード、命令)、ハードウェアまたはそれらの組み合わせによって実行されてもよい。ソフトウェアは、コンピュータ可読記憶媒体上に記憶されていてもよい。図7に描かれる処理ステップの具体的な系列は、請求項に記載される本発明の実施形態の範囲を限定することを意図したものではない。ある実施形態では、図7に描かれる処理は、図2のステップ216の一部として実行されてもよく、図1のTPMS 128によって実行されてもよい。
図7に描かれるように、処理は、一組のマイクロタスク生成物の受領に際して開始されてもよい(ステップ702)。たとえば、図1に描かれたMMS 104は、一組のマイクロタスク生成物を分配システム106から受領してもよく、それらのマイクロタスク生成物は処理のためにTPMS 128に転送されてもよい。702において受領された各マイクロタスク生成物は、その対応するマイクロタスクおよび決定された関連付けられた組み合わされたセグメントにマッピングされる(ステップ704)。マイクロタスクは組み合わされたセグメントに関連付けられているので、704における処理は本質的には、702において受領された各マイクロタスク生成物を組み合わされたセグメントにマッピングしている。ある実施形態では、マイクロタスク生成物をマイクロタスクおよびその対応する組み合わされたセグメントにマッピングするために、マイクロタスク情報146が使用されてもよい。次いで、704において決定された各組み合わされたセグメントについて、その組み合わされたセグメントにマッピングするマイクロタスク生成物に基づいて、作業生成物が構築される(ステップ706)。704において決定された組み合わされたセグメントは次いでその対応するセグメントにマッピングされる(ステップ708)。ある実施形態では、組み合わされたセグメントをセグメントにマッピングするために、組み合わされたセグメントおよびその対応するセグメントに関係する情報を記憶する組み合わせ情報142が使用される。次いで、708において決定された各セグメントについて、そのセグメントにマッピングする組み合わされたセグメントについて706において構築された作業生成物に基づいて、作業生成物が構築される(ステップ710)。次いで、706において決定されたセグメントは、個々の入力文書にマッピングされる(ステップ712)。ある実施形態では、これは、セグメント分割情報134を使って実行される。次いで、712において決定された各入力文書について、その入力文書に対応する前記一つまたは複数のセグメントについて710において構築された作業生成物に基づいて、作業生成物が構築される。714において構築された作業生成物はそのタスクについての最終作業生成物を表す。714において構築されたそのタスクについての最終作業生成物に対して、任意的に一つまたは複数の動作が実行されてもよい(ステップ716)。716において実行される動作は、たとえば、最終作業生成物を記憶する、最終作業生成物をタスク要求者に通信する、などを含んでいてもよい。
本発明のある種の実施形態は、タスクを値付けするための技法を提供する。ある実施形態では、本方法は、実行されるべきタスクについての入力情報を受領し、該入力情報を解析して該入力情報の一つまたは複数の属性を決定することを含む。いくつかの実施形態では、前記一つまたは複数の属性は、テキスト文書中の単語の数、オーディオ/ビデオ・コンテンツの長さ、入力情報の複雑さを含んでいてもよい。本方法はさらに、タスクについての値付けを決定するための一つまたは複数の規則の集合を決定することと、前記入力情報の属性および前記規則の集合に基づいて前記タスクについての価格を決定することとを含む。
〈タスクの値付け〉
ひとたびタスクおよび/またはマイクロタスクがたとえばMMS 104によって定義されると、そのタスク/マイクロタスクは、分配サブシステムがそのタスクを作業者システムまたはコンピュータ・システムに提供するのに先立って、値付けされてもよい。値付けのコンテキストにおいて使用されるタスクは、MMS 104に関係して記述したタスクまたはマイクロタスク、あるいは値付けされる必要のある他の任意のタスクであってもよい。
本発明の諸実施形態は、タスクおよび/またはマイクロタスクについての価格を決定する方法を提供する。本方法は、それに基づいて/それを使ってタスクが実行されるところの入力情報を受領し、該入力情報に関連付けられたタスク記述を受領することを含む。その後、前記タスクおよび/または入力情報に関係する一つまたは複数の規則を使って、そのタスクについて価格が決定される。いくつかの実施形態では、同じタスクが、所望される結果または入力情報の型に基づいて異なる値付けをされることがありうる。
図9は、本発明のある実施形態に基づく、タスクについての価格を決定するためのシステム900の簡略化された高レベルのブロック図を描いている。システム900は、値付けサブシステム902、入力前処理器904および結果評価器906を有する。図9に描かれるシステム900は、単に本発明の教示を組み込む実施形態の例であって、請求項に記載される本発明の範囲を限定することを意図したものではない。
値付けサブシステム902は、タスクに関係したタスク記述960を受領し、任意的に、該タスクがそれに基づいて/それを使って実行されるところの入力情報950を受領し、任意的に、該タスクに関連付けられた任意の制約条件を受領する。値付けサブシステム902は次いで、タスク記述950および任意的に入力情報950に基づいて、タスクを値付けするために適用されるべき、一つまたは複数の値付け規則970を決定してもよい。値付けサブシステム902は次いで、一つまたは複数の適用可能な規則に基づいてそのタスクについての価格を計算する。
いくつかの実施形態では、値付けサブシステム902はメモリ・デバイスを含んでいてもよい。いくつかの実施形態では、メモリ・デバイスはタスクについて価格を決定するためのプログラミング命令を記憶していてもよい。いくつかの実施形態では、メモリ910は、所与のタスクについて価格を決定するために使われるべきさまざまな値付け規則970をも記憶していてもよい。いくつかの実施形態では、メモリ910は、各作業者によるタスク実行に関係する統計的情報のデータベースを有していてもよい。この統計的情報は、価格と品質との間の受け容れ可能なトレードオフを達成するために、タスクに値付けし、タスクを作業者に分配するのに使われてもよい。
いくつかの事例では、入力前処理器904が、タスクについて価格を決定するための処理の一部として使われてもよい。ある実施形態では、前処理器904は、タスクについての値付けに影響するために、タスクについて受領された入力情報950を修正するために使われてもよい。たとえば、ある種の事例では、前処理器904は、タスクが値付けされるのに先立ってタスクについての入力情報を処理し、入力情報をそのタスクについて決定される価格を下げうる形に変換するよう構成されていてもよい。たとえば、入力情報がテキスト、グラフィックおよび画像を含む文書のラスタ化画像であり、タスクが文書をデータベースに入力するためのフォーマットに変換することである場合、テキスト、グラフィックおよび画像が個々のセグメントに分離され、個々に値付けされて、タスクの全体的なコストを下げることができる。
入力前処理器904はまた、結果評価器906および値付けサブシステム902からの入力をも受け取り、その情報を、入力情報950を修正するために使ってもよい。いくつかの実施形態では、タスクの完了からの結果は、結果評価器960に与えられる。すると、結果評価器906はその結果を、正確さ、完了のための時間およびその他の因子について検査し、その情報を入力前処理器904に与える。その結果に基づいて、入力前処理器904は、全体的な価格と正確さの間のバランスが達成されるよう、入力情報を修正してもよい。たとえば、入力文書の内容がデータベースのデジタル項目に変換されるべきであり、入力文書がタイプされたテキストおよび手書きの図を含むタスクを考える。低価格を維持することが主たる基準であれば、値付けサブシステムは、コンピュータによって実行されるタスクに基づいて価格を計算してもよい。しかしながら、コンピュータがそのタスクを実行し、結果を送り返した後、結果評価器がその結果を正確さについて検証し、テキストは正しく変換されたものの図の変換は非常に低い精度であったことを見出すことがありうる。この場合、結果評価器はこの情報を入力前処理器に与えてもよい。この情報に応答して、入力前処理器は、テキストおよび図を二つの異なるセグメントに分離することによって、元の文書を修正してもよい。テキストを含む第一のセグメントは、変換のタスクをコンピュータが実行することに基づいて値付けされ、一方、図を含む第二のセグメントは変換のタスクを人間が実行することに基づいて値付けされる。このようにして、人間が両方のタスクを実行した場合に比べてコストを低く保ちつつ、結果の精度が改善されてもよい。いくつかの実施形態では、入力前処理器906は上記のマイクロタスク管理システムの一部であってもよい。
結果評価器906は、タスクの完了後の結果を受領し、その結果を一つまたは複数の基準と突き合わせて測定するよう構成されていてもよい。いくつかの実施形態では、結果評価器906は、値付けサブシステム902からタスクについての価格情報を受領して、価格がそのタスクについて指定されている最大価格に一致するかどうかについてのフィードバックを与えてもよい。いくつかの実施形態では、顧客が、結果評価器906によって受領される結果を評価する際に使われるべき一つまたは複数の基準を指定してもよい。いくつかの実施形態では、結果評価器906は、タスクを実行する作業者の品質管理のために使用されてもよい。結果評価器906による評価に基づいて、各作業者についての品質履歴がメモリ910に記憶されてもよい。いくつかの実施形態では、品質情報は、特定のタスクについての価格を決定するために、値付けサブシステム902によって使用されてもよい。
値付けサブシステム902および結果評価器906は図9では別個のユニットとして図示されているが、いくつかの実施形態では、両者は同じ値付けサブシステム902の一部であってもよい。他の実施形態では、値付けサブシステム902、結果評価器906および前処理器904はより大きなタスク生成および分配システム、たとえば図1のマイクロタスク管理システム100の相異なるコンポーネントとして実装されてもよい。
上記のように、値付けサブシステム902は、入力情報に加えて他の入力を受領する。値付けサブシステム902への入力の一つは、値付け規則970である。値付け規則970は、入力情報の属性および/または一つまたは複数の変数に基づいていてもよい。たとえば、規則は「入力情報がオーディオを含み、タスクがそのオーディオをテキストに転写することであれば、タスクは人間の作業者によって実行される」というものであってもよい。このように、値付けサブシステムがオーディオ入力情報についての価格を決定するとき、それは自動的に、人間の作業者がタスクを実行することに基づいてタスクを値付けすることを知る。いくつかの実施形態では、値付け規則970は、値付けサブシステム902にハード・コードされていてもよい。他の実施形態では、値付け規則970は動的であり、顧客が構成設定可能であってもよい。いくつかの実施形態では、いくつかの値付け規則がデフォルト規則として指定されていてもよく、ある型の入力情報に関連付けられていてもよい。
いくつかの実施形態では、値付け規則は、入力情報の属性に基づいていてもよい。入力情報の属性は、入力情報の型、入力情報の内容、入力情報の複雑さまたは入力情報のコンテキストを含んでいてもよい。もちろん、当業者は、これが網羅的なリストではなく、入力情報についてのもっと多くの属性が可能であることを認識するであろう。各属性には一つまたは複数の要素が関連付けられていてもよい。たとえば、入力情報の属性型は、テキスト、ラスタ化画像、グラフィック、オーディオ情報またはビデオ情報を含んでいてもよい。いくつかの実施形態では、入力情報の内容は単語、図、公式などであってもよい。上記の変数のリストは網羅的ではなく、単に例解の目的のために提供されていることは理解しておくものとする。
ここで、入力情報の属性に基づいて価格がどのようにして決定されうるかのいくつかの例を与えておく。以下に与えられる例は網羅的ではなく、単に上記の概念を明らかにするために示されることは理解しておくものとする。これらの例は一つの属性のみに基づいて価格を決定することを記述するが、実際には、価格決定は、さまざまな置換における複数の属性の相互作用に関わることを注意しておくべきである。
1.入力情報の型 いくつかの実施形態では、入力情報はオーディオ・ストリームであってもよく、タスクはオーディオ情報をテキストに文字起こしすることであってもよい。そのような事例では、値付けサブシステムは、タスクを、人間が実行することに基づいて値付けしてもよい。伝統的には、コンピュータの音声認識機能は貧弱だからである。さらに、人間の作業者は、特定の単語のコンテキストをコンピュータよりもよく理解できる。
2.入力情報の内容 いくつかの実施形態では、入力情報はテキストの画像だけを含んでいることがある。そのような事例では、単語の総数が決定されてもよく、値付けは単語毎ベースであってもよい。この状況では、コンピュータにタスク(たとえばOCRテキスト認識)を実行させることは、人間の作業者よりも低い価格につながりうる。他の実施形態では、顧客が、人間の作業者だけがこのタスクをオファーされうると指定することもありうる。そのような事例では、価格は、何らかのデフォルトではなく、顧客が与える制約条件を使って決定されてもよい。
3.入力情報の複雑さ いくつかの実施形態では、入力情報は、たとえば医師の手書きによる処方など、判読するのが難しい形であることがある。そのような筋書きでは、値付けサブシステムは、人間がタスクを実行することに基づいて価格を計算するよう指示されてもよい。コンピュータが意味のある結果を提供しうることはとてもありそうもないからである。他の実施形態では、入力情報はオーディオ情報、テキストおよびグラフィックの組み合わせを含むことがある。そのような事例では、入力情報は三つのセグメントにセグメント分割されてもよく、第一のセグメントがオーディオ情報を含み、第二のセグメントがテキストを含み、第三のセグメントがグラフィックを含む。各セグメントについての各タスクは、次いで、デフォルト規則または顧客固有の規則を使って個々に値付けされてもよい。
いくつかの実施形態では、タスクの値付けは、入力情報中のコンテンツの総量に依存してもよい。いくつかの実施形態では、入力情報は、単語、グラフィック、画像などといった多様な複雑さの複数の項目を含んでいてもよい。この事例では、マイクロタスクを生成する目的のために入力情報を適正に解析し、セグメントを生成するためには、複数のアルゴリズムが必要とされることがある。いくつかの実施形態では、入力情報がラスタ化された画像の形である場合、入力画像中の幅広い範囲のエッジを検出するために、エッジ検出アルゴリズム、たとえばキャニー(Canny)エッジ検出が使用されてもよい。エッジ検出は、画像処理およびコンピュータ・ビジョンにおいて、特徴検出および特徴抽出のために使用される。エッジ検出アルゴリズムは、デジタル画像中で、画像明るさが急に変わるまたは不連続をもつ点を同定できる。他の実施形態では、入力画像中の線数、文字数、色数などを検出できるアルゴリズムも使用できる。さらに、画像の規格化された輝度〔ルミナンス〕ヒストグラム、規格化されたエッジ・ヒストグラム、色ヒストグラムも、ラスタ化画像中の内容の複雑さを決定するために使用できる。
上記のように、タスクについての価格は、入力情報および一つまたは複数の値付け規則970の組に基づいていてもよい。いくつかの実施形態では、値付け規則970は一つまたは複数の変数に基づいていてもよい。たとえば、どの値付け規則が適用されるかを決定するのに使用されうる変数は、タスクの所望される結果、タスクを実行する作業者の地理的な位置、タスクを実行する作業者に利用可能なリソース、同じ入力情報についての他のタスクまたは任意の顧客固有の規則などを含んでいてもよい。各変数は、いくつかの要素を有していてもよい。たとえば、タスクの所望される結果変数は、所望される精度、所望される完了時間などを含んでいてもよい。
以下では、値付け規則を決定するために使用されうる変数のいくつかの例を述べる。変数のこの一覧は網羅的であることを意図したものではないことを注意しておくべきである。下記の例は、値付け規則がどのように決定されうるかを説明するために与えられる。当業者は、規則を決定するためのさらに多くの変数が可能であることを認識するであろう。
1.タスクの所望される結果 いくつかの実施形態では、値付けはタスクの所望される結果に依存してもよい。タスクの所望される結果は、タスク実行後に得られる結果の所望される精度およびタスクについての所望される完了時間を含んでいてもよい。たとえば、高レベルの精度(90%+)を要求するタスクについての値付けは、平均的な精度レベル(50%)しか要求しないタスクについての価格よりも高くなりうる。「タスクの所望される結果」変数のもう一つの要素は、タスクについての所望される完了時間であってもよい。たとえば、急ぎの仕事はしばしば標準的なリードタイムの仕事よりもしばしば費用が高くなる。いくつかの実施形態では、同じ仕事が複数の作業者に送られることがあり、それらの結果において統計的に有意な一致が達成されるまで、それらの結果が比較される。もう一つの実施形態では、何らかの英語のテキストが中国語に変換されることを考える。顧客が米国において昼間であるときに数時間以内にタスクの完了を望む場合、結果として得られる値付け規則は、完了時間制約条件のため、その仕事は米国内で実行されるべきであると示すであろう。この事例において、価格は、タスクが米国内で実行されることに基づいて計算される。しかしながら、顧客が翌日まで待つ用意がある場合には、同じタスクは、異なる規則を使って、たとえばタスクが中国で実行されることに基づいて、値付けされてもよい。タスクが中国で実行されれば、タスクについてのより低いコストにつながりうる。
いくつかの実施形態では、所与の金銭的制約条件、たとえば目標価格以内で最高の品質を得るために、タスクは、作業者によって課される価格および作業者の品質履歴を考慮に入れることによって、より小さなマイクロタスクに分割されてもよい。たとえば、タスクが英語の文書を中国語に変換することである場合を考える。作業者Aは翻訳のために1語当たり3セントかかり、95%の精度である一方、作業者Bは単語当たり1セントで70%の精度であるとする。両方の作業者が翻訳についてのそのジョブに対して入札し、高レベルの精度が必要とされる場合、顧客は作業者Aからの入札を受け容れてもよい。作業者Aの精度が作業者Bよりもずっと高いからである。他の実施形態では、顧客が費やす用意のある金額が固定されている場合、文書は、セグメント1は翻訳が難しい情報を含み、セグメント2は翻訳が簡単な情報を含むというように、二つのセグメントに分割されてもよい。マイクロタスクがセグメント1および2のそれぞれに割り当てられてもよい。セグメント1は作業者Aに送られてもよく、セグメント2は作業者Bに送られてもよい。これは、両方の作業者にそれぞれ文書の一部のみを翻訳させることにより、総コストを目標価格以内に保ちつつ、高い全体的な翻訳精度を達成する助けとなりうる。さらにもう一つの実施形態では、翻訳タスクは作業者Bに与えられてもよい。翻訳の結果は次いで、必要に応じた検証および訂正のために、作業者Aに与えられてもよい。この実施形態において、作業者Aがそのタスクのために費やす時間は短くなる可能性が高い。ゼロから翻訳をするのではなく、作業者Bによって実行された翻訳を検証するだけだからである。これは、翻訳タスクの全体的なコストを下げるとともに、かなり高いレベルの結果の精度を維持する助けとなりうる。
いくつかの実施形態では、作業者の選択は、タスクについての目標価格に基づくことができる。ある事例では、タスク要求者がタスクについての目標価格を与える場合、MMSシステムは、作業者の総量のうちから、その目標価格に基づいてそのタスクを実行する資格のある作業者の部分集合を決定できる。次いで、そのタスクは、作業者のその部分集合に対してのみオファーされることができる。たとえば、タスクについての目標価格が5ドルであるとする。その価格に基づいて、MMSは、5ドルという目標価格は米国内でそのタスクを実行するためにかかる費用より低いので、そのタスクは米国内では完了できないと決定できる。この事例では、MMSは、目標価格でそのタスクを実行できる地理的位置における作業者のみを選択し、それにより米国内の作業者を自動的に考慮から外す。
2.タスクを実行する作業者の地理的位置
いくつかの実施形態では、作業者の地理的位置が価格計算において使用されてもよい。賃金水準が低い国の作業者は、賃金水準が高い国の作業者よりも、低い価格で所与のタスクを実行する可能性が高い。いくつかの実施形態では、タスクの性質は、たとえば規制制約のため、そのタスクが発生国内で実行される必要があるというものでありうる。そのような事例では、結果として得られる規則は、そのタスクについての価格の計算を、タスクがある地理的領域内で実行されることに基づくよう制約してもよい。
3.作業者に必要とされるスキル いくつかの実施形態では、価格はタスクを実行するために作業者によって必要とされる特定のスキルに依存してもよい。たとえば、手書きの図をAutoCAD(商標)描画に変換するタスクは、よい製図スキルをもつ作業者を必要とすることがありうる。この状況において、タスクについての価格は、タスクを実行するために必要とされる作業者の特殊スキルに依存し、高くなる可能性が高い。
4.作業者に利用可能なリソース いくつかの実施形態では、タスクについて決定される価格は、タスクを実行する作業者に利用可能なリソースに依存してもよい。たとえば、タスクが作業者が特殊なハードウェアまたはソフトウェアを使うことを要求する場合、そのタスクの価格は高くなることがある。そのような事例では、タスクについての価格は、タスクをより簡単にする(たとえば、特殊なハードウェアおよび/またはソフトウェアの必要性をなくすまたは特殊なリソースを作業者に提供する)ことによって下げることができる。
上で論じたように、タスクについての値付けは、さまざまな値付け規則に依存しうる。いくつかの実施形態では、タスクを値付けするために使われる規則を顧客が指定してもよい。たとえば、顧客は、人間の作業者だけに自分のタスクを実行してもらいたいことがありうる。顧客は、この情報を値付けサブシステムに与え、値付けサブシステムは、その顧客によって指定されたタスクについての価格を計算するときは常にこの規則を使う。いくつかの実施形態では、デフォルト規則が価格決定のために使用されてもよい。たとえば、入力情報内容がテキストのみであり、タスクはテキストを電子フォーマットに変換することである場合、値付けサブシステムは、コンピュータ作業者を選び、それに応じてそのタスクを値付けするようプログラムされてもよい。もちろん、顧客または値付けサブシステム・オペレーターは、タスクの個別的な要求に基づき、いかなるデフォルト設定をもオーバーライドしてもよい。
いくつかの実施形態では、タスクについての値付けは、所与の入力情報に関連付けられたタスクの数に依存してもよい。たとえば、入力情報がテキストおよび画像を含むとする。その入力情報について定義された二つのタスクがあることがある。テキストをMSエクセル・ファイル・フォーマットに変換し、画像をMS Visioフォーマットに変換するといったものである。そのような状況では、各タスクについての値付けは、その入力情報に関連付けられた他方のタスクに依存してもよい。いくつかの実施形態では、タスクについての値付けは、その値付けサブシステムによって値付けされる他の入力情報についての他のタスクに依存してもよい。該他のタスクは前記タスクに関係していてもいなくてもよい。
いくつかの実施形態では、顧客は、タスクについての目標価格を指定してもよい。そのような事例では、値付けサブシステムは、上記の因子の一つまたは複数に基づいてタスクについての価格を計算してもよい。価格計算の結果は、次いで、目標価格と比較されてもよい。計算された価格が目標価格より低ければ、計算された価格は、適切な作業者への分配のために分配サブシステムに与えられる。いくつかの実施形態では、顧客は目標価格についての許容差限界を与えてもよい。たとえば、顧客は、目標価格100ドルとともに、±5%の価格許容差を指定してもよい。この事例では、計算された価格が95ドルから105ドルの間にある限り、その価格は承認される。しかしながら、計算された価格が目標価格より高い場合、その情報は入力前処理器に通信されてもよい。すると、入力前処理器は、セグメント分割サブシステムとの関連で、入力情報および/またはタスク属性を修正してもよい。次いで、目標価格に一致するまたは目標価格より低い価格を得るために、第二の価格を計算するために、修正された入力情報が値付けサブシステムに与えられる。たとえば、入力情報がラスタ化画像を含み、ラスタ化画像が図およびその図を作成した人物の名前を含んでいるとする。タスクは、この図を、人物の名前とともに、MS VISIOで再生成することであるとする。顧客はこのタスクについて50ドルの目標価格を設定しているとする。第一のパスでは、画像全体がタスクの値付けのために単一の単位として呈示される。入力情報は主として図を含むので、値付けサブシステムは、上記の一つまたは複数の規則に基づいて、この図をVISIOで再生成するには人間の作業者が必要とされると決定し、したがってそのタスクを75ドルと値付けしてもよい。この計算された価格が目標価格と比較される。この事例では計算された価格のほうが高いので、この情報は入力前処理器に通信されてもよい。入力前処理器は、セグメント分割器サブシステムとの関連で、入力情報を解析し、画像中にテキスト・コンポーネント(すなわち、人物の名前)があることを判別する。そこで、入力情報は二つのセグメントに分割される。一方のセグメントはテキスト情報を含み、他方のセグメントは図を含む。テキスト情報セグメントについてのタスクは、コンピュータが転写を実行することに基づいて値付けされ、図セグメントについてのタスクは人間が転写を実行することに基づいて値付けされる。転写の一部が人間の作業者よりも安価なコンピュータによって実行されるので、この状況における二つのセグメントについての総価格は50ドルであってもよい。このように、入力情報および/またはタスク属性を修正することによってタスクについてより低い価格を得ることが可能となりうる。
いくつかの実施形態では、高い精度が必要とされる場合、同じタスクが複数の作業者に送られてもよい。しかしながら、これはタスクの価格を著しく高めることがある。いくつかの実施形態では、複数の人が同じタスクを実行する代わりに、価格を下げるために、タスクそのものが毎回修正されてもよい。たとえば、第一のパスの間に第一の作業者が非常に複雑な文書を転写することを求められてもよい。第一のパスから得られた結果が第二の作業者に送られてもよく、そのタスクは第一の作業者の作業を検証することである。第二の作業者は単に前のタスクの結果を検証するので、第二のパスについての価格はより安くなる。同様に、各パスからの結果は検証のために再提出されてもよい。前のタスクの結果を検証するための後の各タスクは、毎回必要とされる作業が少なくなるので、より安くなっていく。これは、高い精度レベルを達成しつつ、タスクについてのより低い全体的な価格につながりうる。
上記のように、システム900はタスクについての価格を決定するために使われてもよい。図10は、本発明のある実施形態に基づく、タスクについての価格を決定するプロセス1000の流れ図である。プロセス1000は、たとえば図9の値付けサブシステム902によって実行されてもよい。ステップ1002において、値付けサブシステムは入力情報を受領する。いくつかの実施形態では、入力情報は上述したように修正される必要があることがある。そのような状況では、入力情報は、ステップ1002で値付けサブシステムに通信される前に、ステップ1004で前処理される。入力情報に加えて、値付けサブシステムはステップ1006においてタスク記述をも受領する。タスク記述は、入力情報に対してまたは入力情報を使って実行されるべき処理についての詳細を与える。たとえば、タスク記述は、入力情報中の図がMS Visioの描画データに変換されるべきであることを指定していてもよい。ひとたび値付けサブシステムが入力情報およびタスク記述を受領すると、値付けサブシステムはステップ1008において入力情報の属性を決定する。入力情報の属性は、入力情報の内容、入力情報の内容の型、入力情報の複雑さなどを含んでいてもよい。上記のように、入力情報のこれらの属性は、タスクについての価格を計算するために使われてもよい。
ステップ1010では、値付けサブシステムは、タスクを値付けするために適用されるべき規則を決定する。いくつかの実施形態では、入力情報の特定の型に適用されるある種のデフォルト規則がある。さらに、上記のように、価格決定の一部として使用されるべきある種の制約を顧客が与えてもよい。いくつかの実施形態では、一つまたは複数の規則が入力情報について適用可能であってもよい。ステップ1012では、値付けサブシステムは、決定された規則を適用し、入力情報の属性を使って、要求されたタスクについての価格を決定する。いくつかの実施形態では、ひとたび価格が決定されると、決定された価格は、タスクを作業者に分配するための分配サブシステムに通信されてもよい。いくつかの実施形態では、値付け情報は、目標価格との比較のために、上記のように結果評価器に通信されてもよい。
図10に示される具体的な諸ステップは、本発明のある実施形態に基づく、タスクについての価格を決定するある個別的な方法を提供するものであることを理解しておくべきある。代替的な実施形態によれば、他のステップ・シーケンスが実行されてもよい。たとえば、本発明の代替的な実施形態は、上に概説したステップを異なる順序で実行してもよい。さらに、図10に示される個別的なステップは、該個別的なステップに適切なさまざまなシーケンスで実行されてもよい複数のサブステップを含んでいてもよい。さらに、個別的な用途に依存して、追加的なステップが追加されてもよく、ステップが除去されてもよい。当業者は、多くの変形、修正および代替を認識するであろう。
本発明の実施形態は、多様な用途において使用されうる。以下のセクションは、上記のタスク生成および値付け技法を使用しうる用途のいくつかを開示する。しかしながら、ここに記載される用途のリストは網羅的ではなく、他の多くの用途が上記の実施形態を使用しうることは理解しておくべきである。
手書き文字認識
印刷および手書きのテキストの認識のためのコンピュータ・アルゴリズムは改善を続けているが、いまだ、そのようなアルゴリズムが評価される基準は人間の認識である。コンテキストを使うことでは人間のほうが優れており、人間はテキスト中の複数の異なる型の歪みを認識し、調整しうる。そのような事例では、上記のマイクロタスクの生成および値付けのための技法は、伝統的な手書きテキスト認識方法に対する利点を提供しうる。
図11は、手書きテキストのタイプされたテキストへの変換を示している。図11は、タイプされたテキスト1104に変換される必要のある手書きのアドレス帳項目1102を示している。いくつかの実施形態では、結果として得られるタイプされたテキスト1104はデータベース中に入力されてもよい。手書きテキストをタイプされたテキストに変換するサービスは、タスク毎ベースで顧客に提供されてもよい。いくつかの実施形態では、サービスは、タスクを提出するために顧客がアクセスしうるポータルを介して実装されてもよい。いくつかの実施形態では、ポータルはワールド・ワイド・ウェブを通じてアクセスされてもよい。ある実施形態では、いくつかのマイクロタスクが手書きテキストの変換のために生成されてもよい。ある実施形態では、顧客がたとえばカメラを使って手書きテキストのイメージを取り込んでもよい。次いで顧客は、顧客装置、たとえば図1に示されるタスク要求者システム102上のウェブ・ブラウザーを使ってウェブサイトにアクセスし、取り込まれたラスタ化画像を、取り込まれた画像に対して実行されるべき所望の動作を詳述するタスク記述(task description)およびタスク配置(task disposition)とともに、たとえば図1のマイクロタスク管理システム100に提供してもよい。たとえば、タスク配置は、ジョブの結果を顧客によってアクセス可能なサーバーに通信するというものであってもよい。あるいはまた、配置は、結果を指定された電子メール・アドレスにメールで送ることを含んでいてもよい。
ある実施形態では、マイクロタスク管理システムはラスタ化画像およびタスク記述をタスク要求者システムから受領する。マイクロタスク管理システムは、顧客が十分なクレジットをもっているか、または請求可能なアカウントもしくは当該サービスを使う十分なパーミッションを持っているどうかを確認するために検査してもよい。次いで、マイクロタスク管理システムは、ラスタ化画像を、たとえば図1の分配システム106による分配のためにフォーマットしてもよい。いくつかの実施形態では、ラスタ化画像はいくつかのセグメントに分割されてもよく、上記のさまざまな規則および入力情報属性に基づいて、マイクロタスクが各セグメントに割り当てられてもよい。マイクロタスク管理システムはタスク記述および何らかのアカウント情報を作業者システムに送信する。いくつかの実施形態では、作業者システムに送信されるアカウント情報は、顧客によって提供されるアカウント情報とは異なっていてもよい。いくつかの実施形態では、顧客は、作業者システムにアカウントをもつことは要求されない。
マイクロタスク管理システムは、作業者システムによって提供されるタスク進捗をモニタリングし続ける。マイクロタスク管理システムはタスクを取り消して再発行したり、タスクについて作業者にオファーされる額を変えたり、またはさらにはタスクを変更して再提出したりしてもよい。マイクロタスク管理システムは、複数のタスク要求者装置からの入力情報を組み合わせて、組み合わされた入力情報について単一のタスクを割り当ててもよい。いくつかの実施形態では、マイクロタスク管理システムは、一つのタスクを複数のタスクに分割し、次いで作業者システムに分配してもよい。
ひとたびマイクロタスク管理システムが作業者システムから返された十分なタスク結果を受け取ったら、マイクロタスク管理システムは、タスク生成物管理サブシステムを介して、それらの結果を顧客のタスク要求者システムに、たとえば該結果を電子メールで送る、あるいは該結果を顧客がアクセス可能な位置に記憶することによって、提供してもよい。
いくつかの実施形態では、タスク要求者システムはカメラを有し、インターネット・アクセス機能をもつモバイル通信デバイスであってもよい。他の実施形態では、タスク要求者システムは、画像と取り込み、その情報をマイクロタスク管理システムに提供しうるスキャナまたは多機能デバイスであってもよい。いくつかの実施形態では、タスク要求者システムは複数の顧客によって共有されていてもよく、それら複数の顧客は同じクレデンシャルを使ってサービスへのアクセスを得てもよい。入力情報およびタスク記述を提供するために使用されうる他の型のデバイスは、タブレット、スレート(slate)、音楽プレーヤー、自動車などを含む。いくつかの実施形態では、タスク要求者システムは、顧客が、入力情報をタスク要求者システム上に直接手書きすることによって入力情報を提供しうる顧客へのインターフェースを提供してもよい。そのようなデバイスの例は、タッチ入力、たとえば指または何らかの接触に感応する領域を備えた装置、あるいはスタイラスに感応する領域を備えた装置を含む。この事例では、タスク要求者システムによって受領される入力は、タスク要求者システムにすでに利用可能な画像と組み合わされ、次いでマイクロタスク管理システムに提供されてもよい。もう一つの実施形態では、タスク要求者は、画像ではなく、「ストローク」情報を提供してもよい。ストローク情報は、タッチ入力上の接触点についての情報を含み、画像としてではなく、点のリストとして保存されうる。たとえば、InkML(http://www.w3.org/TR/InkML/)はストロークを記録するためにXMLを使う方法を規定している。このように、ある実施形態では、タスク要求者は、ラスタ化された画像ではなくInkMLをマイクロタスク管理システムに提供しうる。マイクロタスク管理システムはそのストローク情報を、作業者による認識のために、作業者システムおよび/または自動化されたシステムへの提出のために、画像フォーマットに変換してもよい。
レシート認識
購入または返品されるすべての品目について、何らかの形のレシート/領収証が購入者に対して発行される。各売り手は、レシートについて独自の書式をもつことがある。しかしながら、ある種の情報はあらゆるレシートに共通である。たとえば、総額および品目情報である。人は、そのようなレシートを大量に、非常に短い期間の間に集めることがありうる。たとえば、三日間の出張に行った人は、さまざまな売り手から100を超えるレシートを受け取ることがありうる。そのようなレシートを追跡・管理することは、非常に面倒で時間がかかることがあり、レシートがのちに経費返還のために必要とされる場合は特にそうである。レシート中の関係する情報が、その人にとって非常に低コストで電子フォーマットに変換できれば有用であろう。
図12は、レシート1202の内容が認識され、電子フォーマット1204、たとえばエクセルのワークシートの経費レポートに変換されうるアプリケーションを示している。顧客は、経費レポートを作成するために認識される必要のある一つまたは複数のレシートを持っていることがありうる。タスク要求者システムは、各レシートのラスタ化画像を得るために使用されてもよい。いくつかの実施形態では、各レシートは、異なる情報および/または異なる書式を含んでいることがある。各レシート中の情報の大きな部分は、経費レポートを作成するために必要とされないことがありうる。たとえば、顧客は、タスク記述が日付、店名および総額情報のみの認識を含むべきであることを指示してもよい。マイクロタスク管理システムは各レシートの画像と、日付、店名および総額のリストを生成するためのタスク記述とを受け取る。次いで、マイクロタスク管理システムは、いくつかのマイクロタスクを生成し、作業者サブシステムに提出してもよい。この事例では、作業者は、日付、店名および総額を含む各レシート画像の領域を同定するよう求められてもよい。作業者は、各レシートの画像を呈示するウェブサイトを訪問し、所望される各情報(たとえば、日付、店名および総額)についての画像部分を横断してドラッグすることによって、これを行ってもよい。この事例では、各レシート画像は複数の部分画像に分割されてもよい。ここで、各部分画像は要求される情報(すなわち、日付、店名または総額)の少なくとも一つを含む。各部分画像は、レシート画像によって占有される平面内の座標によって特徴付けられてもよい。各部分画像は、レシート画像内でのその位置を使って同定されてもよい。
この処理のためには人間の入力が特に貴重である。各レシートは金額としてフォーマットされた複数の数を含むことがありうるからである。したがって、コンピュータは重要な数字、たとえば総額を見きわめることができないことがありうる。さらに、日時はレシート上で種々の仕方でフォーマットされていることがあり、そのためコンピュータにとって日時を正確に判別することは難しくなることがある。人間の作業者が、レシート画像上の要求される情報の座標を指示するとき、指示された部分画像が自動化文字認識システムにさらなる処理のために送られてもよい。この場合、複数の部分画像からの結果が、タスク生成物管理サブシステムによって、顧客のための一つの結果に組み合わされてもよい。結果は、スプレッドシートまたは表の形であってもよいし、あるいはさらには何らかの会計システムへの直接入力であってもよい。あるいはまた、作業者システムはレシートの画像を最初は自動化された文字認識システムに提出し、次いで文字認識システムによって生成された記号テキストを人間の作業者に提供してもよい。人間の作業者が、日付、時刻および総額に対応する記号テキストを選択してもよい。さらにもう一つの実施形態では、人間の作業者は日時、店名および額を画像から、何らの自動認識処理もなしに、直接タイプするよう求められてもよい。
名刺認識
名刺は、ビジネス・パーソンの間で職業情報を交換するための最も一般に使われるツールである。人は、たとえば展示会などの短い期間の間でさえ、かなりの量の名刺を集めることがある。たいていの名刺は紙の書式なので、損傷したりなくなったりしがちである。これらの名刺の情報を、簡単な記憶および検索のために、電子フォーマットに変換することが有用であろう。図13は、本発明のある実施形態に基づく、名刺の情報を電子フォーマットに変換する方法を示している。
図13は、本発明のある実施形態に基づいて、電子フォーマット1304に変換されうる名刺1302の内容を示している。名刺には多様なフォーマットがあるが、共通の型の情報を含んでいる。名刺は典型的には人の名前、会社名、電話番号および電子メール・アドレスを含む。場合によっては、名刺はウェブサイト、肩書き、物理的な住所、ファクス番号、ツイッター・アカウントおよびグラフィック、たとえば会社のロゴのような追加的な情報をも含むことがある。名刺は、たとえばビジネス上の会合において、あるいはいくつかの営業訪問をした後に、しばしばグループをなして収集されることがある。
ある実施形態では、一つまたは複数の名刺のラスタ化された画像がタスク要求者システムによって取得されてもよい。それらの画像はマイクロタスク管理システムに与えられる。それらの画像に基づいて、マイクロタスク管理システムは、作業者に画像中の情報を同定し、可能性としては該情報を再生成するよう求める一つまたは複数のタスク記述を生成する。いくつかの実施形態では、名刺の画像が単語にセグメント分割され、次いでそれらの単語が異なる地理的位置にいる作業者に送られてもよい。いくつかの実施形態では、変換のためのマイクロタスクを生成するのに先立って、異なる名刺からの単語が互いに交ぜられることができる。セグメント分割された単語は、論理的な、だが名刺が属する人物のプライバシーを保持する仕方でグループ化されることができる。たとえば、電子メール・アドレスと人物の名前は一緒にグループ化されないことがありうる。もう一つの例では、異なる名刺からの電話/ファクス番号が同じサブセグメントにグループ化されることができる。そのサブセグメントに関連するマイクロタスクを実行する作業者にコンテキストを与えるためである。セグメント分割技法の例は非特許文献1に記載されており、その内容はあらゆる目的のためにその全体においてここに参照によって組み込まれる。
名刺のロゴはロゴ検出アルゴリズムを使って抽出されてもよい。いくつかの実施形態では、特定の名刺または名刺の集合について生成されたマイクロタスクは、人間および自動化処理の組み合わせを使って実行されてもよい。作業生成物管理サブシステムはマイクロタスクの結果を、vCards(連絡先情報を維持するための規格)、表、スプレッドシートまたは連絡先格納フォーマットの形で、受け取ってもよい。マイクロタスク管理システムは、その情報を、バックエンド・システム、たとえば会社のCRMシステム、個人の連絡先記憶またはソーシャル・ネットワーキング・ウェブサイトに直接入力してもよい。結果が直接、ソーシャル・ネットワーキング・システム、たとえばリンクトイン(LinkedIn)に入れられる場合において、マイクロタスク管理システムがソーシャル・ネットワーキング・システムについての顧客クレデンシャルを与えられれば、マイクロタスク管理システムは、名刺からの電子メール・アドレスを使ってソーシャル・ネットワーキング・システムにおける接続を要求しうる。図8Aおよび8Bならびに関連する記述は、本発明のある実施形態を使って実装される名刺認識プロセスの詳細を記述している。
図8Aおよび8Bならびに関連する記述は、一つまたは複数の名刺から情報を認識するためのマイクロタスクがどのようにして生成されうるかも記述している。ある実施形態では、名刺から抽出された複数の単語は、異なるidおよび/または異なる地理的位置をもつ作業者に送られることができる。ある名刺からの単語が異なる名刺からの単語と混合されてもよい。名刺の企業ロゴが抽出され、自動ロゴ検出アルゴリズムに送られてもよい。セグメント分割された単語は、論理的なセグメントに分類されることができる。ここで、電子メール・アドレスおよび人物の名前が名刺から同定され、プライバシーを保持するために、異なる組み合わされたセグメントにグループ化される(すなわち、同じセグメントにはグループ化されない)。ある実施形態では、異なる名刺から抽出された電話/ファクス番号が同じ組み合わされたセグメントにグループ化されてもよい。作業者にタスクにおけるコンテキスト(数字のコンテキスト)を与えることによって高品質出力の可能性を最大にするためである。
図の認識
しばしば、会議の間、人はアイデアを視覚的なフォーマット、すなわち手書きのスケッチで提示するためにホワイトボードを使う。そのような情報を取り込む一つの方法は、会議に参加している誰かがそのスケッチをコピーして、関係人員への分配のために、それを電子フォーマット、たとえばパワーポイント・スライドで再生成することである。しかしながら、そのようなタスクはしばしば関係する人物の貴重な時間をくってしまう。そのようなタスクを、上で論じた本発明の諸実施形態を使ってアウトソーシングすることが有用でありうる。
ある実施形態では、タスク要求者システムによって提供されたラスタ化画像が図または簡単なグラフィックを含むことがありうる。ラスタ化画像中の(線、ボックスのような)さまざまなグラフィック要素の位置は、入力ラスタ化画像に比べて異なることがありうる。このため、入力画像と出力結果を位置合わせし、グラフィックの初期レイアウトを保持することが難しくなることがある。この場合、マイクロタスクまたはいくつかのマイクロタスクが作業者に、図またはグラフィックを、特定のソフトウェア、たとえばパワーポイントまたはVisioを使った電子的な形に変換するよう指示してもよい。図14Aおよび14Bは、描画コンポーネント、たとえば線、長方形などを含む手書きスケッチ1402およびテキストが、上記のマイクロタスク生成および値付けシステムを使って所望される電子フォーマットのスケッチ1412に変換される実施形態を示している。ある実施形態では、スケッチ1402は、会議の際に普通に使われるホワイトボード上に描かれてもよい。
スケッチ1402が完了されたのち、スケッチの画像がカメラのような通常の画像取り込み装置の任意のものを使って取り込まれることができる。ひとたび画像が取り込まれると、該画像は上述したマイクロタスク生成システムに入力として提出されてもよい。ひとたびスケッチ1402の画像がマイクロタスク生成器システムによって受領されると、画像が解析されて、スケッチのテキスト部分およびグラフィック/描画部分が決定される。ある実施形態では、システムは単語境界を認識してマークを付ける。たとえば、画像で黒で塗りつぶしてグラフィック/描画部分1404だけを残す。黒で塗りつぶされたセクションのそれぞれは、追跡目的のために番号付けされる。番号付けは、のちに、もとのスケッチを再構成するときに使われてもよい。次いでシステムはスケッチ1402に存在する一つまたは複数の単語1406を解析し、これを画像から分離する。次いで、システムは、塗りつぶされたセクションと単語との間の相関情報を生成し、該相関情報をデータベースに記憶する。
マイクロタスク管理システムは次いで二つのマイクロタスクを生成する。スケッチの第一の部分1404を電子フォーマットに変換するための第一のマイクロタスクと、一つまたは複数の単語1406を所望されるフォーマットに変換するための第二のマイクロタスクである。その後、第一および第二のマイクロタスクは、上記した所望される結果および規則に基づいて値付けされることができる。完了すると、第一のマイクロタスクは、もとのスケッチ1402において単語に対応する番号付けされたセグメントを含む描画1408を生じてもよい。第二のマイクロタスクは、それぞれ描画1408における番号付けされた各セグメントに対応する単語のリストを生じてもよい。いくつかの実施形態では、第二のマイクロタスクは、所望される結果に依存して、コンピュータに送られてもよく、あるいは人間によって実行されてもよい。ひとたびマイクロタスク管理システムがマイクロタスクの結果を受領すると、マイクロタスク管理システムは、たとえば図1のタスク生成物管理サブシステム128を使って、二つの結果を組み合わせ、描画1408における番号セグメントを単語のリスト1410からの対応する単語で置き換えることによって、最終的な描画1412を生成することができる。
いくつかの実施形態では、スケッチ中の単語を変換するためのマイクロタスクを生成する代わりに、単語1406が自動化文字認識エンジン、たとえばwww.abbyy.comに、解析および変換のために送られてもよい。
図14Aおよび14Bにおいて与えられる例は単に例解目的のためであって、実施形態を手書きのスケッチ/グラフィックに限定すると解釈されるべきではないことを注意しておく。
チェックボックス認識
マイクロタスクを生成および値付けする方法は、書式データをデータ・マイニングのために解析されうるデータに変換するために効果的に使用されうる。ユーザーが書き込むことを求められるさまざまな形の書式がある。書式は、登録書式、アンケート書式、フィードバック書式などを含みうる。これらの書式の多くは、ユーザーが書き込むことが期待される何らかの形のチェックボックスを含む。しばしば、チェックボックスをどのように埋めるかについては定まった規則がない。ユーザーはしばしば、チェックボックスを埋めるために幅広い範囲のインジケータを与える。いくつかの実施形態では、インジケータは「×」マーク、チェック・マーク、完全に塗りつぶされたチェックボックスなどを含みうる。チェックボックス状態を同定するための多くの自動化されたプロセスは、明瞭な「×」マークや完全に塗りつぶされたボックスは簡単に検出しうるが、自動化システムの大半は、チェックボックスが部分的に塗りつぶされていたり、チェックボックス内にでたらめなマークが置かれていたりする場合には、チェックボックスの状態を適正に決定することができない。さらに、ユーザーがあるチェックボックスを線で消して別のチェックボックスを選択したりチェックボックスに注釈を付けたりする場合、自動化システムはユーザーの意図を適正に検出しないことがあり、チェックボックスを無効にしてしまうことがある。これらの事例において、人間の作業者はより正確な結果を提供できることがありうる。
ある実施形態では、チェックボックスの画像が作業者に与えられ、作業者がボックスがチェックされているか否かを指示してもよい。次いで、結果が、顧客への送達のために、タスク生成物管理サブシステムに与えられる。いくつかの実施形態では、作業者が同じユーザーからの複数のチェックボックスを呈示される。ユーザーは一貫した仕方でチェックボックスを埋めている可能性が高いからである。これは、チェックボックス状態決定を実行する作業者の精度およびスピードを向上させうる。いくつかの実施形態では、マイクロタスク管理システムは、マークされていると考えられるチェックボックスおよび空であると考えられるチェックボックスを自動的にグループ化してもよい。この事例では、作業者は、誤って分類されたチェックボックスがあればそれを同定することが求められてもよい。これは、すべてのボックスの状態を指示するよりも迅速になされうる。
上記のマイクロタスク生成および値付け技法から裨益しうるその他の用途のいくつかは、a)膨大な量のデータから特定の情報をみつける、b)文書中の誤りを直す、c)一致物をみつけるためにさまざまなデータ・セットを比較する、d)誰かのために方向を決定する、e)顧客が与えた基準を使ってデータをグループ化する、f)所与のデータから固有名を抽出する、g)単語/言葉を指定された言語およびフォーマットに翻訳/変換する、h)音声認識および文字起こしならびにi)所与のデータからのロゴの検出を含む。当業者は、ここで具体的に挙げられていない他の多くの用途が上記の技術を使って実装されうることを認識するであろう。
図15は、本発明の実施形態を実施するために使用されうるコンピュータ・システム1500の簡略化されたブロック図である。さまざまな実施形態において、コンピュータ・システム1500は図1に示され、上述したシステムのいずれかを実装するために使用されてもよい。たとえば、コンピュータ・システム1500は、タスク要求者システム102、MMS 104、分配システム106またはプロバイダー・システムを実装するために使われてもよい。図15に示されるように、コンピュータ・システム1500は、バス・サブシステム1504を介していくつかの周辺サブシステムと通信するプロセッサ1502を含む。これらの周辺サブシステムは、メモリ・サブシステム1508およびファイル記憶サブシステム1510を含む記憶サブシステム1506と、ユーザー・インターフェース入力装置1512と、ユーザー・インターフェース出力装置1514と、ネットワーク・インターフェース・サブシステム1516とを含んでいてもよい。
バス・サブシステム1504は、コンピュータ・システム1500のさまざまなコンポーネントおよびサブシステムが意図されたように互いと通信することを可能にするための機構を提供する。バス・サブシステム1504は概略的に単一のバスとして示されているが、バス・サブシステムの代替的な実施形態は複数のバスを利用してもよい。
ネットワーク・インターフェース・サブシステム1516は、他のコンピュータ・システムおよびネットワークへのインターフェースを提供する。ネットワーク・インターフェース・サブシステム1516は、他のコンピュータ・システムからデータを受信し、コンピュータ・システム1500から他のシステムにデータを送信するためのインターフェースとしてはたらく。たとえば、ネットワーク・インターフェース・サブシステム1516は、ユーザー・コンピュータがインターネットに接続できるようにし、インターネットを使った通信を容易にしてもよい。
ユーザー・インターフェース出力装置1512は、キーボード、マウス、トラックボール、タッチパッドまたはグラフィック・タブレットのようなポインティング・デバイス、スキャナ、バーコード・スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムのようなオーディオ入力装置、マイクロホンおよび他の型の入力装置を含んでいてもよい。一般に、用語「入力装置」の使用は、コンピュータ・システム1500に情報を入力するための可能なあらゆる型の装置および機構を含むことが意図されている。
ユーザー・インターフェース出力装置1514は、ディスプレイ・サブシステム、プリンタ、ファクス機またはオーディオ出力装置のような非視覚的ディスプレイなどを含んでいてもよい。ディスプレイ・サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)のようなフラット・パネル・デバイスまたは投影〔プロジェクション〕デバイスをであってもよい。一般に、用語「出力装置」の使用は、コンピュータ・システム1500から情報を出力するための可能なあらゆる型の装置および機構を含むことが意図されている。
記憶サブシステム1506は、本発明の機能を提供する基本的なプログラミングおよびデータ構造体を記憶するコンピュータ可読記憶媒体を提供する。プロセッサによって実行されたときに本発明の機能を提供するソフトウェア(プログラム、コード・モジュール、命令)が記憶サブシステム1506に記憶されていてもよい。これらのソフトウェア・モジュールまたは命令は、プロセッサ(単数または複数)1502によって実行されてもよい。記憶サブシステム1506はまた、本発明に従って使用されるデータを記憶するための貯蔵所をも提供してもよい。記憶サブシステム1506は、メモリ・サブシステム1508およびファイル/ディスク記憶サブシステム1510を有していてもよい。
メモリ・サブシステム1508は、プログラム実行の間に命令およびデータを記憶するためのメインのランダム・アクセス・メモリ(RAM)1518と、固定された命令が記憶されている読み出し専用メモリ(ROM)1520を含むいくつかのメモリを含んでいてもよい。ファイル/ディスク記憶サブシステム1510は、プログラムおよびデータ・ファイルについての持続的な(不揮発性の)記憶を提供し、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブと関連するリムーバブル・メディア、コンパクトディスク読み出し専用メモリ(CD-ROM)ドライブ、光学式ドライブ、リムーバブル・メディア・カートリッジおよび他の同様の記憶媒体を含んでいてもよい。ファイル/ディスク記憶サブシステム1510は、タスクについての入力情報、マイクロタスクを実行することから受領される作業生成物、MMS 104によって使われる規則、そのタスクについて生成される最終作業生成物、実行されるべきタスクに関連付けられた因子および制約条件に関係する情報(たとえばリスク、品質などに関係した情報)などのような情報を記憶してもよい。
コンピュータ・システム1500は、パーソナル・コンピュータ、電話、ポータブル・コンピュータ、ワークステーション、ネットワーク・コンピュータ、メインフレーム、キオスク、サーバーまたは他の任意のデータ処理システムを含むさまざまな型であることができる。コンピュータおよびネットワークの絶えず変わりつつある性質のため、図15に描かれるコンピュータ・システム1500の記述は、コンピュータ・システムの好ましい実施形態を例解する目的のための個別的な例として意図されているに過ぎない。図15に描かれたシステムより多数または少数のコンポーネントをもつ他の多くの構成が可能である。
本発明の個別的な実施形態について記載してきたが、さまざまな修正、変更、代替的な構造および等価物も本発明の範囲内に包含される。本発明の実施形態は、ある特定のデータ処理環境内での動作に制約されるものではなく、複数のデータ処理環境内で動作するのも自由である。さらに、本発明の実施形態について具体的な一連のトランザクションおよびステップを使って記述してきたが、これは本発明の実施形態の範囲を限定することを意図したものではない。
さらに、本発明の実施形態についてハードウェアおよびソフトウェアの特定の組み合わせを使って記述してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であることは認識しておくべきである。本発明の諸実施形態は、ハードウェアのみ、ソフトウェアのみ、あるいは両者の組み合わせを使って実装されてもよい。
したがって、明細書および図面は、制約ではなく例解の意味で見なされるべきである。しかしながら、本発明の広義の精神および範囲から外れることなく、それに追加、除去、削除および他の修正および変更がなしうることは明白であろう。
いくつかの態様を記載しておく。
〔態様1〕
コンピュータシステムを制御して複数の命令を記憶する記憶媒体であって、前記複数の命令は:
前記コンピュータシステムに、タスクを同定する情報および該タスクの入力情報を受け取らせる命令と、
前記コンピュータシステムに、前記タスクのリスク閾値を決定させる命令と、
前記コンピュータシステムに、前記タスクを実行する複数のマイクロタスクを、前記リスク閾値に基づいて決定させる命令であって、各マイクロタスクは前記入力情報の一部に関連付けられる、命令と、
前記コンピュータシステムに、前記複数のマイクロタスクを複数の作業者に分配させる命令と、
前記コンピュータシステムに、前記複数の作業者による前記複数のマイクロタスクの実行から帰結する複数の作業生成物を受領させる命令と、
前記コンピュータシステムに、前記タスクについての最終作業生成物を、前記複数のマイクロタスクの実行から帰結する前記複数の作業生成物に基づいて生成させる命令とを含む、
記憶媒体。
〔態様2〕
態様1記載の記憶媒体であって、前記コンピュータシステムに複数のマイクロタスクを決定させる前記命令が、前記コンピュータシステムに、前記入力情報を、前記リスク閾値に基づいて一組のセグメントにセグメント分割させる命令を含み、各セグメントは前記入力情報の一部を含む、記憶媒体。
〔態様3〕
態様2記載の記憶媒体であって、前記コンピュータシステムに複数のマイクロタスクを決定させる前記命令が、前記コンピュータシステムに、前記一組のセグメントおよび前記リスク閾値に基づいて、組み合わされたセグメントを生成させる命令であって、前記組み合わされたセグメントは、前記一組のセグメントからの少なくとも一つのセグメントからの情報と、前記入力情報に含まれない追加データとを含む、記憶媒体。
〔態様4〕
態様2記載の記憶媒体であって、前記コンピュータシステムに複数のマイクロタスクを決定させる前記命令が:
前記コンピュータシステムに、前記一組のセグメントに基づいて一組の組み合わされたセグメントを生成させる命令であって、前記一組の組み合わされたセグメントは、前記一組のセグメントからの少なくとも二つの異なるセグメントからの情報を含む少なくとも一つの組み合わされたセグメントを含む、命令と、
前記複数のマイクロタスクを前記一組の組み合わされたセグメントに基づいて決定させる命令とをさらに含む、
記憶媒体。
〔態様5〕
態様4記載の記憶媒体であって:
前記入力情報は第一の文書および第二の文書を含み、
前記一組のセグメントは、前記第一の文書の一部を含む第一のセグメントと、前記第二の文書の一部を含む第二のセグメントとを含み、
前記一組の組み合わされたセグメントは、前記第一のセグメントおよび前記第二のセグメントの内容を含む第一の組み合わされたセグメントを含み、
前記複数のマイクロタスクは、前記第一の組み合わされたセグメントを入力として使って実行されるべき第一のマイクロタスクを含む、
記憶媒体。
〔態様6〕
態様1記載の記憶媒体であって、前記複数の命令がさらに:
前記コンピュータシステムに、最終作業生成物について品質推定を出力させる命令を含み、前記品質推定は、前記複数のマイクロタスクの実行から帰結する前記複数の作業生成物に関連する品質推定に基づく、
記憶媒体。
〔態様7〕
態様6記載の記憶媒体であって、前記複数の命令がさらに:
前記コンピュータシステムに、前記品質推定に基づいて、前記タスクについて、第二の組のマイクロタスクが決定されるべきかどうかを決定させる命令を含む、
記憶媒体。
〔態様8〕
態様1記載の記憶媒体であって、前記複数の作業者が少なくとも一の人間の作業者を含む、記憶媒体。
〔態様9〕
態様1記載の記憶媒体であって:
前記複数の命令がさらに、前記コンピュータシステムに前記タスクについて品質閾値を決定させる命令を含み、
前記コンピュータシステムに複数のマイクロタスクを決定させる前記命令が、前記コンピュータシステムに、前記リスク閾値および前記品質閾値に基づいて前記複数のマイクロタスクを決定させる命令を含む、
記憶媒体。
〔態様10〕
態様1記載の記憶媒体であって、前記コンピュータシステムに最終作業生成物を生成させる前記命令が、前記コンピュータシステムに、人間の作業者による第一のマイクロタスクの実行から帰結する第一の作業生成物と機械の作業者による第二のマイクロタスクの実行から帰結する第二の作業生成物とを組み合わせさせる命令を含む、記憶媒体。
〔態様11〕
態様1記載の記憶媒体であって、前記入力情報は画像であり、前記タスクは前記画像中の単語またはオブジェクトの集合を認識することである、記憶媒体。
〔態様12〕
態様1記載の記憶媒体であって、前記入力情報は画像であり、前記タスクは前記画像の記号的表現を提供することである、記憶媒体。
〔態様13〕
実行されるべきタスクの入力情報を記憶するよう構成されたメモリと、前記メモリに結合されたプロセッサとを有するシステムであって、前記プロセッサは:
前記タスクのリスク閾値が決定する段階と、
前記タスクを実行する複数のマイクロタスクを、前記リスク閾値に基づいて決定する段階であって、各マイクロタスクは前記入力情報の一部に関連付けられる、段階と、
前記複数のマイクロタスクを複数の作業者に分配させる段階と、
前記複数の作業者による前記複数のマイクロタスクの実行から帰結する複数の作業生成物を受領する段階と、
前記タスクについての最終作業生成物を、前記複数のマイクロタスクの実行から帰結する前記複数の作業生成物に基づいて生成する段階とを実行するよう構成されている、
システム。
〔態様14〕
態様13記載のシステムであって、前記プロセッサは:
前記入力情報を、前記リスク閾値に基づいて一組のセグメントにセグメント分割する段階であって、各セグメントは前記入力情報の一部を含む、段階と、
前記一組のセグメントおよび前記リスク閾値に基づいて、組み合わされたセグメントを生成する段階であって、前記組み合わされたセグメントは、前記一組のセグメントからの少なくとも一つのセグメントからの情報と、前記入力情報に含まれない追加データとを含む、段階とを実行するよう構成されている、
システム。
〔態様15〕
態様13記載のシステムであって、前記プロセッサは:
前記入力情報を、前記リスク閾値に基づいて一組のセグメントにセグメント分割する段階であって、各セグメントは前記入力情報の一部を含む、段階と、
前記一組のセグメントに基づいて一組の組み合わされたセグメントを生成する段階であって、前記一組の組み合わされたセグメントは、前記一組のセグメントからの少なくとも二つの異なるセグメントからの情報を含む少なくとも一つの組み合わされたセグメントを含む、段階と、
前記複数のマイクロタスクを前記一組の組み合わされたセグメントに基づいて決定する段階とを実行するよう構成されている、
システム。
〔態様16〕
態様15記載のシステムであって:
前記入力情報は第一の文書および第二の文書を含み、
前記一組のセグメントは、前記第一の文書の一部を含む第一のセグメントと、前記第二の文書の一部を含む第二のセグメントとを含み、
前記一組の組み合わされたセグメントは、前記第一のセグメントおよび前記第二のセグメントの内容を含む第一の組み合わされたセグメントを含み、
前記複数のマイクロタスクは、前記第一の組み合わされたセグメントを入力として使って実行されるべき第一のマイクロタスクを含む、
システム。
〔態様17〕
態様13記載のシステムであって、前記プロセッサは、最終作業生成物について品質推定を出力するよう構成され、前記品質推定は、前記複数のマイクロタスクの実行から帰結する前記複数の作業生成物に関連する品質推定に基づく、システム。
〔態様18〕
態様17記載のシステム、前記プロセッサは、前記品質推定に基づいて、前記タスクについて、第二の組のマイクロタスクが決定されるべきかどうかを決定するよう構成されている、システム。
〔態様19〕
態様13記載のシステムであって、前記複数の作業者が少なくとも一の人間の作業者を含む、システム。
〔態様20〕
態様13記載のシステムであって、前記プロセッサは、人間の作業者による第一のマイクロタスクの実行から帰結する第一の作業生成物と機械の作業者による第二のマイクロタスクの実行から帰結する第二の作業生成物とを組み合わせることによって前記最終作業生成物を生成するよう構成されている、システム。
〔態様21〕
態様13記載のシステムであって、前記入力情報は画像であり、前記タスクは前記画像中の単語またはオブジェクトの集合を認識することである、システム。
〔態様22〕
処理システムによって、タスクを同定する情報および該タスクの入力情報を受け取る段階と、
前記処理システムによって、前記タスクのリスク閾値を決定する段階と、
前記処理システムによって、前記タスクを実行する複数のマイクロタスクを、前記リスク閾値に基づいて決定する段階であって、各マイクロタスクは前記入力情報の一部に関連付けられる、段階と、
前記複数のマイクロタスクを複数の作業者に分配させる段階と、
前記処理システムによって、前記複数の作業者による前記複数のマイクロタスクの実行から帰結する複数の作業生成物を受領する段階と、
前記処理システムによって、前記タスクについての最終作業生成物を、前記複数のマイクロタスクの実行から帰結する前記複数の作業生成物に基づいて生成する段階とを含む、
方法。