史迪仔Ly LV
发表于 2025-4-9 19:52:41
只是自己的一点浅见.
1.关于整体的知识树
李航大牛总结的很好了:
自然语言处理基本任务: 分类、匹配、翻译、结构化预测、与序列决策过程.
(Li, Hang. "Deep learning for natural language processing: advantages and challenges." National Science Review (2017).)
另外, 在上面的诸多
model: s |-> ?
? = {c, R+, t, , a}
之前, 实际这里的s并不一定是原始的字符序列, 而是可能经过一系列处理和加标注后的序列.
这里的处理按照从拿到原始序列开始的顺序一步一步的包括:
{非法字符处理, tokenizer/chunker, POS tagger, parser, etc}
(当然实际中这些处理有可能是一步步cascade地做的, 也有可能是jointly一起做的)
根据语言的不同, 以及任务的不同还有其他过程:
比如在英语里, 一个细节问题是如何区分一个点是句号还是缩写符号.
比如如果是Information Extraction有关的东西, 还会有coreference等等的工作.
2. 关于资料和方法论
资料的话不用推荐, 在这个行当混反正早晚都会知道. 只推荐一下michael collins的讲义, 在他的主页上有, 一搜就行.
泛一点的方法论来说, 自然语言处理很大一部分精力在于如何和序列打交道. 打交道具体指:
representation, learning 和 inference. 然后这里的representation大家有两个意思:
1)建模的时候具体的modeling方法
2)对于序列本身的表示, 比如说bag-of-words和word-vec等
具体些的方法论的话, 觉得可以粗略地分为深度学习的方法和非深度学习的方法两条线.
细节实践的话, 参照 @斤木 的回答就行, 超棒. |
|