Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>> You guys seem confused: I'm not claiming that what you're calling semantics doesn't exist; I'm saying that it's merely convoluted syntactical rules, and calling it a different name is misleading.

Syntax and semantics, or structure and meaning, are completely different things- in fact they are entirely unrelated and their only association is by arbitrary convention (we all agree that certain structures are associated with specific meaning).

This is why you can do translation, for example- where you're essentially taking the semantics out of one kind of syntax and putting it into another.

In NLP it's easy enough to reproduce the structure of a corpus- simple, unsmoothed n-grams will do that well enough already and with a little more statistical elbow grease you can train a model that reproduces your text very well and even generates new text that looks quite resonable. Except of course that it rarely makes any sense at all. To generate text that is both syntactically correct and makes sense you need a lot more than that and we haven't really managed to do that except for very short durations (a few words at a time).

I'm saying: in NLP we can deal with structure very well indeed, but meaning is still a long way off. If it was just a matter of "more syntax", we'd have solved all our problems a long time ago.



Translation is hard precisely because semantics is carried by syntax -- when the syntax is radically different, you can only approximate the higher order structures.

If semantics were actually distinct and carried by both languages, you could translate without that loss of subtle meaning.

I also completely disagree with your last sentence: semamtics could easily be syntax that has rules which are hard to compute.

NLP has trouble with long-range (or broad) effects, which are (some of) what I mean by higher order syntax.


Syntax is usually used to describe those rules of a language that are easy to compute; so easy that you don't have to understand the meaning (semantics) to do it. E.g. you can point to a missing semicolon in a C program without understanding what the program does.

Of course you can call the rules of well-formedness "higher-order syntax" in the sense that the computation required to decide it is of a higher order than syntax, but the distinction between syntax and semantics is by no means unnatural. It has been discovered independently several times; some ancient studies of the syntax of Sanskrit have survived to this day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: