3.8 KiB
3.8 KiB
In [6]:
import (
"io/ioutil"
"fmt"
"strings"
"strconv"
"dataframe"
)
const kitchenReviews = "./datasets/words/processed_acl/kitchen"
type Pair struct {
Phrase string
Frequency int
}
func pairsAndFilters(splitPairs []string) ([]Pair, map[string]bool) {
var (
pairs []Pair
m map[string]bool
)
m = make(map[string]bool)
for _, pair := range splitPairs{
p := strings.Split(pair, ":")
phrase := p[0]
m[phrase] = true
if len(p) < 2 {
continue
}
freq, err := strconv.Atoi(p[1])
if err != nil {
fmt.Println("Fuck ", err)
}
pairs = append(pairs, Pair{
Phrase: phrase,
Frequency: freq,
})
}
return pairs, m
}
func exclude(pairs []Pair, exclusions map[string]bool) []Pair {
var ret []Pair
for _, pair := range pairs{
if !exclusions[pair.Phrase] {
ret = append(ret, pair)
}
}
return ret
}repl.go:6:5: error loading package "dataframe" metadata, maybe you need to download (go get), compile (go build) and install (go install) it? can't find import: "dataframe"
In [4]:
positives, err := ioutil.ReadFile(kitchenReviews + "/positive.review")
if err != nil {
fmt.Println("could not read positive reviews: ", err)
}
negatives, err := ioutil.ReadFile(kitchenReviews + "/negative.review")
if err != nil {
fmt.Println("could not read negative reviews: ", err)
}
pairsPositives := strings.Fields(string(positives))
pairsNegatives := strings.Fields(string(negatives))
parsedPositives, posPhrases := pairsAndFilters(pairsPositives)
parsedNegatives, negPhrases := pairsAndFilters(pairsNegatives)
parsedPositives = exclude(parsedPositives, negPhrases)
parsedNegatives = exclude(parsedNegatives, posPhrases)
dfPos := dataframe.LoadStructs(parsedPositives)
dfNeg := dataframe.LoadStructs(parsedNegatives)
fmt.Println(dfPos)
repl.go:21:10: undefined "dataframe" in dataframe.LoadStructs <*ast.SelectorExpr>
In [ ]: