Creating a Computational Linguistics College Degree? 47
$random_var asks: "I am an undergraduate student currently studying Bioengineering. However, I am growing more and more interested in programming and linguistics, which leads me to think that I should define my own major, Computational Linguistics [mit.edu], which google defines as 'a field concerned with the processing of natural language by computers.' When I present my proposal for this degree to the school's advising staff, I would like to have a complete list of all of the topics this major should cover. Having only little experience with computer science and engineering, I'm not sure what parts of that field I should include. Beyond the basic lower-division courses, what specific fields of computer science do you think should be emphasized in a practical undergraduate study of Computational Linguistics?"
As someone who has done some work in the field... (Score:5, Interesting)
I'd say the first two years in the major need to be very similar to the first two years in the Computer Science curriculum and last two in the humanities/linguistic area. The reason I say this is because a lot of the math, basic computer science, etc that is needed in the field will be the same as the core Comp Sci/engineering classes. However, the first two years in the humanities are very generic, and you specialize a lot later. So build up the core of Comp Sci and linguistical study early.
Then, get deeper. A lot of the NLP work is being done in Maching Learning/Data Mining classes. Make sure you take those, we had a whole class called Textual Data Mining at my university. Take algorithm design and some of the common advanced Comp Sci classes too, since a lot of the techniques are very advanced, being developed, cutting edge and will require research. Take advanced statistics classes too, much of the field is built on statistics.
NLP is a very interesting area, but I don't know if it deserves its own major yet. I would advise majoring in comp sci, with a concentration in Machine Learning/Data Mining through your technical electives. And a minor, or perhaps second major in Linguistics. I'd say minor because then you could take only the classes relevant to the field, instead of all the other stuff related to a humanities major that you may not want.
Anyway, that's my take. I did a bunch of NLP research, even getting work published as an undergrad, and I was a Computer Engineering major. The field is as such that it's so new and emerging that not much formal linguistics study is required right now, if you are a native english speaker you are probably good. But, it doesn't hurt to get a more formal background in it, that's why I suggested the minor.
Re:As someone who has done some work in the field. (Score:3, Insightful)
That's the first thing I thought when reading this question. This seems way too concentrated for a bachelor's degree. I'd say either doing computer science or computer engineering would be the way to go, followed by grad school. Find the right school with the right research group and/or professor and
Re:As someone who has done some work in the field. (Score:1)
Re:As someone who has done some work in the field. (Score:2)
Missing (Score:1)
A.I. (Score:2, Interesting)
Also, just thinking and re-reading, some language classes would be handy. Though the elementary school english about nouns/verbs/etc will help, you'll need more if i
Re:A.I. (Score:2)
On the other hand, the biggest problems in NLP are building large machine-readable corpuses (lots of grunt work) and interpreting the parsed results. That could involve AI techniqu
Copy the syllabus from (Score:1, Informative)
Computer Speech, Text and Internet Technology has to be the lamest course name in history but the course itself is very good with both computation and linguistics aspects, as you would expect from Cambridge...
Don't do it (Score:5, Insightful)
Basicly, undergrad is to learn the field. A masters is to specialize in one domain. A doctorate is to research a single problem in as much depth as possible. They're in that order for good reason- it leaves you plenty of room to change your mind and interest as you grow older, while keeping you marketable in both industry and academia. Don't specialize too early, or you may regret it later.
Re:Don't do it (Score:3, Interesting)
I agree Re:Don't do it (Score:1)
training as you possibily can. Linear Algebra is essential.
Undergrad to PhD (Score:2)
When I went back to school a few years ago for my Masters, I described the levels of degrees like this:
Undergrad: Do XYZ.
Masters: Find out something interesting about XYZ.
Ph.D.: Based on XYZ, invent ABC.
Yes, I found out interesting things.
...laura, B.Sc, M.A.Sc.
Is a separate major really necessary? (Score:4, Insightful)
Of course, there are a lot of classes to steer you in that direction. From the computer science field, you have to take compiler structure. That may not sound like a relevant class, but it is. Learning to write good lexers and parsers is going to be vital, and that is the class where you will learn them. Also, seeing how a high-level programming language is parsed can give you a lot of insight into how natural language will be parsed.
Of course, an AI class would be helpful, too. And machine learning, but that's not always offered at the undergraduate level.
Outside CS, I would also recommend taking at least one foreign language to give you a little more basis in how syntax and grammar vary across languages. A non-latin based language, like Japanese, might help.
Re:Is a separate major really necessary? (Score:3, Interesting)
"Here's a kid who wanted to get out of having to take the hard CS classes, so he made up a major that sounds sexy and then slacked off. He just couldn't hack the real CS program."
Now, I'm not saying that this is you. If this would be a mistaken perception of what you're doing, I advise you to not invite the mistake, prove to everyon
is this really appropriate for an undergrad degree (Score:4, Insightful)
Re:is this really appropriate for an undergrad deg (Score:2)
would get a cs degree, and do additional work in comp ling, then
apply to grad school with an specific bias towards that kind
of work.
however, if you really know thats what you want to do, there's alot
to be gained by putting together an interdiscplenary degree
based around your interests and getting it approved. it would
mean you would be able to take more courses in linguistics and
philosophy of language, or statistical methods, or logic, or
whatever
Re:is this really appropriate for an undergrad deg (Score:2)
The only issue is language specialization--if you only know Prolog very well, you might have trouble switching to J
Markov Chaining (Score:4, Interesting)
It involves taking a canon of text (for example, the complete works of shakespeare, or every example of written english you can get your hands on, or every example of transcripts of spoken english you can get your hands on) and subjecting them to a statistical analysis of what chucks (that is, words, phrases, what have you) are likely to follow which other chunks.
while the outputs tend to make little sense, it is "interesting" to see what kinds of "statistically probably" examples of language a computer can make based on the training (input) you've given it
Re:Markov Chaining (Score:2)
You May be a Cunning Linguist (Score:3, Funny)
Go for it! (Score:1)
For more ideas, see the list of courses offered at CMU's Language Technologies Institute, and pick the introductory ones.
To all those saying "why do this in undergrad?", here's why: because a Bachelors degree doesn't matter a whit. You could have a BA in English, and go on to get a job in software engineering; you could have a BS in Chemistr
Re:Go for it! (Score:2)
That's not necessarily true. It's true that you could easily find yourself working in a field that you didn't study as an undergrad, but I think you'll find that it's difficult to make the transition to a STEM (science, technology, engineering, and mathematics) field if you didn't major in one of these things. Ten years ago, you could find a job in soft
Re:Go for it! (Score:2)
Start talking to professors (Score:2, Insightful)
Something to keep in mind whenever you want to have a group of people approve of something is to already know that they will. Start talking to the advising staff. In particular start talking to professors. They would need to approve, and for a custom major you'll likely need an adviser. Who on the faculty do you think would be appropriate? Approach t
Don't Make Your Own (Score:2, Insightful)
NCSU Prof. (Score:1)
http://www.csc.ncsu.edu/faculty/rodman/ [ncsu.edu]
Similar position here... similar interests... (Score:1)
What do scientists or engineers use when they want to simulate a reactor? How about design of equipment? Does everyone use Excel and Macros/Solver? Or Aspen???
Today I handed in a paper which did the design and pricing of a distillation
Re:Similar position here... similar interests... (Score:2)
Re:Similar position here... similar interests... (Score:1)
Re:Similar position here... similar interests... (Score:2)
Information Science? (Score:2)
Feel free to mail me for more information!
Consider a double major or a major + a minor (Score:1)
Speaking as the director of a new professional MA program in computational linguistics [washington.edu] at the University of Washington, I'd say the answer depends on what you plan to do next, and what specific computational linguistics courses are available there at MIT.
Successful computational linguists have strong programming skills, a deep understanding of algorithms and/or systems architecture, and a linguist's perspective on language, linguistic patterns and linguistic structures. An understanding of machine learni
anthropology (Score:2)
Re:anthropology (Score:1)
There's simply so much that CAN be done with NLP that not utilizing that knowledge in studying language aspects - such as in anthropoly - is just plain silly.
A major maybe, but not a whole degree (Score:1)
Your job prospects with a degree like this would probably be a lot worse than most CS graduates. It would be very hard for you to g
Re:An alternate approach (Score:1)
My experience (Score:1)
Stay the hell away from formal semantic modelling..its horrible.
You can access all edinburghs course informations via http://inf.ed.ac.uk/ [ed.ac.uk] if you want to see the kinds of things covered in each course.
I did Introduction to Computational Linguisti