Annotating your data that way is probably not that useful. The raw Affy annotation is, shall we say, messy. Also note that the default summarization for Gene ST arrays (and the level that IMO you should only ever summarize the Gene ST arrays) is the 'core' or 'transcript' level, and you asked for the 'probeset' level annotation, so you have a mismatch. In addition, there are any number of things on these arrays that won't have any annotation per se. The first N probesets on the array are classified as normgene->intron, which is a background control probe that is supposed to be a background because they are complementary to intronic sequences. Because Affy somehow seems to think you wouldn't get signal from introns when using random primers, which just boggles the mind, but whatever.
Anyway, don't do that. Instead, you want to use the hugene20sttranscriptcluster.db package. You most likely want to use the select() function:
gns <- select(hugene20sttranscriptcluster.db, featureNames(celfiles), c("ENTREZID","SYMBOL","GENENAME"))
But do note that a.) this will return one-to-many mappings, because a given probeset may interrogate multiple things, and b.) for this release, it will do that silently - you won't get a warning, so you have to remember this! I usually do the most naive thing possible, which is
gns <- gns[!duplicated(gns[,1]),]
And then you could stuff that into an AnnotationDataFrame and put it in your ExpressionSet. If you forget to subset and try to put that into your ExpressionSet, you will get a warning, so at least there is some protection when using that route.