官术网_书友最值得收藏!

NLP workflow template

Some of us would love to work on Natural Language Processing for its sheer intellectual challenges across research and engineering. To measure our progress, having a workflow with rough time estimates is really valuable. In this short section, we will briefly outline what a usual NLP or even most applied machine learning processes look like.

Most people I've learned from like to use a (roughly) five-step process:

  • Understanding the problem
  • Understanding and preparing data
  • Quick wins: proof of concepts
  • Iterating and improving the results
  • Evaluation and deployment

This is just a process template. It has a lot of room for customization regarding the engineering culture in your company. Any of these steps can be broken down further. For instance, data preparation and understanding can be split further into analysis and cleaning. Similarly, the proof of concept step may involve multiple experiments, and a demo or a report submission of best results from those.

Although this appears to be a strictly linear process, it is not so. More often than not, you will want to revisit a previous step and change a parameter or a particular data transform to see the effect on later performance.

In order to do so, it is important to factor in the cyclic nature of this process in your code. Write code with well-designed abstractions with each component being independently reusable.

If you are interested in how to write better NLP code, especially for research or experimentation, consider looking up the slide deck titled Writing Code for NLP Research, by Joel Grus of AllenAI.

Let's expand a little bit into each of these sections.

主站蜘蛛池模板: 邯郸县| 龙海市| 赤城县| 新绛县| 博爱县| 康马县| 嫩江县| 泌阳县| 新宁县| 正定县| 灵寿县| 英吉沙县| 长宁区| 商水县| 新昌县| 青铜峡市| 日喀则市| 桂阳县| 房产| 东乌珠穆沁旗| 都昌县| 石柱| 凤城市| 绥江县| 瑞昌市| 鹤峰县| 当涂县| 福泉市| 惠水县| 扶绥县| 河源市| 龙泉市| 榆树市| 阳高县| 长白| 波密县| 铜鼓县| 泰兴市| 尚义县| 博兴县| 岱山县|