机器学习 - 按内容将网页分类为地址和无地址

时间:2015-04-07 06:52:22

标签: machine-learning azure-machine-learning-studio

目前我正在使用azure机器学习。我用两种类型的数据训练我的ML它们只是带有地址和没有地址的网页内容

培训输入:

i.e)
this is a address no 24/5    address
this is no address    no-address 

如果我使用任何其他方法,我使用两级贝叶斯分类对它们进行分类

GIVEN INPUT:

i.e)
This a address 12/4 

获得的输出:

i.e)
content    score    probability
This a address 12/4    no-address    0.54

预期输出:

i.e)
content    score    probability
This a address 12/4    address    with higher probability 

我的实验看起来像:

enter image description here

1 个答案:

答案 0 :(得分:2)

您需要使用功能哈希模块将文本转换为单词功能。但是,这可能还不够,因为单词不是您问题的好功能。您可能希望对文本进行一些处理并创建更多有用的功能(可能检测邮政编码的存在,数字的位置等...)

编辑:使用原始文本列作为一个功能将无法到达任何地方。您不希望模型以其编写方式学习地址。相反,您需要学习文本中为地址与非地址实例提供证据的模式。 使用要素散列时,文本列将转换为多个单词(或n-gram)列,其中值表示每个文本输入中这些单词的计数。这里的问题是过度拟合。例如,这两个地址没有任何共同点: “100 broadway st,GA”和“200 main rd,NY”但很明显他们有相似的结构。创建“有用功能”的一种方法是用标签替换单词:“#NUM#TXT,#STAT”并使用特征散列(bi-gram)来创建诸如“#NUM #TXT”和“,#STATE等功能”。如您所见,这些二元组在两个地址中都被视为证据,并表明它们之间存在某种相似性(与其他非地址实例相比)。当然这是对问题的过度简化,但我希望你明白为什么你不能使用原始文本或普通功能散列。
除了“执行R”模块之外,您还可以使用Azure ML模块进行功能散列,培训和评分,以便在培训之前进行文本处理。

编辑:功能哈希使用示例:http://gallery.azureml.net/Details/cf65bf129fee4190b6f48a53e599a755