PHP有哪些杀手级超厉害框架或库或应用?

php发展了这么多年,有许多有趣的项目 。让我们摆脱那些讨厌的增删改查,一起来了解这些有趣的项目 。
1:php-ai/php-ml,一个高级的PHP的机器学习库php-ml是一个使用PHP实现的机器学习库,包含算法、神经网络、交叉验证、预处理、特征提取等人工智能领域中常用的功能方案 。
官方还提供了众多的案例,比如:

  • 检测语言分类
  • MNIST 识别手写字体(标准的人工智能入门项目)
  • 垃圾邮件过滤
  • 文章分类
  • 预测葡萄酒的质量
php-ml有一个完善的文档,并且有丰富的博客文章 。但是这已经是人工智能的领域了,你的知识结构可能一时半会还利用不了 。
简单地用法如下:
require_once __DIR__ . '/vendor/autoload.php';use PhpmlClassificationKNearestNeighbors;$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];$labels = ['a', 'a', 'a', 'b', 'b', 'b'];$classifier = new KNearestNeighbors();$classifier->train($samples, $labels);$classifier->predict([3, 2]);// return 'b'2:rindow/rindow-neuralnetworks,一个高级的PHP的神经网络库这也是一个人工智能项目,是一个高级的PHP的神经网络库,可以使用PHP实现一个强大的机器学习项目 。
它有以下特点:
  • 可以轻易地实现DNN、CNN、RNN 和 Attention 机器学习模型
  • 和Python的Keras 很相似,可以利用相关经验
  • 提供了机器学习中的机器视觉和自然语言的处理
  • 处理性能是tensorflow CPU 的两倍
  • 无需专门的运行环境,可以在任何电脑环境运行
  • 附带有趣的示例程序
并且有相关的计算扩展,用于提高性能 。还有对于GPU的扩展,可以利用GPU的计算能力,进一步提高性能,不过目前这一点还在测试阶段 。
PHP有哪些杀手级超厉害框架或库或应用?

文章插图
 
3:rubix/ml,一个高级的PHP的机器学习和深度学习库是的,这里又介绍了一个PHP的人工智能库 。
他有这样几个特点:
  • 对开发人员很友好的接口方法调用
  • 40多种监督或非监督学习方法
  • 支持 ETL、预处理和交叉验证
与上面两个相比相比,它提供了最多的教程和示例项目 教程和示例项目,其中比较有趣的有离婚预测、DOTA2胜率预测等,并且提供了电报群的交流渠道 。
PHP有哪些杀手级超厉害框架或库或应用?

文章插图
 
4:nlp-tools/nlp-tools,一个供初学者使用的半高级的自然语言处理库这是一个专门用于处理人工智能中自然语言处理领域的库,他提供的方法相比之前几个会更低底层一些,但使用起来仍然很优雅 。
它内置了多种分类模型,类聚方法,分词器,数据集等等几乎这一领取所需的所有工具和数据 。
与之前介绍的几个项目相比,它是专门用来处理自然语言这一领域的,并且对初学者十分友好 。有丰富的文档,内置了齐全的工具和数据 。
这里演示一下分词效果:
include('vendor/autoload.php');use NlpToolsTokenizersWhitespaceAndPunctuationTokenizer;$text = "Please allow me to introduce myselfI'm a man of wealth and taste";$tok = new WhitespaceAndPunctuationTokenizer();print_r($tok->tokenize($text));// Array// (//[0] => Please//[1] => allow//[2] => me//[3] => to//[4] => introduce//[5] => myself//[6] => I//[7] => '//[8] => m//[9] => a//[10] => man//[11] => of//[12] => wealth//[13] => and//[14] => taste// )5:workerman/gateway-worker,一个分布式的长链接服务框架GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如App推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等 。
与其他的此类方案相比,它提供了这样几个无可比拟的优点:
  • 内置进程守护,通过简单的命令行即可稳定运行,无需自己去实现后台运行或进程守护
  • 内置分布式设计,可以在不需要修改任何代码的情况下,实现分布式部署
  • 完善的长链接操作,包括给连接绑定UID、给连接绑定分组、维护SESSION等
  • 提供标准的系统内推送消息的用法,提供了一个client,可以随时向gateway网络中发送消息
gatewayworker几乎解决了长链接开发中的所有痛点,非常好用 。要注意的是,他是为长链接而设计的框架,如果是短连接(UDP)则需要其他方案 。


推荐阅读