Commit 785af585 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[CLEAN] smal refact, renaming, doc

parent ece7883b
...@@ -17,7 +17,6 @@ module Gargantext.Core.Text.List ...@@ -17,7 +17,6 @@ module Gargantext.Core.Text.List
import Control.Lens hiding (both) -- ((^.), view, over, set, (_1), (_2)) import Control.Lens hiding (both) -- ((^.), view, over, set, (_1), (_2))
import Data.Map (Map) import Data.Map (Map)
import Data.Maybe (catMaybes, fromMaybe)
import Data.Monoid (mempty) import Data.Monoid (mempty)
import Data.Ord (Down(..)) import Data.Ord (Down(..))
import Data.Set (Set) import Data.Set (Set)
...@@ -43,11 +42,9 @@ import Gargantext.Database.Query.Table.Node.Error (HasNodeError()) ...@@ -43,11 +42,9 @@ import Gargantext.Database.Query.Table.Node.Error (HasNodeError())
import Gargantext.Database.Query.Tree.Error (HasTreeError) import Gargantext.Database.Query.Tree.Error (HasTreeError)
import Gargantext.Database.Schema.Ngrams (NgramsType(..)) import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Prelude import Gargantext.Prelude
import qualified Data.Char as Char
import qualified Data.List as List import qualified Data.List as List
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
import qualified Data.Text as Text
{- {-
...@@ -138,6 +135,8 @@ buildNgramsTermsList :: ( HasNodeError err ...@@ -138,6 +135,8 @@ buildNgramsTermsList :: ( HasNodeError err
-> m (Map NgramsType [NgramsElement]) -> m (Map NgramsType [NgramsElement])
buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
-- | Filter 0 With Double
-- Computing global speGen score -- Computing global speGen score
allTerms :: Map Text Double <- getTficf uCid mCid nt allTerms :: Map Text Double <- getTficf uCid mCid nt
...@@ -168,12 +167,15 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do ...@@ -168,12 +167,15 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
(groupedMonoHead, groupedMonoTail) = splitAt monoSize groupedMono (groupedMonoHead, groupedMonoTail) = splitAt monoSize groupedMono
(groupedMultHead, groupedMultTail) = splitAt multSize groupedMult (groupedMultHead, groupedMultTail) = splitAt multSize groupedMult
-------------------------
-- Filter 1 With Set NodeId and SpeGen
selectedTerms = Set.toList $ hasTerms (groupedMonoHead <> groupedMultHead) selectedTerms = Set.toList $ hasTerms (groupedMonoHead <> groupedMultHead)
-- TO remove (and remove HasNodeError instance) -- TO remove (and remove HasNodeError instance)
userListId <- defaultList uCid userListId <- defaultList uCid
masterListId <- defaultList mCid masterListId <- defaultList mCid
mapTextDocIds <- getNodesByNgramsOnlyUser uCid mapTextDocIds <- getNodesByNgramsOnlyUser uCid
[userListId, masterListId] [userListId, masterListId]
nt nt
...@@ -232,27 +234,27 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do ...@@ -232,27 +234,27 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
exclSize = 1 - inclSize exclSize = 1 - inclSize
splitAt' n' = (both (Map.fromList)) . (List.splitAt (round $ n' * listSizeLocal)) splitAt' n' = (both (Map.fromList)) . (List.splitAt (round $ n' * listSizeLocal))
sortOn f = (List.sortOn (Down . f . _gts'_score . snd)) . Map.toList sortOn f = (List.sortOn (Down . (view (gts'_score . f)) . snd)) . Map.toList
monoInc_size = monoSize * inclSize / 2 monoInc_size = splitAt' $ monoSize * inclSize / 2
(monoScoredInclHead, monoScoredInclTail) = splitAt' monoInc_size $ (sortOn _scored_genInc) monoScoredIncl (monoScoredInclHead, monoScoredInclTail) = monoInc_size $ (sortOn scored_genInc) monoScoredIncl
(monoScoredExclHead, monoScoredExclTail) = splitAt' monoInc_size $ (sortOn _scored_speExc) monoScoredExcl (monoScoredExclHead, monoScoredExclTail) = monoInc_size $ (sortOn scored_speExc) monoScoredExcl
multExc_size = multSize * exclSize / 2 multExc_size = splitAt' $ multSize * exclSize / 2
(multScoredInclHead, multScoredInclTail) = splitAt' multExc_size $ (sortOn _scored_genInc) multScoredIncl (multScoredInclHead, multScoredInclTail) = multExc_size $ (sortOn scored_genInc) multScoredIncl
(multScoredExclHead, multScoredExclTail) = splitAt' multExc_size $ (sortOn _scored_speExc) multScoredExcl (multScoredExclHead, multScoredExclTail) = multExc_size $ (sortOn scored_speExc) multScoredExcl
-- Final Step building the Typed list -- Final Step building the Typed list
termListHead = maps <> cands termListHead = maps <> cands
where where
maps = setListType (Just MapTerm) maps = setListType (Just MapTerm)
$ monoScoredInclHead $ monoScoredInclHead
<> monoScoredExclHead <> monoScoredExclHead
<> multScoredInclHead <> multScoredInclHead
<> multScoredExclHead <> multScoredExclHead
cands = setListType (Just CandidateTerm) cands = setListType (Just CandidateTerm)
$ monoScoredInclTail $ monoScoredInclTail
<> monoScoredExclTail <> monoScoredExclTail
<> multScoredInclTail <> multScoredInclTail
<> multScoredExclTail <> multScoredExclTail
...@@ -267,5 +269,3 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do ...@@ -267,5 +269,3 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
] ]
pure result pure result
------------------------------------------------------------------------------
...@@ -52,9 +52,6 @@ toGroupedTree groupParams flc scores = {-view flc_scores-} flow2 ...@@ -52,9 +52,6 @@ toGroupedTree groupParams flc scores = {-view flc_scores-} flow2
True -> flow1 True -> flow1
False -> groupWithStem' groupParams flow1 False -> groupWithStem' groupParams flow1
{-
DM.foldlWithKey :: (a -> k -> b -> a) -> a -> Map k b -> a
-}
setScoresWith :: (Ord a, Ord b) setScoresWith :: (Ord a, Ord b)
=> (Text -> (GroupedTreeScores a) -> (GroupedTreeScores b)) => (Text -> (GroupedTreeScores a) -> (GroupedTreeScores b))
...@@ -62,6 +59,11 @@ setScoresWith :: (Ord a, Ord b) ...@@ -62,6 +59,11 @@ setScoresWith :: (Ord a, Ord b)
-> Map Text (GroupedTreeScores b) -> Map Text (GroupedTreeScores b)
setScoresWith = Map.mapWithKey setScoresWith = Map.mapWithKey
{-
gts :: (Text -> b) -> Text -> GroupedTreeScores a -> GroupedTreeScores b
gts f t g = over gts'_children set gts'_score (f t) g
-}
{- {-
Map.foldlWithKey (\k v -> Map.foldlWithKey (\k v ->
{- over gts'_children (setScoresWith fun) {- over gts'_children (setScoresWith fun)
......
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