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

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.

主站蜘蛛池模板: 桦川县| 孝义市| 灵台县| 汉源县| 阳春市| 兴业县| 丰都县| 江口县| 建宁县| 云梦县| 罗江县| 通海县| 石家庄市| 珠海市| 会昌县| 靖边县| 二连浩特市| 五莲县| 柯坪县| 桂林市| 富锦市| 平湖市| 会昌县| 宣恩县| 大足县| 金秀| 肃南| 吕梁市| 沛县| 开江县| 武城县| 旅游| 板桥市| 昌吉市| 福安市| 富源县| 民权县| 遵化市| 中方县| 秦皇岛市| 和田市|