|
| 1 | +--- |
| 2 | +title: Project lifecycle - question answering |
| 3 | +description: Question answering learns best in an iterative cycle of model changes, utterance examples, deployment, and gathering data from endpoint queries. |
| 4 | +ms.service: cognitive-services |
| 5 | +ms.subservice: language-service |
| 6 | +author: mrbullwinkle |
| 7 | +ms.author: mbullwin |
| 8 | +ms.topic: conceptual |
| 9 | +ms.date: 11/02/2021 |
| 10 | +--- |
| 11 | + |
| 12 | +# Question answering project lifecycle |
| 13 | + |
| 14 | +Question answering learns best in an iterative cycle of model changes, utterance examples, deployment, and gathering data from endpoint queries. |
| 15 | + |
| 16 | +## Creating a project |
| 17 | + |
| 18 | +Question answering projects/knowledge bases provide a best-match answer to a user query based on the content of the project. Creating a project is a one-time action to setting up a content repository of questions, answers, and associated metadata. A project can be created by crawling pre-existing content such the following sources: |
| 19 | + |
| 20 | +- FAQ pages |
| 21 | +- Product manuals |
| 22 | +- Q-A pairs |
| 23 | + |
| 24 | +Learn how to [create a knowledge base](../how-to/create-test-deploy.md). |
| 25 | + |
| 26 | +## Testing and updating your project |
| 27 | + |
| 28 | +The project is ready for testing once it is populated with content, either editorially or through automatic extraction. Interactive testing can be done in the Language Studio portal, in the custom question answering menu through the **Test** panel. You enter common user queries. Then you verify that the responses returned with both the correct response and a sufficient confidence score. |
| 29 | + |
| 30 | +* **To fix low confidence scores**: add alternate questions. |
| 31 | +* **When a query incorrectly returns the [default response](../How-to/change-default-answer.md)**: add new answers to the correct question. |
| 32 | + |
| 33 | +This tight loop of test-update continues until you are satisfied with the results. |
| 34 | + |
| 35 | +## Deploy your project |
| 36 | + |
| 37 | +Once you are done testing the project, you can deploy it to production. Deployment pushes the latest version of the tested project to a dedicated Azure Cognitive Search index representing the **published** project/knowledge base. It also creates an endpoint that can be called in your application or chat bot. |
| 38 | + |
| 39 | +Due to the deployment action, any further changes made to the test version of the knowledge base leave the published version unaffected. The published version can be live in a production application. |
| 40 | + |
| 41 | +Each of these projects/knowledge bases can be targeted for testing separately. |
| 42 | + |
| 43 | +## Monitor usage |
| 44 | + |
| 45 | +To be able to log the chat logs of your service and get additional analytics, you would need to enable [Azure Monitor Diagnostic Logs](../how-to/analytics.md) after you create your language resource. |
| 46 | + |
| 47 | +Based on what you learn from your analytics, make appropriate updates to your project. |
| 48 | + |
| 49 | +## Version control for data in your knowledge base |
| 50 | + |
| 51 | +Version control for data is provided through the import/export features on the project page in the question answering section of the Language Studio portal. |
| 52 | + |
| 53 | +You can back up a project/knowledge base by exporting the project, in either `.tsv` or `.xls` format. Once exported, include this file as part of your regular source control check. |
| 54 | + |
| 55 | +When you need to go back to a specific version, you need to import that file from your local system. An exported **must** only be used via import on the project page. It can't be used as a file or URL document data source. This will replace questions and answers currently in the knowledge base with the contents of the imported file. |
| 56 | + |
| 57 | +## Test and production project |
| 58 | + |
| 59 | +A project/knowledge base is the repository of questions and answer sets created, maintained, and used through question answering. Each language resource can hold multiple projects/knowledge bases. |
| 60 | + |
| 61 | +A project/knowledge base has two states: *test* and *published*. |
| 62 | + |
| 63 | +### Test project/knowledge base |
| 64 | + |
| 65 | +The *test knowledge base* is the version currently edited and saved. The test version has been tested for accuracy, and for completeness of responses. Changes made to the test knowledge base don't affect the end user of your application or chat bot. The test knowledge base is known as `test` in the HTTP request. The `test` knowledge is available with the Language Studio's interactive **Test** pane. |
| 66 | + |
| 67 | +### Production project/knowledge base |
| 68 | + |
| 69 | +The *published knowledge base* is the version that's used in your chat bot or application. Publishing a knowledge base puts the content of its test version into its published version. The published knowledge base is the version that the application uses through the endpoint. Make sure that the content is correct and well tested. The published knowledge base is known as `prod` in the HTTP request. |
| 70 | + |
| 71 | +## Next steps |
| 72 | + |
| 73 | +> [!div class="nextstepaction"] |
| 74 | +> [Active learning suggestions](../tutorials/active-learning.md) |
0 commit comments