0

While my research area is in Machine Learning (ML), I am required to take a project in Programming Languages (PL). Therefore, I'm looking to find a project that is inclined towards ML.

One intersection I know of between the two fields is Natural Language Processing (NLP), but I couldn't find concrete papers in that topic that are related to PL; perhaps due to my poor choice of keywords in the search query.

The main topics in the PL course are : Syntax & Symantics, Static Program Analysis, Functional Programming, and Concurrency and Logic programming

If you could suggest papers or keywords that are Machine Learning enthusiast friendly, that would be highly appreciated!

Kara
  • 6,115
  • 16
  • 50
  • 57
IssamLaradji
  • 6,637
  • 8
  • 43
  • 68
  • 1
    As a PL grad student with an interest in linguistics: NLP and PL have nearly nothing, *a priori*, to do with each other. The only listed topic which might *appear* to overlap with NLP is syntax & semantics; however, the PL questions referred to are about math, whereas the NLP questions involve translating from a messy human domain into a formal model. That's not to say there couldn't be any connections (Larry Wall, who designed Perl, has linguistic training, which gives Perl some interesting features, such as the pronouns `$_` and `@_`), but finding them would be a question much like this one. – Antal Spector-Zabusky Sep 10 '13 at 10:48
  • Although I suppose I should add that I might have my pure-theory / type-theoretic blinders on and be missing something obvious. But I suppose what I really mean to say is that I don't think NLP sits within the intersection of ML and PL. I do think that *the intersection of PL and NLP* might be a cool place to be, and it might be easier to find, but it's probably still non-obvious. – Antal Spector-Zabusky Sep 10 '13 at 10:53
  • I agree with @AntalS-Z. I wouldn't say that NLP is an intersection between ML and PL. ML is a series of techniques and algorithms. NLP is (these days) ML applied to natural language. PL is formal research on formal programming languages. Some programming languages may be better suited for ML or NLP than others, but PL-theory courses don't necessarily even touch on programming language applications. I'm really not sure that PL research and topics are on the same plane as ML to try to find an intersection. – arturomp Sep 10 '13 at 17:04
  • Prolog has some interesting NLP-PL intersection since it's a non-standard programming language used in AI like [in Watson](http://www.cs.nmsu.edu/ALP/2011/03/natural-language-processing-with-prolog-in-the-ibm-watson-system/) (and you can certainly implement ML algorithms in it, like in many other languages). That being said, Charles Sutton does some NLP resarch on PL:homepages.inf.ed.ac.uk/csutton. – arturomp Sep 11 '13 at 21:22

3 Answers3

3

Another very important intersection in these fields is probabilistic programming languages, which provide probabilistic inference over models specified as actual computer programs. It's a growing research field, including a recently started DARPA program on this topic.

Tom Palmer
  • 463
  • 5
  • 10
2

If you are interested in NLP, then I would focus on two aspects of listed PL disciplines:

  • Syntax & Semantics - as this is incredibly closely realted to the NLP field, where in most cases the understanding is based on the various language grammars. Searching for papers regarding language modeling, information extraction, deep parsing would yield dozens of great research topics which are heavil related to the sytax/semantics problems.
  • logic programming -"in good old years" people believed that this is a future of AI, even though it is not (currently) true, it is still quite widely used forreasoning in some fields. In particular, prolog is a good example of language that can be used to reson (for example spatial-temporal reasoning) or even parse language (due to its "grammar like" productions).

If you wish to tackle some more ML related problem rather then NLP then you could focus on concurrency (parallelism) as it is very hot topic - making ML models more scalable, more efficient, "bigger, faster, stronger" ;) Just lookup keywords like GPU Machine Learning, large scale machine learning, scalable machine learning etc.

Community
  • 1
  • 1
lejlot
  • 64,777
  • 8
  • 131
  • 164
1

I also happen to know that there's a project at the University of Edinburgh on using machine learning to analyse source code. Here's the first publication that came out of it

Ben Allison
  • 7,244
  • 1
  • 15
  • 24