「学习内容总结自 coursera 上的 Natural Language Processing 课程」
课程中通过语义槽填充 (Semantic slot filling) 的例子来简单介绍三种实现方法。语义填充的问题如下:
show me flights from Boston to San Francisco on Tuesday.
show me | i want | can i see
等,即很多单词都可以填充到这个语义槽里面。一旦建立了这个 CFG ,可以用它来分析文本数据。
该方法的缺点是大量的工作都是基于手工的,必须自己或者语言学家来写出所有的规则。所以,很明显这是一项很庞大很耗时的工程。同时这种方法的记录不是很好,因为不能写下所有可能的城市。
优点是该方法精确度会很高。通常基于规则的方法拥有高精度低召回。• SHOW → show me | i want | can i see |…
• FLIGHTS → (a) flight | flights
• ORIGIN → from CITY
• DESTINATION → to CITY
• CITY → Boston | San Francisco | Denver | Washington
在 NLP 领域中,不仅数学知识很重要,语言知识也很重要。这一点是值得去记住的。
以上每个阶段的细节不会全部在课程中提到,因为有很多第三方的代码库能够帮我们做到这些事情。