创建用于拼写纠正的扩展字典
这个例子展示了如何创建一个用于拼写纠正的Hunspell扩展字典。
当使用用语
函数,函数可以更新一些拼写正确的单词。要提供已知单词的列表,可以使用KnownWords选项直接使用已知单词的字符串数组。或者,您可以指定一个Hunspell扩展字典(也称为个人字典),指定已知单词、禁用单词和词缀规则旁边的单词列表。
指定已知单词
创建一个标记化文档数组。
STR = [“用MATLAB来纠正单词的拼写。”“正确拼写的单词对词形化很重要。”“文本分析工具箱提供拼写纠正功能。”];documents = tokenizedDocument(str);
方法更正文档的拼写用语
函数。
updatedDocuments = correctSpelling(文档)
updatedDocuments = 3x1 tokenizedDocument: 9 token:使用MAT LAB来纠正单词的拼写。8 .标记:正确拼写的单词对于合法化很重要。9令牌:文本分析工具箱提供了拼写纠正功能。
该函数已经纠正了单词" words "和"providesfunctions"的拼写,尽管它也更新了一些正确拼写的单词:
输入词“MATLAB”被拆分为“MAT”和“LAB”两个词。
输入词“lematizing”已改为“合法化”。
输入单词“Analytics”已更改为“Analytic”。
若要创建包含已知单词列表的Hunspell扩展字典,请创建.dic
包含这些单词的文件,每行一个单词。创建一个带有name的扩展字典knownWords.dic
文件中包含“MATLAB”、“lemmization”和“Analytics”。
MATLAB分析软件
再次更正文档的拼写,并指定扩展字典knownWords.dic
.
updatedDocuments = correctSpelling(文档,“ExtensionDictionary”,“knownWords.dic”)
updatedDocuments = 3x1 tokenizedDocument: 8 token:使用MATLAB纠正单词拼写。8 .标记:正确拼写的单词对于词根化很重要。9令牌:文本分析工具箱提供了拼写纠正功能。
指定词缀规则
当指定具有相同词根的多个单词时(例如,指定单词“lemmatize”、“lemmatizer”、“lemmized”等),可以更容易地指示一组词缀规则。您可以指定特定的单词来继承一组词缀规则,而不是使用不同的词缀多次指定同一个单词。
例如,创建标记化文档的数组并使用用语
函数。
STR = [“一个分解器把单词还原成字典里的形式。”使用normalizeWords函数对单词进行lemalize。“在归纳之前,在文本中添加词性细节。”“在单词云中显示词素化的单词。”];documents = tokenizedDocument(str);updatedDocuments = correctSpelling(文档)
updatedDocuments = 4x1 tokenizedDocument: 9个token:一个合法化的减少词到他们的字典形式。10 token:要使单词合法化,请使用normalize words函数。12个标记:在合法化之前,在文本中添加词性细节。8令牌:在单词云中显示合法的单词。
注意,单词“normalizeWords”和“lemmatize”的变体没有正确更新。
创建一个带有name的扩展字典knownWordsWithAffixes.dic
文件中包含单词“normalizeWords”和“lematize”。对于单词“lemmatize”,还指定还包括单词“equalize”的有效词缀“/”
的象征。
normalizeWords lemmatize /平衡
再次更正文档的拼写,并指定扩展字典knownWordsWithAffixes.dic
.
updatedDocuments = correctSpelling(文档,“ExtensionDictionary”,“knownWordsWithAffixes.dic”)
updatedDocuments = 4x1 tokenizedDocument: 9 token: lematizer将单词简化为字典形式。9令牌:使用normalizeWords函数对单词进行lemalize。12个标记:在词性化之前,在文本中添加词性细节。8令牌:在单词云中显示词素化的单词。
注意,“lemmatize”的变体没有改变。默认字典包含单词“equalize”,还通过“-r”和“-d”后缀分别识别单词“equalizer”和“equalized”。通过指定条目“lemmatize/equalize”,软件识别单词“lemmatize”以及与“equalize”对应的词缀扩展的其他单词。例如,单词“lemmatizer”和“lemmized”。
指定禁忌词
当使用用语
函数,函数可能会输出不需要的单词,即使字典中有更需要的单词。例如,对于输入单词“reduce”,则用语
函数可以输出单词“法令”。为了确保某些单词不会出现在输出中,您可以在扩展字典中指定禁用单词。
例如,创建一个标记化文档数组,并使用扩展字典纠正拼写knownWords.dic
.注意,这个字典包含了“MATLAB”这个词。
STR = [“用MATLAB分析文本数据。”“使用扩展字典减少错别字的数量。”];documents = tokenizedDocument(str);updatedDocuments = correctSpelling(文档,“ExtensionDictionary”,“knownWords.dic”)
updatedDocuments = 2x1 tokenizedDocument: 6 token:使用MATLAB分析文本数据。10个令牌:使用扩展字典规定输入错误的数量。
即使单词“reduce”在字典中,函数仍然可以选择其他单词作为匹配。在本例中,函数选择单词“法令”。
创建一个带有name的扩展字典knownWordsWithForbiddenWords.dic
文件中包含“MATLAB”一词,并指定禁止使用的词“法令”使用“*”
的象征。指定禁用词时,必须指定根词。例如,为了防止函数输出复数的“法令”,可以指定词根“法令”。
MATLAB *法令
使用扩展字典纠正文档的拼写knownWordsWithForbiddenWords.dic
.
updatedDocuments = correctSpelling(文档,“ExtensionDictionary”,“knownWordsWithForbiddenWords.dic”)
updatedDocuments = 2x1 tokenizedDocument: 6 token:使用MATLAB分析文本数据。10个令牌:使用扩展字典减少错别字的数量。
在这里,“减少”一词被更正为“减少”。