回答編集履歴
6
些細
answer
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
----
|
75
75
|
よくみたら引数のtextを使ってなくて常に空文を解析してます。
|
76
76
|
あと辞書が違うので品詞の取り方は変えないといけないですね。
|
77
|
-
大雑把には`\t-
|
77
|
+
大雑把には`\t`と`-`で分解して5番目を取るんでしょうかね??
|
78
78
|
|
79
79
|
```python
|
80
80
|
def mec(text):
|
5
追記
answer
CHANGED
@@ -69,4 +69,23 @@
|
|
69
69
|
素性の区切りが`-`で、品詞情報が5番目の項目になるのでそのあたりを直していく必要があるかと。
|
70
70
|
|
71
71
|
1度コメントに書きましたが、他人のコードがどう動いているのか確認せずに自分のコードに入れているのが、真の問題じゃないですか?
|
72
|
-
うまく動かないなら、1行ずつ動かしたりして何が起きるのか、何を意図しているのかを試して調べていく必要があります。
|
72
|
+
うまく動かないなら、1行ずつ動かしたりして何が起きるのか、何を意図しているのかを試して調べていく必要があります。
|
73
|
+
|
74
|
+
----
|
75
|
+
よくみたら引数のtextを使ってなくて常に空文を解析してます。
|
76
|
+
あと辞書が違うので品詞の取り方は変えないといけないですね。
|
77
|
+
大雑把には`\t-'で分解して5番目を取るんでしょうかね??
|
78
|
+
|
79
|
+
```python
|
80
|
+
def mec(text):
|
81
|
+
parse = tagger.parse(text)
|
82
|
+
word_class = []
|
83
|
+
for line in lines:
|
84
|
+
items = re.split('[\t-]',line)
|
85
|
+
if len(items) >= 5 and items[4] == '助詞':
|
86
|
+
continue
|
87
|
+
words.append(items[0])
|
88
|
+
return ' '.join(words)
|
89
|
+
```
|
90
|
+
という感じかと。
|
91
|
+
あとは必要な処理をちゃんと書いてください、としか。
|
4
追記
answer
CHANGED
@@ -37,4 +37,36 @@
|
|
37
37
|
|
38
38
|
でしょうか。動かしてはないですが。
|
39
39
|
|
40
|
-
taggerはグローバルに確保していいと思います。
|
40
|
+
taggerはグローバルに確保していいと思います。
|
41
|
+
|
42
|
+
----
|
43
|
+
|
44
|
+
```python
|
45
|
+
tagger = MeCab.Tagger()
|
46
|
+
print(tagger.parse('文字を綺麗に書きたいと思ったので習い始めました。'))
|
47
|
+
```
|
48
|
+
すると
|
49
|
+
```plain
|
50
|
+
文字 モジ モジ 文字 名詞-普通名詞-一般 1
|
51
|
+
を オ ヲ を 助詞-格助詞
|
52
|
+
綺麗 キレー キレイ 奇麗 形状詞-一般 1
|
53
|
+
に ニ ダ だ 助動詞 助動詞-ダ 連用形-ニ
|
54
|
+
書き カキ カク 書く 動詞-一般 五段-カ行 連用形-一般 1
|
55
|
+
たい タイ タイ たい 助動詞 助動詞-タイ 終止形-一般
|
56
|
+
と ト ト と 助詞-格助詞
|
57
|
+
思っ オモッ オモウ 思う 動詞-一般 五段-ワア行 連用形-促音便 2
|
58
|
+
た タ タ た 助動詞 助動詞-タ 連体形-一般
|
59
|
+
の ノ ノ の 助詞-準体助詞
|
60
|
+
で デ ダ だ 助動詞 助動詞-ダ 連用形-一般
|
61
|
+
習い ナライ ナラウ 習う 動詞-一般 五段-ワア行 連用形-一般 2
|
62
|
+
始め ハジメ ハジメル 始める 動詞-非自立可能 下一段-マ行 連用形-一般 0
|
63
|
+
まし マシ マス ます 助動詞 助動詞-マス 連用形-一般
|
64
|
+
た タ タ た 助動詞 助動詞-タ 終止形-一般
|
65
|
+
。 。 補助記号-句点
|
66
|
+
EOS
|
67
|
+
```
|
68
|
+
になりませんか? (Teratailだとタブが空白に置換されていて見え方は違うと思いますが)
|
69
|
+
素性の区切りが`-`で、品詞情報が5番目の項目になるのでそのあたりを直していく必要があるかと。
|
70
|
+
|
71
|
+
1度コメントに書きましたが、他人のコードがどう動いているのか確認せずに自分のコードに入れているのが、真の問題じゃないですか?
|
72
|
+
うまく動かないなら、1行ずつ動かしたりして何が起きるのか、何を意図しているのかを試して調べていく必要があります。
|
3
些細
answer
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
words.append(items[0])
|
33
33
|
return ' '.join(words)
|
34
34
|
```
|
35
|
-
1. if と words.append のインデントがずれている
|
35
|
+
1. if と words.append のインデントがずれている
|
36
36
|
1. returnしてない
|
37
37
|
|
38
38
|
でしょうか。動かしてはないですが。
|
2
追記
answer
CHANGED
@@ -15,4 +15,26 @@
|
|
15
15
|
`-Owakati`のオプションは、形態素解析した結果から形態素の情報を**捨てて**表層だけを空白区切りで返しなさい、という出力フォーマット指定です。
|
16
16
|
今のコードは、形態素解析して、形態素情報を捨てて表層だけ取り出して、その結果をもう一回形態素解析にかけている、という形になっています。
|
17
17
|
「やりたいこと」に対しては [https://teratail.com/questions/171703](https://teratail.com/questions/171703) に書いてあるコードの方が近く、`-Owakati`オプションで解析する理由がありません。
|
18
|
-
今の1つ目のループの中に、[https://teratail.com/questions/171703](https://teratail.com/questions/171703) でやっている処理を入れるイメージの方がいいでしょう。
|
18
|
+
今の1つ目のループの中に、[https://teratail.com/questions/171703](https://teratail.com/questions/171703) でやっている処理を入れるイメージの方がいいでしょう。
|
19
|
+
|
20
|
+
----
|
21
|
+
|
22
|
+
```python
|
23
|
+
tagger = MeCab.Tagger()
|
24
|
+
|
25
|
+
def mec(text):
|
26
|
+
parse = tagger.parse('')
|
27
|
+
word_class = []
|
28
|
+
for line in lines:
|
29
|
+
items = re.split('[\t,]',line)
|
30
|
+
if len(items) >= 2 and items[1] == '助詞':
|
31
|
+
continue
|
32
|
+
words.append(items[0])
|
33
|
+
return ' '.join(words)
|
34
|
+
```
|
35
|
+
1. if と words.append のインデントがずれている(元のコードと比べたらわかるはず)
|
36
|
+
1. returnしてない
|
37
|
+
|
38
|
+
でしょうか。動かしてはないですが。
|
39
|
+
|
40
|
+
taggerはグローバルに確保していいと思います。
|
1
些細
answer
CHANGED
@@ -7,11 +7,11 @@
|
|
7
7
|
MeCab.Taggerのparseに渡せるのは文字列だけです。文字列を渡すようにしてください。
|
8
8
|
|
9
9
|
|
10
|
+
----
|
10
11
|
|
12
|
+
|
11
13
|
`m0 = MeCab.Tagger('-Owakati')`と`mecab = MeCab.Tagger()`の間にあるコードは必要ありません(正直、コードの意図がよくわかってないんですが後述の理由から不要だということははっきり言えます)。
|
12
14
|
|
13
|
-
----
|
14
|
-
|
15
15
|
`-Owakati`のオプションは、形態素解析した結果から形態素の情報を**捨てて**表層だけを空白区切りで返しなさい、という出力フォーマット指定です。
|
16
16
|
今のコードは、形態素解析して、形態素情報を捨てて表層だけ取り出して、その結果をもう一回形態素解析にかけている、という形になっています。
|
17
17
|
「やりたいこと」に対しては [https://teratail.com/questions/171703](https://teratail.com/questions/171703) に書いてあるコードの方が近く、`-Owakati`オプションで解析する理由がありません。
|