Exemplo n.º 1
0
 /// <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);
 }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        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);
        }