Question: First I need to programmatically get tags (unlike what is done here on stackoverflow) from the titles and descriptions of my posts. I don't want commonly used words to appear in keywords. Is there an efficient way of doing this? 

After getting good tags, I would like to save them in MySQL DB.

Now, how do I **efficiently** get related posts using these automatically created tags? E.g. What is done here.

Answer: 
I don't see how this would be possible without you having some sort of list.. how would your app know what words to use and not use? I suppose you could find a thesauraus that you could API into and use this to find tags, it would get rather complex, if you're looking to do it for SEO reasons, you could make the app look for words based off a keyword list, such as one you get from google keyword tool.. 

as far as how to do this, I use PHP all the time and think its great for building web apps but for this sort of thing, (processing of a lot of text data, regex, etc) I tend to have problems in PHP, maybe its just me, but I prefer using perl
Headup may also help with this task (just as Open Calais). You can check it out here, and see if it works for you:

<http://labs.headup.com/Services/RealTime/API/EntitiyExtraction/Playground.aspx>

If needed, there's also an API.

(Disclaimer: I'm a developer @SemantiNet and work on this product... We'd love to help).

Good luck!