0

我需要从大型训练语料库中提取特定领域的术语,例如政治术语等。我如何使用 Weka 及其过滤器来瞄准这个对象?我可以使用 Weka 中的过滤器生成的特征向量StringToVector()来执行此操作吗?

4

1 回答 1

1

只要您有适当的数据集,您至少可以部分实现。例如,让我们假设您有一个像这样的数据集:

@relation test

@attribute text String
@attribute politics {yes,no}
@attribute religion {yes,no}

@data
"this is a text about politics",yes,no
"this text is about religion",no,yes
"this text mixes everything",yes,yes

例如,要获取有关政治的条款,您可以:

  1. 移除宗教属性。
  2. StringToWordVector过滤器应用于文本属性以获取术语。
  3. 使用和应用AttributeSelection过滤器以获得排名最高的术语。RankerInfoGainAttributeEval

后一步将为您提供对政治类别最具预测性的术语列表。它们中的大多数将是政治领域的术语(尽管有些术语可能是预测性的,但只是因为它们不在政治领域 - 也就是说,它们提供了负面证据)。

您获得的术语的质量取决于数据集。它处理的主题越多,对您的结果越好;因此,与其拥有两个类(如我的数据集中的政治宗教),不如为每个类别拥有大量的类和许多示例。

于 2014-01-03T09:24:58.093 回答