我们究竟应该在什么时候在文本预处理管道中执行拼写校正?
When exactly should we perform spell correction in the text pre-processing pipeline?
纠正单词拼写的步骤必须在词库归一化(即词干提取、词形还原)之前还是之后完成?如果我们在词典规范化之后这样做,如果我们执行词形还原,这些词是否已经被简化为它们的词根形式?(通过传递 POS,即词的词性标记作为参数)所以不会有任何用处用于词典规范化后的拼写检查,对吗?
你应该首先纠正拼写。词形还原是在一些语料库上训练的,但由于我介绍了一些不属于它的部分,所以它可能不起作用。见下文:
# import these modules
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print("changing :", lemmatizer.lemmatize("changing", pos ="v"))
print("change :", lemmatizer.lemmatize("change"))
print("changer :", lemmatizer.lemmatize("changer"))
# # a denotes adjective in "pos"
print("changing :", lemmatizer.lemmatize("changyng", pos ="v"))
changing : change #<----------
change : change
changer : changer
changing : changyng #<-------
你看我刚把changing的拼写改成了changyng,没能进行词形还原
纠正单词拼写的步骤必须在词库归一化(即词干提取、词形还原)之前还是之后完成?如果我们在词典规范化之后这样做,如果我们执行词形还原,这些词是否已经被简化为它们的词根形式?(通过传递 POS,即词的词性标记作为参数)所以不会有任何用处用于词典规范化后的拼写检查,对吗?
你应该首先纠正拼写。词形还原是在一些语料库上训练的,但由于我介绍了一些不属于它的部分,所以它可能不起作用。见下文:
# import these modules
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print("changing :", lemmatizer.lemmatize("changing", pos ="v"))
print("change :", lemmatizer.lemmatize("change"))
print("changer :", lemmatizer.lemmatize("changer"))
# # a denotes adjective in "pos"
print("changing :", lemmatizer.lemmatize("changyng", pos ="v"))
changing : change #<----------
change : change
changer : changer
changing : changyng #<-------
你看我刚把changing的拼写改成了changyng,没能进行词形还原