(values, lsh, type='Uset', n = 128, folder_path='benchmark')
| 218 | |
| 219 | |
| 220 | def query_lsh(values, lsh, type='Uset', n = 128, folder_path='benchmark'): |
| 221 | if type=='Usem': |
| 222 | #执行选多数的操作 |
| 223 | #values_set = majority_classes(values) |
| 224 | if values[-1]==0: |
| 225 | return [] |
| 226 | values_set = [values[-1]] |
| 227 | elif type=='Uset': |
| 228 | #去重操作 |
| 229 | values_set = set(values) |
| 230 | |
| 231 | #如果这一列找不到Yago里的entity,那就跳过 |
| 232 | if len(values_set) == 0: |
| 233 | return [] |
| 234 | |
| 235 | minHash_query = MinHash(num_perm=128) |
| 236 | values = list(values_set) |
| 237 | values = [str(v) for v in values] |
| 238 | minHash_query.update_batch([v.encode('utf-8') for v in values]) |
| 239 | |
| 240 | results = lsh.query(minHash_query) |
| 241 | |
| 242 | return results |
| 243 | |
| 244 | |
| 245 | #根据minhash lsh的分桶结果来计算u_set分数的分布 |
nothing calls this directly
no test coverage detected