使用字典筛选示例

EL75EL75 成员职位:43因素二世
你好,
我正在寻找一种解决方案,以过滤掉数据集的例子,使用包含单词的字典。这将是一个“过滤器示例”操作符,作为“replace (Dictionary)”。如果所选属性包含字典中包含的单词,则可以过滤掉所有示例(或者,使用“反向过滤”选项,只保留它们)。
最好的
标记:

答案

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3287年RM数据科学家
    所以过滤器令牌使用ExampleSet没有帮助?

    最好的
    马丁
    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • EL75EL75 成员职位:43因素二世
    2020年12月编辑
    是的,它有助于令牌过滤的东西,但我想过滤(删除或保留)整个行。
    我解释说:当你有一个字典,其中包含的单词,你确定只有一类人在使用,这样的功能可以允许某人隔离整个行(即说话者),然后过滤/分割原始数据集。这可能与接下来的分析非常相关。因此,我想有一个功能,可以让我,匹配一组单词,通过excel文件-字典-在属性中包含的文本(逐字)。“replace (Dictionary)”操作符是思想,但输出将是=>,过滤整个行,而不是用另一个字符串替换一个字符串。
    最好的
  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3287年RM数据科学家
    @El75
    这与过滤器示例的包含选项有何不同?我们可以循环遍历字典,过滤所有行。

    最好的
    马丁
    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • EL75EL75 成员职位:43因素二世
    2020年12月编辑
    马丁,
    你绝对是对的,我已经做到了。谢谢你的解决方案。
    没有什么问题了。
    首先,这是我所做的:
    1- Level 0 =>一个循环属性操作符,循环遍历字典的att:


    2- LEVEL -1 =>“循环值”运算符在“循环属性”运算符中=>




    3- LEVEL -2 =>在循环值运算符中:


    剩下的问题,我自己无法找到答案:

    A-在loop_value内部:我在“Filter example”操作符之后添加了一个“Generate attribute”操作符来保持输出,对于数据集的每一行,首先是字典类别的名称,其次是字典单词被匹配的次数。问题是我没有找到一种方法来计算生成的属性的值:
    让我们举个例子:
    —有2列(属性)和标题包含att名称的字典:«dic1»包含10个单词,«dic2»包含20个单词
    -一个数据集,包含100行(示例),包含许多列,包括一个«subject & body»,其中包含筛选操作符要分析的逐字记录。
    在第一个loop_value进程(dic1)期间,将生成一个属性att=«dic1»,数据集的100行中的每一行都将为第一个字典属性(«dic1»)的10个单词中的每一个进行计算。如果数据集的第N°2行包含5 / 10的单词,如何计算—在«loop_value»过程的末尾对应«dic1»—值«5»作为生成的«dic1»的值?

    B -过滤操作符在识别第一个匹配后停止:我记住,这个过程的目的是识别包含att中的单词的数据集中的行,最终目标是过滤这些行,因此,所有可以在文本处理操作符中完成的事情(比如标记化)在这里都是不可能的。因此,过滤器将匹配与字典条目相对应的所有字符串,包括假阳性(例如过滤器在dic.中为«book»保留«booking»)。
    考虑到这一点,筛选操作符是否可能匹配单元格中的所有字符串,并返回匹配的数字?

    C-“循环中的循环”生成一个非常大的数据集作为输出,对于包含逐字记录的数据集的每一行,都会生成不同的新属性,并且所有行的生成属性并不相同,这取决于是否匹配了单词。结果是,为了聚合输出,我使用了(LEVEL -1)一个“Append (Superset)»操作符,它接受具有不同属性的示例集。

    然后,为了删除重复的行,我使用了PIVOT操作符。但是我是在一个单独的进程中完成的,因为枢轴需要用Loop_attribute (LEVEL 0)中选择的字典属性的名称进行调好。
    为什么?因为,对于一个大字典和一个bid数据集,以下参数对内存和计算机容量有巨大的影响:
    A)被选择的字典属性的数量;
    B)为过滤器匹配的每个单词创建att的选项(就像它已经为字典类别所做的那样)
    c)在最终输出中保留UNMATCHED值,并在生成的所有属性中使用«0»值

    对于上面提到的硬件限制,我决定放弃b)和c)。
    但是a)也对性能有巨大的影响,字典类别必须手动选择,因此枢轴矩阵的调优。但这真的很耗时(例如,如果类别的数量在一次运行到另一次运行时不同,pivot就不会起作用……)

    这里有一个问题:是否有一种方法可以使一个枢轴过程自动化,考虑到所选择的属性的数量,它们的名称?这将允许我们将枢轴过程保持在«循环中的循环»1 ?

    提前感谢所有的帮助!
    最好的
登录注册置评。