Just a few random thoughts as I was reading over something I wrote.
Out of context, something like “he’s a speaker” makes no sense, or at least requires a bunch more imagination to make sense of it. Could be that “speaker” is a title (like, “of the house”), but barring that, it’s really quite different from something like “he’s a swimmer.” Probably because we usually expect people to speak, but not necessarily to swim (but again, that can’t be quite right, because we usually expect people to be able to run, but “she’s a runner” is fine as a way to introduce someone, but “she’s a walker” is not. Maybe because “he’s a swimmer” (and “she’s a runner”) usually means that s/he swims/runs professionally, or at least competitively. Can you say “he’s a speaker” to mean his profession is giving speeches and lectures? Seems odd at best If you add an informative adjective like “traveling” or “political” maybe it improves).
But then consider what happens with certain adjectives:
> She’s a good speaker.
Here, she’s probably an orator or speech-giver. Plausible as part of an introductory description of someone. (“You should meet Sue. She’s a great speaker.” But strange: “…She’s a speaker.”)
> She’s a native speaker.
This is interesting, because this requires a context where the addressee can figure out what language “she” is a native speaker of. In fact, in this usage, _speaker_ has an optional PP-_of_ complement (“she is a native speaker of Japanese”). Not so for “she’s a good speaker”. We don’t say (usually) that someone is “a good speaker of lectures/speeches/addresses/…”.