github.com/hscells/guru@v0.0.0-20200207042420-2dabeb950d69/metamap.go (about) 1 package guru 2 3 import "github.com/hscells/metawrap" 4 5 func MetaMapConceptRatio(concepts1 []string, concepts2 []string) (float64, float64, int, int) { 6 n := 0.0 7 for _, c1 := range concepts1 { 8 for _, c2 := range concepts2 { 9 if c1 == c2 { 10 n++ 11 } 12 } 13 } 14 return n, n / float64(len(concepts1)), len(concepts1), len(concepts2) 15 } 16 17 func MetaMapCUIs(text string, client metawrap.HTTPClient) (c []string, err error) { 18 candidates, err := client.Candidates(text) 19 if err != nil { 20 return 21 } 22 seen := make(map[string]bool) 23 for _, candidate := range candidates { 24 if _, ok := seen[candidate.CandidateCUI]; !ok { 25 c = append(c, candidate.CandidateCUI) 26 seen[candidate.CandidateCUI] = true 27 } 28 } 29 return 30 }