Software Engineer - Natural Language Processing

We are looking for a Natural Language Processing (NLP) Engineer to help us improve our NLP tools and create a framework for developing next-generation NLP/AI applications. NLP Engineer’s responsibilities include developing syntactic & semantic grammar, knowledge representations, rule-based or machine-learning-based NLP pipeline tools and inference engines for intelligent dialogue systems and cloud services. To succeed in this role, you should possess outstanding skills in problem analysis, coding, statistical analysis, machine learning methods, and knowledge representation techniques. Your ultimate goal is to develop efficient NLP tools for near-human-level natural language understanding (NLU) and Explainable AI.


Your responsibilities may involve one or more of the following tasks:

  • Design Chinese/English Syntactic & Semantic Grammar.
  • Design knowledge representations (Lexicon, Ontology, Logical Form, Knowledge Graph, and Common Sense Knowledge Rules).
  • Develop rule-based or machine-learning-based NLP pipeline tools (Segmentation, NER, Syntactic & Semantic Parsers, Co-reference Resolution, Discourse Analysis, and Logical Form to Knowledge-Graph Conversion).
  • Develop Knowledge Graph based Inference Engines for Question Answering, Free Chatting, and Persona Assistant.
  • Develop automatic Domain Language Model and Ontology Generation tools.
  • Develop automatic Knowledge Acquisition tools including Common Sense Crowd Sourcing tools.

  • Proven experience as an NLP pipeline development Engineer or similar role.
  • Understanding of NLP techniques for text and knowledge representation, syntactic and semantic parsing techniques, data structures and modeling.
  • Ability to effectively design software architecture.
  • Deep understanding of text representation techniques (such as n-grams, bag of words, sentiment analysis etc), statistics and classification algorithms.
  • Knowledge of Python or Java.
  • Ability to write robust and testable code.
  • Experience with machine learning frameworks and libraries.
  • Strong communication skills.
  • An analytical mind with problem-solving abilities.
  • Degree in Computer Science, Mathematics, Computational Linguistics or similar field.