用于文本分析的标记化文档数组
标记化文档是表示为单词集合的文档(也称为令牌)用于文本分析。
使用标记化文档来:
检测文本中的复杂符号,如网址、表情符号、表情符号和标签。
删除词语,如停止词语使用移除词
或removeStopWords
功能。
执行字级的预处理任务,如词干提取或词源化normalizeWords
函数。
使用bagOfWords
和bagOfNgrams
对象。
属性添加实体标记附加细节
函数。
使用tokenDetails
函数。
该函数支持英语、日语、德语金宝app和韩语文本。学会如何使用tokenizedDocument
对于其他语言,请参阅语言考虑.
str
- - - - - -输入文本输入文本,指定为字符串数组、字符向量、字符向量的单元格数组或字符串数组的单元格数组。
如果输入的文本还没有被分割成单词,那么str
必须是字符串数组、字符向量、字符向量的单元格数组或字符串标量的单元格数组。
例子:[“短文档的示例”;“第二个短文档”]
例子:“单个文档的一个例子”
例子:{'一个短文档的例子';'第二个短文档'}
如果输入文本已经被分割成单词,则指定“TokenizeMethod”
成为“没有”
如果str
包含单个文档,则它必须是字的字符串向量、字符向量的行单元格数组或包含字的字符串向量的单元格数组。如果str
包含多个文档,则它必须是字符串数组的单元格数组。
例子:["一个"“例子”“文档”)
例子:{“一个”,“例子”,“文档”}
例子:{[“短”文档的“示例”]}
例子:{(“一个”“例子”“”“”“短”“文档”);[“一”“二”“短”“文档”)}
数据类型:一串
|烧焦
|细胞
指定可选的逗号分隔的对名称,值
论据。名称
参数名和价值
为对应值。名称
必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值
.
DetectPatterns,{“电子邮件地址”,“网址”}
检测电子邮件地址和web地址
“TokenizeMethod”
- - - - - -方法来标记文档unicode的
|“麦卡布”
|mecabOptions
对象|“没有”
方法标记文档,指定为逗号分隔对,由“TokenizeMethod”
以及以下其中之一:
unicode的
–使用基于Unicode的规则标记输入文本®标准附件# 29[1]还有重症监护室的标记器[2]如果str
是单元格数组,那么其中的元素呢str
必须是字符串标量或字符向量。如果“语言”
是“嗯”
或“德”
,然后unicode的
是默认值。
“麦卡布”
–使用MeCab标记器标记日文和韩文文本[3]如果“语言”
是“ja”
或“柯”
,然后“麦卡布”
是默认值。
mecabOptions
使用指定的MeCab选项标记日语和韩语文本mecabOptions
对象。
“没有”
—不要标记输入文本。
如果输入文本已经被分割成单词,则指定“TokenizeMethod”
成为“没有”
如果str
包含单个文档,则它必须是字的字符串向量、字符向量的行单元格数组或包含字的字符串向量的单元格数组。如果str
包含多个文档,则它必须是字符串数组的单元格数组。
“DetectPatterns”
- - - - - -要检测的复杂标记的模式“所有”
(默认)|特征向量|字符串数组|字符向量单元数组要检测的复杂标记的模式,指定为由逗号分隔的对组成“DetectPatterns”
和“没有”
,“所有”
,或包含下列一个或多个内容的字符串或单元格数组。
“电子邮件地址”
–检测电子邮件地址。例如,处理“user@domain.com”
作为单个令牌。
“网址”
–检测网址。例如,处理“//www.tatmou.com”
作为单个令牌。
“标签”
–检测hashtags。例如,treat“#MATLAB”
作为单个令牌。
一提到他的
——检测at-mentions。例如,治疗“@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”“净”“org”]
数据类型:烧焦
|一串
|细胞
“语言”
- - - - - -语言“嗯”
|“ja”
|“德”
|“柯”
语言,指定为逗号分隔的对,由“语言”
下面是其中之一。
“嗯”
–英语。此选项还设置默认值“TokenizeMethod”
到unicode的
.
“ja”
——日本。该选项还设置的默认值“TokenizeMethod”
到“麦卡布”
.
“德”
——德国。该选项还设置的默认值“TokenizeMethod”
到unicode的
.
“柯”
–韩语。此选项还设置默认值“TokenizeMethod”
到“麦卡布”
.
如果没有指定值,则该函数使用小体语言
函数。
此选项指定标记的语言细节。要查看标记的语言细节,请使用tokenDetails
.这些语言细节决定removeStopWords
,addPartOfSpeechDetails
,normalizeWords
,addSentenceDetails
,附加细节
标记上的函数。
有关“文本分析工具箱™”中语言支持的更多信息,请参见金宝app语言考虑.
例子:“语言”,“ja”
词汇
- - - - - -文档中唯一的单词文档中的唯一单词,指定为字符串数组。这些词不按任何特定顺序出现。
数据类型:一串
删除标点符号 |
从文本和文档中删除标点符号 |
removeStopWords |
从文档中删除停止词 |
移除词 |
从文档或字包模型中删除所选单词 |
normalizeWords |
词干或词根化 |
用语 |
正确拼写单词 |
替换词 |
替换文档中的单词 |
替换图 |
替换文档中的n-grams |
removeEmptyDocuments |
从标记化的文档数组、单词包模型或n-gram包模型中删除空文档 |
较低的 |
将文档转换为小写 |
上 |
将文档转换为大写 |
tokenDetails |
标记化文档数组中标记的详细信息 |
addSentenceDetails |
在文档中添加句子编号 |
addPartOfSpeechDetails |
向文档中添加词性标记 |
addLanguageDetails |
向文档中添加语言标识符 |
addTypeDetails |
向文档添加令牌类型细节 |
addLemmaDetails |
向文档添加标记的引理形式 |
附加细节 |
向文档添加实体标记 |
writeTextDocument |
将文档写入文本文件 |
wordcloud |
从文本、词袋模型、词袋-n-grams模型或LDA模型创建词云图 |
从字符串数组创建标记化文档。
str = [一个短句的例子第二个短句]
str =2x1字符串“短句示例”“第二个短句”
文件= tokenizedDocument (str)
documents = 2x1 tokenizedDocument: 6个token:一个短句的例子4个token:第二个短句
从字符串创建标记化文档str
.默认情况下,该函数处理标签“#MATLAB”
,表情符号“:- d”
,以及网址"//www.tatmou.com/help"
作为单一的令牌。
str =“学习如何在#MATLAB中分析文本!”-我明白了//www.tatmou.com/help/";文档=标记化文档(str)
document=tokenizedDocument:11个标记:学习如何在#MATLAB!中分析文本:-我明白了//www.tatmou.com/help/
要仅检测作为复杂标记的标签,请指定“DetectPatterns”
选择“标签”
只有。然后该函数对表情符号进行标记“:- d”
和网址"//www.tatmou.com/help"
转换成多个令牌。
文档= tokenizedDocument (str,“DetectPatterns”,“标签”)
document=tokenizedDocument:24个标记:学习如何在#MATLAB!中分析文本:D见https://www。mathworks。com/help/
从使用的文档数组中删除停止词removeStopWords
这个tokenizedDocument
函数检测到文档是英文的,所以removeStopWords
删除英语停顿词。
文件= tokenizedDocument ([一个短句的例子第二个短句]);newDocuments = removeStopWords(文档)
newDocuments=2x1标记化文档:3个标记:示例短句3个标记:第二个短句
使用波特词干符对文档数组中的单词进行词干。
文件= tokenizedDocument ([“措辞强硬的词语集合”“另一个词集”]);newDocuments=规范化日志(文档)
newDocuments = 2x1 tokenizedDocument: 6 tokens:一个strong word collection of word 4 tokens:另一个word collection
的tokenizedDocument
函数在默认情况下拆分包含符号的单词和标记。例如,该函数将“c++”和“c#”拆分为多个标记。
str =“我在MATLAB、C++和C语言方面有经验。”;文档=标记化文档(str)
我精通MATLAB, c++和c#。
要防止函数拆分包含符号的标记,请使用“CustomTokens”
选项
文档=标记化文档(str,“CustomTokens”, (“C++”“c#”])
我精通MATLAB, c++和c#。
自定义令牌具有令牌类型“定制”
.查看令牌详细信息。列类型
包含令牌类型。
t详细信息=令牌详细信息(文档)
t细节=11×5表令牌DocumentNumber LineNumber类型语言 _____________ ______________ __________ ___________ ________ " 我“1 1字母en”“1 1字母en”经历了“1 1字母en”“1 1字母在“MATLAB“1 1字母”,“1 1标点符号在“c++”1 1自定义”,“1 1标点en”和“1 1字母在“c#“1 1”定制en。”1 1标点符号
要指定您自己的令牌类型,请将自定义令牌作为表输入,其中令牌位于名为的列中令牌
,以及名为类型
.若要将自定义类型分配给不包含符号的令牌,请在表中也包含该令牌。例如,创建一个表,将“MATLAB”、“c++”和“c#”分配给“编程语言”
令牌类型。
T =表;T.Token = [“MATLAB”“C++”“c#”]“;T.Type = [“编程语言”“编程语言”“编程语言”]'
T=3×2表令牌类型“MATLAB”“编程语言”“C++”“编程语言”“C”“编程语言”
使用自定义标记表标记文本并查看标记详细信息。
文档=标记化文档(str,“CustomTokens”,T);t详细信息=令牌详细信息(文档)
t细节=11×5表令牌DocumentNumber LineNumber类型语言 _____________ ______________ __________ ____________________ ________ " 我“1 1字母en”“1 1字母en”经历了“1 1字母en”“1 1字母在“MATLAB“1 1编程语言”,“1 1标点符号在“c++”1 1编程语言”,“1 1标点en "和" 1 1字母en " c# " 1 1编程语言en "。1 1标点符号
的tokenizedDocument
默认情况下,函数拆分包含符号的单词和标记。例如,函数拆分文本版本:2”
转换成多个令牌。
str =“已升级到版本2,版本3。”;文档=标记化文档(str)
documents = tokenizedDocument: 9 token: upgrade to ver: 2 rev: 3。
要防止函数分割具有特定模式的令牌,请使用“RegularExpressions”
选项
指定正则表达式以检测表示版本号和修订号的标记:后面显示的数字字符串“版本:”
和牧师:“
分别。
文档=标记化文档(str,“RegularExpressions”, (“版本:\ d +”“版本:\d+”])
文档=标记化文档:5个标记:升级到版本2版本3。
默认情况下,自定义令牌具有令牌类型“定制”
.查看令牌详细信息。列类型
包含令牌类型。
t详细信息=令牌详细信息(文档)
t细节=5×5表令牌文档编号行号类型语言(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
要指定自己的令牌类型,请将正则表达式作为表输入,其中的正则表达式位于名为的列中图案
以及名为类型
.
T =表;T.Pattern = [“版本:\ d +”“版本:\d+”]“;T.Type = [“版本”“修订”]'
T=2×2表图案类型:版次:\d+“版本”“版次:\d+“版次”
使用自定义标记表标记文本并查看标记详细信息。
文档=标记化文档(str,“RegularExpressions”,T);t详细信息=令牌详细信息(文档)
t细节=5×5表令牌文档编号行号类型语言(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
加载示例数据十四行诗预处理.txt
包含了经过预处理的莎士比亚十四行诗。该文件每行包含一首十四行诗,单词之间用空格分隔。将文本从十四行诗预处理.txt
,将文本以换行符分割为文档,然后标记文档。
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);
搜索“生活”这个词。
台=上下文(文档,“生命”);头(台)
ans=8×3表上下文文档词 ________________________________________________________ ________ ____ " consumst你自己单身生活啊你徒劳的“9 10”不是假冒行生活生活修复乘以铅笔“16 35 d假冒行生活生活修复次铅笔基金会的“16 36”天知道墓藏生活展示半部分编写“17 14”他眼睛长久的生命给你生命温柔的大使馆爱你生命四两独沉你的美虽有情人生命美将黑线剪掉活第二生命第二头在美之前
查看字符串数组中的出现次数。
资源描述。上下文
ans =23x1字符串“consumst你自己单身生活啊你徒劳的”“不是假冒行生活生活修复次铅笔”“d假冒行生活生活修复次铅笔基金会”“天知道墓藏生活展示半部分编写b”“他眼睛长给生活你”“温柔的大使馆爱你生活四个二沉”“大美虽然爱好者生命美必黑线”“年代剪掉第二生活第二头之前美”“e排练让爱甚至生命衰变以免智慧世界lo”“圣保释应带走生命所行利益memor”“艺术你失去了渣滓生活猎物蠕虫身体死牛”“思想食品生活sweetseasond淋浴gro”“tten名字因此不朽的生命一旦走了w”“美沉默别人给的生活带来生活fa " ve生活带来墓墓生活生活公平眼睛诗人赞美d”“偷走自己的定期寿险你放心我的李”“菲你是向我的生活不再你的爱留在dep”“害怕坏的错误至少生活有更好的状态是“anst烦恼变化无常的心灵、生活你反抗谎言啊ha" " fame faster time wastes life thou preventst scythe cr" "ess harmful deeds better life provide public means pub" "ate hate away threw savd life saying " " many nymphs vowd chaste life keep came tripping maide"
使用tokenizedDocument
. 该功能自动检测日语文本。
str = ["恋に悩み、苦しむ。""恋の悩みで苦しむ。"“空に星が輝き,瞬いている。”“空の星が輝きを増している。”];文件= tokenizedDocument (str)
文件= 4 x1 tokenizedDocument: 6令牌:恋に悩み,苦しむ。6代币:恋の悩みで苦しむ。10令牌:空に星が輝き,瞬いている。10令牌:空の星が輝きを増している。
使用标记德语文本tokenizedDocument
.该功能自动检测德语文本。
str = [“古滕·摩根,你是谁?”“这是我的古特标签。”];文件= tokenizedDocument (str)
documents = 2x1 tokenizedDocument: 8 token: Guten Morgen。你的名字叫什么?6代币:Heute wire ein guter Tag。
的tokenizedDocument
函数具有内置规则,仅适用于英语、日语、德语和韩语。对于英语和德语文本,是unicode的
标记的方法tokenizedDocument
使用基于Unicode标准附录#29的规则检测标记[1]还有重症监护室的标记器[2],以便更好地检测复杂的标记,如标签和url。对于日文和韩文文本“麦卡布”
标记化方法使用基于MeCab标记器的规则检测标记[3].
对于其他语言,您仍然可以尝试使用tokenizedDocument
如果tokenizedDocument
不会产生有用的结果,然后尝试手动标记文本。创建一个tokenizedDocument
数组中手动标记的文本,设置“TokenizeMethod”
选择“没有”
.
有关详细信息,请参阅语言考虑.
tokenizedDocument
检测到韩国语言行为在R2019b中改变
从R2019b开始,tokenizedDocument
检测朝鲜语并设置“语言”
选择“柯”
.属性的默认行为addSentenceDetails
,addPartOfSpeechDetails
,removeStopWords
,normalizeWords
用于韩文文档输入的函数。此更改允许软件使用韩文特定规则和单词列表进行分析。如果tokenizedDocument
错误地检测文本为韩语,那么您可以通过设置手动指定语言“语言”
名称-值对的tokenizedDocument
.
在以前的版本中,tokenizedDocument
通常将朝鲜语文本检测为英语并设置“语言”
选择“嗯”
.要重现此行为,请手动设置“语言”
名称-值对的tokenizedDocument
到“嗯”
.
tokenizedDocument
检测表情符号R2018b中行为改变
从R2018b开始,tokenizedDocument
,默认检测表情符号。这种行为使分析包含表情符号的文本变得更容易。
在R2017b和R2018a中,tokenizedDocument
将表情符号拆分为多个符号。为了复制这种行为,在tokenizedDocument
,指定“DetectPatterns”
选择{'email-address','web-address','hashtag','at-note'}
.
tokenDetails
返回令牌类型emoji
emoji字符R2018b中行为改变
从R2018b开始,tokenizedDocument
检测表情符号字符和tokenDetails
函数使用类型报告这些令牌“emoji”
.这使得分析包含表情符号的文本变得更容易。
在R2018a中,tokenDetails
报告与类型的表情符号字符“其他”
.查找具有类型的标记的索引“emoji”
或“其他”
,使用索引idx=tdetails.Type==“表情符号”| tdetails.Type==“其他”
哪里tdetails
是令牌详细信息的表。
tokenizedDocument
不分裂在斜杠和冒号字符之间的数字R2018b中行为改变
从R2018b开始,tokenizedDocument
当出现在两个数字之间时,不使用斜杠、反斜杠或冒号分隔。当标记包含日期和时间的文本时,这种行为会产生更好的结果。
在以前的版本中,tokenizedDocument
在这些字符处拆分。若要复制该行为,请手动标记文本,或在使用前在斜杠、反斜杠和冒号字符周围插入空白字符tokenizedDocument
.
[1]Unicode文本分割.https://www.unicode.org/reports/tr29/
[3]MeCab:另一个词性和形态分析器.https://taku910.github.io/mecab/
附加细节
|addPartOfSpeechDetails
|addSentenceDetails
|bagOfNgrams
|bagOfWords
|上下文
|joinWords
|normalizeWords
|removeEmptyDocuments
|removeStopWords
|移除词
|替换图
|替换词
|tokenDetails
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。