本發(fā)明涉及任務分配技術領域,具體的說,涉及一種面向殘疾人社區(qū)的眾包標注任務分配策略。
背景技術:
目前,眾包模式的發(fā)展為殘疾人就業(yè)提供了一個重要的渠道。傳統(tǒng)的眾包任務分配方法對于面向殘疾人社區(qū)這樣的特殊群體、解決殘疾人就業(yè)問題存在諸多缺點。首先,浪費勞動力。很多傳統(tǒng)的眾包平臺都采用了自主領取任務的方式,即當任務發(fā)布在眾包平臺上時,眾包工作者可以通過查看所有任務的列表來選擇自己感興趣的任務來完成,而在任務未完成之前眾包工作者都可以選擇來完成該任務,這就造成了會有多人同時在做同一個任務,而最終只有部分眾包工作者成功提交了結果,浪費殘疾人工作者的勞動力。其次,無法保證基本工作量。而殘疾人通過眾包標注就業(yè),就需要每個殘疾人都能夠獲取到一定的基礎工作量并依次來發(fā)放報酬。如果殘疾人的標注速度較慢,完成的標注任務數(shù)量太少而領取的報酬非常少,那么會嚴重影響其參與眾包標注工作的積極性,同時又需要滿足有能力的殘疾人一定程度的多勞多得的需求。再次,無法充分發(fā)揮殘疾人的群體優(yōu)勢。殘疾人在通過互聯(lián)網工作的同時,也將其作為社交媒介,在線上、線下形成了緊密聯(lián)系的社會關系和網絡社區(qū),他們的群體意識更加強烈,具有比其他群體更多的社會資本,而傳統(tǒng)的眾包任務分配以分散的獨立個體為單位,沒有利用殘疾人具有較高社會資本的優(yōu)勢。
技術實現(xiàn)要素:
為了讓眾包模式為殘疾人提供穩(wěn)定可靠的就業(yè)途徑,本方法提出了面向殘疾人社區(qū)的眾包標注任務分配策略,該策略不僅能夠保證參與標注工作的殘疾人能夠領取到基本的工作量,同時滿足有能力的殘疾人一定程度多勞多得,而且能夠有效避免同一任務重復完成的問題。
本發(fā)明所采用的技術方案具體如下。
本發(fā)明提供一種面向殘疾人社區(qū)的眾包標注任務分配策略,首先綜合殘疾人社區(qū)特點和需求,建立面向殘疾人社區(qū)的眾包標注任務模型以及殘疾人工作者模型;然后通過對殘疾人工作者的角色進行劃分,評估標注工作者的各項能力指標以及任務需求的指標,構建面向殘疾人社區(qū)的眾包標注任務池;最后采取將自動分配與人工分配相結合,并混合主動認領的方式實現(xiàn)任務分配,對眾包標注任務和殘疾人標注者進行匹配,完成面向殘疾人社區(qū)的眾包標注任務分配策略;其中:
所述眾包標注任務模型task如下式表示:
task=<taskid,information,requirement,recipients,preference>
其中:
taskid為任務的標識,在進行任務分配時以該標識作為唯一檢索條件;
information表示的是任務的基本信息,包括任務的創(chuàng)建時間、所屬的項目、需要標注的具體內容或者鏈接、標注說明信息和任務的當前完成狀態(tài)的信息;
requirement表示眾包任務的需求信息,標注任務對眾包工作者的技能需求不盡相同,主要式由任務發(fā)布方通過問卷的方式得到需求信息;
recipient表示任務分配的殘疾人工作者的標識集合;
preference表示任務的設置,包括任務的冗余度、眾包工作者自主領取任務時采取的分配方式和任務的優(yōu)先級信息;
所述殘疾人工作者模型user如下式表示:
user=<userid,information,role,capability>
其中:
userid為殘疾人工作者的唯一標識符,在進行任務分配時以該標識符作為唯一檢索條件;
information表示殘疾人工作者的基本信息;
role表示殘疾人工作者的角色,包括項目管理員、任務管理員和眾包標注者,在眾包標注過程的不同階段,用戶的角色可改變。
capability表示殘疾人工作者的能力信息,包含能力評測考核分數(shù)、歷史標注經驗以及管理員對工作者的評價;
所述任務池采用基于二叉樹的面向殘疾人社區(qū)的任務節(jié)點模型如下::
其中:
currentlevel表示當前任務池節(jié)點所在的層級數(shù);
requirement表示當前節(jié)點的眾包標注任務的需求信息的范圍,這個范圍浮動預設為上下百分之十,管理員用戶可以修改;
leftchild是眾包標注任務的需求信息低于當前節(jié)點的任務池的鏈接;
rightchild是眾包標注任務的需求信息高于當前節(jié)點的任務池的鏈接;
tasks表示任務需求信息在requirement范圍內的所有眾包標注任務。
本發(fā)明中,采用采取將自動分配與人工分配相結合,并混合主動認領的方式來完成任務分配的方法具體如下:
首先,對于任務中需要指派給特定的殘疾人工作者,或者需要分配給指定的若干殘疾人工作者的,平臺提供隨機分配方案供選擇,有人工完成分配;
接著,剩余的任務由殘疾人工作者自主認領,同時結合自動分配算法,為殘疾人工作者分配最適合自身條件的任務,完成任務分配;其中:自動分配算法采用空閑優(yōu)先分配方案和效率優(yōu)先分配方案。
本發(fā)明中,殘疾人工作者自主認領任務時,流程如圖2所示,具體如下:
(1)對于注冊用戶,查看是否有尚未完成的已分配任務,如果有,則按照任務的優(yōu)先級返回已分配的任務,否則,轉至下一步;
(2)檢查任務池狀態(tài),如果任務池為空,則從數(shù)據(jù)庫中獲取未完成的任務,初始化任務池,否則,轉至下一步。
(3)再次檢查任務池狀態(tài),如果任務池為空,則表示任務已經全部分配或完成,無剩余任務可領取,跳轉至項目首頁,否則,轉至下一步;
(4)檢查用戶登錄狀態(tài),如果是匿名用戶,則按照優(yōu)先級從任務池中分配最低任務需求的任務,否則,轉至下一步;
(5)查找最接近當前用戶能力的任務,同時該任務的認領次數(shù)加1,如果認領次數(shù)小于任務的冗余度,則返回該任務,否則,轉至下一步;
(6)檢查該任務池節(jié)點任務列表是否為空,如果為空,則刪除空任務池節(jié)點并重新調整任務池的其他節(jié)點。
和現(xiàn)有技術相比,本發(fā)明的有益效果在于:
1、有效避免了同一任務重復分配的問題,減少浪費殘疾人勞動力。
2、為參與眾包標注工作者的殘疾人分配一定的基礎工作量,同時又能夠滿足一定程度的多勞多得。
附圖說明
圖1是殘疾人工作者主動認領任務時分配流程圖。
圖2是面向殘疾人社區(qū)的眾包任務分配機制示意圖。
具體實施方式
為了使本發(fā)明所要解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行詳細的說明。應當說明的是,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實施例1
1.構建眾包任務、殘疾人工作者模型
在設計面向殘疾人社區(qū)的眾包任務分配策略前,首先需要對眾包標注任務、以及殘疾人工作者建模。在面向殘疾人社區(qū)的任務分配過程中,需要考慮任務的冗余度、優(yōu)先級以及難度屬性,殘疾人工作者的歷史標注經驗以及其認真負責程度等屬性對任務如何分配起至關重要的影響。
(1)對眾包標注任務建模:
task=<taskid,information,requirement,recipients,preference>
taskid為任務的標識,在進行任務分配時以該標識作為唯一檢索條件。
information表示的是任務的基本信息,包括任務的創(chuàng)建時間、所屬的項目、需要標注的具體內容或者鏈接、標注說明信息、任務的當前完成狀態(tài)等信息。
requirement表示眾包任務的需求信息。標注任務對眾包工作者的技能需求不盡相同,主要式由任務發(fā)布方通過問卷的方式得到需求信息。
recipient表示任務分配的殘疾人工作者的標識集合。
preference表示任務的設置,包括任務的冗余度、眾包工作者自主領取任務時采取的分配方式、任務的優(yōu)先級信息。
(2)對殘疾人工作者建模:
user=<userid,information,role,capability>
userid為殘疾人工作者的唯一標識符,在進行任務分配時以該標識符作為唯一檢索條件。
information表示殘疾人工作者的基本信息。保存眾包工作者的基本信息一方面是為了能夠標記一些用戶;另一方面是為用戶提供賬戶找回功能,防止用戶忘記密碼。
role表示殘疾人工作者的角色。包括項目管理員、任務管理員、眾包標注者。在眾包標注過程的不同階段,用戶的角色可以改變。
capability表示殘疾人工作者的能力信息,包含能力評測考核分數(shù)、歷史標注經驗以及管理員對工作者的評價。
2.面向殘疾人社區(qū)的眾包任務池
殘疾人工作者具有抱團的特性,眾包標注平臺不能每次在殘疾人主動領取任務時都去數(shù)據(jù)庫中檢索一次,這樣會嚴重影響用戶體驗,而且可能由于頻繁、大量的數(shù)據(jù)庫請求導致數(shù)據(jù)庫連接非常緩慢,進一步導致平臺響應時間漫長,甚至導致平臺系統(tǒng)崩潰。為保證殘疾人工作者主動領取任務時,能夠快速的返回難度適宜的標注任務,本發(fā)明設計并實現(xiàn)了面向殘疾人社區(qū)的眾包任務池。任務池采用基于二叉樹的面向殘疾人社區(qū)的任務節(jié)點模型,定義如下:
currentlevel表示當前任務池節(jié)點所在的層級數(shù)。
requirement表示當前節(jié)點的眾包標注任務的需求信息的范圍,這個范圍浮動預設為上下百分之十,管理員用戶可以修改。
leftchild是眾包標注任務的需求信息低于當前節(jié)點的任務池的鏈接。
rightchild是眾包標注任務的需求信息高于當前節(jié)點的任務池的鏈接
tasks表示任務需求信息在requirement范圍內的所有眾包標注任務。
3.面向殘疾人社區(qū)的任務分配策略
項目采取將自動分配與人工分配相結合,并混合主動認領的方式來完成任務分配。首先,對于任務中需要指派給特定的殘疾人工作者,或者需要分配給指定的若干殘疾人工作者的,平臺提供隨機分配方案供選擇,有人工完成分配。其次,剩余的任務,則是由殘疾人工作者自主認領,為了提高任務的完成質量以及改善殘疾人工作狀態(tài),與自動分配算法相結合,為殘疾人工作者分配最適合自身條件的任務。當用戶主動領取任務時,則按照圖2所示規(guī)則分配任務:
(1)對于注冊用戶,查看是否有尚未完成的已分配任務,如果有,則按照任務的優(yōu)先級返回已分配的任務,否則,轉至下一步。
(2)檢查任務池狀態(tài),如果任務池為空,則從數(shù)據(jù)庫中獲取未完成的任務,初始化任務池,否則,轉至下一步。
(3)再次檢查任務池狀態(tài),如果任務池為空,則表示任務已經全部分配或完成,無剩余任務可領取,跳轉至項目首頁,否則,轉至下一步。
(4)檢查用戶登錄狀態(tài),如果是匿名用戶,則按照優(yōu)先級從任務池中分配最低任務需求的任務,否則,轉至下一步。
(5)查找最接近當前用戶能力的任務,同時該任務的認領次數(shù)加1,如果認領次數(shù)小于任務的冗余度,則返回該任務,否則,轉至下一步。
(6)檢查該任務池節(jié)點任務列表是否為空,如果為空,則刪除空任務池節(jié)點并重新調整任務池的其他節(jié)點。
實施例中,采用ubuntu15.10操作系統(tǒng)的pc機作為終端設備,以pycharm作為開發(fā)平臺,選取postgresql作為后臺數(shù)據(jù)庫,使用python語言編程,研究開發(fā)了面向殘疾人社區(qū)的眾包標注平臺:眾研,實現(xiàn)了眾包任務發(fā)布、任務分配、完成標注任務、提交結果以及結果驗收等功能。
在圖1中,針對面向殘疾人社區(qū)的任務分配場景,首先建立眾包標注任務的眾包協(xié)同任務模型,根據(jù)對殘疾人眾包工作者進行建模,根據(jù)殘疾人眾包工作者的不同職責,其模型分為殘疾人標注者社會化模型以及眾包項目、任務管理員的模型。其中,殘疾人模型中的基本信息是由殘疾人用戶在平臺注冊賬戶時填寫的,角色屬性是預先確定的,項目、任務管理員可以為眾包標注者指定分配一定基礎的標注工作量,平臺提供兩種分配方案供其選擇。眾包標注者可以向平臺申請主動認領任務,平臺通過主動認領任務分配策略分配任務池中的標注任務給標注者。同時項目、任務管理員通過檢查眾包標注者提交的標注結果對標注者的能力值進行評價,平臺也更新標注者的歷史經驗。