问题描述
我是法国人,并且是前认证网络安全管理员.我三年前回到大学,获得语言学学士学位,现在我打算攻读应用到语言学的计算机科学硕士学位,目的是最终攻读博士学位(但我现在还不存在:-)).
本课程的重点是语音识别,自动语言翻译,文本的统计分析,语音编码和解码以及来自文本来源的信息摘要.教授们将让我们使用我们想使用的任何计算机语言来编写我们在课程中开发的算法和程序.
我曾经将Web应用程序作为附带工具开发了大约3-4年,并且我精通Javascript,因为我编写了在服务器端使用node.js在客户端使用浏览器的软件.我对Postgresql也很熟悉.
我当前的编码风格(如果可以称呼为一种风格)主要是过程性的,我使用对象原型作为我在代码中创建/管理对象的主要方式.我对使用类概念管理对象的面向对象语言没有太多经验.因此,对于我编写有效的代码来处理这些内容所需的知识,我绝对缺乏当前的编码技能.
所以我的问题是:为了有效地编写适合上述语言领域的算法和数据结构,对我来说,最好的计算机语言是什么?
提前感谢您的开明答案.
星期六Cit Ananda.
您的问题是基于观点的,因此此处可能不合主题.
在法国,您有很多关于 Ocaml 的好课程,该课程由 INRIA 和几个不错的书籍(尤其是法文,开发Ocaml应用程序;和 Manoury编写的DroiteàGauche程序,反之亦然). J.Pitrat还撰写了 Textes,Ordinateurs etCompréhension;他的最新著作人造物:有意识机器的良心也会使您感兴趣. >
学习多种编程语言不仅有用,而且总是有用的(一种编程语言不足以进行自然语言处理;您需要学习多种编程语言和几种编程范例-功能和对象范例都是有用的,以及序言).您还可以在学习Scheme的同时开始阅读 SICP .通过Queinnec的书计划和Lisp实施来了解更多有关Lisp的语言的信息-小块Lisp 的更新版本也会教给您很多东西.
Java也可能有用(因为Java中提供了一些NLP库). CommonLisp,C ++ 2011,Haskell....
还要花一些时间来使用和掌握Linux(及其编程)和免费软件.
通常,自然语言处理需要大量的计算机科学(和数学).
I am French, and am a former Certified Network Security Administrator.I went back to university 3 years ago to achieve a Bachelor's degree in linguistics, and I am now going to enroll in a Masters Degree in Computer Science applied to Linguistics, with the objective of eventually trying to go through a Doctorate (but I'm not there yet :-) ).
The course will focus on speech recognition, automatic language translation, statistical analysis of texts, speech encoding and decoding, and information abstratction from textual sources.The professors will let us use any computer language we want to use to code the algorithms and programs we will develop during the curriculum.
I used to develop web apps as a side gig for about 3-4 years and I am proficient in Javascript as I wrote software that used node.js at the server end and the browser at the client. I also have some familiarity with postgresql.
My current style of coding (if we can call that a style) is mainly procedural and I use object prototyping as my main way to create/manage objects in my code. I don't have much experience with object oriented language that use the concept of classes to manage the objects. Therefore I am pretty confident my current coding skills are definitely lacking in regards to what is required for me to write efficient code to deal with that stuff.
So my question is this : what would be the best computer language for me to learn in order to be effective in writing algorithms and data structure suited for the above mentionned linguistic areas?
Thanks in advance for your enlightened answers.
Sat Cit Ananda.
Your question is opinion based, so probably off-topic here.
In France, you have a lot of good courses on Ocaml which is developed at INRIA with several good books (notably, both in French, Developpement d'Applications en Ocaml by Chailloux, Manoury, Pagano; and Programmation de Droite à Gauche & vice versa by Manoury). J.Pitrat also wrote Textes, Ordinateurs et Compréhension; his latest book artificial beings: the conscience of a conscious machines will also interest you.
And learning several programming languages, not only one, is always useful (a single programming language is not enough to do Natural Language Processing; you need to learn several programming languages and several programming paradigms - both functional and object paradigms are useful, and also prolog). You could also start reading the SICP while learning Scheme. Learning more about Lisp-like languages thru Queinnec's book Principe d'implementation de Scheme et Lisp - the updated version of Lisp In Small Pieces will also teach you a big lot.
Java might also be useful (because some NLP libraries are available in Java). CommonLisp, C++2011, Haskell ... too.
Also take time to use and master Linux (and its programming) and free software.
In general, natural language processing requires a lot of computer science (and math).
这篇关于学习哪种语言或工具进行自然语言处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!