以下文章来自知乎,作者Bill Tong。Bill Tong,上海交通大学管理科学与工程博士,曾出版《在线文本数据挖掘》一书。
在关键词提取任务中,可以通过制定关键性指标,对词汇进行排序,然后抽取指标较高的词汇输出,作为最终的结果。有人会问,基于“关键性”指标的定义提取关键词,是不是不属于机器学习的方法?因为只需要为每个词汇算一个值,排序就好了,不涉及对统计模型的参数学习过程。
答案是,这种说法并不严格!关键性指标是一个实数,而词汇本身又是基于一系列文本特征的向量表示。定义关键性指标,就是要找到特征向量和实数之间的映射关系。这种映射关系,既可以是人工指定,也可以是基于机器学习的方法。但是,当前大多数算法都是基于人工指定的思路。所以会让很多学者误以为:基于关键词指标的定义的方法不属于机器学习的方法。
基于人工定义的方法比较典型的有:基于TF-IDF指标,或者基于TextRank指标。TF-IDF和TextRank指标都是人为规定的,与数据集合的形式无关。只要给定词汇对应的文本特征,就可以基于预先设定的算法计算对应的指标。(对于TF-IDF,特征向量是一个2维向量,分别是TF值和IDF值,对于TextRank指标,特征向量是一个N维向量,N是被分析文档包含的词汇个数,每个维度表示该词汇与其他词汇之间的“共现”权重)。
基于机器学习的方法很少。其原因在于,“关键性指标”没有客观的标准存在,如果存在,其本身就是人工指定的,就直接按照人工指定的规则去计算好了,也没有必要进行机器学习了。于是,便导致几乎没有学者沿着这个思路继续研究,从而形成了“关键词提取”任务研究的理论盲区。实际上,虽然"关键性”指标本身不存在“金标准”,但是我们可以假象这种“指标”是客观存在的,只是这些“指标”是隐变量,我们无法观测而已。我们可以在给定的文档中,看到每一个词汇是否为关键词,然后基于观察,反推这些看不到的“指标”,然后再去学习这种映射关系。
例如:
1. 可以通过人工标注词汇的重要性排序,然后按照重要性排序反推重要性指标,然后学习关键性指标的规则。
2. 可以指定多个人对同一个文档进行关键词标注,词汇被选为关键词的概率(被选为关键词的次数除以进行标注的总人次)作为其关键性指标,用于机器学习。
3. ....
总之,基于这种思路,比单纯人工定义关键性指标具有更好的“监督性”,同时,也克服了基于词汇的“关键”和“非关键”的二分类机器学习任务中关键词个数选择灵活性差的问题。