What is the difference between the tags and ?

Both tags are used, but it seems to me they should be synonymous. The tag wiki states:

Natural language processing studies the algorithmic analysis and production of texts in human languages. It is closely related to computational linguistics. Modern NLP techniques make heavy use of .

But, since there is a tag , I think we do not really need this duplication, except as synonyms, since people tend to use one name or the other.

  • 1
    $\begingroup$ I'm not an expert, but I think NLP is more concerned with extracting semantic data from text whereas CL wants to model/disseminate language/grammar itself, e.g. with the goal of translation. Maybe we can ask the folks on Linguistics? (I guess they would to CL but maybe not NLP.) $\endgroup$ – Raphael Nov 28 '14 at 13:48
  • 1
    $\begingroup$ The difference is too tenuous to justify two independent keywords when we are already swamped. Furthermore, I looked at the natural-lang-processing question, and most of them fall nicely into computational-linguistics. And there are other tags such as artificial-intelligence, machine-learning, or classification. The tag computational-linguistics is hardly used (5 questions),one including also natural-lang-processing, and another using NLP in the title and CL only as tag. Anyone subscribing to one should subscribe to the other. Not worth distinguishing. $\endgroup$ – babou Nov 28 '14 at 18:04
  • $\begingroup$ Wrong and/or little use of tags does not justify merging/removing them. If NLP and CL are different fields in the science, they should be different tags here. $\endgroup$ – Raphael Dec 2 '14 at 17:21
  • $\begingroup$ @Raphael I thought it might be wise to get facts from the horse's mouth. So I asked: What is the difference between Computational Linguistics and Natural Language Processing? I hope it is not cross-posting: I was explicit about this first post. $\endgroup$ – babou Dec 2 '14 at 23:42
  • 1
    $\begingroup$ Good call. I think the "cross-post" is justified in this case, as the discussion is valid (and independent) on both sides. I'm curious what their discussion will yield. (For general reference, note this thread which discusses the difference of the academic subfields.) $\endgroup$ – Raphael Dec 3 '14 at 11:20

