主要内容

tokenizedDocument

用于文本分析的标记化文档数组

描述

标记化文档是表示为单词集合的文档(也称为令牌),用于文本分析。

使用标记化文档:

支持英文、日文、德文、韩文万博1manbetx。学习如何使用tokenizedDocument有关其他语言,请参见语言的注意事项

创建

描述

文档= tokenizedDocument创建不带标记的标量标记文档。

例子

文档= tokenizedDocument (str令牌化字符串数组的元素并返回令牌化文档数组。

例子

文档= tokenizedDocument (str名称,值使用一个或多个名称-值对参数指定其他选项。

输入参数

全部展开

输入文本,指定为字符串数组、字符向量、字符向量的单元格数组或字符串数组的单元格数组。

如果输入文本还没有被分割成单词,则str必须为字符串数组、字符向量、字符向量的单元格数组或字符串标量的单元格数组。

例子:["一个短文档的例子";"第二个短文档"]

例子:“单个文档的示例”

例子:{'短文档的示例';'第二个短文档'}

如果输入文本已经被分割成单词,则指定“TokenizeMethod”“没有”.如果str包含单个文档,则它必须是单词的字符串向量、字符向量的行单元格数组或包含单词的单个字符串向量的单元格数组。如果str包含多个文档,则它必须是字符串数组的单元格数组。

例子:["an" "example" "document"]

例子:{“一个”,“例子”,“文档”}

例子:{[“a”“短”“文档”的“示例”]}

例子:{(“一个”“例子”“”“”“短”“文档”);[“一”“二”“短”“文档”)}

数据类型:字符串|字符|细胞

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:DetectPatterns,{“电子邮件地址”,“网址”}检测电子邮件地址和网址

方法对文档进行标记,指定为逗号分隔的对,由“TokenizeMethod”和以下其中之一:

  • unicode的-使用基于Unicode的规则标记输入文本®标准附件#29[1]以及ICU标记器[2].如果str是单元格数组,那么元素是什么呢str必须是字符串标量或字符向量。如果“语言”“en”“德”,然后unicode的是默认值。

  • “mecab”-使用MeCab标记器标记日语和韩语文本[3].如果“语言”“ja”“柯”,然后“mecab”是默认值。

  • mecabOptions对象-使用指定的MeCab选项标记日文和韩文文本mecabOptions对象。

  • “没有”-不要对输入文本进行标记。

如果输入文本已经被分割成单词,则指定“TokenizeMethod”“没有”.如果str包含单个文档,则它必须是单词的字符串向量、字符向量的行单元格数组或包含单词的单个字符串向量的单元格数组。如果str包含多个文档,则它必须是字符串数组的单元格数组。

要检测的复杂标记的模式,指定为由逗号分隔的对组成的“DetectPatterns”而且“没有”“所有”,或包含下列一个或多个元素的字符串或单元格数组。

  • “电子邮件地址”—检测邮件地址。例如,对待“user@domain.com”作为单一令牌。

  • “网址”—检测网址。例如,对待“//www.tianjin-qmedu.com”作为单一令牌。

  • “标签”-检测标签。例如,对待“# MATLAB”作为单一令牌。

  • 一提到他的-检测提及。例如,对待“@MathWorks”作为单一令牌。

  • “表情符号”-检测表情符号。例如,对待“:- d”作为单一令牌。

如果DetectPatterns“没有”,则该函数不检测任何复杂的令牌模式。如果DetectPatterns“所有”,然后该函数检测所有列出的复杂令牌模式。

例子:“DetectPatterns”、“标签”

例子:DetectPatterns,{“电子邮件地址”,“网址”}

数据类型:字符|字符串|细胞

要检测的自定义标记,指定为逗号分隔的对,由“CustomTokens”下面是其中之一。

  • 包含自定义标记的字符串数组、字符向量或字符向量的单元格数组。

  • 列中包含自定义令牌的表令牌对应的令牌类型为列类型

如果将自定义标记指定为字符串数组、字符向量或字符向量的单元格数组,则该函数将指定标记类型“自定义”.若要指定自定义令牌类型,请使用表输入。要查看令牌类型,请使用tokenDetails函数。

例子:“CustomTokens”,(“c++”“c#”]

数据类型:字符|字符串|表格|细胞

要检测的正则表达式,指定为由逗号分隔的对组成“RegularExpressions”下面是其中之一。

  • 包含正则表达式的字符串数组、字符向量或字符向量的单元格数组。

  • 包含正则表达式的表,列名为模式和列中对应的令牌类型类型

如果将正则表达式指定为字符串数组、字符向量或字符向量的单元格数组,则该函数将指定令牌类型“自定义”.若要指定自定义令牌类型,请使用表输入。要查看令牌类型,请使用tokenDetails函数。

例子:“RegularExpressions”,“版本:\ d +”“牧师:\ d +”)

数据类型:字符|字符串|表格|细胞

用于web地址检测的顶级域名,指定为由逗号分隔的对组成“TopLevelDomains”一个字符向量,字符串数组,或者字符向量的单元格数组。缺省情况下,该函数使用topLevelDomains

此选项仅适用于“DetectPatterns”“所有”或者包含“网址”

例子:'TopLevelDomains',["com" "net" "org"]

数据类型:字符|字符串|细胞

语言,指定为逗号分隔的对,由“语言”下面是其中之一。

  • “en”——英语。的默认值“TokenizeMethod”unicode的

  • “ja”——日本。的默认值“TokenizeMethod”“mecab”

  • “德”——德国。的默认值“TokenizeMethod”unicode的

  • “柯”——韩国人。的默认值“TokenizeMethod”“mecab”

方法从输入文本中检测语言corpusLanguage函数。

此选项指定令牌的语言细节。要查看令牌的语言详细信息,请使用tokenDetails这些语言细节决定的行为removeStopWordsaddPartOfSpeechDetailsnormalizeWordsaddSentenceDetails,addEntityDetails函数。

有关文本分析工具箱™中的语言支持的更多信息,请参见万博1manbetx语言的注意事项

例子:“语言”、“ja”

属性

全部展开

文档中的唯一单词,指定为字符串数组。这些单词没有任何特定的顺序。

数据类型:字符串

对象的功能

全部展开

erasePunctuation 删除文本和文档中的标点符号
removeStopWords 从文档中删除停止词
removeWords 从文档或单词袋模型中删除所选单词
normalizeWords 词干或词根化单词
用语 正确拼写单词
replaceWords 替换文档中的单词
replaceNgrams 替换文档中的n-grams
removeEmptyDocuments 从标记化文档数组、单词袋模型或n-grams袋模型中删除空文档
较低的 将文档转换为小写
将文档转换为大写
tokenDetails 标记化文档数组中标记的详细信息
addSentenceDetails 在文档中添加句子编号
addPartOfSpeechDetails 在文档中添加词性标签
addLanguageDetails 向文档添加语言标识符
addTypeDetails 向文档添加令牌类型详细信息
addLemmaDetails 向文档添加令牌的引理形式
addEntityDetails 为文档添加实体标签
writeTextDocument 将文档写入文本文件
doclength 文档数组中文档的长度
上下文 在文档中搜索上下文中出现的单词或n-gram
joinWords 通过连接单词将文档转换为字符串
doc2cell 将文档转换为字符串向量的单元格数组
字符串 将标量文档转换为字符串向量
+ 附加文件
取代 替换文档中的子字符串
docfun 对文档中的单词应用函数
regexprep 使用正则表达式替换文档中的文字
wordcloud 从文本、单词袋模型、n-grams袋模型或LDA模型创建词云图

例子

全部折叠

从字符串数组创建标记化文档。

STR = [一个短句的例子。“第二个短句”
str =2 x1字符串“一个短句的例子”“第二个短句”
documents = tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 6个符号:一个短句的例子4个符号:第二个短句

从字符串创建一个标记化文档str.默认情况下,该函数处理标签“# MATLAB”,表情符号“:- d”,以及网址“//www.tianjin-qmedu.com/help”作为单一的代币。

str =“学习如何在MATLAB中分析文本!”:-D参见//www.tianjin-qmedu.com/help/";文档= tokenizedDocument(str)
document = tokenizedDocument: 11 token:学习如何在#MATLAB中分析文本!:-D参见//www.tianjin-qmedu.com/help/

要将标签仅检测为复杂标记,请指定“DetectPatterns”选择是“标签”只有。然后,该函数对表情符号进行标记“:- d”还有网址“//www.tianjin-qmedu.com/help”变成多个令牌。

文档= tokenizedDocument(str,“DetectPatterns”“标签”
document = tokenizedDocument: 24 token:学习如何在#MATLAB中分析文本!: - D see https: / / www。mathworks。Com / help /

从文档数组中删除停止词removeStopWords.的tokenizedDocument函数检测文档是英文的,因此removeStopWords删除英语停顿词。

documents = tokenizedDocument([一个短句的例子。“第二个短句”]);newDocuments = removeStopWords(文档)
newDocuments = 2x1 tokenizedDocument: 3个标记:示例短句3个标记:第二个短句

使用波特词干分析器对文档数组中的单词进行词干。

documents = tokenizedDocument([“措辞强烈的词汇集”“另一组词”]);newDocuments = normalizeWords(文档)
newDocuments = 2x1 tokenizedDocument: 6个token:一个强有力的word集合。4个token:另一个word集合

tokenizedDocument函数在默认情况下拆分包含符号的单词和标记。例如,该函数将“c++”和“c#”拆分为多个令牌。

str =“我精通MATLAB、c++和c#。”;documents = tokenizedDocument(str)
documents = tokenizedDocument: 14个token:我熟悉MATLAB, c++, c#。

方法指定自定义令牌,以防止函数拆分包含符号的令牌“CustomTokens”选择。

文档= tokenizedDocument(str,“CustomTokens”,[“c++”“c#”])
documents = tokenizedDocument: 11 token:我熟悉MATLAB, c++和c#。

自定义令牌具有令牌类型“自定义”.查看token的详细信息。列类型包含令牌类型。

tdetails = tokenDetails(文档)
tdetails =11×5表令牌DocumentNumber LineNumber Type Language _____________ ______________ __________ ___________ ________ "I" 1 1字母en "am" 1 1字母en "experienced" 1 1字母en "在" 1 1字母en "MATLAB" 1 1字母en "," 1 1标点en " c++ " 1 1自定义en "," 1 1标点en "和" 1 1字母en " c# " 1 1自定义en "。"11 1标点符号en

若要指定自己的令牌类型,请将自定义令牌作为表输入,令牌位于名为令牌的列中的类型类型.若要将自定义类型分配给不包括符号的令牌,请将其也包含在表中。例如,创建一个表,将“MATLAB”、“c++”和“c#”分配给“编程语言”令牌类型。

T =表;token = [“MATLAB”“c++”“c#”]“;类型= [“编程语言”“编程语言”“编程语言”]“
T =3×2表令牌类型  ________ ______________________ " " MATLAB编程语言”“c++”“编程语言”“c#编程语言”

使用自定义令牌表标记文本并查看令牌详细信息。

文档= tokenizedDocument(str,“CustomTokens”T);tdetails = tokenDetails(文档)
tdetails =11×5表令牌DocumentNumber LineNumber Type Language _____________ ______________ __________ ____________________ ________ "I" 1 1字母en "am" 1 1字母en " experiencing " 1 1字母en "中的1 1字母en "MATLAB" 1 1编程语言en "," 1 1标点en " " c++ " 1 1编程语言en "," 1 1标点en "和" 1 1字母en " c# " 1 1编程语言en "。11 1标点符号en

tokenizedDocument函数在默认情况下拆分包含符号的单词和标记。例如,该函数拆分文本版本:2”变成多个令牌。

str =升级到版本:2版本:3;documents = tokenizedDocument(str)
documents = tokenizedDocument: 9 token:升级到版本:2 rev: 3。

为防止函数拆分具有特定模式的标记,请使用“RegularExpressions”选择。

指定正则表达式来检测表示版本号和修订号的标记:后面出现的数字字符串版本:“而且牧师:“分别。

文档= tokenizedDocument(str,“RegularExpressions”,[“版本:\ d +”“牧师:\ d +”])
documents = tokenizedDocument: 5 token:升级到版本:2 rev:3。

默认情况下,自定义令牌具有令牌类型“自定义”.查看token的详细信息。列类型包含令牌类型。

tdetails = tokenDetails(文档)
tdetails =5×5表令牌DocumentNumber LineNumber类型语言  __________ ______________ __________ ___________ ________ " “1 1字母en”升级到“1 1字母在“版本:2“1 1自定义在“牧师:3“1 1”自定义在。”11 1标点符号en

若要指定自己的令牌类型,请将正则表达式输入为一个表,其中正则表达式位于名为模式和列中的令牌类型类型

T =表;T.Pattern = [“版本:\ d +”“牧师:\ d +”]“;类型= [“版本”“修订”]“
T =2×2表模式类型  _________ __________ " 版本:\ d +”“版本”“牧师:\ d +”“修订”

使用自定义令牌表标记文本并查看令牌详细信息。

文档= tokenizedDocument(str,“RegularExpressions”T);tdetails = tokenDetails(文档)
tdetails =5×5表令牌DocumentNumber LineNumber类型语言  __________ ______________ __________ ___________ ________ " “1 1字母en”升级到“1 1字母在“版本:2“1 1版本en”牧师:3“1 1”修订en。”11 1标点符号en

加载示例数据。该文件sonnetsPreprocessed.txt包含莎士比亚十四行诗的预处理版本。该文件每行包含一首十四行诗,用空格分隔单词。从中提取文本sonnetsPreprocessed.txt,以换行符将文本分割为文档,然后对文档进行标记。

文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData = split(str,换行符);documents = tokenizedDocument(textData);

搜索“生活”这个词。

TBL =上下文(文档,“生命”);头(台)
ans =8×3表上下文文档词  ________________________________________________________ ________ ____ " consumst你自己单身生活啊你徒劳的“9 10”不是假冒行生活生活修复乘以铅笔“16 35 d假冒行生活生活修复次铅笔基金会的“16 36”天知道墓藏生活展示半部分编写b“17 14”他眼睛长给生活你“18 69”温柔大使馆爱你生活了四个二沉“45 23”大美虽然情人生活美黑lines" 63 50 "s shorn away live second life second head ere beautys " 68 27

查看字符串数组中出现的事件。

资源描述。上下文
ans =23 x1字符串“consumst你自己单身生活啊你徒劳的”“不是假冒行生活生活修复次铅笔”“d假冒行生活生活修复次铅笔基金会”“天知道墓藏生活展示半部分编写b”“他眼睛长给生活你”“温柔的大使馆爱你生活四个二沉”“大美虽然情人生活美丽黑色线条”“s剪掉第二生活第二头在美”“e排练让爱甚至生命衰变以免智慧世界lo”“圣保释应带走生命所行利益memor”“艺术你失去了渣滓生活猎物蠕虫身体死牛”“思想食品生活sweetseasond淋浴gro”“tten名字因此不朽的生命虽然曾经走了w”“美沉默别人给的生活带来墓生命fa " ve生活带来墓生活公平眼睛诗人赞美d”“偷走自己的定期寿险你放心我的李”“菲你是向我的生活不再你的爱留在dep”“恐惧最糟糕的错误至少生活有更好的状态是“结束"安烦恼无常的心灵生命你的反抗是躺在阿" "名声更快时间浪费生命你阻止镰刀cr" "减少有害的行为更好的生活提供公共的手段酒吧" "吃了恨扔掉了野蛮的生命说"许多仙女发誓贞洁的生活保持来跳少女"

使用标记化日语文本tokenizedDocument.该功能自动检测日语文本。

STR = [“恋に悩み,苦しむ。”“恋の悩みで苦しむ。”“空に星が輝き,瞬いている。”“空の星が輝きを増している。”];documents = tokenizedDocument(str)
documents = 4x1 tokenizedDocument: 6个token:恋に悩み,苦しむ。6个token:恋の悩みで苦しむ。10个代币:空に星が輝き,瞬いている。10个代币:空の星が輝きを増している。

使用标记化德语文本tokenizedDocument.该功能自动检测德语文本。

STR = [“早安。是谁干的?”“Heute wird ein guter Tag。”];documents = tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 8个token: Guten Morgen。是谁的?6个标记:Heute wild ein guter Tag。

更多关于

全部展开

参考文献

[1]Unicode文本分割https://www.unicode.org/reports/tr29/

[3]MeCab:另一个词性和形态分析仪https://taku910.github.io/mecab/

版本历史

在R2017b中引入

全部展开

R2022a的行为发生了变化

R2019b的行为发生了变化

R2018b的行为发生了变化

R2018b的行为发生了变化

R2018b的行为发生了变化