前面,我们形象地讲述了特征的意义。现在我们来讲特征的计算机表示。特征,形象意义,就是文档中的术语或者词汇,有时也指文档中的某种模式(pattern)。特征的数学意义,就是空间中的某个维度,或者说特征向量的坐标系。
特征的表示,其实是说特征值的表示。前面我们举例时,是用一个布尔值来表示特征值的,也就是说表示某个术语出现与否。这种表示,最浅显易懂,但除了搜索引擎之外,恐怕意义不大。特别是在好工作网http://hellojob.cn这种文本处理非常深入的领域中,这种表示方式,几乎没有实用价值。
常见的特征表示方式还有术语+词频和术语+位置。前一种,可以用于表征文档的中心思想。后一种,对于短语查询非常有用。这些都是基础表示方式。这种表示方式也被Lucene采用。
上文所述方式,用java可以表示为:
public class Feature{
public String term;
public int freqency;
}
和
public class Feature{
public String term;
public int pos;
}
到目前为止,可能读者就要问,还有高级的特征表示方法吗?当然有,取决于解决问题的需要。比如,我们可以加上词性甚至一些语法性质。目前国内自然语言处理的研究中,就有确定词性的课题。hellojob.cn是怎样表示特征的呢?不告诉读者,自己多用用hellojob.cn体验体验吧。
特征的表示,其实是说特征值的表示。前面我们举例时,是用一个布尔值来表示特征值的,也就是说表示某个术语出现与否。这种表示,最浅显易懂,但除了搜索引擎之外,恐怕意义不大。特别是在好工作网http://hellojob.cn这种文本处理非常深入的领域中,这种表示方式,几乎没有实用价值。
常见的特征表示方式还有术语+词频和术语+位置。前一种,可以用于表征文档的中心思想。后一种,对于短语查询非常有用。这些都是基础表示方式。这种表示方式也被Lucene采用。
上文所述方式,用java可以表示为:
public class Feature{
public String term;
public int freqency;
}
和
public class Feature{
public String term;
public int pos;
}
到目前为止,可能读者就要问,还有高级的特征表示方法吗?当然有,取决于解决问题的需要。比如,我们可以加上词性甚至一些语法性质。目前国内自然语言处理的研究中,就有确定词性的课题。hellojob.cn是怎样表示特征的呢?不告诉读者,自己多用用hellojob.cn体验体验吧。