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