質問編集履歴

1

再度、全てのコードを記載いたしました。

2021/11/10 06:09

投稿

Uron-w
Uron-w

スコア1

test CHANGED
File without changes
test CHANGED
@@ -8,15 +8,35 @@
8
8
 
9
9
 
10
10
 
11
- 尚、テキストデータは喋り言葉の書き起こしを利用しているため、かなり長い文章を使っています。
12
-
13
-
14
-
15
- 過去質問を見て、色々試していますが結果がエラになるか、結果が変わらないです。
11
+ 参考にしているコ
16
-
17
-
18
12
 
19
13
  ```
14
+
15
+ # 小池百合子氏の政策ページ解析
16
+
17
+ # ファイル読み込み
18
+
19
+ Koike = r'Yuriko_Koike_Policy.txt'
20
+
21
+ with open(Koike) as K:
22
+
23
+ K_text = K.read()
24
+
25
+ #テキストデータの確認
26
+
27
+ print(K_text)
28
+
29
+ # Mecab で形態素解析
30
+
31
+ K_parsed = mecab.parse(K_text)
32
+
33
+ #解析結果の確認
34
+
35
+ K_parsed
36
+
37
+ #行単位に分割
38
+
39
+ K_parsed_lines = K_parsed.split('\n')
20
40
 
21
41
  #処理に使うリストを作成
22
42
 
@@ -24,9 +44,47 @@
24
44
 
25
45
  K_words = []
26
46
 
47
+ #各行のタブ(\t)を除去
48
+
49
+ for K_parsed_line in K_parsed_lines:
50
+
51
+ K_parsed_words.append(re.split('[\t,]', K_parsed_line))
52
+
53
+
54
+
55
+ #名詞・一般に該当する単語をリストに格納
56
+
57
+ for K_parsed_word in K_parsed_words:
58
+
59
+ if ( K_parsed_word[0] not in ('EOS', '')
60
+
61
+ and K_parsed_word[1] == '名詞'
62
+
63
+ and K_parsed_word[2] == '一般'):
64
+
65
+
66
+
67
+ K_words.append(K_parsed_word[0])
68
+
69
+
70
+
71
+ # 出現頻度上位15語を抽出して表示
72
+
73
+ K_counter = Counter(K_words)
74
+
75
+ for K_word, K_count in K_counter.most_common(15):
76
+
77
+ print('%s : %s' % (K_word, K_count))
78
+
79
+ ```
80
+
81
+ 本来やりたいこと:名詞以外も、動詞・形容詞・形容動詞をカウントしたい。過去質問に似たようなコードを下記のように編集するも、元コードと結果が変わりません。
27
82
 
28
83
 
84
+
85
+ ```
86
+
29
- #(やりたいこと)名詞・動詞・形容詞・形容動詞・一般に該当する単語をリストに格納
87
+ #名詞・動詞・形容詞・形容動詞・一般に該当する単語をリストに格納
30
88
 
31
89
  for K_parsed_word in K_parsed_words:
32
90
 
@@ -40,45 +98,7 @@
40
98
 
41
99
  K_words.append(K_parsed_word[0])
42
100
 
43
-
44
-
45
- # 出現頻度上位15語を抽出して表示
101
+
46
-
47
- K_counter = Counter(K_words)
48
-
49
- for K_word, K_count in K_counter.most_common(15):
50
-
51
- print('%s : %s' % (K_word, K_count))
52
-
53
-
54
-
55
- ```
56
-
57
- エラー:下記コードと結果が変わりません。
58
-
59
- ```
60
-
61
- #処理に使うリストを作成
62
-
63
- K_parsed_words = []
64
-
65
- K_words = []
66
-
67
-
68
-
69
- #名詞・一般に該当する単語をリストに格納 (参考サイトより。)
70
-
71
- for K_parsed_word in K_parsed_words:
72
-
73
- if ( K_parsed_word[0] not in ('EOS', '')
74
-
75
- and K_parsed_word[1] in ('名詞')
76
-
77
- and K_parsed_word[2] == '一般'):
78
-
79
- K_words.append(K_parsed_word[0])
80
-
81
-
82
102
 
83
103
  # 出現頻度上位15語を抽出して表示
84
104