User story is a widely adopted requirements notation in agile development. Generally, user stories are written by customers or users in natural language with limited format, but there are often some defects in the writing of user stories. The typical detects include the lack of necessary information to make it difficult to understand, and the ambiguous expressions make the requirements impossible to estimate, and some stories have duplicates and conflicts. These defects affect the quality of requirements, resulting in incomplete, inconsistent, untestable, and so on. This paper proposes an automated approach for detecting the defects in user story requirements and improving the quality of user stories. First, a conceptual model of user story for defect identification is proposed. An approach based on structural analysis, syntactic analysis and semantic analysis is used for constructing the conceptual model. Secondly, 11 quality criteria are summarized from the actual cases and used to identify the defects in the user stories. An experimental study is carried out on a story set with 36 user stories and 84 scenarios. The automatic detection tool reports 173 defects, and the precision and recall of the reported results are 88.79% and 95.06%, respectively.