1

我是法国人,并且是前认证网络安全管理员。3 年前我回到大学获得了语言学学士学位,现在我将攻读应用于语言学的计算机科学硕士学位,目标是最终尝试获得博士学位(但我还没有:-))。

该课程将侧重于语音识别、自动语言翻译、文本统计分析、语音编码和解码以及从文本源中提取信息。教授将让我们使用任何我们想使用的计算机语言来编写我们将在课程中开发的算法和程序。

我曾经开发过大约 3-4 年的 web 应用程序,并且我精通 Javascript,因为我编写了在服务器端使用 node.js 并在客户端使用浏览器的软件。我也对postgresql有些熟悉。

我目前的编码风格(如果我们可以称之为风格)主要是程序性的,我使用对象原型作为在我的代码中创建/管理对象的主要方式。我对使用类的概念来管理对象的面向对象语言没有太多经验。因此,我非常有信心我目前的编码技能绝对缺乏我编写高效代码来处理这些东西所需的内容。

所以我的问题是:为了有效地编写适合上述语言领域的算法和数据结构,对我来说最好的计算机语言是什么?

提前感谢您的开明答案。

坐禅阿难。

4

2 回答 2

3

你的问题是基于意见的,所以这里可能是题外话。

在法国,你有很多关于Ocaml的好课程,这些课程是在INRIA开发的,有几本好书(特别是法语版, Chailloux、Manoury、Pagano 的Developpement d'Applications en Ocaml;和Programmation de Droite à Gauche,反之亦然马努里)。J.Pitrat 还写了Textes, Ordinateurs et Compréhension;他的最新著作《人造生物:有意识的机器的良心》也会让你感兴趣。

并且学习几种编程语言,不仅仅是一种,总是有用的(一种编程语言不足以做自然语言处理;你需要学习几种编程语言和几种编程范式——函数范式和对象范式都有用,prolog)。您也可以在学习 Scheme的同时开始阅读SICP 。通过 Queinnec 的书Principe d'implementation de Scheme et Lisp了解更多关于类似 Lisp 的语言 - Lisp In Small Pieces的更新版本也会教给你很多东西。

Java 也可能有用(因为 Java 中提供了一些 NLP 库)。CommonLisp、C++2011、Haskell ......也是。

还要花时间使用和掌握 Linux(及其编程)和免费软件。

一般来说,自然语言处理需要大量的计算机科学(和数学)。

于 2013-09-01T13:03:18.143 回答
0

对于生产 NLP 系统,Java 似乎是最常见的选择。对于初学者/中级程序员来说,它是一种不错且安全的语言,可以很好地适应代码库大小,具有简单的语法和庞大的标准库,并且它是软件性能不是绝对重中之重的最常用语言之一(或者性能可以水平扩展/分布)。例如,我相信 IBM Watson 的大多数较高层都是用 Java 编写的。您还会发现它是 CS 课程中的主要教学语言之一。

于 2013-09-10T18:02:15.097 回答