ElEve..

parent ac66ef2c
...@@ -97,9 +97,6 @@ data Token = NonTerminal Text ...@@ -97,9 +97,6 @@ data Token = NonTerminal Text
| Terminal StartStop | Terminal StartStop
deriving (Ord, Eq, Show) deriving (Ord, Eq, Show)
rootTrie :: Token
rootTrie = NonTerminal ""
isTerminal :: Token -> Bool isTerminal :: Token -> Bool
isTerminal (Terminal _) = True isTerminal (Terminal _) = True
isTerminal (NonTerminal _) = False isTerminal (NonTerminal _) = False
...@@ -390,13 +387,13 @@ toToken' n input = L.concat $ (filter (/= [Terminal Stop]) . chunkAlongEleve (n ...@@ -390,13 +387,13 @@ toToken' n input = L.concat $ (filter (/= [Terminal Stop]) . chunkAlongEleve (n
--------------------------------------------- ---------------------------------------------
set_entropy_vars :: Entropy e => Getting e i e -> (e -> i -> o) -> Tries Token i -> Trie Token o set_entropy_vars :: Entropy e => Getting e i e -> (e -> i -> o) -> Tries Token i -> Trie Token o
set_entropy_vars inE modE tries@(Tries fwd _bwd) = set_entropy_vars inE modE tries@(Tries fwd _bwd) =
mapTree (\k -> modE $ entropy_var'' inE tries k) [rootTrie] fwd mapTree (\k -> modE $ entropy_var'' inE tries k) [] fwd
mapTree :: ([Token] -> t -> e) -> [Token] -> Trie Token t -> Trie Token e mapTree :: ([Token] -> t -> e) -> [Token] -> Trie Token t -> Trie Token e
mapTree f k t = go f k t mapTree f k t = go f k t
where where
go _ _ (Leaf c) = Leaf c go _ _ (Leaf c) = Leaf c
go f k (Node c i children) = Node c (f k i) (Map.mapWithKey (\k'-> go f (filter (/= rootTrie) $ k <> [k'])) children) go f k (Node c i children) = Node c (f k i) (Map.mapWithKey (\k'-> go f (k <> [k'])) children)
entropy_var'' :: Entropy e => Getting e i e -> Tries Token i -> [Token] -> e entropy_var'' :: Entropy e => Getting e i e -> Tries Token i -> [Token] -> e
entropy_var'' inE tries ng = mean $ noNaNs [fwd, bwd] entropy_var'' inE tries ng = mean $ noNaNs [fwd, bwd]
...@@ -511,7 +508,7 @@ testEleve debug n output checks = do ...@@ -511,7 +508,7 @@ testEleve debug n output checks = do
printTrie = printTrie =
P.putStrLn . Tree.drawTree P.putStrLn . Tree.drawTree
. fmap show . fmap show
. toTree rootTrie . toTree (NonTerminal "")
-- | TODO real data is a list of tokenized sentences -- | TODO real data is a list of tokenized sentences
example0, example1, example2, example3, example4, example5, example6 :: [Text] example0, example1, example2, example3, example4, example5, example6 :: [Text]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment