File Structure - ktr-skmt/FelisCatusZero GitHub Wiki

(repository root)
│  .gitignore // Gitで管理しないファイル・ディレクトリ
│  LICENSE // ライセンス情報
|  README.md // README
│  build.sbt // SBTビルド情報
│  trial.sh // Trial用実行コマンド
│  
├─ out // 実行後に作成される出力用ディレクトリ
|  ├─ result // 実行結果が出力されるディレクトリ
│  │  └─ [Timestamp]
│  │     │  evaluation_result.html // 評価結果HTML
│  │     │  A_Baseline.xml // 問題XML Aの出力結果
│  │     │  B_Baseline.xml // 問題XML Bの出力結果
│  │ 
│  └─ xmi // 中間状態を保存するXMIをGzipで圧縮したデータを格納するディレクトリ
│
├─ project
│  │  build.properties // SBT Version
│  │  plugins.sbt // Log Level
|
├─ tutorial // チュートリアル(Jupyter上からの実行結果)
│  │ (省略)
│  
└─ src // ソースコード
   ├─ main // テストコードではないファイル
   │  ├─ java // Javaのソースコード
   │  │  ├─ jeqa // 本システムのType Systemが定義したCAS Type
   │  │  │  └─ types // CAS Type
   │  │  │     |  // 自然言語非依存のCAS Type
   │  │  │     └─ ja // 日本語依存のCAS Type
   │  │  └─ // Source Document Information CAS Type
   │  ├─ resources // リソース
   │  │  │  reference.conf // Configuration Parameter File
   │  │  │
   │  │  ├─ desc // UIMA Descriptor XML
   │  │  │  ├─ ae // UIMA Analysis Engine Descriptor XML
   │  │  │  |  |  aaeDescriptor.xml // Aggregate Analysis Engine Descriptor XML
   │  │  │  |  |  essayGeneratorAAEDescriptor.xml // Essay Generator Aggregate Analysis Engine Descriptor XML
   │  │  │  |  |  essayGeneratorAEDescriptor.xml // Essay Generator Primitive Analysis Engine Descriptor XML
   │  │  │  |  |  informationRetrieverAAEDescriptor.xml // Information Retriever Aggregate Analysis Engine Descriptor XML
   │  │  │  |  |  informationRetrieverAEDescriptor.xml // Information Retriever Primitive Analysis Engine Descriptor XML
   │  │  │  |  |  questionAnalyzerAAEDescriptor.xml // Question Aggregate Analysis Engine Descriptor XML
   │  │  │  |  |  questionAnalyzerAEDescriptor.xml // Question Primitive Analysis Engine Descriptor XML
   │  │  │  |
   │  │  │  ├─ cc // UIMA CAS Consumer Descriptor XML
   │  │  │  |  |  essayWriterCCDescriptor.xml // Essay Writer CAS Consumer Descriptor XML
   │  │  │  |  |  essayEvaluatorCCDescriptor.xml // Essay Evaluator CAS Consumer Descriptor XML
   │  │  │  |  |  gzipXmiCasConsumerDescriptor.xml // Gzipped XMI CAS Consumer Descriptor XML
   │  │  │  |
   │  │  │  ├─ cpe // UIMA Collection Processing Engine Descriptor XML
   │  │  │  |  |  cpeDescriptor.xml // Collection Processing Engine Descriptor XML
   │  │  │  |  |  cpeFromIntermediatePointDescriptor.xml // Collection Processing Engine (from-intermediate-point version) Descriptor XML
   │  │  │  |
   │  │  │  ├─ cr // UIMA Collection Reader
   │  │  │  |  |  essayQuestionCRDescriptor.xml // Essay Question Collection Reader Descriptor XML
   │  │  │  |  |  gzipXmiCollectionReaderDescriptor.xml // Gzipped XMI Collection Reader Descriptor XML
   │  │  │  |
   │  │  │  ├─ fc // UIMA Flow Controller
   │  │  │  |  |  essayGeneratorFlowControllerDescriptor.xml // Essay Generator Flow Controller Descriptor XML
   │  │  │  |  |  flowControllerDescriptor.xml // Flow Controller Descriptor XML
   │  │  │  |  |  informationRetrieverFlowControllerDescriptor.xml // Information Retrieval Flow Controller Descriptor XML
   │  │  │  |  |  questionAnalysisFlowControllerDescriptor.xml // Question Analysis Flow Controller Descriptor XML
   │  │  │  |
   │  │  │  └─ ts // UIMA Type System
   │  │  │     |  SourceDocumentInformation.xml // Source Document Information Type System Descriptor XML
   │  │  │     |  typeSystem.xml // Type System Descriptor XML
   │  │  │   
   │  │  ├─ geotime // 時間・地理情報
   │  │  │  |  time_extracted_from_glossary.csv // 用語集から自動抽出した時間情報
   │  │  │  
   │  │  ├─ kanji // 日本語漢字
   │  │  │  |  README.md // README
   │  │  │  |  jinmeiyo_kanji_1.csv // 子の名に使える漢字(人名用漢字)
   │  │  │  |                       // 戸籍法施行規則(昭和二十二年十二月二十九日司法省令第九十四号)の最終改正:平成二八年三月二二日法務省令第九号
   │  │  │  |                       // 戸籍法施行規則第60条2項「別表第二に掲げる漢字」
   │  │  │  |                       // 別表第二の漢字の表(一)(常用漢字の異体字でないもの)632字種650字体
   │  │  │  |  jinmeiyo_kanji_2.csv // 子の名に使える漢字(人名用漢字)
   │  │  │  |                       // 戸籍法施行規則(昭和二十二年十二月二十九日司法省令第九十四号)の最終改正:平成二八年三月二二日法務省令第九号
   │  │  │  |                       // 戸籍法施行規則第60条2項「別表第二に掲げる漢字」
   │  │  │  |                       // 別表第二の漢字の表(二)(常用漢字の異体字であるもの)212字種212字体
   │  │  │  |  jis_level_1.csv // JIS漢字水準 JIS X 0213:2004 JIS第一水準漢字(2,965字)
   │  │  │  |  jis_level_2.csv // JIS漢字水準 JIS X 0213:2004 JIS第二水準漢字(3,390字)
   │  │  │  |  jis_level_3.csv // JIS漢字水準 JIS X 0213:2004 JIS第三水準漢字(1,259字)
   │  │  │  |  jis_level_4.csv // JIS漢字水準 JIS X 0213:2004 JIS第四水準漢字(2,436字)
   │  │  │  |  joyo_kanji.csv // 常用漢字表(平成22年内閣告示第2号) 2136字種2136字体
   │  │  │  |  primary_school_1st_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第一学年(80字)
   │  │  │  |  primary_school_2nd_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第二学年(160字)
   │  │  │  |  primary_school_3rd_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第三学年(200字) 
   │  │  │  |  primary_school_4th_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第四学年(200字) 
   │  │  │  |  primary_school_5th_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第五学年(185字) 
   │  │  │  |  primary_school_6th_grade.csv // 教育漢字 現行学習指導要領・生きる力(小学校:平成23年4月~) 別表 学年別漢字配当表 第六学年(181字) 
   │  │  │  
   │  │  ├─ mecab // MeCab用のユーザ辞書に関するファイル
   │  │  │  ├─ ipadic // MeCab用のIPA辞書のユーザ辞書に関するファイル
   │  │  │  │  |  mecabdic-test.csv // ユーザ辞書生成のためのCSVファイル (UTF-8)
   │  │  │  │  |  mecabdic-test_with_bom.csv // ユーザ辞書生成のためのCSVファイルをMS Excelで開くためにUTF-8 BOMを付けたCSVファイル (UTF-8)
   │  │  │  │  |  world_history.dic // ユーザ辞書
   │  │  │  │
   │  │  │  └─ unidic // MeCab用のUniDicのユーザ辞書に関するファイル
   │  │  │     |  mecabdic-test.csv // ユーザ辞書生成のためのCSVファイル (UTF-8)
   │  │  │     |  mecabdic-test_with_bom.csv // ユーザ辞書生成のためのCSVファイルをMS Excelで開くためにUTF-8 BOMを付けたCSVファイル (UTF-8)
   │  │  │     |  pos-id.def // ユーザ辞書生成のために必要なUniDicの品詞表
   │  │  │     |  world_history.dic // ユーザ辞書
   │  │  │  
   │  │  ├─ normalize // 正規化処理に使用する知識
   │  │  │  │  character_dic_after_unicode_normalization.yml // Unicode正規化後に行う文字列変換表
   │  │  │  │  character_dic_before_unicode_normalization.yml // Unicode正規化前に行う文字列変換表
   │  │  │  │  escape_character.txt // 「君の名は。」のように句読点を含む単語を一時的に別の文字に置き換える際に使用する文字リスト
   │  │  │  │  escape_noun.txt // 引用文を含む文の構文解析をするときに引用文を一般名詞に一時的に置き換える際に使用する名詞リスト
   │  │  │  │  sentence_beginning_normalization.yml // 文頭表記の変換表
   │  │  │  │  sentence_ending_normalization.yml // 文末表記の変換表
   │  │  │  │  word_expression_dic.yml // 単語の異表記と代表表記の表
   │  │  │
   │  │  ├─ ontology // 世界史オントロジーに関するデータ
   │  │  |  └─ class // 世界史用語のクラス(Factoid QuestionのSemantic Answer Typeとして使用しているが本システムでは不使用)
   │  │  |     |  basyo.csv // 「場所」クラス
   │  │  |     |  bunmei.csv // 「文明」クラス
   │  │  |     |  dekigoto.csv // 「出来事」クラス
   │  │  |     |  gengo.csv // 「言語」クラス
   │  │  |     |  gijutu.csv // 「技術」クラス
   │  │  |     |  jidai.csv // 「時代」クラス
   │  │  |     |  jinbutu.csv // 「人物」クラス
   │  │  |     |  kenzobutu.csv // 「建造物」クラス
   │  │  |     |  minzoku.csv // 「民族」クラス
   │  │  |     |  other.csv // 「その他」クラス
   │  │  |     |  sakuhin.csv // 「作品」クラス
   │  │  |     |  seido.csv // 「制度」クラス
   │  │  |     |  soshiki.csv // 「組織」クラス
   │  │  |     |  syakaigainen.csv // 「社会概念」クラス
   │  │  |     |  syuukyou.csv // 「宗教」クラス
   │  │  |     |  syuukyougainen.csv // 「宗教概念」クラス
   │  │  |     |  youshiki.csv // 「様式」クラス
   │  │  |
   │  │  ├─ parser // 日本語解析時に使用する情報
   │  │  │  │  proper_noun_with_japanese_period.txt // 句点を含む固有名詞
   │  │  │  │  quotation.csv // 引用符
   │  │  │
   │  │  └─ qaset // システムに解かせたい論述問題と模範解答のセット(Sample Essay Questionが入っています)
   │  │     │  A.xml // 問題XML A
   │  │     │  B.xml // 問題XML B
   │  │  
   │  └─ scala // Scalaのソースコード
   │     ├─ answer // 解候補に関するプログラム
   │     |  |  AnswerCandidatesGenerator.scala // 文の組み合わせからの解候補リスト生成プログラム
   │     |  |  AnswerCandidate.scala // 解候補管理プログラム
   │     |  |  AnswerCandidates.scala // 解候補リスト管理プログラム
   │     │
   │     ├─ converter // 変換器プログラム
   │     |  ├─  CharacterConverter.scala // Unicodeのコード・ポイントに基づいた字種変換、主に日本語のひらがなとカタカナの相互変換プログラム
   │     |  ├─  Conversion.scala // 変換を管理するプログラム
   │     |  ├─  Conversions.scala // 変換表を管理するプログラム
   │     |  ├─  ExtensionReviser.scala // ファイル名の拡張子の変換プログラム
   │     |  ├─  HtmlTextConverter.scala // HTMLからテキストへの変換プログラム(本システムでは不使用)
   │     |  ├─  NgramSegmentator.scala // 文字列のリストに対して、N-gramを生成し、スペース文字区切りの文字列にして出力するプログラム
   │     |  ├─  KanjiNumeralParser.scala  // 日本語の漢数字で書かれた数をLong型の値に変換するプログラム
   │     |  ├─  UnigramSegmentator.scala // NgramSegmentatorの1-gram版
   │     |  └─  WikiArticleConverter.scala // WikiからのHTMLやテキストへの変換プログラム(本システムでは不使用)
   │     |  
   │     ├─ evaluation // 論述評価のためのプログラム
   │     |  ├─  MacroAveraging.scala // Macro Averagingを行うプログラム
   │     |  ├─  MicroAveraging.scala // Micro Averagingを行うプログラム
   │     |  ├─  Rouge.scala // ROUGEの値を計算するプログラム
   │     |  ├─  RougeN.scala // ROUGE-Nの値を計算するプログラム
   │     |  └─  SummaryStatistics.scala // 要約統計量を計算するプログラム
   │     |
   │     ├─ exam // 問題をメモリ上にオブジェクトとして管理するためのプログラム
   │     │  │  CharacterCounter.scala // 日本語論述問題における文字数カウントプログラム
   │     │  │  Question.scala // Question trait(本システムでは不使用)
   │     │  │  QuestionFormat.scala // Question Format(本システムでは不使用)
   │     │  │  QuestionFormatDetector.scala // Question Formatの推定(本システムでは不使用)
   │     │  │
   │     |  ├─ essay // 論述問題を管理するプログラム
   │     |  |  └─ xml // 論述問題XMLから読み込んだ情報を管理するプログラム
   │     |  |     |  Answer.scala // 論述問題XMLのanswerタグ内の情報を管理するプログラム
   │     |  |     |  AnswerSection.scala // 論述問題XMLのanswer_sectionタグ内の情報を管理するプログラム
   │     |  | 
   │     |  └─ national_center_test // センター試験のQuestion Formatの推定プログラム(本システムでは不使用)
   │     │
   │     ├─ geography // 地理情報に関するプログラム
   │     │  │  GeographyExtractorForQuestion.scala // 問題文からの地理情報抽出プログラム(未実装)
   │     │
   │     ├─ ir // 情報検索に関するプログラム
   │     |  |  Query.scala // クエリトレイト
   │     |  | 
   │     |  ├─ fulltext // 全文検索に関するプログラム
   │     |  |  |  WikiArticle.scala // WikiをHTMLやテキストに変換して管理するプログラム(本システムでは不使用)
   │     |  |  |
   │     |  |  └─ indri // 検索エンジンIndriに関するプログラム(Indriから公式に公開されているbindingは非使用。プロセス経由)
   │     |  |     |  IndriCharactereLevelIndexer.scala // Indriの文字レベルでのインデクシングを行うプログラム
   │     |  |     |  IndriIndex.scala // プロセス経由でIndriのインデクシングを行うプログラム
   │     |  |     |  IndriResult.scala // Indriの検索結果を管理するプログラム
   │     |  |     |  IndriWordLevelIndexer.scala // Indriの単語レベルのインデクシングを行うプログラム
   │     |  |     |  Retrieval.scala // プロセス経由でIndriで検索するためのトレイト
   │     |  |     |  RetrievalByBoW.scala // Bag of Wordsで検索するプログラム(Okapi BM25かTF・IDFで検索可能)
   │     |  |     |  RetrievalByKeyword.scala // キーワードをIndriクエリに変換し検索するプログラム
   │     |  |     |  TrecText.scala // Trec Textフォーマットの擬似XMLファイルをIndriResultに変換するプログラム
   │     |  |     |  TrecTextFileFormatReviser.scala // Trec Textフォーマットの擬似XMLファイルの中のテキストをインデクシング用にセグメンテーションするプログラム
   │     |  | 
   │     |  ├─ query // Query生成用プログラム(本システムでは不使用)
   │     |  └─ web // GoogleやBingといったウェブ検索API用のプログラム(本システムでは不使用)
   │     │
   │     ├─ ner // 固有表現抽出に関するプログラム
   │     |  |  NamedEntity.scala // 固有表現を管理するプログラム
   │     |  |  NamedEntityRecognizer.scala // 固有表現抽出プログラム
   │     |  |  NamedEntityRecognizerForWorldHistory.scala // 世界史の固有表現抽出トレイト
   │     |  |  NamedEntityRecognizerInEventOntology.scala // 世界史イベントオントロジーによる固有表現抽出プログラム
   │     |  |  NamedEntityRecognizerInGlossary.scala // 世界史用語集による固有表現抽出プログラム
   │     |
   │     ├─ question // 質問解析に関するプログラム
   │     |  |  KnowledgeSourceSelector.scala // 知識源選択プログラム
   │     |  |  QueryGenerator.scala // クエリ生成プログラム
   │     |  |  QuestionFocusAnalyzer.scala // Question Focus解析プログラム(未実装)
   │     |
   │     ├─ reconstructor // 構文解析・述語項解析による文の再構成プログラム(本システムでは不使用)
   │     ├─ score // スコアリングのプログラム
   │     |  |  Granularity.scala // 粒度(文、文章、他)
   │     |  |  ScorerType.scala // スコアラの種類(Relevance, Entailment、他)
   │     |  |  
   │     |  ├─ noupdate // 非更新式のスコアラ
   │     |  |  |  EntailmentScorer.scala // 非更新式の含意度スコアラ
   │     |  |  |  NoUpdateTypeScorer.scala // 非更新式のスコアラのクラス
   │     |  |  |  RelevanceScorer.scala // 非更新式の関連度スコアラ
   │     |  |  
   │     |  └─ udpate // 更新式のスコアラ
   │     |     |  EntailmentScorer.scala // 更新式の含意度スコアラ
   │     |     |  RelevanceScorer.scala // 更新式の関連度スコアラ
   │     |     |  UpdateTypeScorer.scala // 更新式のスコアラのクラス
   │     |
   │     ├─ sentence // 文の管理に関するプログラム
   │     |  |  SentenceCombination.scala // 文の組み合わせプログラム
   │     |  |  SentenceCombinationGenerator.scala // 文の組み合わせの生成プログラム
   │     |  |  SentenceGroup.scala // 文の組の管理プログラム
   │     |
   │     ├─ text // 日本語テキスト処理に関するプログラム
   │     |  |  Skip2Gram.scala // スキップ2-gram(本システムでは不使用)
   │     |  |  Skip2GramList.scala // スキップ2-gramリスト(本システムでは不使用)
   │     |  |  Skip2GramListBuffer.scala // スキップ2-gramバッファ(本システムでは不使用)
   │     |  |  StringOption.scala // 文字列Option(nullと空文字の回避)
   │     |  |  TermExpander.scala // 用語表現の拡張プログラム
   │     |  |  TermNormalizer.scala // 用語の正規化トレイト
   │     |  |  TermNormalizerForWorldHistory.scala // 世界史用語正規化プログラム
   │     |  |  TermNormalizerInEventOntology.scala // 世界史イベントオントロジーによる用語正規化プログラム
   │     |  |  TermNormalizerInGlossary.scala // 世界史用語集による用語正規化プログラム
   │     |  |  
   │     |  ├─ analyzer // 日本語解析器プログラム
   │     |  |  |  JapaneseSentenceSplitter.scala // 句点による日本語文分割プログラム
   │     |  |  |  SentenceQuotationParser.scala // 文の引用符を一時退避させるプログラム
   │     |  |  |  Tokenizer.scala // 文字N-gram生成プログラム
   │     |  |  |  
   │     |  |  ├─ dep // 構文解析器プログラム(本システムでは不使用)
   │     |  |  |  | ・・・(本システムでは不使用)
   │     |  |  |  ├─ cabocha // 係り受け解析プログラム(本システムでは不使用)
   │     |  |  |  └─ chapas // 述語項解析器・並列構造解析器プログラム(本システムでは不使用)
   │     |  |  |
   │     |  |  └─ mor // 形態素解析器
   │     |  |     |  MorphemeAnalyzer.scala // 形態素解析器トレイト
   │     |  |     |  
   │     |  |     ├─ juman // Jumanに関するプログラム(本システムでは不使用)
   │     |  |     |  |  Juman.scala // Jumanの実行プログラム(本システムでは不使用)
   │     |  |     |  |  JumanPlusPlus.scala // Juman++の実行プログラム(本システムでは不使用)
   │     |  |     |  
   │     |  |     └─ mecab // MeCabに関するプログラム
   │     |  |        |  IpadicMecab.scala // IPA辞書のMeCab実行プログラム(本システムでは不使用)
   │     |  |        |  Mecab.scala // MeCab抽象クラス
   │     |  |        |  UnidicMecab.scala // UniDic辞書のMeCab実行プログラム
   │     |  |  
   │     |  ├─ correction // 校正に関するプログラム
   │     |  |  |  BoWBasedIRDocCorrector.scala // Bag of Wordsベースの情報検索で得られた文書に対する校正プログラム
   │     |  |  |  Corrector.scala // 校正トレイト
   │     |  |  |  KeywordBasedIRDocCorrector.scala // キーワードベースの情報検索で得られた文書に対する校正プログラム
   │     |  |
   │     |  ├─ kanji // 日本語漢字に関するプログラム(本システムでは不使用)
   │     |  |  |  JISLevel1KanjiCharacter.scala // JIS第一水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel1to2KanjiCharacter.scala // JIS第一水準から第二水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel1to3KanjiCharacter.scala // JIS第一水準から第三水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel1to4KanjiCharacter.scala // JIS第一水準から第四水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel2KanjiCharacter.scala // JIS第二水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel3KanjiCharacter.scala // JIS第三水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JISLevel4KanjiCharacter.scala // JIS第四水準漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JinmeiyoKanjiCharacter.scala // 人名用漢字判定プログラム(本システムでは不使用)
   │     |  |  |  JoyoKanjiCharacter.scala // 常用漢字判定プログラム(本システムでは不使用)
   │     |  |  |  KanjiCharacter.scala // 漢字判定トレイト(本システムでは不使用)
   │     |  |  |  PrimarySchool1stGradeKanjiCharacter.scala // 教育漢字(小学校第一学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchool2ndGradeKanjiCharacter.scala // 教育漢字(小学校第二学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchool3rdGradeKanjiCharacter.scala // 教育漢字(小学校第三学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchool4thGradeKanjiCharacter.scala // 教育漢字(小学校第四学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchool5thGradeKanjiCharacter.scala // 教育漢字(小学校第五学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchool6thGradeKanjiCharacter.scala // 教育漢字(小学校第六学年)判定プログラム(本システムでは不使用)
   │     |  |  |  PrimarySchoolKanjiCharacter.scala // 教育漢字(小学校第一学年から第六学年)判定プログラム(本システムでは不使用)
   │     |  |
   │     |  ├─ normalizer // 正規化に関するプログラム
   │     |  |  |  CharacterNormalizerAfterUnicodeNormalization.scala // Unicode正規化前の文字正規化プログラム
   │     |  |  |  CharacterNormalizerBeforeUnicodeNormalization.scala // Unicode正規化後の文字正規化プログラム
   │     |  |  |  DictionaryBasedNormalizer.scala // 辞書ベース正規化クラス
   │     |  |  |  EscapeCharacter.scala // 文字の一時退避プログラム
   │     |  |  |  EscapeNoun.scala // 文字列の一時退避プログラム
   │     |  |  |  EscapeObject.scala // オブジェクトの一時退避プログラム
   │     |  |  |  NormalizedCharacter.scala // 文字正規化プログラム
   │     |  |  |  NormalizedString.scala // 文字列正規化プログラム
   │     |  |  |  SentenceBeginningNormalizer.scala // 文頭処理プログラム
   │     |  |  |  SentenceEndingNormalizer.scala // 文末処理プログラム
   │     |  |  |  SentenceNormalizer.scala // 文正規化プログラム
   │     |  |  |  WordExpressionNormalizer.scala // 単語異表記を代表表記に変換するプログラム
   │     |  |
   │     |  ├─ similarity // 類似度に関するプログラム
   │     |  |  |  DamerauLevenshteinDistance.scala // ダメラオウ・レーベンシュタイン距離計算プログラム
   │     |  |  |  DirectionTurner.scala // 類似度と非類似度の変換プログラム
   │     |  |  |  Dissimilarity.scala // 非類似度計算プログラム
   │     |  |  |  Distance.scala // 距離計算トレイト
   │     |  |  |  Divider.scala // 割り算計算プログラム(0で割るときは0で返す)
   │     |  |  |  HammingDistance.scala // ハミング距離計算プログラム
   │     |  |  |  JaroWinklerDistance.scala // ジャロ・ウィンクラー距離計算プログラム
   │     |  |  |  LevenshteinDistance.scala // レーベンシュタイン距離計算プログラム
   │     |  |  |  Overlap.scala // 重複度計算プログラム
   │     |  |  |  OverlapCalculator.scala // 重複度計算プログラム
   │     |  |  |  Similarity.scala // 類似度計算プログラム
   │     |  |  |  SimilarityCalculator.scala // 類似度計算プログラム
   │     |  |
   │     |  ├─ vector // ベクトルに関するプログラム
   │     |  |  |  BinaryVector.scala // 二値ベクトル
   │     |  |  |  BinaryVectorGenerator.scala // 二値ベクトル生成プログラム
   │     |  |  |  BinaryVectorMerger.scala // 二値ベクトル結合プログラム
   │     |  |  |  FrequencyVector.scala // 頻度ベクトル
   │     |  |  |  FrequencyVectorGenerator.scala // 頻度ベクトル生成プログラム
   │     |  |  |  FrequencyVectorMerger.scala // 頻度ベクトル結合プログラム
   │     |  |  |  Vector.scala // ベクトルトレイト
   │     |  |  |  VectorGenerator.scala // ベクトル生成トレイト
   │     |  |  |  VectorMerger.scala // ベクトル結合トレイト
   │     |  |  |  VectorType.scala // ベクトルの種類(二値ベクトル、頻度ベクトル、他)
   │     |  |  └─ wordembedding // Word Embeddingに関するプログラム
   │     |  |     └─ fastText // fastTextによるWord Embedding生成プログラム(本システムでは不使用)
   │     |
   │     ├─ time // 時間情報に関するプログラム
   │     |  |  RegnalYearParser.scala // 和暦を西暦に変換するプログラム
   │     |  |  TimeExtractionPreprocessor.scala // 時間情報抽出のための前処理プログラム
   │     |  |  TimeExtractor.scala // 時間情報抽出トレイト
   │     |  |  TimeExtractorForQuestion.scala // 問題文からの時間制約情報抽出プログラム
   │     |  |  TimeExtractorForWorldHistory.scala // 世界史に関するテキストからの時間情報抽出プログラム
   │     |  |  TimeExtractorFromPreviousParagraphInTextbook.scala // 教科書のパラグラフの一つ前のパラグラフの時間情報抽出プログラム
   │     |  |  TimeExtractorInEventOntologyEntries.scala // 世界史オントロジーによる時間情報抽出プログラム
   │     |  |  TimeExtractorInGlossaryEntries.scala // 世界史用語集による時間情報抽出プログラム
   │     |  |  TimeExtractorInTimeExpression.scala // 時間表現による時間情報抽出プログラム
   │     |  |  TimeMerger.scala // 時間情報結合プログラム
   │     |  |  TimeSorter.scala // 時間情報による順序付けプログラム
   │     |  |  TimeTmp.scala // 時間情報クラス
   │     |
   │     ├─ uima // UIMA component
   │     |  ├─ ae // Analysis Engine
   │     |  |  |  DocumentAnalyzer.scala // 文書解析器Analysis Engine
   │     |  |  |  DocumentAnnotator.scala // 文書アノテータAnalysis Engine
   │     |  |  |  EssayGenerator.scala // 論述生成Analysis Engine
   │     |  |  |  InformationRetriever.scala // 情報検索Analysis Engine
   │     |  |  |  QuestionAnalyzer.scala // 質問解析Analysis Engine
   │     |  |
   │     |  ├─ cc // CAS Consumer
   │     |  |  |  EssayEvaluator.scala // 論述評価出力CAS Consumer
   │     |  |  |  EssayWriter.scala // 論述出力CAS Consumer
   │     |  |  |  GzipXmiCasConsumer.scala // Gzipped XMI出力CAS Consumer
   │     |  |
   │     |  ├─ cpe // Collection Processing Engine
   │     |  |  |  CPERunner.scala // CPE実行プログラム
   │     |  |  |  CPERunnerOption.scala // CPE実行オプション
   │     |  |  |  IntermediatePoint.scala // 中間点
   │     |  |
   │     |  ├─ cr // Collection Reader
   │     |  |  |  EssayQuestionReader.scala // 論述問題入力Collection Reader
   │     |  |  |  GzipXmiCollectionReader.scala // Gzipped XMI入力Collection Reader
   │     |  |
   │     |  ├─ fc // Flow Controller
   │     |  |  |  EssayGeneratorFlowController.scala // Essay Generator Flow Controller
   │     |  |  |  FlowController.scala // Flow Controller
   │     |  |  |  InformationRetrieverFlowController.scala // Information Retriever Flow Controller
   │     |  |  |  QuestionAnalysisFlowController.scala // Question Analysis Flow Controller
   │     |  |
   │     |  |  GzipXMI.scala // Gzipped XMIトレイト
   │     |
   │     └─ util // ユーティリティ・クラス
   │        ├─ process // プロセスに関するユーティリティ・クラス
   │        |  |  ProcessBuilderUtils.scala // ProcessBuilder Pimp my Libraryパターン
   │        |  |  ・・・
   │        |
   │        ├─ uima // UIMAに関するユーティリティ・クラス
   │        |  |  ArrayUtils.scala // Array Pimp my Libraryパターン
   │        |  |  FSArrayUtils.scala // FSArray Pimp my Libraryパターン
   │        |  |  FSListUtils.scala // FSList Pimp my Libraryパターン
   │        |  |  FloatArrayUtils.scala // FloatArray Pimp my Libraryパターン
   │        |  |  FloatListUtils.scala // FloatList Pimp my Libraryパターン
   │        |  |  IntegerArrayUtils.scala // IntegerArray Pimp my Libraryパターン
   │        |  |  IntegerListUtils.scala // IntegerList Pimp my Libraryパターン
   │        |  |  JCasUtils.scala // JCas Pimp my Libraryパターン
   │        |  |  SeqUtils.scala // Seq Pimp my Libraryパターン
   │        |  |  StringArrayUtils.scala // StringArray Pimp my Libraryパターン
   │        |  |  StringListUtils.scala // StringList Pimp my Libraryパターン
   │        |  |  TimeUtils.scala // Time Pimp my Libraryパターン
   │        |
   │        |  Config.scala // Configuration Parameter API
   │        |  DoubleUtils.scala // Double Pimp my Libraryパターン
   │        |  ExecutionTime.scala // 実行時間計測プログラム(本システムでは不使用)
   │        |  FloatUtils.scala // Float Pimp my Libraryパターン
   │        |  IntUtils.scala // Int Pimp my Libraryパターン
   │        |  JCasGen.scala // JCasGen実行プログラム
   │        |  JCasGenOption.scala // JCasGen実行オプション
   │        |  LongUtils.scala // Long Pimp my Libraryパターン
   │        |  StringUtils.scala // String Pimp my Libraryパターン
   │        |  XmlUtils.scala // NodeSeq Pimp my Libraryパターン
   │  
   └─ test // テストコード
      | ・・・
⚠️ **GitHub.com Fallback** ⚠️