Can you provide more detail on the comma rule.
I do text extraction for lynk.ly. First we clean the HTML for the page. Then remove a bunch of tags we consider not useful like script or embed.
Then we looked at all the opening tags and checked if they have specific text in them like "hide", "display:none". If it does, then we skip it the tag.
Finally we get text from a tag if its above a specific threshold.
This seems to have worked best for us.
To see it in action, check it out at lynk.ly