
可以用SimSimi API:http://developer.simsimi.com/(不需要数据库)。
根据提示进行注册(注册地址:http://developer.simsimi.com/signUp)。
登录后访问:http://developer.simsimi.com/apps,
点击[Get a 7 days Trial Key],你就会获得一个Trial Key(有效期为7天),然后直接
$key = '' // 你的 Trial Key$lang = '' // 语言
$msg = '' // 用户说的话
$res = file_get_contents('http://sandbox.api.simsimi.com/request.p?key='.$key.'&lc='.$lang.'&ft=1.0&text='.$msg)
或者你要购买一个Paid Key,也可以。
在http://developer.simsimi.com/apps中,点击[Get Paid Key],就可以购买。
只是代码要改为(响应地址不同):
$key = '' // 你的 Paid Key$lang = '' // 语言
$msg = '' // 用户说的话
$res = file_get_contents('http://api.simsimi.com/request.p??key='.$key.'&lc='.$lang.'&ft=1.0&text='.$msg)
就可以了。注意php.ini中,allow_url_fopen要为On:
allow_url_fopen = On然后会返回一个JSON字符串,与下面类似:
{"result": 100,
"response": "SimSimi的回答",
"id": 本次会话的标识符(int),
"msg": "响应描述"
}
相应描述与result的值相关。
100:OK. // 成功400:Bad Request. // 参数错误
401:Unauthorized. // Key 不存在
404:Not found. // 页面不存在
500:Server Error. // 服务器出错
参见:SimSimi API:http://developer.simsimi.com/api
谢谢!
如何对mysql数据库中一个字段进行分词安装一个php分插件就可以对内容进行分词,得到你要的关键词,取关键词密度最大的放到keyword里就可以了,你可能从百度里搜索一下SCWS - 简易中文分词系统
全文索引的核心理念是倒排索引(即反向索引),而最大的技术难点就在于分词。 英文的分词很简单,直接按空格分词即可。但中文不能这么干,主要原因有两点: 中文词与词之间没有空格 中文分词结果存在歧义。例如:周立波/小人/傻逼 和 周立/波小/人傻逼,两种分词都说得通,只有结合上下文才知道哪一种对 因此,中文分词比英文分词要困难得多,学术界在这一领域已经研究了多年,并取得了很多研究成果,但目前,中文分词的技术仍然很不完善。 回到全文搜索的话题,sql server自带的中文分词应该是基于正向最大匹配法的,说实话效果并不好。要求不高的话可以凑活用。除此之外,也有一些开源或商业的项目,例如Lucene(及其后续衍生),盘古等等,比sql server自带的要强...全文欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)