These are the main points and resources for my talk, Applied NLP: Lessons from the Field, delivered at spaCy IRL 2019.
Summary
Natural Language Processing projects often fail in their conception, in their delivery, or in their impact. To identify good candidate problems for NLP, talk to the client presenting you with a problem and first discuss how you would solve the problem without NLP. To successfully deliver an NLP project, acknowledge that project management is a skill and learn how to do it well: communicate the uncertainty you face and come up with metaphors to explain your work to non-technical stakeholders. Communicate your work beyond your client deliverables to guide other applied NLP practitioners, guiding them towards success and pointing them away from pitfalls.
1. Identifying Good Problems & Partners
How would you solve this problem without NLP? | |
Persona and response | Implication |
Anodyne Andy doesn’t know the problem | They need to provide more information about the problem, data, and business process. They need to see examples of what NLP can do. |
Easy Ed wants other options | They have a data collection or data management problem for you to solve first. This can set the groundwork for future NLP problems. |
Show-off Sarah wants to do “AI” | They might expect magic or your results will be ignored. Set expectations, describe data requirements, show them NLP examples and make sure they understand the limitations. |
Helpful Hannah has structured data | They have supplemental data that will help you. Get your hands on it. Use it to better understand the data you might use for NLP. Combine NLP features with structured data. |
Labeling Larry has “labeled” data | They might label data or already have data labeled under a different annotation scheme. Their data management process can probably be improved. |
Prepared Pam understands the problem and NLP | They understand NLP through conversations with you. Get your hands on the data. (Trust, but verify) |
2. Project Delivery
Level up in project management. Reduce discomfort and anxiety by communicating uncertainty: use an experiment log as a project status report. (Project Management for the Unofficial Project Manager, Why are machine learning projects so hard to manage?, Product Management for AI)
Develop metaphors for the work you do. Good metaphors increase understanding and support among non-technical stakeholders. (Why do businesses fail at machine learning?, Visual Metaphor, IDEO Nature Cards)
3. Trail Blazing
NLP Researchers do a fantastic job of exploring the frontier; it is our job as Applied NLP Practitioners to help others understand the felicity of NLP.
Conference proceedings and journals aren’t always appropriate for applied work: communicate what you do, where you succeeded, and possible pitfalls through a blog. (Why you (yes, you) should blog, Write Short Blogposts)
If your project involves private client data, solve an analogous problem with public data. (Kaggle Datasets; Search: “NLP”, Data is Plural, nlp-datasets on GitHub)