回答編集履歴
6
些細
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
あと辞書が違うので品詞の取り方は変えないといけないですね。
|
152
152
|
|
153
|
-
大雑把には`\t-
|
153
|
+
大雑把には`\t`と`-`で分解して5番目を取るんでしょうかね??
|
154
154
|
|
155
155
|
|
156
156
|
|
5
追記
test
CHANGED
@@ -141,3 +141,41 @@
|
|
141
141
|
1度コメントに書きましたが、他人のコードがどう動いているのか確認せずに自分のコードに入れているのが、真の問題じゃないですか?
|
142
142
|
|
143
143
|
うまく動かないなら、1行ずつ動かしたりして何が起きるのか、何を意図しているのかを試して調べていく必要があります。
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
----
|
148
|
+
|
149
|
+
よくみたら引数のtextを使ってなくて常に空文を解析してます。
|
150
|
+
|
151
|
+
あと辞書が違うので品詞の取り方は変えないといけないですね。
|
152
|
+
|
153
|
+
大雑把には`\t-'で分解して5番目を取るんでしょうかね??
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
```python
|
158
|
+
|
159
|
+
def mec(text):
|
160
|
+
|
161
|
+
parse = tagger.parse(text)
|
162
|
+
|
163
|
+
word_class = []
|
164
|
+
|
165
|
+
for line in lines:
|
166
|
+
|
167
|
+
items = re.split('[\t-]',line)
|
168
|
+
|
169
|
+
if len(items) >= 5 and items[4] == '助詞':
|
170
|
+
|
171
|
+
continue
|
172
|
+
|
173
|
+
words.append(items[0])
|
174
|
+
|
175
|
+
return ' '.join(words)
|
176
|
+
|
177
|
+
```
|
178
|
+
|
179
|
+
という感じかと。
|
180
|
+
|
181
|
+
あとは必要な処理をちゃんと書いてください、としか。
|
4
追記
test
CHANGED
@@ -77,3 +77,67 @@
|
|
77
77
|
|
78
78
|
|
79
79
|
taggerはグローバルに確保していいと思います。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
----
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
```python
|
88
|
+
|
89
|
+
tagger = MeCab.Tagger()
|
90
|
+
|
91
|
+
print(tagger.parse('文字を綺麗に書きたいと思ったので習い始めました。'))
|
92
|
+
|
93
|
+
```
|
94
|
+
|
95
|
+
すると
|
96
|
+
|
97
|
+
```plain
|
98
|
+
|
99
|
+
文字 モジ モジ 文字 名詞-普通名詞-一般 1
|
100
|
+
|
101
|
+
を オ ヲ を 助詞-格助詞
|
102
|
+
|
103
|
+
綺麗 キレー キレイ 奇麗 形状詞-一般 1
|
104
|
+
|
105
|
+
に ニ ダ だ 助動詞 助動詞-ダ 連用形-ニ
|
106
|
+
|
107
|
+
書き カキ カク 書く 動詞-一般 五段-カ行 連用形-一般 1
|
108
|
+
|
109
|
+
たい タイ タイ たい 助動詞 助動詞-タイ 終止形-一般
|
110
|
+
|
111
|
+
と ト ト と 助詞-格助詞
|
112
|
+
|
113
|
+
思っ オモッ オモウ 思う 動詞-一般 五段-ワア行 連用形-促音便 2
|
114
|
+
|
115
|
+
た タ タ た 助動詞 助動詞-タ 連体形-一般
|
116
|
+
|
117
|
+
の ノ ノ の 助詞-準体助詞
|
118
|
+
|
119
|
+
で デ ダ だ 助動詞 助動詞-ダ 連用形-一般
|
120
|
+
|
121
|
+
習い ナライ ナラウ 習う 動詞-一般 五段-ワア行 連用形-一般 2
|
122
|
+
|
123
|
+
始め ハジメ ハジメル 始める 動詞-非自立可能 下一段-マ行 連用形-一般 0
|
124
|
+
|
125
|
+
まし マシ マス ます 助動詞 助動詞-マス 連用形-一般
|
126
|
+
|
127
|
+
た タ タ た 助動詞 助動詞-タ 終止形-一般
|
128
|
+
|
129
|
+
。 。 補助記号-句点
|
130
|
+
|
131
|
+
EOS
|
132
|
+
|
133
|
+
```
|
134
|
+
|
135
|
+
になりませんか? (Teratailだとタブが空白に置換されていて見え方は違うと思いますが)
|
136
|
+
|
137
|
+
素性の区切りが`-`で、品詞情報が5番目の項目になるのでそのあたりを直していく必要があるかと。
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
1度コメントに書きましたが、他人のコードがどう動いているのか確認せずに自分のコードに入れているのが、真の問題じゃないですか?
|
142
|
+
|
143
|
+
うまく動かないなら、1行ずつ動かしたりして何が起きるのか、何を意図しているのかを試して調べていく必要があります。
|
3
些細
test
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
```
|
68
68
|
|
69
|
-
1. if と words.append のインデントがずれている
|
69
|
+
1. if と words.append のインデントがずれている
|
70
70
|
|
71
71
|
1. returnしてない
|
72
72
|
|
2
追記
test
CHANGED
@@ -33,3 +33,47 @@
|
|
33
33
|
「やりたいこと」に対しては [https://teratail.com/questions/171703](https://teratail.com/questions/171703) に書いてあるコードの方が近く、`-Owakati`オプションで解析する理由がありません。
|
34
34
|
|
35
35
|
今の1つ目のループの中に、[https://teratail.com/questions/171703](https://teratail.com/questions/171703) でやっている処理を入れるイメージの方がいいでしょう。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
----
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```python
|
44
|
+
|
45
|
+
tagger = MeCab.Tagger()
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
def mec(text):
|
50
|
+
|
51
|
+
parse = tagger.parse('')
|
52
|
+
|
53
|
+
word_class = []
|
54
|
+
|
55
|
+
for line in lines:
|
56
|
+
|
57
|
+
items = re.split('[\t,]',line)
|
58
|
+
|
59
|
+
if len(items) >= 2 and items[1] == '助詞':
|
60
|
+
|
61
|
+
continue
|
62
|
+
|
63
|
+
words.append(items[0])
|
64
|
+
|
65
|
+
return ' '.join(words)
|
66
|
+
|
67
|
+
```
|
68
|
+
|
69
|
+
1. if と words.append のインデントがずれている(元のコードと比べたらわかるはず)
|
70
|
+
|
71
|
+
1. returnしてない
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
でしょうか。動かしてはないですが。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
taggerはグローバルに確保していいと思います。
|
1
些細
test
CHANGED
@@ -16,13 +16,13 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
+
----
|
20
|
+
|
21
|
+
|
22
|
+
|
19
23
|
|
20
24
|
|
21
25
|
`m0 = MeCab.Tagger('-Owakati')`と`mecab = MeCab.Tagger()`の間にあるコードは必要ありません(正直、コードの意図がよくわかってないんですが後述の理由から不要だということははっきり言えます)。
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
----
|
26
26
|
|
27
27
|
|
28
28
|
|