2013-09-01 1 views
0

저는 프랑스어이고 이전의 공인 네트워크 보안 관리자입니다. 나는 언어학 학사 학위를 취득하기 위해 3 년 전에 대학으로 돌아 갔고, 이제 박사 과정을 밟기 위해 결국은 언어학에 적용되는 컴퓨터 과학 석사 과정에 등록하려고합니다. 아직 거기 없습니다 :-)).자연 언어 처리를 위해 배우는 언어 또는 도구는 무엇입니까?

이 과정은 음성 인식, 자동 언어 번역, 텍스트의 통계 분석, 음성 인코딩 및 디코딩, 텍스트 소스로부터의 정보 절 약에 중점을 둡니다. 교수들은 커리큘럼에서 개발할 알고리즘과 프로그램을 코딩하기 위해 사용하고자하는 컴퓨터 언어를 사용할 것입니다.

약 3 ~ 4 년 동안 웹 앱을 개발 한 적이 있는데 자바 스크립트를 능숙하게 사용하기 위해 클라이언트 측 서버와 브라우저에서 node.js를 사용하는 소프트웨어를 작성했습니다. 나는 또한 postgresql을 잘 알고있다.

내 현재 스타일 코딩 (스타일을 호출 할 수있는 경우)은 주로 절차 적이며 코드에서 객체를 만들고 관리하는 주요 방법으로 객체 프로토 타입을 사용합니다. 클래스를 사용하여 객체를 관리하는 객체 지향 언어에 대한 많은 경험이 없습니다. 따라서 나는 현재의 코딩 기술이 내가 그 물건을 다루는 효율적인 코드를 작성하는 데 필요한 것이 무엇인지에 관해 확실히 결여되어 있음을 확신한다.

내 질문은 다음과 같습니다. 위에서 언급 한 언어 영역에 적합한 알고리즘 및 데이터 구조를 작성하는 데 효과적인 언어를 배우려면 무엇이 최선의 컴퓨터 언어가 될까요?

계몽 된 답변에 미리 감사드립니다.

토씨 아난다.

+0

당신은 Prolog를 배우는 데 매우 유용 할 것입니다. – Sergio

+0

일자리의 경우, 전직 친구 중 대부분은 Java 또는 C++을 사용합니다. 학계에서는 Java, Python, C++, Prolog, Haskell, Lisp, Perl, Go 등입니다. 종종, 다양한 도구를 함께 사용해야합니다. 나는 당신이 잘하고있는 언어에 충실해라.하지만 다양한 도구들이 상호 작용할 수있는 방법을 배워라. – prash

+0

은 [NLP를위한 스크립트 언어에 관한 관련 질문]을 보았 으면합니다. (http://stackoverflow.com/questions/501062/whats-the-best-scripting-language-for-natural-language- 처리) – arturomp

답변

2

귀하의 질문은 의견을 바탕으로 작성되었습니다. 프랑스에서는

, 당신이 INRIA에서 개발 Ocaml에 좋은 코스를 많이 가지고 몇 가지 좋은 books (특히, 두 프랑스어, Chailloux, Manoury, Pagano에 의해 Developpement d'Applications en Ocaml에서, 그리고 Manoury에 의해 Programmation de Droite à Gauche & vice versa). J.Pitrat는 또한 Textes, Ordinateurs et Compre를 작성했습니다.; 그의 최신 책 artificial beings: the conscience of a conscious machines 또한 관심있어합니다.

하나뿐 아니라 여러 프로그래밍 언어를 배우는 것이 항상 유용합니다. 단일 프로그래밍 언어로는 자연어 처리를 수행하기에 충분하지 않으며 몇 가지 프로그래밍 언어와 여러 프로그래밍 패러다임을 학습해야합니다. 기능 및 개체 패러다임 모두 유용합니다 , 또한 prolog). 또한 Scheme을 배우면서 SICP을 읽을 수도 있습니다. 퀸스 (Queinnec)의 책 Principe d'implementation de Scheme et Lisp을 통해 Lisp과 유사한 언어에 대해 더 많이 배우면 Lisp In Small Pieces의 업데이트 된 버전을 통해 많은 정보를 얻을 수 있습니다.

Java가 유용 할 수도 있습니다 (Java에서 NLP 라이브러리를 사용할 수 있기 때문에). CommonLisp, C++ 2011, Haskell ... 너무.

또한 Linux (및 해당 programming)와 자유 소프트웨어를 사용하고 마스터하는 데 시간이 걸립니다.

일반적으로 자연 언어 처리에는 많은 컴퓨터 과학 (및 수학)이 필요합니다.

+0

답장을 보내 주셔서 감사합니다. 내가 제공 한 링크를 살펴 보겠습니다. –

0

프로덕션 NLP 시스템의 경우 Java가 가장 일반적인 선택 인 것으로 보입니다.초보자/중급 프로그래머가 코드베이스 크기에 맞게 확장하고, 간단한 문법과 방대한 표준 라이브러리를 제공하며, 소프트웨어 성능이 최우선 순위가 아닌 가장 보편적으로 사용되는 언어 중 하나입니다. 또는 성능을 수평/분산으로 조정할 수있는 경우). 예를 들어, IBM Watson의 상위 계층은 대부분 Java로 작성되었습니다. 또한 CS 강좌의 기본 교습 언어 중 하나가 될 것입니다.

관련 문제