Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Przemyslaw Kaminski
haskell-gargantext
Commits
006ef5b9
Unverified
Commit
006ef5b9
authored
Jun 11, 2019
by
Nicolas Pouillard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ElEve..
parent
c8240f5f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
22 deletions
+22
-22
Eleve.hs
src/Gargantext/Text/Eleve.hs
+22
-22
No files found.
src/Gargantext/Text/Eleve.hs
View file @
006ef5b9
...
...
@@ -223,6 +223,9 @@ class IsTrie trie where
nodeEntropy
::
Entropy
e
=>
Getting
e
i
e
->
trie
k
i
->
e
nodeChild
::
Ord
k
=>
k
->
trie
k
e
->
trie
k
e
findTrie
::
Ord
k
=>
[
k
]
->
trie
k
e
->
trie
k
e
normalizeEntropy
::
Entropy
e
=>
Getting
e
i
e
->
ModEntropy
i
o
e
->
trie
k
i
->
trie
k
o
-- UNUSED
--nodeAutonomy :: (Ord k, Entropy e) => Getting e i e -> trie k i -> [k] -> e
...
...
@@ -239,20 +242,12 @@ instance IsTrie Trie where
findTrie
ks
t
=
L
.
foldl
(
flip
nodeChild
)
t
ks
normalizeEntropy
::
Entropy
e
=>
Getting
e
i
e
->
ModEntropy
i
o
e
->
Trie
k
i
->
Trie
k
o
normalizeEntropy
inE
modE
t
=
go
(
modE
identity
)
level
t
normalizeEntropy
inE
modE
t
=
go
(
modE
identity
)
(
entropyLevels
inE
t
)
t
where
level
=
(
entropyLevels
inE
t
)
go
_
[]
_
=
panic
"normalizeEntropy' empty levels"
go
_
_
(
Leaf
c
)
=
Leaf
c
-- go _ ([] : _) _ = panic "normalizeEntropy': empty level"
go
f
(
es
:
ess
)
(
Node
c
i
children
)
-- | any (sim (i ^. inE)) es
=
Node
c
(
f
i
)
$
go
(
modE
$
normalizeLevel
(
i
^.
inE
)
es
)
ess
<$>
children
-- | otherwise
-- = panic "NOT an elem"
{-
...
...
@@ -312,6 +307,11 @@ instance IsTrie Tries where
nodeChild
k
(
Tries
fwd
bwd
)
=
Tries
(
nodeChild
k
fwd
)
(
nodeChild
k
bwd
)
normalizeEntropy
inE
modE
=
onTries
(
normalizeEntropy
inE
modE
)
onTries
::
(
Trie
k
i
->
Trie
k
o
)
->
Tries
k
i
->
Tries
k
o
onTries
f
(
Tries
fwd
bwd
)
=
Tries
(
f
fwd
)
(
f
bwd
)
------------------------------------------------------------------------
split
::
(
IsTrie
trie
,
Entropy
e
)
=>
Lens'
i
e
->
trie
Token
i
->
[
Token
]
->
[[
Token
]]
split
_
_
[]
=
[]
...
...
@@ -425,17 +425,17 @@ testEleve debug n output checks = do
-- forM_ pss (P.putStrLn . show)
P
.
putStrLn
""
P
.
putStrLn
"Forward:"
printTrie
(
_fwd
t
)
printTrie
(
_fwd
n
t
)
P
.
putStrLn
""
P
.
putStrLn
"Backward:"
printTrie
(
_bwd
t
)
printTrie
(
_bwd
n
t
)
P
.
putStrLn
""
P
.
putStrLn
"Levels:"
forM_
(
entropyLevels
identity
t''
)
$
\
level
->
P
.
putStrLn
$
" "
<>
show
level
P
.
putStrLn
""
P
.
putStrLn
"
Normalized
:"
printTrie
nt
P
.
putStrLn
"
Entropy Var
:"
printTrie
t''
P
.
putStrLn
""
P
.
putStrLn
"Splitting:"
P
.
putStrLn
$
show
res
...
...
@@ -453,11 +453,11 @@ testEleve debug n output checks = do
&
bwd
.
node_children
.
at
(
Terminal
Start
)
.
_Just
.
node_entropy
.~
nan
-- TODO NP: this is a hack to set the bwd entropy of Start at NaN.
t''
::
Trie
Token
Double
t''
=
set_entropy_vars
identity
(
\
e
_i
->
e
)
t
nt
::
Tries
Token
(
I
Double
)
nt
=
normalizeEntropy
identity
set_autonomy
t
nt
::
Trie
Token
(
I
Double
)
nt
=
normalizeEntropy
identity
set_autonomy
t''
t''
::
Trie
Token
Double
t''
=
set_entropy_vars
info_autonomy
(
\
e
_i
->
e
)
nt
-- nt = normalizeEntropy identity set_autonomy (fwd :: Trie Token Double)
-- nt = normalizeEntropy' info_entropy (\f -> info_norm_entropy' %~ f) nt
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment