【问题标题】:Which language should I use for Artificial intelligence on web projects我应该在网络项目中为人工智能使用哪种语言
【发布时间】:2010-06-16 02:59:55
【问题描述】:

我必须为我的论文做一个项目,涉及人工智能、协同过滤和机器学习方法。

我只知道PHP/mysq/JS,PHP中AI的例子不多。

互联网上有一些关于人工智能的书籍,但它们使用的是 Java 、 Python。

现在我必须将 AI 技术应用于 Web 应用程序。

我应该选择java还是python。

我在网上搜索到我可以在我的 php 中调用 java 类,这样可以帮助我,因为我非常擅长 php

我也看到python也可以和php一起使用

那么我应该走哪条路,大概需要多少时间来学习java

我已经完成了 Java 基础知识,但那是 6 年前的事了

【问题讨论】:

标签: java php python artificial-intelligence


【解决方案1】:

在您提到的语言中,您可能会发现 Java 中最有用的工具,尤其是机器学习资源。一个很好的例子是WEKA,这是一个用 Java 编写的流行数据挖掘工具。

机器学习算法通常是你不想从头开始编写代码的东西,如果你不需要的话。尽管您肯定会从中学到很多东西,但它们可能需要大量时间来调试,因为通常很难区分工作行为和非工作行为之间的区别,例如,它们有时可能无法学习或学习没有错误,他们也可以学习有或没有错误的模式。

我会先寻找工具,然后根据工具选项决定语言。

【讨论】:

  • “我会先寻找工具” - 嗯,我个人会先寻找 AI 方法 - 基于启发式规则的系统、神经网络、遗传算法和模糊算法之间存在巨大差异逻辑工作 - 以及它们应该如何应用之间。
【解决方案2】:

您的图书使用哪种语言真的很重要吗?我的意思是,您不会复制粘贴这些示例。您将很快学会识别基本结构(函数、循环等)。这不像学中文。

说到学习时间,这个问题恐怕没有明确的答案。我认为最好的方法是查看 java 和 python 中的代码示例,看看哪个看起来“更好”、更容易、更熟悉。

祝你好运!

【讨论】:

    【解决方案3】:

    您可以使用 Java 或 Python。两种语言都有很多资源。

    我认为以下书籍可能适合您的目的。

    Programming collective intelligence: building smart web 2.0

    collective intelligence in action

    【讨论】:

    • 如果我也不知道,这将使我的工作更轻松,因为我只知道 php。我总是对 java 感到困惑。我必须学习吗,只有核心 java 或 java servltes,java beans 或 JSP,J2EE。
    • 我想知道......“集体智慧”在这里有什么作用?该问题涉及“人工智能”。我不会对您的 amswer 投反对票,因为我一般不会对任何事情投反对票。但这显然是题外话。
    【解决方案4】:

    我应该选择java还是python。

    这里有几点需要考虑:

    • java 被更广泛地使用(可能更成熟的代码“在那里”可以查看 - 但我还没有测试过)

    • python 多产(你用 python 写得比用 java 快),从学习语言到编写你想要的代码,用 python 比用 java 花费更少

    • python 是多范式,java(几乎)是严格的 OOP

    • java 已编译(而 python 已编写脚本);这意味着java会在编译时发现你的错误; python at execution - 这可能会产生很大的不同,具体取决于您的开发风格/实践

    • java 比 python 定义更严格,也更冗长。在 java 中你必须正式化你的合同,在 python 中你使用鸭子类型。

    最后,你能做的最好的事情就是建立一个小项目,用两种语言编写它,然后看看你最终更喜欢什么。您还可能会发现其中一种语言无法解决的一些限制。

    最终取决于你:)

    编辑:这不是一个详尽的列表,我尽量做到不偏不倚(但到此结束这里:我会选择 python :D)

    【讨论】:

      【解决方案5】:

      您可以使用任何您喜欢的语言,只要它所在的服务器支持它。您可以使用 HTML/JS 作为用户界面,并通过 AJAX 请求从服务器请求结果。

      回答这些请求的将是您的 AI 代码,这可以是您想要的任何东西。 PHP 使得回答 AJAX 请求变得非常简单。由于您已经熟悉它,我建议您这样做,尽管如果您的 AI 非常复杂,您可能希望使用更高效的东西,例如 C/C++。

      【讨论】:

        【解决方案6】:

        永远不要将 PHP 用于 AI。 Java 或 C/C++ 是最好的,但 Python 用于快速开发。

        【讨论】:

        • 为什么有人从不将 PHP 用于 AI? PHP 非常频繁地用于许多基于 Web 的 AI 应用程序。
        • 它使用 PHP 作为前端。后端通常是 java。
        【解决方案7】:

        只要付出努力和意愿,几乎任何语言都可以用来编写几乎任何东西。但是 Python 具有更多的函数式编程结构,这在您编写 AI 时可能会更有用。

        【讨论】:

          【解决方案8】:

          我相信 Python 非常适合此类任务,因为它具有灵活性。将 numpy/scipy 库与一个不错的绘图库(例如 chaco 或 matplotlib)一起使用可以使处理数据和算法的工作流程变得容易,并且您可以以几乎类似于 matlab 的方式在实时解释器中使用代码。在此处更改一行代码,清理那里的数据并在图形窗口中实时查看整个内容,而无需费心重新编译等。

          一旦您确定了算法,如果您担心性能,就可以很容易地分析代码并将热点移动到 C/C++ 或 Fortran 中。

          (如果你真的喜欢在 JVM 平台上,你甚至可以在 Jython 中编写这些东西,然后将代码放入 java 中以获得性能高的部分)

          【讨论】:

            【解决方案9】:

            AI 不是一种语言,也不是一个特定的问题,例如求和或求一些数字的平均值。这是将被人工开发的智能。为了使系统特别是计算机变得智能,您可以使用计算机可以理解并且您熟悉的任何语言(C、Java、Python、C++)。一个非常简单的 AI 示例可能是井字游戏。这个游戏可以用你喜欢的任何语言来制作。重要的是需要开发的算法。人工智能是一个广阔的领域,它包括很多东西,比如图像处理、NLP、机器学习、心理学等等。最重要的是,数学必须非常强,这是软计算中最重要和不可或缺的部分。因此,人工智能再次不是一种语言,而是基于纯数学的智能算法。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-11-06
              • 1970-01-01
              • 2011-07-13
              • 2012-01-18
              • 2011-06-14
              相关资源
              最近更新 更多