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

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.

主站蜘蛛池模板: 盐城市| 昌邑市| 永仁县| 定边县| 武陟县| 高邮市| 永州市| 房山区| 邹城市| 双牌县| 临高县| 天峻县| 太和县| 扎鲁特旗| 秀山| 芦山县| 金秀| 本溪| 梅州市| 哈尔滨市| 弥勒县| 仲巴县| 达孜县| 资溪县| 阿拉善右旗| 大宁县| 咸阳市| 皮山县| 桓仁| 普安县| 合山市| 新邵县| 会泽县| 凤阳县| 武穴市| 同江市| 通海县| 钦州市| 井冈山市| 微山县| 奎屯市|