1 // Template list for string alignment-based morphology discovery and display
2 // Copyright © 2009 The University of Chicago
3 #ifndef TEMPLATECOLLECTION_H
4 #define TEMPLATECOLLECTION_H
6 #include "CollectionTemplate.h"
10 namespace linguistica
{ namespace ui
{ class status_user_agent
; } }
13 class CTemplateCollection
: public TCollection
<CTemplate
> {
14 class CLexicon
* m_lexicon
;
15 QMap
<QString
, class CParse
*>* m_AllWordsAndParses
; ///< Parsed Result
16 float m_TotalGlobalStickNess
;
18 QMap
<QString
, QMap
<QString
, float>*> m_GlobalStickNess2
;
19 QMap
<QString
, float> m_GlobalNodeStickNess2
;
20 float m_TotalGlobalStickNess2
;
23 int m_NumberOfDeletedTemplates
;
25 CTemplateCollection();
26 ~CTemplateCollection();
28 CTemplate
* AddToCollection(class CAlignment
* alignment
);
29 CTemplate
* AddTemplate(CTemplate
* a_template
);
30 CTemplate
* operator<<(class CAlignment
* alignment
);
31 void ListDisplay(class Q3ListView
* widget
,
32 linguistica::ui::status_user_agent
& status_display
);
33 void CheckForConflations(CTemplateCollection
* InputCollection
);
34 void OutputTemplatesForGoldStand();
35 QMap
<QString
, CParse
*>* GetParsedResult() {return m_AllWordsAndParses
;}
36 void FindAllEditDistances(CLexicon
* lex
, class CWordCollection
* words
);
38 void UpdateGlobalStickNess2();
39 void AdjustTemplatesByMovingCommonTailOrHead2(int loopi
);
40 bool CollapseAlgorithm1(int loopnumber
);
41 void SetSwitchOfSortingValue(bool value
);
42 void AbsorbWords1(int Loopi
);
43 bool OneParseContainAnother(class CParse
* haystack
, class CParse
* needles
);
44 void FindMorphemePrefixOrSuffixWithParadigmaticGraph(int loopi
);
47 void CutMtCorpusWithMorphologyAnalyses(
48 QString in_filename
, QString out_filename
,
49 QMap
<QString
, class CStem
*>& morphology_cuts
, int strategy
);
52 #endif // TEMPLATECOLLECTION_H