Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
118
Issues
118
List
Board
Labels
Milestones
Merge Requests
7
Merge Requests
7
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
gargantext
haskell-gargantext
Commits
a3c7c18b
Commit
a3c7c18b
authored
Jun 15, 2023
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FIX] Order 2
parent
fa5c63fb
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
20 deletions
+22
-20
gargantext.cabal
gargantext.cabal
+1
-1
Similarities.hs
src/Gargantext/Core/Methods/Similarities.hs
+10
-6
Distributional.hs
...xt/Core/Methods/Similarities/Accelerate/Distributional.hs
+8
-8
Tools.hs
src/Gargantext/Core/Viz/Graph/Tools.hs
+3
-5
No files found.
gargantext.cabal
View file @
a3c7c18b
src/Gargantext/Core/Methods/Similarities.hs
View file @
a3c7c18b
...
@@ -31,20 +31,24 @@ import Test.QuickCheck.Arbitrary
...
@@ -31,20 +31,24 @@ import Test.QuickCheck.Arbitrary
import
qualified
Data.Text
as
Text
import
qualified
Data.Text
as
Text
------------------------------------------------------------------------
------------------------------------------------------------------------
data
Similarity
=
Conditional
|
Distributional
data
Similarity
=
Conditional
|
Distributional
_A
|
Distributional_B
deriving
(
Show
,
Eq
)
deriving
(
Show
,
Eq
)
measure
::
Similarity
->
Matrix
Int
->
Matrix
Double
measure
::
Similarity
->
Matrix
Int
->
Matrix
Double
measure
Conditional
x
=
measureConditional
x
measure
Conditional
x
=
measureConditional
x
measure
Distributional
x
=
logDistributional2
x
measure
Distributional_A
x
=
logDistributional2
1
x
measure
Distributional_B
x
=
logDistributional2
0
x
------------------------------------------------------------------------
------------------------------------------------------------------------
withMetric
::
GraphMetric
->
Similarity
withMetric
::
GraphMetric
->
Similarity
withMetric
Order1
=
Conditional
withMetric
Order1
=
Conditional
withMetric
Order2
=
Distributional
withMetric
Order2_A
=
Distributional_A
withMetric
_
=
Distributional_B
------------------------------------------------------------------------
------------------------------------------------------------------------
data
GraphMetric
=
Order1
|
Order2
-- Order2 type is for keeping Database json compatibility
-- it is supposed to be removed in the future
data
GraphMetric
=
Order1
|
Order2
|
Order2_A
|
Order2_B
deriving
(
Generic
,
Eq
,
Ord
,
Enum
,
Bounded
,
Show
)
deriving
(
Generic
,
Eq
,
Ord
,
Enum
,
Bounded
,
Show
)
instance
FromJSON
GraphMetric
instance
FromJSON
GraphMetric
...
...
src/Gargantext/Core/Methods/Similarities/Accelerate/Distributional.hs
View file @
a3c7c18b
...
@@ -168,16 +168,16 @@ distributional m' = run $ result
...
@@ -168,16 +168,16 @@ distributional m' = run $ result
result
=
termDivNan
z_1
z_2
result
=
termDivNan
z_1
z_2
logDistributional2
::
Matrix
Int
->
Matrix
Double
logDistributional2
::
Exp
Double
->
Matrix
Int
->
Matrix
Double
logDistributional2
m
=
trace
(
"logDistributional2, dim="
`
mappend
`
show
n
)
.
run
logDistributional2
o
m
=
trace
(
"logDistributional2, dim="
`
mappend
`
show
n
)
.
run
$
diagNull
n
$
diagNull
n
$
matMaxMini
$
matMaxMini
$
logDistributional'
n
m
$
logDistributional'
o
n
m
where
where
n
=
dim
m
n
=
dim
m
logDistributional'
::
Int
->
Matrix
Int
->
Acc
(
Matrix
Double
)
logDistributional'
::
Exp
Double
->
Int
->
Matrix
Int
->
Acc
(
Matrix
Double
)
logDistributional'
n
m'
=
trace
(
"logDistributional'"
)
result
logDistributional'
o
n
m'
=
trace
(
"logDistributional'"
)
result
where
where
-- From Matrix Int to Matrix Double, i.e :
-- From Matrix Int to Matrix Double, i.e :
-- m :: Matrix Int -> Matrix Double
-- m :: Matrix Int -> Matrix Double
...
@@ -204,7 +204,7 @@ logDistributional' n m' = trace ("logDistributional'") result
...
@@ -204,7 +204,7 @@ logDistributional' n m' = trace ("logDistributional'") result
-- m_{i,j} = 0 if n_{i,j} = 0 or i = j,
-- m_{i,j} = 0 if n_{i,j} = 0 or i = j,
-- m_{i,j} = log(to * n_{i,j} / s_{i,j}) otherwise.
-- m_{i,j} = log(to * n_{i,j} / s_{i,j}) otherwise.
mi
=
(
.*
)
(
matrixEye
n
)
mi
=
(
.*
)
(
matrixEye
n
)
(
map
(
lift1
(
\
x
->
cond
(
x
==
0
)
0
(
log
(
1
+
x
*
to
))))
((
./
)
m
ss
))
(
map
(
lift1
(
\
x
->
cond
(
x
==
0
)
0
(
log
(
o
+
x
*
to
))))
((
./
)
m
ss
))
-- mi_nnz :: Int
-- mi_nnz :: Int
-- mi_nnz = flip indexArray Z . run $
-- mi_nnz = flip indexArray Z . run $
-- foldAll (+) 0 $ map (\a -> ifThenElse (abs a < 10^(-6 :: Exp Int)) 0 1) mi
-- foldAll (+) 0 $ map (\a -> ifThenElse (abs a < 10^(-6 :: Exp Int)) 0 1) mi
...
...
src/Gargantext/Core/Viz/Graph/Tools.hs
View file @
a3c7c18b
...
@@ -73,7 +73,6 @@ defaultClustering x = spinglass 1 x
...
@@ -73,7 +73,6 @@ defaultClustering x = spinglass 1 x
-------------------------------------------------------------
-------------------------------------------------------------
type
Threshold
=
Double
type
Threshold
=
Double
cooc2graph'
::
Ord
t
=>
Similarity
cooc2graph'
::
Ord
t
=>
Similarity
->
Double
->
Double
->
Map
(
t
,
t
)
Int
->
Map
(
t
,
t
)
Int
...
@@ -84,7 +83,7 @@ cooc2graph' distance threshold myCooc
...
@@ -84,7 +83,7 @@ cooc2graph' distance threshold myCooc
$
measure
distance
$
measure
distance
$
case
distance
of
$
case
distance
of
Conditional
->
map2mat
Triangle
0
tiSize
Conditional
->
map2mat
Triangle
0
tiSize
Distributional
->
map2mat
Square
0
tiSize
_
->
map2mat
Square
0
tiSize
$
Map
.
filter
(
>
1
)
myCooc'
$
Map
.
filter
(
>
1
)
myCooc'
where
where
...
@@ -93,7 +92,6 @@ cooc2graph' distance threshold myCooc
...
@@ -93,7 +92,6 @@ cooc2graph' distance threshold myCooc
myCooc'
=
toIndex
ti
myCooc
myCooc'
=
toIndex
ti
myCooc
-- coocurrences graph computation
-- coocurrences graph computation
cooc2graphWith
::
PartitionMethod
cooc2graphWith
::
PartitionMethod
->
BridgenessMethod
->
BridgenessMethod
...
@@ -197,7 +195,7 @@ doSimilarityMap Conditional threshold strength myCooc = (distanceMap, toIndex ti
...
@@ -197,7 +195,7 @@ doSimilarityMap Conditional threshold strength myCooc = (distanceMap, toIndex ti
$
Map
.
filter
(
>
threshold
)
$
Map
.
filter
(
>
threshold
)
$
similarities
`
seq
`
mat2map
similarities
$
similarities
`
seq
`
mat2map
similarities
doSimilarityMap
Distributional
threshold
strength
myCooc
=
(
distanceMap
,
toIndex
ti
diag
,
ti
)
doSimilarityMap
distriType
threshold
strength
myCooc
=
(
distanceMap
,
toIndex
ti
diag
,
ti
)
where
where
-- TODO remove below
-- TODO remove below
(
diag
,
theMatrix
)
=
Map
.
partitionWithKey
(
\
(
x
,
y
)
_
->
x
==
y
)
(
diag
,
theMatrix
)
=
Map
.
partitionWithKey
(
\
(
x
,
y
)
_
->
x
==
y
)
...
@@ -208,7 +206,7 @@ doSimilarityMap Distributional threshold strength myCooc = (distanceMap, toIndex
...
@@ -208,7 +206,7 @@ doSimilarityMap Distributional threshold strength myCooc = (distanceMap, toIndex
tiSize
=
Map
.
size
ti
tiSize
=
Map
.
size
ti
similarities
=
(
\
m
->
m
`
seq
`
m
)
similarities
=
(
\
m
->
m
`
seq
`
m
)
$
(
\
m
->
m
`
seq
`
measure
Distributional
m
)
$
(
\
m
->
m
`
seq
`
measure
distriType
m
)
$
(
\
m
->
m
`
seq
`
map2mat
Square
0
tiSize
m
)
$
(
\
m
->
m
`
seq
`
map2mat
Square
0
tiSize
m
)
$
theMatrix
`
seq
`
toIndex
ti
theMatrix
$
theMatrix
`
seq
`
toIndex
ti
theMatrix
...
...
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