我需要从大型培训语料库中提取特定领域的术语,例如政治术语等。我可以使用Weka和它的过滤器来瞄准这个对象吗?
我可以使用Weka中StringToVector()
过滤器生成的特征向量来执行此操作吗?
答案 0 :(得分: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
例如,要获得有关 politics 的条款,您可以:
StringToWordVector
过滤器应用于文本属性以获取字词。AttributeSelection
和Ranker
应用InfoGainAttributeEval
过滤器,以获得排名靠前的字词。后一步将为您提供最适合 politics 类别的术语列表。其中大部分都是 politics 域中的术语(虽然有些术语可能是预测性的,但仅仅因为它们不在政治领域 - 也就是说,它们提供了负面证据)。
您获得的术语的质量取决于数据集。它处理的主题越多,结果就越好;所以不要有两个类(政治,宗教,就像在我的数据集中一样),要为每个类别提供大量的和更多的例子,这样做要好得多。