单字文本分析
最好的答案
-
BalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:829独角兽嗨Buggia !
你可以尝试创建n = 2的“term n-grams”。这将给你“I word”,“we word”等的所有组合。然后,您将过滤带有您感兴趣的前缀(I, we,…)的术语,并提取空格后的单词。
下面是一个示例过程:
< ?xml version="1.0" encoding="UTF-8"?><进程版本="9.10.001">
<参数key="logverbosity" value="init"/> <参数key="random_seed" value="-1"/> <参数key="send_mail" value="never"/> <参数key="notification_email" value="" 30"/> <参数key="encoding" value="SYSTEM"/> <进程expanded="true"> <参数key="add label" value="false"/> <参数key="label_type" value="nominal"/> <参数key="create_word_vector" value="true"/> <参数key="vector_creation" value="TF-IDF"/> <参数key="add_meta_information" value="true"/> <参数key="keep_text" value="true"/> <参数key="prune_method"value="none"/> <参数key="language" value="English"/> <参数key="max_token_length" value="3"/> <参数key="max_length"值="2"/>
问候,
Balazs1 -
Buggia 成员职位:4新手嗨BalazsBarany谢谢你友好的回答。由于我对编码语言不是很熟悉,您能给我解释一下这个过程中涉及到的“操作符”吗?
再次感谢您的帮助。0 -
BalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:829独角兽嗨Buggia !
第一个操作符只是创建一个带有示例文本的文档。它的输出进入“过程文档”。这是一个容器,用于在其中执行其他操作符。
Tokenize将单词在“单词边界”(如空格)上分割成单个单位。
生成n-grams (Terms)创建单词对的每个组合。(有生成n-grams(字符)这将做同样的事情,但对于单词内的字符。)
按内容筛选令牌(Filter Tokens by Content)保留生成的与正则表达式匹配的“令牌”(n-gram)。这里我用了^ (I_ | we_)。+将“我”或“我们”作为标记开头的单词。这些就是你要找的词。如果要扩展正则表达式,请将术语添加到括号内,并用管道|作为分隔符。
就是这样。wordlist输出包含在文本中找到的组合及其频率。
顺便说一句,每个操作器在Studio的帮助选项卡中都有大量的文档。
问候,
Balazs2
答案
在文本挖掘上下文中创建属性的默认方式是TF-IDF: Term Frequency, Inverse Document Frequency。
术语频率:一个词(记号)在文档中出现的频率。
逆文档频率:单词(标记)在多少个文档中出现。
您可以在“Process Documents”的“vector creation”参数中选择另一种方法。例如,术语出现只给你数字。
Word列表输出总是包含绝对数字,这就是我推荐使用它的原因。有一个操作符“WordList to data”,用于将特殊表转换为普通表,例如用于进一步处理或将内容放入数据库。
问候,
Balazs