基于用户行为数据的同义词挖掘方法 (英文)

last modify

候选生成

N-gram synonym candidates

  • 考虑一个序列对 (seq, seq);

  • 对每个序列生成 n-gram 子序列集合, 然后对两个子序列集做笛卡尔积, 生成所有候选 synonym candidates;

  • 示例

    example seq pair: 
        (womens dresses, ladies gown)
    
    2-gram synonym candidates (3 * 3):
        womens, ladies
        womens, gown
        womens, ladies gown
        dresses, ladies
        dresses, gown
        dresses, ladies gown
        womens dresses, ladies
        womens dresses, gown
        womens dresses, ladies gown
  • 统计所有 synonym candidates 出现的频率, 保留其中出现过最小次数的候选;

seq pair 来源

  • (Query, Query)

    • 从一个 query session 中生成的 query 对; 一般有以下两种生成方法:

      • 法1) 固定时间, 对该时间段内的 query 序列通过长度为 2 的滑动窗口截取;

      • 法2) 固定长度为 2, 保留满足时间间隔的 pair 对;

  • (Query, Item)

    • 存在点击的 query 和 item (title) 对;

  • (Item, Item)

    • 在同一 query 下同时出现的 Item pair;

规则过滤

词干检测

  • 即相同词干的认为是同义词;

  • 示例 (boat, boats);

  • 作用于 unigram candidates;

复合词检测

Compounding, 这里的复合词指的是由多个词拼接而成的单个词, 如 sailboat (sail boat)

  • 示例 (granitpflastersteine, granit pflastersteine, granit pflaster steine)

外部同义词词典

如 WordNet

首字母缩略词

使用 提供的算法来识别缩略词;

philgooch/abbreviation-extraction: Python3 implementation of the Schwartz-Hearst algorithm for extracting abbreviation-definition pairs

短语过滤

这里所说的短语跟一般定义的短语可能还略有却别, 详见

  • 假设原 seq pair 中存在一个短语, 如 "new balance (新百伦)", 那么所有将这个短语切开的 n-gram 候选就可以直接过滤掉, 即强制将短语看做一个 term;

分类器

参考

  1. Ariel S. Schwartz and Marti A. Hearst. “A simple algorithm for identifying abbreviation definitions in biomedical text..” pacific symposium on biocomputing(2002): n. pag.

Last updated