主要内容

创建用于拼写校正的扩展字典

这个示例展示了如何创建一个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标记:使用扩展字典减少拼写错误的数量。

这里,"递减"这个词被更正为"递减"

另请参阅

|

相关的话题