教程:使用mturk和C编程语言发布点击量

在一个上一篇博客文章,我们分享了一个关于如何开始使用AmazonMechanical Turk(mturk)和C编程语万博体育网址言作为.NET的一部分的教程。这个博客文章建立在该教程的基础上,展示如何使用C语言和Mturk的应用程序编程接口(API)在Mturk中创建人工智能任务(hits)。

如果你还没有完成之前的教程,我们建议你从那里开始。你可以在这里找到它:https://blog.mturk.com/tutorial-using-the-mturk-api-with-the-aws-sdk-for-c-with-net-207fdec3bf75

快速回顾我们离开的地方

上一个教程,我们安装了用于.NET的AWS SDK使用纽戈.当我们在上一个教程中停止时,我们的代码调用了mturk的api来调用获取帐户余额方法。上一个教程结束时,我们的代码,运行时,将输出此:

你的账户余额是406.75美元
按任意键退出。

将设置更改为使用沙盒

在上一个教程中,我们的代码称为getAccountBalance并访问mturk生产环境。对于今天的教程,我们将更改代码以访问mturk开发人员沙盒环境。mturk开发人员沙盒环境用于测试。在这种环境中创建的点击不太可能由真正的工人完成(因为所有奖励金额和付款都是模拟的)。要做出这种改变,如图所示,编辑上一教程中的代码用粗体以下:

amazonmturkconfig config=new amazonmturkconfig();;
config.serviceurl=sandbox_url;;

您可以通过运行代码来确认已应用更改。现在您应该看到一个与此完全相同的输出(10美元,000模拟余额):

您的可用余额是10000美元。
按任意键退出。

创建问题文件

让我们创建一个名为问题XML.我们将创建该文件并将其放在我们喜欢的目录中,只要我们在下面的代码中正确地引用了它的位置。在我们的例子中,我们会把这个放在C:\用户\Johndoe目录。在问题XML文件,放置以下代码:

            
             http://mechanicalturk.amazonaws.com/awsmechanicalturkdataschemas/2011-11-11/htmlquestion.xsd“>
             
< <!doctype html><br><html><br><head><br><meta http equiv='content-type'content='text/html;charset=utf-8'/><br><script type='text/javascript'src='<a href='https://s3.amazonaws.com/mturk public/externalhit_v1.js%27“数据HReF=https://s3.amazonaws.com/mturk public/externalhit_v1.js'“类=标记--定位标记--预定位“Re=不跟随不开放的不开放的不开放的”目标=“空白”>https://s3.amazonaws.com/mturk public/externalhit_v1.js'<a>>。<br><script><br><head><br><body><br><form name='mturk_form'method='post'id='mturk_form'action='<a href='//www.us-65.com/mturk/externalsubmit%27“数据HReF=//www.us-65.com/mturk/externalsubmit'“类=标记--定位标记--预定位“Re=不跟随不开放的不开放的不开放的”目标=“空白”>//www.us-65.com/mturk/externalsubmit'<a>><br><input type='hidden'value='name='assignmentid'id='assignmentid'/><br><h1>this is a test question.<h1><br><p><textfarea name='comment'cols='80'rows='3'><textfarea><p><br><p><input type='submit'id='submitbutton'value='submit'/><p><form><br><scriptlanguage='javascript'>turksetassignmentid();<br><script><br><body><br><html><br>

四百五十

保存此文件后,接下来,我们将编辑代码以引用此文件。要做到这一点,从上一个教程中获取代码并添加行用粗体显示以下:

