Microsoft interview question

How would you implement Cortana?