主要内容

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

这个例子展示了如何创建一个用于拼写纠正的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个令牌:使用扩展字典减少错别字的数量。

在这里,“减少”一词被更正为“减少”。

另请参阅

|

相关的话题