使用系统;;
使用amazon.mturk;;
使用amazon.mturk.model;;
命名空间mturkapp
{
Mturkhelloworld类
{
静态void main(string[]args)
{
字符串awsaccesskeyid=““[您的访问密钥ID]“;;
string awssecretacesskey=”“[您的密码]“;;
字符串沙盒\u url=““https://mturk-requester-sandbox.us-east-1.amazonaws.com网站“;;
字符串prod_url=““https://mturk-requester.us-east-1.amazonaws.com网站“;;
amazonmturkconfig config=new amazonmturkconfig();;
config.serviceurl=prod_url;;
amazonmturkclient mturkclient=新amazonmturkclient(
AWS Access密钥,
密码密钥,,
配置;;
getAccountBalanceRequest请求=new getAccountBalanceRequest();;
getAccountBalanceResponse Balance=mturkClient.getAccountBalance(请求);;
console.writeline(“您的账户余额是美元。”+余额。可用余额);;
//将XML问题文件读取为字符串
字符串questionxml=system.io.file.readAllText(@)C:\users\johndoe\question.xml“;;
console.writeline(“------;;
console.writeline(questionxml);;
//在调试模式下保持控制台窗口打开。
console.writeline(“按任意键退出。“;;
console.readkey();;
}
}
}

下一步运行代码。现在您应该可以在控制台中看到以下输出:

你的账户余额是10000.00美元
------
http://mechanicalturk.amazonaws.com/awsmechanicalturkdataschemas/2011-11-11/htmlquestion.xsd“>

< <!doctype html><br><html><br><head><br><meta http equiv='content-type'content='text/html;charset=utf-8'/><br><script type='text/javascript'src='<a href='https://s3.amazonaws.com/mturk public/externalhit_v1.js%27“数据HReF=https://s3.amazonaws.com/mturk public/externalhit_v1.js'“类=标记--定位标记--预定位“Re=不跟随不开放者”目标=“空白”>https://s3.amazonaws.com/mturk public/externalHit_v1.js'.<br>.<script><br><head><br><body><br><form name='mturk_form'method='post'id='mturk_form'action='<a href='//www.us-65.com/mturk/externalsubmit%27“数据HReF=//www.us-65.com/mturk/externalsubmit'“类=标记--定位标记--预定位“Re=不跟随不开放者”目标=“空白”>//www.us-65.com/mturk/externalsubmit'<a>><br><input type='hidden'value='name='assignmentid'id='assignmentid'/><br><h1>this is a test question.<h1><br><p><textfarea name='comment'cols='80'rows='3'><textfarea><p><br><p><input type='submit'id='submitbutton'value='submit'/><p><form><br><scriptlanguage='javascript'>turksetassignmentid();<br><script><br><body><br><html><br>

四百五十

按任意键退出。

杰出的。您已成功加载问题XML归档到您的C程序中。下一步,我们将继续使用该文件创建我们的点击量。

现在,让我们创造一些的点击量

现在我们有了调用mturk开发人员沙盒的代码,我们已经加载了我们的问题,我们会打电话给CreateHit API操作.要做到这一点,只需添加代码行用粗体显示以下是您的计划:


getAccountBalanceRequest请求=new getAccountBalanceRequest();;
getAccountBalanceResponse Balance=mturkClient.getAccountBalance(请求);;
console.writeline(“您的账户余额是美元。”+余额。可用余额);;
            //将XML问题文件读取为字符串
字符串questionxml=system.io.file.readAllText(@)C:\users\johndoe\question.xml“;;
console.writeline(“------;;
console.writeline(questionxml);;
//创建命中
createHitRequest hitRequest=新建createHitRequest();;
hitRequest.title='测试标题;;
hitRequest.description=“测试说明”;;
hitRequest.reward=”0.50“;;
hitRequest.assignmentdurationinseconds=60*60;/ / 1小时
hitRequest.lifetimeInSeconds=60*60*24;/ / 1天
hitRequest.question=questionxml;;
createHitResponse hit=mturkclient.createHit(hitRequest);;
//显示指向命中的链接
console.writeline(“https://workersandbox.mturk.com/projects/”+hit.hit.hittypeid+““任务”;;
//在调试模式下保持控制台窗口打开。
console.writeline(“按任意键退出。“;;
console.readkey();;

为了保持输出清洁,您还可以对显示问题的行进行注释。这是可选的,但建议这样做。只需更新显示的两行用粗体以下:


//将XML问题文件读取为字符串
字符串questionxml=system.io.file.readAllText(@)C:\users\johndoe\question.xml“;;
//控制台.writeline(“------;;
//console.writeline(questionxml);;
//创建命中

现在运行代码。您应该看到以下输出:

你的账户余额是10000.00美元
https://workersandbox.mturk.com/projects/3p8qi1t9b1r7de2op6ico47fvrsowf/tasks
按任意键退出。

如果打开代码输出中显示的链接,您应该会看到一个与此类似的屏幕:

祝贺你!您已经成功地使用mturk API和aws sdk for c_in.net创建了一个hit。

包扎

今天,我们刚刚了解了AWS SDK for C_in.net和mturk请求程序API可能实现的功能。在以后的教程中,我们将继续在此基础上向读者展示如何做得更多。

我们希望您喜欢今天的教程。如果你有任何问题,请把问题发到我们的姆图克论坛.您还可以查看用于mturk的.NET文档的AWS SDK。在这里.成为一个请求者,,在这里注册.想作为员工客户贡献自己的力量吗??从这里开始.