Bigquery Stack Overflow标签。如何找到与强烈相关的标签?​​

时间:2018-04-01 14:35:21

标签: tags google-bigquery implementation

假设我要向我展示与'数据结构'相关的所有标签和问题我希望看到相关标签,如'2-3-4 trees','binary-search-trees','dfs'等等,并没有看到很多问题按语言标准过滤。如果我尝试用数据结构找出最常见的双字母组合,那么即使是C ++和Python也会出现,但我宁愿尝试看到核心数据结构标签出现。

我该如何实施?

如果尝试过,首先通过查询数据结构来获取数据结构最多的标记。然后还查看了所有标记并获取了他们的共同伙伴,以查看是否发生了数据结构。如果它们成对出现,那么我认为它们是强相关的。但是,如何才能将这一逻辑提前一步来获取更多相关标签?

2 个答案:

答案 0 :(得分:1)

根据我的理解 - 您已经获得了代码,为您提供给定标签的“相关”标签!

如果是这样 - 要摆脱语言并只保留“强烈”相关标签,您需要找到(使用与“编程语言”标签相关的标签相同的标签)并将其从结果中排除!

宾果! (希望如此)

P.S。

当我这样做时:

低于初始列表

algorithm       java            c++                 c 
python          linked-list     tree                arrays 
c#              binary-tree     binary-search-tree  dictionary 
database        graph           sorting             javascript 
performance     list            recursion           stack 
hash            hashtable       time-complexity     queue 
hashmap             

被“修剪”到

linked-list         tree        arrays              binary-tree 
binary-search-tree  dictionary  database            graph 
sorting             list        recursion           stack 
hash                hashtable   time-complexity     queue 
hashmap             

所以,下面的条目被删除了

algorithm   java    c++         c 
python      c#      javascript  performance 

答案 1 :(得分:0)

我正在定义一个比率:

(how many times a_tag has shown up with b_tag) / (how many times b_tag has shown up without a_tag)

'数据结构'的结果看起来像您正在寻找的结果:

enter image description here

#standardSQL
CREATE TEMPORARY FUNCTION targetTag() AS ("data-structures");

WITH split_tags AS (
  SELECT SPLIT(tags, '|') tags
  FROM `bigquery-public-data.stackoverflow.posts_questions`
  WHERE tags LIKE '%|%'
)

SELECT *, ROUND(c/notc,4) ratio_related
FROM (
  SELECT tag, COUNT(*) c, (
      SELECT COUNT(*)
      FROM split_tags b, UNNEST(tags) btag
      WHERE targetTag() NOT IN UNNEST(b.tags) AND btag=tag
    ) notc
  FROM split_tags, UNNEST(tags) tag
  WHERE targetTag() IN UNNEST(tags)
  GROUP BY 1
)
WHERE notc>0
AND c+notc>20
ORDER BY 4 DESC
LIMIT 100
相关问题