Beispiel #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);
 }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
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);
        }
Beispiel #4
0
        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);
        }