一个简单的小黄鸡应用

人人的小黄鸡其实是调用了simsimi的接口,它的开发者是华中科技大学的一名学生wang2 ,作者把人人网小黄鸡的代码托管在Github上。可以看出,功能是很强大的,不单单是调个api的是,我简单看了下,python、shell、redis、消息队列都有用到。那么,怎样用最短的时间写一个自己的“小黄鸡”呢?

其实很简单,作者的gist上的一段代码 给出我们一个接口:http://www.simsimi.com/func/req?lc=ch&msg=%s ,通过这个接口,我们就可以调simsimi的智能回复了。

PHP实现起来非常简单,就是用CURL先请求下simsimi,得到cookie,然后利用保存的cookie再去请求接口,返回json,有个reponse的key,对应的value就是回复了。

代码:

<?php
error_reporting(E_ERROR);
$msg = daddslashes($_GET['msg']);
simsimi($msg);

function simsimi($msg) {
	/*get cookie*/
	$url = "http://www.simsimi.com/";
	$ch = curl_init ( $url );
	curl_setopt ( $ch, CURLOPT_HEADER, 1 );
	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
	$content = curl_exec ( $ch );
	$arr = explode ( "\r\n\r\n", $content );
	$header = $arr[0];
	$matches = $arr[1];
	preg_match ( "/set\-cookie:([^\r\n]*);/iU", $header, $matches );
	$cookie = $matches [1];
	curl_close ( $ch ); 
	
	/*get json response*/
	$url = "http://www.simsimi.com/func/req?lc=ch&ft=0.0&msg=$msg";
	$ch = curl_init ($url);
	curl_setopt ( $ch, CURLOPT_REFERER, "http://www.simsimi.com/talk.htm?lc=ch" );
	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
	curl_setopt ( $ch, CURLOPT_COOKIE, $cookie );
	$content = json_decode ( curl_exec ( $ch ), 1 );
	curl_close ( $ch );
	if ($content ['result'] == '100') {
		$content ['response'];
		var_dump($content ['response']);
	} else {
		var_dump( 'nothing...');
	}
}

function daddslashes($string, $force = 0) {
	!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
// 	if(!defined('MAGIC_QUOTES_GPC'))
// 		define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
	if(!MAGIC_QUOTES_GPC || $force) {
		  if(is_array($string)) {
			foreach($string as $key => $val) {
				$string[$key] = daddslashes($val, $force);
			}
		} else {
			$string = addslashes($string);
		}
	}
	return $string;
}

function dhtmlspecialchars($string) {
	if(is_array($string)) {
		foreach($string as $key => $val) {
			$string[$key] = dhtmlspecialchars($val);
		}
	} else {
		$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1',
				//$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
			str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string));
	}
	return $string;
}

function http_get($url, $ref_url=NULL) {
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.81 Safari/537.36");
	if ($ref_url) {
		curl_setopt($ch, CURLOPT_REFERER, $ref_url);
	}
	$data = curl_exec($ch);
	curl_close();
	return $data;
}
?>

有兴趣的朋友可以到 我的网站玩玩~



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 小黄鸡是指人工智能聊天机器人的一种。它使用机器学习和自然语言处理等技术,能够与用户进行对话。小黄鸡的特点是给人一种类似真人对话的感觉,但实际上它只是根据预先设定的规则和语料库回答用户的问题。 小黄鸡未分词是指在聊天对话中,用户的输入没有进行分词处理。分词是将连续的字串组合成有意义的词语,用于帮助机器理解用户的意图和需求。而未分词的输入通常是一串连续的字母、汉字或符号,机器难以准确理解其含义。 小黄鸡未分词的结果会导致一些问题,例如机器无法准确判断词语的边界,从而难以正确理解用户的问题。这可能导致机器给出的回答与用户的期望不符,甚至出现误解或误导。 因此,在设计和使用小黄鸡这样的聊天机器人时,分词处理是必不可少的。通过分词,机器可以更好地理解用户的意图,提供更准确和有针对性的回答。同时,分词还能辅助机器对语义进行理解和分析,提高对话的质量和流畅度。 总之,小黄鸡未分词会影响机器对用户的理解和回答的准确性。分词是提高聊天机器人性能的重要步骤,有助于提升对话的智能化和自然化。 ### 回答2: 小黄鸡是一款智能聊天机器人,其名称来自于中文互联网上经常用于形容类似的机器人的词语。小黄鸡的主要功能是进行对话交流,能够回答用户提出的问题,并根据用户的输入提供相应的回复。 小黄鸡的原理是基于人工智能技术和自然语言处理技术。通过大数据和机器学习算法,小黄鸡可以识别用户输入的文本信息,并根据事先设定的规则或模型进行分析和回复。 小黄鸡应用场景广泛,可以用于在线客服、在线咨询、语音助手等领域。在一些社交网站和聊天软件中,用户可以通过与小黄鸡进行对话获取信息或解决问题。 然而,小黄鸡的回答往往是基于固定的模板或预设的规则,不能理解复杂的语义和语境。所以在某些情况下,小黄鸡的回答可能是机械的、不连贯的,甚至是错误的。因此,在使用小黄鸡时,我们需要明确其局限性,并根据具体情况来判断其是否适合用于解决问题。 总之,小黄鸡是一款智能聊天机器人,能够进行对话交流,并根据用户的输入提供相应的回复。然而,它的回答通常是基于固定的模板或规则,不能很好地理解复杂语义和语境。在使用小黄鸡时,我们需要注意其局限性,并根据具体情况来判断其适用性。 ### 回答3: 小黄鸡是一种虚拟聊天机器人,它的特点是模仿人类的对话方式进行交流。小黄鸡实际上是一个对话系统的应用,旨在提供有趣和多样化的对话体验。它可以通过文本或语音与用户进行交互,回答问题、提供建议、进行娱乐或进行一般的对话。 小黄鸡是基于自然语言处理技术而设计的,它能够理解用户的输入并生成合理的回复。通过不断的学习和训练,小黄鸡可以逐渐提升其对话能力。它能够识别用户的意图、理解语境,并根据用户提供的信息来产生响应。为了增加其趣味性,小黄鸡还加入了一些幽默和机智的回答。 小黄鸡应用场景非常广泛。它可以用于娱乐,与用户进行智能闲聊,解答各种问题,甚至还可以参与角色扮演的游戏。此外,由于小黄鸡的交互方式与人类非常接近,它也可以用于与用户进行虚拟助手的对话,提供帮助和指导。 小黄鸡的帮助和娱乐价值使其受到了许多人的青睐,并在各种社交媒体和聊天平台上广泛使用。它不仅提供了一种全新的交流方式,也展示了人工智能技术的应用。通过与小黄鸡的对话,用户可以感受到人工智能技术的进步和创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值