tokenizedDocument
用于文本分析的标记文档数组
描述
标记文档是表示为单词集合的文档(也称为令牌),用于文本分析。
使用令牌化文档来:
检测文本中的复杂标记,如网址、表情符号、表情符号和标签。
删除停止词等词使用
removeWords
或removeStopWords
功能。方法执行词干或词元化等词级预处理任务
normalizeWords
函数。分析单词和n-gram频率
bagOfWords
而且bagOfNgrams
对象。添加句子和词性细节
addSentenceDetails
而且addPartOfSpeechDetails
功能。属性添加实体标记
addEntityDetails
函数。方法查看令牌的详细信息
tokenDetails
函数。
支持英文、日文、德文、韩文万博1manbetx文本。学习如何使用tokenizedDocument
有关其他语言,请参见语言的注意事项.
创建
语法
描述
输入参数
str
- - - - - -输入文本
字符串数组|特征向量|字符向量的单元格数组|字符串数组的单元格数组
输入文本,指定为字符串数组、字符向量、字符向量的单元格数组或字符串数组的单元格数组。
如果输入文本尚未被拆分为单词,则str
必须是字符串数组、字符向量、字符向量的单元格数组或字符串标量的单元格数组。
例子:["一个短文件的例子";"第二个短文件"]
例子:“单一文档的示例”
例子:{'一个短文档的例子';'第二个短文档'}
如果输入文本已经被拆分为单词,则指定“TokenizeMethod”
是“没有”
.如果str
包含单个文档,则它必须是单词的字符串向量、字符向量的行单元格数组或包含单个单词字符串向量的单元格数组。如果str
包含多个文档,则它必须是字符串数组的单元格数组。
例子:["an" "example" "document"]
例子:{“一个”,“例子”,“文档”}
例子:{["a " "short" "document"的"an" "example"]}
例子:{(“一个”“例子”“”“”“短”“文档”);[“一”“二”“短”“文档”)}
数据类型:字符串
|字符
|细胞
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:DetectPatterns,{“电子邮件地址”,“网址”}
检测电子邮件地址和网址
TokenizeMethod
- - - - - -方法对文档进行标记
unicode的
|“mecab”
|mecabOptions
对象|“没有”
方法对文档进行标记,指定为逗号分隔的对,由“TokenizeMethod”
和以下其中之一:
unicode的
-使用基于Unicode的规则对输入文本进行标记®标准附件#29[1]以及ICU标记器[2].如果str
是单元格数组,那么元素的呢str
必须是字符串标量或字符向量。如果“语言”
是“en”
或“德”
,然后unicode的
是默认值。“mecab”
-使用MeCab标记器标记日语和韩语文本[3].如果“语言”
是“ja”
或“柯”
,然后“mecab”
是默认值。mecabOptions
object -使用a指定的MeCab选项将日语和韩语文本标记化mecabOptions
对象。“没有”
-不要对输入文本进行标记。
如果输入文本已经被拆分为单词,则指定“TokenizeMethod”
是“没有”
.如果str
包含单个文档,则它必须是单词的字符串向量、字符向量的行单元格数组或包含单个单词字符串向量的单元格数组。如果str
包含多个文档,则它必须是字符串数组的单元格数组。
DetectPatterns
- - - - - -要检测的复杂标记的模式
“所有”
(默认)|特征向量|字符串数组|字符向量的单元格数组
要检测的复杂标记模式,指定为逗号分隔的对,由“DetectPatterns”
而且“没有”
,“所有”
,或包含下列一个或多个的字符串或单元格数组。
“电子邮件地址”
—检测邮件地址。例如,对待“user@domain.com”
作为单个令牌。“网址”
-检测网址。例如,对待“//www.tianjin-qmedu.com”
作为单个令牌。“标签”
-检测标签。例如,对待“# MATLAB”
作为单个令牌。一提到他的
-检测提及。例如,对待“@MathWorks”
作为单个令牌。“表情符号”
-检测表情符号。例如,对待“:- d”
作为单个令牌。
如果DetectPatterns
是“没有”
,则该函数不检测任何复杂的令牌模式。如果DetectPatterns
是“所有”
,则该函数检测所有列出的复杂令牌模式。
例子:“DetectPatterns”、“标签”
例子:DetectPatterns,{“电子邮件地址”,“网址”}
数据类型:字符
|字符串
|细胞
CustomTokens
- - - - - -要检测的定制令牌
”
(默认)|字符串数组|特征向量|字符向量的单元格数组|表格
要检测的自定义标记,指定为逗号分隔的对,由“CustomTokens”
下面是其中之一。
包含自定义标记的字符向量的字符串数组、字符向量或单元格数组。
一个表,在名为的列中包含自定义标记
令牌
对应的令牌类型为类型
.
如果将自定义标记指定为字符串数组、字符向量或字符向量的单元格数组,则函数将分配标记类型“自定义”
.要指定自定义令牌类型,请使用表输入。要查看令牌类型,请使用tokenDetails
函数。
例子:“CustomTokens”,(“c++”“c#”]
数据类型:字符
|字符串
|表格
|细胞
RegularExpressions
- - - - - -要检测的正则表达式
”
(默认)|字符串数组|特征向量|字符向量的单元格数组|表格
要检测的正则表达式,指定为逗号分隔的对“RegularExpressions”
下面是其中之一。
包含正则表达式的字符向量的字符串数组、字符向量或单元格数组。
一个包含正则表达式的表,列名为
模式
的列中对应的令牌类型类型
.
如果将正则表达式指定为字符串数组、字符向量或字符向量的单元格数组,则函数将分配令牌类型“自定义”
.要指定自定义令牌类型,请使用表输入。要查看令牌类型,请使用tokenDetails
函数。
例子:“RegularExpressions”,“版本:\ d +”“牧师:\ d +”)
数据类型:字符
|字符串
|表格
|细胞
TopLevelDomains
- - - - - -用于web地址检测的顶级域
特征向量|字符串数组|字符向量的单元格数组
用于web地址检测的顶级域,指定为逗号分隔的对,由“TopLevelDomains”
以及字符向量、字符串数组或字符向量的单元格数组。默认情况下,函数使用的输出topLevelDomains
.
此选项仅适用于以下情况“DetectPatterns”
是“所有”
或者包含“网址”
.
例子:'TopLevelDomains',["com" "net" "org"]
数据类型:字符
|字符串
|细胞
语言
- - - - - -语言
“en”
|“ja”
|“德”
|“柯”
语言,指定为逗号分隔的对,由“语言”
下面是其中之一。
“en”
——英语。的默认值“TokenizeMethod”
来unicode的
.“ja”
——日本。的默认值“TokenizeMethod”
来“mecab”
.“德”
——德国。的默认值“TokenizeMethod”
来unicode的
.“柯”
——韩国人。的默认值“TokenizeMethod”
来“mecab”
.
方法从输入文本中检测语言,如果不指定值,则该函数使用corpusLanguage
函数。
此选项指定令牌的语言细节。要查看令牌的语言详细信息,请使用tokenDetails
.的行为由这些语言细节决定removeStopWords
,addPartOfSpeechDetails
,normalizeWords
,addSentenceDetails
,addEntityDetails
令牌上的函数。
有关文本分析工具箱™中的语言支持的更多信息,请参见万博1manbetx语言的注意事项.
例子:“语言”、“ja”
属性
词汇表
- - - - - -文件中的独特文字
字符串数组
文档中的唯一单词,指定为字符串数组。这些单词没有任何特定的出现顺序。
数据类型:字符串
对象的功能
预处理
erasePunctuation |
删除文本和文档中的标点符号 |
removeStopWords |
从文档中删除停止词 |
removeWords |
从文档或单词袋模型中删除所选单词 |
normalizeWords |
词干或词干化单词 |
用语 |
单词的正确拼写 |
replaceWords |
替换文档中的单词 |
replaceNgrams |
替换文档中的n-grams |
removeEmptyDocuments |
从标记文档数组、单词包模型或n-grams包模型中删除空文档 |
较低的 |
将文档转换为小写 |
上 |
将文档转换为大写 |
令牌的细节
tokenDetails |
令牌化文档数组中令牌的详细信息 |
addSentenceDetails |
在文档中添加句子编号 |
addPartOfSpeechDetails |
向文档添加词性标记 |
addLanguageDetails |
向文档添加语言标识符 |
addTypeDetails |
向文档添加令牌类型详细信息 |
addLemmaDetails |
向文档添加令牌的引理形式 |
addEntityDetails |
向文档添加实体标记 |
出口
writeTextDocument |
将文档写入文本文件 |
操作和转换
显示
wordcloud |
从文本、单词包模型、n-grams包模型或LDA模型创建词云图 |
例子
标记文本
从字符串数组创建标记文档。
STR = [一个短句的例子“第二句短句”]
str =2 x1字符串"一个短句的例子" "第二个短句"
文档= tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 6个token:一个短句的例子4个token:第二个短句
检测复杂令牌
从字符串创建一个标记文档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
删除英文停顿词。
文档= tokenizedDocument([一个短句的例子“第二句短句”]);newDocuments = removeStopWords(文档)
newDocuments = 2x1 tokenizedDocument: 3个token:示例短句3个token:第二个短句
文档中的词干词
使用波特词干分析器对文档数组中的单词进行词干分析。
文档= tokenizedDocument(["措辞强烈的词汇集合""另一个词集"]);newDocuments = normalizeWords(文档)
newDocuments = 2x1 tokenizedDocument: 6个token:一个strongli word collection of word 4个token:另一个word collection
指定自定义令牌
的tokenizedDocument
函数默认情况下拆分包含符号的单词和标记。例如,该函数将“c++”和“c#”拆分为多个标记。
str =“我对MATLAB、c++和c#很有经验。”;文档= tokenizedDocument(str)
documents = tokenizedDocument: 14 token:我有MATLAB, c++和c#的经验。
方法指定自定义令牌以防止函数拆分包含符号的令牌“CustomTokens”
选择。
文档= tokenizedDocument(str,“CustomTokens”,[“c++”“c#”])
document = tokenizedDocument: 11 token:我有MATLAB, c++和c#的经验。
自定义令牌具有令牌类型“自定义”
.查看token的详细信息。列类型
包含令牌类型。
tdetails = tokenDetails(文档)
tdetails =11×5表令牌DocumentNumber LineNumber类型语言_____________ ______________ __________ ___________ ________ "I" 1 1字母en "am" 1 1字母en "经验" 1 1字母en "在" 1 1字母en "MATLAB" 1 1字母en "," 1 1标点en " c++ " 1 1 custom en "," 1 1标点en "和" 1 1字母en " c# " 1 1 custom en "1标点符号en
要指定您自己的令牌类型,请将自定义令牌作为一个表输入,令牌位于名为令牌
的列中的类型类型
.若要为不包含符号的令牌分配自定义类型,请将其也包含在表中。例如,创建一个表,将“MATLAB”、“c++”和“c#”分配给“编程语言”
令牌类型。
T =表;T.Token = [“MATLAB”“c++”“c#”]“;T.Type = [“编程语言”“编程语言”“编程语言”]“
T =3×2表令牌类型 ________ ______________________ " " MATLAB编程语言”“c++”“编程语言”“c#编程语言”
使用自定义令牌表标记文本并查看令牌详细信息。
文档= tokenizedDocument(str,“CustomTokens”T);tdetails = tokenDetails(文档)
tdetails =11×5表令牌DocumentNumber LineNumber类型语言_____________ ______________ __________ ____________________ ________ "I" 1 1字母en "am" 1 1字母en "经验" 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 "1标点符号en
使用正则表达式指定自定义令牌
的tokenizedDocument
函数默认情况下拆分包含符号的单词和标记。例如,该函数拆分文本版本:2”
变成多个代币。
str =“升级到版本:2版本:3。”;文档= tokenizedDocument(str)
documents = tokenizedDocument: 9 tokens:升级到ver: 2 rev: 3。
方法指定具有特定模式的标记,以防止函数拆分这些标记“RegularExpressions”
选择。
指定正则表达式来检测表示版本号和修订号的标记:后面出现的数字字符串版本:“
而且牧师:“
分别。
文档= tokenizedDocument(str,“RegularExpressions”,[“版本:\ d +”“牧师:\ d +”])
documents = tokenizedDocument: 5 token:升级到ver:2 rev:3。
默认情况下,自定义令牌具有令牌类型“自定义”
.查看token的详细信息。列类型
包含令牌类型。
tdetails = tokenDetails(文档)
tdetails =5×5表令牌DocumentNumber LineNumber类型语言 __________ ______________ __________ ___________ ________ " “1 1字母en”升级到“1 1字母在“版本:2“1 1自定义在“牧师:3“1 1”自定义在。”1标点符号en
要指定您自己的令牌类型,请将正则表达式作为表输入,其中正则表达式位于名为模式
和标记类型在名为类型
.
T =表;T.Pattern = [“版本:\ d +”“牧师:\ d +”]“;T.Type = [“版本”“修订”]“
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。”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”“恐惧最糟糕的错误至少生活有更好的状态是“结束"烦恼无常的生命,你的反抗,噢哈" "名声快,时间浪费生命,你阻止镰刀,割掉有害的行为,更好的生活提供公共手段酒吧" "吃了仇恨,扔掉了野蛮的生活说"许多仙女发誓,贞洁的生活,保持来,跳少女"
使日语文本符号化
将日语文本的符号化tokenizedDocument
.该功能自动检测日文。
STR = [“恋に悩み,苦しむ。”“恋の悩みで苦しむ。”“空に星が輝き,瞬いている。”“空の星が輝きを増している。”];文档= tokenizedDocument(str)
documents = 4x1 tokenizedDocument: 6个token:恋に悩み,苦しむ。6代币:恋の悩みで苦しむ。10个代币:空に星が輝き,瞬いている。10代币:空の星が輝きを増している。
标记化德语文本
用标记化德语文本tokenizedDocument
.该功能自动检测德语文本。
STR = [“早安。我得到了什么?”“Heute wird ein guter Tag。”];文档= tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 8 token: Guten Morgen。我得到了dir ?6代币:Heute weird ein guter Tag。
更多关于
语言的注意事项
的tokenizedDocument
函数的内置规则仅适用于英语、日语、德语和韩语。对于英语和德语文本,unicode的
的标记化方法tokenizedDocument
使用基于Unicode标准附录#29的规则检测令牌[1]以及ICU标记器[2],以便更好地检测像标签和url这样复杂的标记。对于日语和韩语文本,“mecab”
标记化方法使用基于MeCab标记化器的规则检测标记[3].
对于其他语言,您仍然可以尝试使用tokenizedDocument
.如果tokenizedDocument
不能产生有用的结果,请尝试手动对文本进行标记。要创建一个tokenizedDocument
数组从手动标记文本,设置“TokenizeMethod”
选项“没有”
.
有关更多信息,请参见语言的注意事项.
参考文献
[1]Unicode文本分割.https://www.unicode.org/reports/tr29/
[3]MeCab:又是一个词性和词形分析器.https://taku910.github.io/mecab/
版本历史
在R2017b中引入R2022a:tokenizedDocument
不拆分包含数字和一些特殊字符的标记吗
R2022a的行为发生了变化
从R2022a开始,tokenizedDocument
不拆分某些标记,其中数字出现在一些特殊字符(如点、连字符、冒号、斜杠和科学符号)旁边。当对包含数字、日期和时间的文本进行标记时,这种行为可以产生更好的结果。
在以前的版本中,tokenizedDocument
可能会被这些角色分裂。若要再现该行为,请在使用之前手动标记文本或在特殊字符周围插入空白字符tokenizedDocument
.
R2019b:tokenizedDocument
检测韩语
R2019b的行为发生了变化
从R2019b开始,tokenizedDocument
检测韩语,并设置“语言”
选项“柯”
.控件的默认行为addSentenceDetails
,addPartOfSpeechDetails
,removeStopWords
,normalizeWords
韩文文件输入功能。这一变化允许软件使用韩语特定的规则和单词列表进行分析。如果tokenizedDocument
错误地将文本检测为韩语,然后您可以通过设置“语言”
名值对tokenizedDocument
.
在以前的版本中,tokenizedDocument
通常将韩语文本检测为英语,并设置“语言”
选项“en”
.若要再现此行为,请手动设置“语言”
名值对tokenizedDocument
来“en”
.
R2018b:tokenizedDocument
检测到表情符号
在R2018b中行为发生了改变
从R2018b开始,tokenizedDocument
,默认情况下,检测表情符号令牌。这种行为使得分析包含表情符号的文本更容易。
在R2017b和R2018a中tokenizedDocument
将表情符号符号拆分为多个符号。为了再现这种行为,在tokenizedDocument
,指定“DetectPatterns”
选择是{“电子邮件地址”、“网址”、“标签”,“在提及”}
.
R2018b:tokenDetails
返回令牌类型emoji
对于表情符号
在R2018b中行为发生了改变
从R2018b开始,tokenizedDocument
检测表情符号和tokenDetails
函数用类型报告这些令牌“emoji”
.这使得分析包含表情符号的文本更容易。
在R2018a,tokenDetails
报告带有类型的表情符号字符“其他”
.查找具有类型的标记的索引“emoji”
或“其他”
,使用索引Idx = tdetails。类型== "emoji" | tdetails.Type == "other"
,在那里tdetails
是令牌详细信息的表。
R2018b:tokenizedDocument
在数字之间的斜杠和冒号字符不分割
在R2018b中行为发生了改变
从R2018b开始,tokenizedDocument
当字符出现在两个数字之间时,不会在斜杠、反斜杠或冒号处拆分。当对包含日期和时间的文本进行标记时,这种行为可以产生更好的结果。
在以前的版本中,tokenizedDocument
劈开这些角色。若要再现此行为,请在使用之前手动对文本进行标记,或在斜杠、反斜杠和冒号字符周围插入空白字符tokenizedDocument
.
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。WebブラウザはMATLABコマンドをサポトしていません。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。