AFAIU, CL is more general than NLP. So you can think of NLP as a subarea of CL. CL itself is subcategory of AI. ML is a completely different area of AI.

  • $\begingroup$ ps: generally I think it is better to let experts in the area decide what is appropriate for the tags. So I think we shouldn't make the two synonyms even if we decide to merge for the current questions. $\endgroup$ – Kaveh Dec 9 '14 at 7:54
  • $\begingroup$ So you are suggesting removing NLP altogether? $\endgroup$ – babou Dec 9 '14 at 8:49
  • $\begingroup$ @babou That doesn't follow from inclusion. Note how we have regular-languages even though we have the more general formal-languages. "Hierarchies" are quite useful, in fact. $\endgroup$ – Raphael Dec 9 '14 at 18:34
  • $\begingroup$ I'm not convinced that your last sentence is valid. Not being an expert myself, it seems to me that CL, as it happens, may be an overlap area (what do ML people do when their input is natural language?). That said, since the tags artificial-intelligence and machine-learning have not been questioned, we don't have to find a consensus in this. $\endgroup$ – Raphael Dec 9 '14 at 18:35
  • $\begingroup$ @Raphael My point was that having 2 tags, which in the wide context of all CS bring little differentiation, are misunderstood, an become more a problem than a solution, it would be wise to have only one. Apparently CL is considered the wider topic. So I see the alternative as making them synonyms or keeping only CL. If we are "to merge for the current questions", without making synonyms, it means keeping only CL. AI is much wider, and ML clearly differentiated. I stand by what I suggested. $\endgroup$ – babou Dec 9 '14 at 21:32
  • $\begingroup$ @Raphael, CL sometime uses ML, sometimes uses other things like categorical semantics (which has nothing to do with ML). $\endgroup$ – Kaveh Dec 10 '14 at 7:16
  • 1
    $\begingroup$ @babou, no, I am not suggesting that (or anything). If you want my opinion, I think we should leave the tags as they are. At most we can move them from NLP to CL, but without making them synonym (I don't see a strong argument for NLP not being useful subtag of CL, and arguing over it at this point is not very useful since we are not CL experts). When we have more CL/NLP questions and experts we can revisit this. $\endgroup$ – Kaveh Dec 10 '14 at 7:19
  • $\begingroup$ @Raphael I understood that getting a well organized set of tags was one objective of site management. I can only notice that any attempt at doing that (it is not my first) will be resisted, and there are always arguments to resist it. If I understand you, the two tags were introduced by non-experts. I do not claim to be one, though I did part of my research in CL/NLP, and my feeling is that the difference is more sociological than technical. I also notice that having both does more harm than good. So my conclusion is that I am wasting my time, and that having good tags does not matter. $\endgroup$ – babou Dec 10 '14 at 8:30
  • $\begingroup$ @babou Good tags do matter, but "these tags are used wrong today" is not a reason for reflecting this wrongness in the tags. Also, you need to think about tomorrow: if two things are distinct, do you want to (re)tag only when there are enough of both to "warrant the effort"? Hint: retagging is lots of work and disrupts the main page. $\endgroup$ – Raphael Dec 10 '14 at 11:20
  • $\begingroup$ @Raphael There is just no reason this should change in the future. Basically, questions that are relevant to CS are CL, not NLP. To be blunt, my perception is that NLP is to CL pretty much what hacking is to CS, or more politely what implementations are to CS. And we do not have a tag for hacking or implementation. $\endgroup$ – babou Dec 10 '14 at 11:26
  • $\begingroup$ @babou Then you should lay out your line of reasoning in an answer in order to enable discussion, as opposed to starting with that view as an assumption (which, clearly, not everybody shares). (Note that you propose synonyms in the question, and now claim distinctness; that's inconsistent.) $\endgroup$ – Raphael Dec 10 '14 at 11:29
  • $\begingroup$ I think, and said so, that the difference is mostly a cultural one. People with formal background in CS will tend (afaik) to see CL, i.e. a CS view on linguistic problems, while people with a more linguistic background tend to see the computer as just a tool to process their NL problems, the theoretical part being linguistic theory rather than mathematical and computation theory. But I want to stop here. I did my contribution as I saw fit, best as I could. If you do not want it, it is can no longer be my problem. $\endgroup$ – babou Dec 10 '14 at 11:45
  • $\begingroup$ @Raphael Just a last example I had forgotten about. This question was tagged NLP. Actually it is primarily a CL question with a rather precise answer, which is significantly more complex than what the OP wants ... as he clearly does not understand what he his talking about. But he is a hacker and wants a drawing. He was quite happy with the answer which looks like one, though it does not reflect accurately the answer to what he wants (but he does not realizes it). I know all that because the question is a crosspost with linguistics. $\endgroup$ – babou Dec 10 '14 at 11:57

I may perceive things differently than the general perception, but here's how I see it.

Computational Linguistics is a sub-field of linguistics. It is the application of computing to linguistics, the same way that computational chemistry is the application of computing to chemistry.

To me, Natural Language Processing is the sub-field of AI, which is concerned with algorithmically understanding human language. Closely related is Natural Language Generation.

If we are deleting one tag, I would lean towards deleting Computational Linguistics.

  • 1
    $\begingroup$ The problem is that this view is in no way backed by the literature in computational linguistics, which is often quite remote from the interests of linguists. For example, most of the research on Tree Adjoining Grammars (TAG) was conducted by people who published in CL journals and conferences. Much of it is closer to CS than it is to linguistics.I do not know that linguist are seriously interested in TAGs. $\endgroup$ – babou Dec 10 '14 at 22:00
  • $\begingroup$ I think we should make decisions not on how terms should have meant but on how they are used by people working in the field. arXiv uses "computation and language" for the area, ACM CSS 2012 does not have CL but has NLP. I think the tags do not seem to be causing any major problem at the moment so we can leave the issue to future when we have experts working in the field who can weight on it. $\endgroup$ – Kaveh Dec 14 '14 at 21:15

We should get rid of .

We have 72 questions tagged and 9 tagged . That already is a hint about which one people are selecting, which should partly guide our decision.

Moreover, I looked over all 9 questions tagged , and every one falls into one of three categories:

In my view, there's not enough question traffic or value in the distinction to warrant two tags; and even if there were, in practice people aren't using the tags in a way that's consistent with that distinction.

So let's make become a synonym of and get rid of it.

  • $\begingroup$ Assume we'd get higher traffic in the area of computational linguistics. Are there not questions that are not strictly about NLP, because they deal with more abstract issues? That is, if the subset relation Kaveh proposes is strict and the difference is non-trivial, having a synonym might be harmful. $\endgroup$ – Raphael Aug 30 '16 at 11:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .