質問編集履歴

1

いきなりファイルで考えるのではなく、短い単語レベルから考えることにしてみました。何かご意見いただけると幸いです。

2021/10/26 07:53

投稿

SmaSTATION
SmaSTATION

スコア29

test CHANGED
File without changes
test CHANGED
@@ -7,8 +7,6 @@
7
7
  mecab=MeCab.Tagger()
8
8
 
9
9
  import re
10
-
11
-
12
10
 
13
11
 
14
12
 
@@ -24,8 +22,6 @@
24
22
 
25
23
 
26
24
 
27
- # 文を空白で分割した単語列にする関数を定義する
28
-
29
25
  def sentence2words(sentence):
30
26
 
31
27
  words=[]
@@ -36,32 +32,70 @@
36
32
 
37
33
  line=re.split('\t',m)
38
34
 
35
+ for i in range(len(line)):
36
+
37
+ print(i,line[i])
38
+
39
+ line1=re.split("\t",line[0])
40
+
41
+
42
+
43
+
44
+
39
45
  words.append(line[0])
40
46
 
41
- return (' '.join(words))
47
+ return (" ".join(words))
48
+
49
+
50
+
51
+
52
+
53
+ test="軽かった"
54
+
55
+ sentence2words(test)
42
56
 
43
57
 
44
58
 
45
59
  ```
46
60
 
47
- 現在Mecabを使っプログラムに取り組んでい
61
+ 質問修正させていだきした
48
-
49
- そして、この現在の関数部分に自作の関数を作るという問題に取り組んでいます。
50
62
 
51
63
 
52
64
 
53
- そして、作りい関数というのは、以下のような関数です。
65
+ 上のMecabと関数を使って、最後部分表示を「軽い」「というように表示するプログラムを書けくて困っております。
54
-
55
- ・「軽かった」→「軽い」「た」に分ける
56
-
57
- ・動詞の原形を用いる
58
-
59
- というものです。
60
66
 
61
67
 
62
68
 
69
+ 今の出力結果がこちらです。
70
+
71
+ ```0 軽かっ
72
+
63
- 質問も正し質問の仕方なのか、わからないのですがそこも含めてご指導いただけると幸いです。
73
+ 1 形容詞,自立,*,*,形容詞・アウオ段,連用タ接続,軽,カルカッ,カルカッ
74
+
75
+ 0 た
76
+
77
+ 1 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
78
+
79
+ 0 EOS
80
+
81
+ 軽かっ た EOS
82
+
83
+ ```
64
84
 
65
85
 
66
86
 
87
+ 今は、関数sentence2wordsのlineごとに表示をしてみています。
88
+
89
+ 具体的には、この
90
+
91
+ > 1 形容詞,自立,*,*,形容詞・アウオ段,連用タ接続,軽い,カルカッ,カルカッ
92
+
93
+
94
+
95
+ 部分の8個目にある「軽い」を取り出すという処理です。
96
+
97
+ ※8番目に原型が来るのは確実です。
98
+
99
+
100
+
67
- よろしくお願いいたします。
101
+ お手数をおかけしますが、よろしくお願いします。