/// <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 tokenList = WordLogic.GetTokenList(text); var extractedTokenList = AnalyzeLogic.ExtractTokenType(tokenList, testData_type); Assert.AreEqual(testData_tokenNum, extractedTokenList.Count); foreach (var token in extractedTokenList) { Assert.AreEqual(testData_type, token.Type); } }
public void トークンリストの品詞分類ができること() { var text = "形態素解析とは、文法的な情報の注記の無い自然言語のテキストデータから、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素の列に分割し、それぞれの形態素の品詞等を判別する作業である。"; var tokenList = WordLogic.GetTokenList(text); var tokenTypeTbl = WordLogic.GetTokenTypeTbl(tokenList); Assert.AreEqual(7, tokenTypeTbl.Keys.Count); Assert.IsTrue(tokenTypeTbl.ContainsKey("名詞")); Assert.IsTrue(tokenTypeTbl.ContainsKey("動詞")); Assert.IsTrue(tokenTypeTbl.ContainsKey("助動詞")); Assert.IsTrue(tokenTypeTbl.ContainsKey("助詞")); Assert.IsTrue(tokenTypeTbl.ContainsKey("形容詞")); Assert.IsTrue(tokenTypeTbl.ContainsKey("記号")); Assert.IsTrue(tokenTypeTbl.ContainsKey("BOS/EOS")); }
/// <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 tokenList = WordLogic.GetTokenList(text); Assert.AreEqual(53, tokenList.Count); var token = tokenList.First(); Assert.AreEqual("形態素解析", token.Word); Assert.AreEqual("名詞,一般+サ変接続,*,*,*,*,形態素解析,ケイタイソカイセキ,ケイタイソカイセキ", token.Feature); Assert.AreEqual("名詞", token.Type); Assert.AreEqual("一般+サ変接続", token.DetailType1); Assert.AreEqual("*", token.DetailType2); Assert.AreEqual("*", token.DetailType3); Assert.AreEqual("*", token.AdaptMethod); Assert.AreEqual("*", token.AdaptType); Assert.AreEqual("形態素解析", token.BasicWord); Assert.AreEqual("ケイタイソカイセキ", token.WayOfRead); Assert.AreEqual("ケイタイソカイセキ", token.Pronunciation); token = tokenList[tokenList.Count - 2]; Assert.AreEqual("。", token.Word); Assert.AreEqual("記号,句点,*,*,*,*,。,。,。", token.Feature); Assert.AreEqual("記号", token.Type); Assert.AreEqual("句点", token.DetailType1); Assert.AreEqual("*", token.DetailType2); Assert.AreEqual("*", token.DetailType3); Assert.AreEqual("*", token.AdaptMethod); Assert.AreEqual("*", token.AdaptType); Assert.AreEqual("。", token.BasicWord); Assert.AreEqual("。", token.WayOfRead); Assert.AreEqual("。", token.Pronunciation); }