Commit 67c34520 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[LIST] improved for candidates

parent 65f36dec
Pipeline #1468 failed with stage
...@@ -256,42 +256,50 @@ buildNgramsTermsList user uCid mCid groupParams (nt, _mapListSize)= do ...@@ -256,42 +256,50 @@ buildNgramsTermsList user uCid mCid groupParams (nt, _mapListSize)= do
-- splitAt -- splitAt
let let
-- use % of list if to big, or Int if to small -- use % of list if to big, or Int if to small
listSizeLocal = 1000 :: Double mapSize = 1000 :: Double
canSize = mapSize * 10 :: Double
inclSize = 0.4 :: Double inclSize = 0.4 :: Double
exclSize = 1 - inclSize exclSize = 1 - inclSize
splitAt' max' n' = (both (HashMap.fromList)) . (List.splitAt (round $ n' * max')) splitAt' max' n' = (both (HashMap.fromList)) . (List.splitAt (round $ n' * max'))
sortOn f = (List.sortOn (Down . (view (gts'_score . f)) . snd)) . HashMap.toList sortOn f = (List.sortOn (Down . (view (gts'_score . f)) . snd)) . HashMap.toList
monoInc_size n = splitAt' n $ monoSize * inclSize / 2
multExc_size n = splitAt' n $ multSize * exclSize / 2
(mapMonoScoredInclHead, monoScoredInclTail) = monoInc_size mapSize $ (sortOn scored_genInc) monoScoredIncl
(mapMonoScoredExclHead, monoScoredExclTail) = monoInc_size mapSize $ (sortOn scored_speExc) monoScoredExcl
(mapMultScoredInclHead, multScoredInclTail) = multExc_size mapSize $ (sortOn scored_genInc) multScoredIncl
(mapMultScoredExclHead, multScoredExclTail) = multExc_size mapSize $ (sortOn scored_speExc) multScoredExcl
monoInc_size = splitAt' listSizeLocal $ monoSize * inclSize / 2
(monoScoredInclHead, monoScoredInclTail) = monoInc_size $ (sortOn scored_genInc) monoScoredIncl
(monoScoredExclHead, _monoScoredExclTail) = monoInc_size $ (sortOn scored_speExc) monoScoredExcl
multExc_size = splitAt' listSizeLocal $ multSize * exclSize / 2 (canMonoScoredIncHead , _) = monoInc_size canSize $ (sortOn scored_genInc) monoScoredInclTail
(multScoredInclHead, multScoredInclTail) = multExc_size $ (sortOn scored_genInc) multScoredIncl (canMonoScoredExclHead, _) = monoInc_size canSize $ (sortOn scored_speExc) monoScoredExclTail
(multScoredExclHead, multScoredExclTail) = multExc_size $ (sortOn scored_speExc) multScoredExcl
(candidatesHead, _candidatesTail) = splitAt' 4000 (0.5 :: Double) (canMulScoredInclHead, _) = multExc_size canSize $ (sortOn scored_genInc) multScoredInclTail
$ sortOn scored_genInc (canMultScoredExclHead, _) = multExc_size canSize $ (sortOn scored_speExc) multScoredExclTail
$ monoScoredInclTail
<> multScoredInclTail
<> multScoredExclTail
printDebug "stopWords" stopTerms
------------------------------------------------------------ ------------------------------------------------------------
-- Final Step building the Typed list -- Final Step building the Typed list
-- Candidates Terms need to be filtered -- Candidates Terms need to be filtered
let let
maps = setListType (Just MapTerm) maps = setListType (Just MapTerm)
$ monoScoredInclHead $ mapMonoScoredInclHead
<> monoScoredExclHead <> mapMonoScoredExclHead
<> multScoredInclHead <> mapMultScoredInclHead
<> multScoredExclHead <> mapMultScoredExclHead
-- An original way to filter to start with -- An original way to filter to start with
cands = setListType (Just CandidateTerm) candidatesHead cands = setListType (Just CandidateTerm)
$ canMonoScoredIncHead
<> canMonoScoredExclHead
<> canMulScoredInclHead
<> canMultScoredExclHead
-- TODO count it too
cands' = setListType (Just CandidateTerm) cands' = setListType (Just CandidateTerm)
{-$ groupedMonoTail {-$ groupedMonoTail
<>-} groupedMultTail <>-} groupedMultTail
......
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