回答編集履歴

2

追記

2022/10/21 07:48

投稿

quickquip
quickquip

スコア11038

test CHANGED
@@ -1 +1,113 @@
1
1
  parseメソッドには集合型ではなくてstr型を引数に与えてください。
2
+
3
+ ----
4
+ (追記)
5
+
6
+ そもそも、まず初手として、Pythonの対話環境か何かを使って
7
+ ```python
8
+ import MeCab
9
+
10
+ mecab = MeCab.Tagger()
11
+ s = 'あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。'
12
+ m = mecab.parse(s)
13
+ print(m)
14
+ print('----')
15
+ print(repr(m))
16
+ ```
17
+ などとしてみて、自分が今使おうと思っているものを**実際に使ってみて**観察したらよいと思います。
18
+
19
+ 結果例(辞書が違えば結果は変わります。念のため)
20
+ ```plain
21
+ あの 連体詞,*,*,*,*,*,あの,アノ,アノ
22
+ イーハトーヴォ 名詞,一般,*,*,*,*,*
23
+ の 助詞,格助詞,一般,*,*,*,の,ノ,ノ
24
+ すきとおっ 動詞,自立,*,*,五段・ラ行,連用タ接続,すきとおる,スキトオッ,スキトーッ
25
+ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
26
+ 風 名詞,一般,*,*,*,*,風,カゼ,カゼ
27
+ 、 記号,読点,*,*,*,*,、,、,、
28
+ 夏 名詞,一般,*,*,*,*,夏,ナツ,ナツ
29
+ で 助詞,格助詞,一般,*,*,*,で,デ,デ
30
+ も 助詞,係助詞,*,*,*,*,も,モ,モ
31
+ 底 名詞,一般,*,*,*,*,底,ソコ,ソコ
32
+ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
33
+ 冷た 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,冷たい,ツメタ,ツメタ
34
+ さ 名詞,接尾,特殊,*,*,*,さ,サ,サ
35
+ を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
36
+ もつ 動詞,自立,*,*,五段・タ行,基本形,もつ,モツ,モツ
37
+ 青い 形容詞,自立,*,*,形容詞・アウオ段,基本形,青い,アオイ,アオイ
38
+ そら 感動詞,*,*,*,*,*,そら,ソラ,ソラ
39
+ 、 記号,読点,*,*,*,*,、,、,、
40
+ うつくしい 形容詞,自立,*,*,形容詞・イ段,基本形,うつくしい,ウツクシイ,ウツクシイ
41
+ 森 名詞,一般,*,*,*,*,森,モリ,モリ
42
+ で 助詞,格助詞,一般,*,*,*,で,デ,デ
43
+ 飾ら 動詞,自立,*,*,五段・ラ行,未然形,飾る,カザラ,カザラ
44
+ れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
45
+ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
46
+ モリーオ 名詞,固有名詞,地域,一般,*,*,*
47
+ 市 名詞,接尾,地域,*,*,*,市,シ,シ
48
+ 、 記号,読点,*,*,*,*,、,、,、
49
+ 郊外 名詞,一般,*,*,*,*,郊外,コウガイ,コーガイ
50
+ の 助詞,連体化,*,*,*,*,の,ノ,ノ
51
+ ぎらぎら 副詞,一般,*,*,*,*,ぎらぎら,ギラギラ,ギラギラ
52
+ ひかる 動詞,自立,*,*,五段・ラ行,基本形,ひかる,ヒカル,ヒカル
53
+ 草 名詞,一般,*,*,*,*,草,クサ,クサ
54
+ の 助詞,連体化,*,*,*,*,の,ノ,ノ
55
+ 波 名詞,一般,*,*,*,*,波,ナミ,ナミ
56
+ 。 記号,句点,*,*,*,*,。,。,。
57
+ EOS
58
+
59
+ ----
60
+ 'あの\t連体詞,*,*,*,*,*,あの,アノ,アノ\nイーハトーヴォ\t名詞,一般,*,*,*,*,*\nの\t助詞,格助詞,一般,*,*,*,の,ノ,ノ\nすきとおっ\t動詞,自立,*,*,五段・ラ行,連用タ接続,すきとおる,スキトオッ,スキトーッ\nた\t助動詞,*,*,*,特殊・タ,基本形,た,タ,タ\n風\t名詞,一般,*,*,*,*,風,カゼ,カゼ\n、\t記号,読点,*,*,*,*,、,、,、\n夏\t名詞,一般,*,*,*,*,夏,ナツ,ナツ\nで\t助詞,格助詞,一般,*,*,*,で,デ,デ\nも\t助詞,係助詞,*,*,*,*,も,モ,モ\n底\t名詞,一般,*,*,*,*,底,ソコ,ソコ\nに\t助詞,格助詞,一般,*,*,*,に,ニ,ニ\n冷た\t形容詞,自立,*,*,形容詞・アウオ段,ガル接続,冷たい,ツメタ,ツメタ\nさ\t名詞,接尾,特殊,*,*,*,さ,サ,サ\nを\t助詞,格助詞,一般,*,*,*,を,ヲ,ヲ\nもつ\t動詞,自立,*,*,五段・タ行,基本形,もつ,モツ,モツ\n青い\t形容詞,自立,*,*,形容詞・アウオ段,基本形,青い,アオイ,アオイ\nそら\t感動詞,*,*,*,*,*,そら,ソラ,ソラ\n、\t記号,読点,*,*,*,*,、,、,、\nうつくしい\t形容詞,自立,*,*,形容詞・イ段,基本形,うつくしい,ウツクシイ,ウツクシイ\n森\t名詞,一般,*,*,*,*,森,モリ,モリ\nで\t助詞,格助詞,一般,*,*,*,で,デ,デ\n飾ら\t動詞,自立,*,*,五段・ラ行,未然形,飾る,カザラ,カザラ\nれ\t動詞,接尾,*,*,一段,連用形,れる,レ,レ\nた\t助動詞,*,*,*,特殊・タ,基本形,た,タ,タ\nモリーオ\t名詞,固有名詞,地域,一般,*,*,*\n市\t名詞,接尾,地域,*,*,*,市,シ,シ\n、\t記号,読点,*,*,*,*,、,、,、\n郊外\t名詞,一般,*,*,*,*,郊外,コウガイ,コーガイ\nの\t助詞,連体化,*,*,*,*,の,ノ,ノ\nぎらぎら\t副詞,一般,*,*,*,*,ぎらぎら,ギラギラ,ギラギラ\nひかる\t動詞,自立,*,*,五段・ラ行,基本形,ひかる,ヒカル,ヒカル\n草\t名詞,一般,*,*,*,*,草,クサ,クサ\nの\t助詞,連体化,*,*,*,*,の,ノ,ノ\n波\t名詞,一般,*,*,*,*,波,ナミ,ナミ\n。\t記号,句点,*,*,*,*,。,。,。\nEOS\n'
61
+ ```
62
+
63
+ 自分が使おうとしているものがどういう振る舞いをするかを観察しないで、コードに放り込むのが無理があると思います。
64
+
65
+ ----
66
+
67
+ 個人的には、`parseToNode`ではなくて`parse`を使って得た文字列情報を相手にする方がよいと思っています。
68
+ 末尾改行を取り除いてから改行で分割して、
69
+ ```python
70
+ lines = mecab.parse(s).strip('\n).split('\n')
71
+ ```
72
+ とすると
73
+ ```plain
74
+ ['あの\t連体詞,*,*,*,*,*,あの,アノ,アノ',
75
+ 'イーハトーヴォ\t名詞,一般,*,*,*,*,*',
76
+ 'の\t助詞,格助詞,一般,*,*,*,の,ノ,ノ',
77
+ 'すきとおっ\t動詞,自立,*,*,五段・ラ行,連用タ接続,すきとおる,スキトオッ,スキトーッ',
78
+ 'た\t助動詞,*,*,*,特殊・タ,基本形,た,タ,タ',
79
+ '風\t名詞,一般,*,*,*,*,風,カゼ,カゼ',
80
+ '、\t記号,読点,*,*,*,*,、,、,、',
81
+ '夏\t名詞,一般,*,*,*,*,夏,ナツ,ナツ',
82
+ 'で\t助詞,格助詞,一般,*,*,*,で,デ,デ',
83
+ 'も\t助詞,係助詞,*,*,*,*,も,モ,モ',
84
+ '底\t名詞,一般,*,*,*,*,底,ソコ,ソコ',
85
+ 'に\t助詞,格助詞,一般,*,*,*,に,ニ,ニ',
86
+ '冷た\t形容詞,自立,*,*,形容詞・アウオ段,ガル接続,冷たい,ツメタ,ツメタ',
87
+ 'さ\t名詞,接尾,特殊,*,*,*,さ,サ,サ',
88
+ 'を\t助詞,格助詞,一般,*,*,*,を,ヲ,ヲ',
89
+ 'もつ\t動詞,自立,*,*,五段・タ行,基本形,もつ,モツ,モツ',
90
+ '青い\t形容詞,自立,*,*,形容詞・アウオ段,基本形,青い,アオイ,アオイ',
91
+ 'そら\t感動詞,*,*,*,*,*,そら,ソラ,ソラ',
92
+ '、\t記号,読点,*,*,*,*,、,、,、',
93
+ 'うつくしい\t形容詞,自立,*,*,形容詞・イ段,基本形,うつくしい,ウツクシイ,ウツクシイ',
94
+ '森\t名詞,一般,*,*,*,*,森,モリ,モリ',
95
+ 'で\t助詞,格助詞,一般,*,*,*,で,デ,デ',
96
+ '飾ら\t動詞,自立,*,*,五段・ラ行,未然形,飾る,カザラ,カザラ',
97
+ 'れ\t動詞,接尾,*,*,一段,連用形,れる,レ,レ',
98
+ 'た\t助動詞,*,*,*,特殊・タ,基本形,た,タ,タ',
99
+ 'モリーオ\t名詞,固有名詞,地域,一般,*,*,*',
100
+ '市\t名詞,接尾,地域,*,*,*,市,シ,シ',
101
+ '、\t記号,読点,*,*,*,*,、,、,、',
102
+ '郊外\t名詞,一般,*,*,*,*,郊外,コウガイ,コーガイ',
103
+ 'の\t助詞,連体化,*,*,*,*,の,ノ,ノ',
104
+ 'ぎらぎら\t副詞,一般,*,*,*,*,ぎらぎら,ギラギラ,ギラギラ',
105
+ 'ひかる\t動詞,自立,*,*,五段・ラ行,基本形,ひかる,ヒカル,ヒカル',
106
+ '草\t名詞,一般,*,*,*,*,草,クサ,クサ',
107
+ 'の\t助詞,連体化,*,*,*,*,の,ノ,ノ',
108
+ '波\t名詞,一般,*,*,*,*,波,ナミ,ナミ',
109
+ '。\t記号,句点,*,*,*,*,。,。,。',
110
+ 'EOS']
111
+ ```
112
+ というような「文字列のリスト」が手に入ります。
113
+ これを相手にした方がよいかと思います。

1

間違えました

2022/10/20 10:49

投稿

quickquip
quickquip

スコア11038

test CHANGED
@@ -1 +1 @@
1
- parseメソッドには辞書型ではなくてstr型を引数に与えてください。
1
+ parseメソッドには集合型ではなくてstr型を引数に与えてください。