Figure 1

Figure 2

Figure 3

Figure 4

The semantic evaluation results of different similarity threshold setting values in HTT_
| Threshold | Degree centrality | h-degree | ||||
|---|---|---|---|---|---|---|
| TP | TR | F1 | TP | TR | F1 | |
| 0 | 0.0448 | 0.0368 | 0.0404 | 0.0509 | 0.0405 | 0.0451 |
| 1 | 0.0448 | 0.0368 | 0.0404 | 0.0509 | 0.0405 | 0.0451 |
| 2 | 0.0448 | 0.0368 | 0.0404 | 0.0509 | 0.0405 | 0.0451 |
| 3 | 0.0448 | 0.0368 | 0.0404 | 0.0510 | 0.0405 | 0.0451 |
| 4 | 0.0448 | 0.0368 | 0.0404 | 0.0510 | 0.0405 | 0.0451 |
| 5 | 0.0448 | 0.0368 | 0.0404 | 0.0509 | 0.0404 | 0.0451 |
| 6 | 0.0448 | 0.0368 | 0.0404 | 0.0509 | 0.0404 | 0.0451 |
| 7 | 0.0447 | 0.0367 | 0.0403 | 0.0509 | 0.0404 | 0.0450 |
| 8 | 0.0446 | 0.0365 | 0.0402 | 0.0508 | 0.0402 | 0.0449 |
| 9 | 0.0445 | 0.0365 | 0.0401 | 0.0507 | 0.0402 | 0.0448 |
| 10 | 0.0443 | 0.0364 | 0.0400 | 0.0506 | 0.0401 | 0.0447 |
| 20 | 0.0417 | 0.0339 | 0.0374 | 0.0479 | 0.0376 | 0.0421 |
| 30 | 0.0382 | 0.0309 | 0.0342 | 0.0446 | 0.0346 | 0.0389 |
| 40 | 0.0344 | 0.0273 | 0.0305 | 0.0406 | 0.0310 | 0.0351 |
| 50 | 0.0316 | 0.0249 | 0.0279 | 0.0378 | 0.0286 | 0.0325 |
| 60 | 0.0298 | 0.0232 | 0.0261 | 0.0360 | 0.0267 | 0.0307 |
| 70 | 0.0279 | 0.0218 | 0.0245 | 0.0343 | 0.0252 | 0.0290 |
| 80 | 0.0264 | 0.0205 | 0.0231 | 0.0328 | 0.0238 | 0.0276 |
| 90 | 0.0252 | 0.0198 | 0.0222 | 0.0319 | 0.0230 | 0.0268 |
| 100 | 0.0241 | 0.0187 | 0.0211 | 0.0308 | 0.0221 | 0.0257 |
Get representative nodes from tag set L_
| FunctionGetRepresent ( L, k, λ ) | |
| 1. | Initialize A = Φ, m = |L|, T = L, and L is tag set {tl,…,tm}; |
| 2. | Get generality for each tag t in T by calling function Ge(t), and store them in an array D; |
| 3. | k = k>m?m:k; |
| 4. | for i = 1:k |
| 5. | select the tag tmax from T which has the maximal value in D; |
| 6. | A = A∪tmax, T = T / tmax; //Add tmax to A and remove tmax from T |
| 7. | for j = 1: |T| |
| 8. | D[tj] = D[tj] – λ*sim(tmax,tj)*D[tmax]; //As a punishment, lowering down the nodes’ |
| generality according to their similarity to the selected node tmax. | |
| 9. | end for |
| 10. | end for |
| 11. | return to A; |
Construct a tag tree_
| FunctionConstructTree (p, L, k, λ ) | |
| 1. | A = GetRepresent( L, k, λ ); |
| 2. | n = |A|; m = |L| // n,m is the number of elements in A,L separately. |
| 3. | if n = 0 return to p; |
| 4. | L1={}, L2={}, …, Ln={}; |
| 5. | for i=1:m |
| 6. | if (L[i] in A) continue; |
| 7. | j = MaxSimIndex(A, L[i]); // get the index of the most similar tag in A for L[i]. |
| 8. | if (Ge(L[i])>Ge(A[j]) ) continue; // Ge() is the function of generality. |
| 9. | Lj = Lj∪L[i]; //group element L[i] to subset Lj, which associates with A[j]. |
| 10. | end for |
| 11. | for i=1:n |
| 12. | build a node c for tag A[i]; |
| 13. | s = ConstructTree(&c, Li, k, λ); |
| 14. | add s as a child of p; |
| 15. | end for |
| 16. | return to p; |