这是一个有点挑衅性的观点,所以请注意(如果你觉得被它激怒了,请不要投反对票!):
在“过去”,当信息检索(IR)是 NLP 的主要任务之一时,有几类词被忽略为停用词;连词、限定词、介词等。这些虚词本身并不带有意义,而是组织句子的结构。大多数 IR 算法都在单个单词的频率上工作,并且由于函数单词非常频繁(of和the是两个最常见的英语单词)并且它们本身没有任何意义,因此它们被忽略了。这使索引文件保持较小,并且似乎不会影响结果。
但是,如果你想分析句子本身,它们是相当重要的。它们对于您正在查看单词序列的各种其他任务也很有用(例如,基于上下文的词性标记)。词嵌入也类似:没有功能词,您将没有任何有意义的上下文可以使用。所以,你越来越不会再忽略虚词了。
我的怀疑是,标点符号现在处于“停用词位置”:不太清楚它如何影响含义,并且通常不一致或多余(显然并非在所有情况下)。因此,对于大多数应用程序,您可能可以将其视为“噪音”并摆脱它。例如,查看单词的含义,它们出现的句子是问题还是感叹词可能并不重要。通过删除标点符号(可能除了句子终止符),您的模型会更小一些,并且不会丢失太多。
由于标点符号纯粹是书面语言的属性,我们通常可以不用它就可以逃脱,就像我们在演讲中所做的那样。没有标点符号的文本可能更难阅读,因为我们不习惯它,但不要忘记一些书写系统(中文、埃及象形文字……)甚至在单词之间没有空格——人们可以仍然可以毫无问题地使用它们。