{-# LANGUAGE OverloadedStrings #-}
import NLP.Scores
import Data.List.Split
import Text.Printf
import qualified Data.Text.Lazy as Text
import qualified Data.Text.Lazy.IO as Text
import qualified Data.Set as Set
main = Text.interact $ Text.unlines . map format
. map (uncurry avgPrecision . parse)
. Text.lines
format :: Double -> Text.Text
format = Text.pack . printf "%.4f"
parse :: Text.Text -> (Set.Set Text.Text, [Text.Text])
parse ln =
let [g,t] = Text.words ln
in (Set.fromList . Text.splitOn "," $ g, Text.splitOn "," $ t)