/// <summary> /// コンストラクタ /// </summary> /// <param name="text">テキスト</param> public ParagraphData(string text) { Text = text; TokenList = WordLogic.GetTokenList(text); TokenTbl = WordLogic.GetBasicTokenTbl(text); TokenTypeTbl = WordLogic.GetTokenTypeTbl(TokenList); InfoRate = AnalyzeLogic.CalcInfoRate(TokenList); }
public void 品詞を限定したトークンテーブルを取得できること(string testData_type, int testData_tokenNum) { var text = "形態素解析とは、文法的な情報の注記の無い自然言語のテキストデータから、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素の列に分割し、それぞれの形態素の品詞等を判別する作業である。"; var tokenTbl = WordLogic.GetBasicTokenTbl(text); var extractedTokenTbl = AnalyzeLogic.ExtractTokenType(tokenTbl, testData_type); Assert.AreEqual(testData_tokenNum, extractedTokenTbl.Keys.Count); foreach (var subTokenList in extractedTokenTbl.Values) { foreach (var token in subTokenList) { Assert.AreEqual(testData_type, token.Type); } } }
/// <summary> /// 解析処理 /// </summary> /// <param name="text">テキスト</param> public void Analyze(string text) { ParagraphList.Clear(); var strParagraphList = ParagraphLogic.SplitParagraph(text); foreach (var strParagraph in strParagraphList) { ParagraphList.Add(new ParagraphData(strParagraph)); } TokenList = WordLogic.GetTokenList(text); TokenTbl = WordLogic.GetBasicTokenTbl(text); TokenTypeTbl = WordLogic.GetTokenTypeTbl(TokenList); InfoRate = AnalyzeLogic.CalcInfoRate(TokenList); }
public void 文からトークンテーブルを取得できること() { var text = "形態素解析とは、文法的な情報の注記の無い自然言語のテキストデータから、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素の列に分割し、それぞれの形態素の品詞等を判別する作業である。"; var tbl = WordLogic.GetBasicTokenTbl(text); Assert.AreEqual(34, tbl.Keys.Count); var key = tbl.Keys.ToArray().First(); Assert.AreEqual("形態素解析", key); var word = tbl[key].First(); Assert.AreEqual("形態素解析", word.Word); Assert.AreEqual("名詞,一般+サ変接続,*,*,*,*,形態素解析,ケイタイソカイセキ,ケイタイソカイセキ", word.Feature); Assert.AreEqual("名詞", word.Type); Assert.AreEqual("一般+サ変接続", word.DetailType1); Assert.AreEqual("*", word.DetailType2); Assert.AreEqual("*", word.DetailType3); Assert.AreEqual("*", word.AdaptMethod); Assert.AreEqual("*", word.AdaptType); Assert.AreEqual("形態素解析", word.BasicWord); Assert.AreEqual("ケイタイソカイセキ", word.WayOfRead); Assert.AreEqual("ケイタイソカイセキ", word.Pronunciation); key = tbl.Keys.ToArray()[tbl.Keys.ToArray().Count() - 2]; Assert.AreEqual("。", key); word = tbl[key].Last(); Assert.AreEqual("。", word.Word); Assert.AreEqual("記号,句点,*,*,*,*,。,。,。", word.Feature); Assert.AreEqual("記号", word.Type); Assert.AreEqual("句点", word.DetailType1); Assert.AreEqual("*", word.DetailType2); Assert.AreEqual("*", word.DetailType3); Assert.AreEqual("*", word.AdaptMethod); Assert.AreEqual("*", word.AdaptType); Assert.AreEqual("。", word.BasicWord); Assert.AreEqual("。", word.WayOfRead); Assert.AreEqual("。", word.Pronunciation); }