現在以下の課題を行っているのですが、前処理としてDataFrame型に格納された
言葉の形態素解析を行い、再びDataFrameとして出力したいと思っています。
以下のコードではエラーが出てしまうのですが解決法ありましたらご教示頂けない
でしょうか。宜しくお願いします。
python
1import pandas as pd 2import MeCab 3# https://en.wikipedia.org/wiki/MeCab 4from tqdm import tqdm_notebook as tqdm 5# This is working... 6train = pd.read_table('train-Copy1.tsv', encoding='utf-8') 7 8m = MeCab.Tagger(" ") 9 10a = m.parse(train) 11print(type(train)) 12print(a)# working! 13 14# But I want to use Pandas's Series 15 16def extractKeyword(train): 17 """Morphological analysis of text and returning a list of only nouns""" 18 tagger = MeCab.Tagger('-Ochasen') 19 node = tagger.parseToNode(train) 20 keywords = [] 21 while node: 22 if node.feature.split(",")[0] == u"名詞": # this means noun 23 keywords.append(node.surface) 24 node = node.next 25 return keywords 26 27aa = extractKeyword(train) #working!! 28 29me = df.apply(lambda x: extractKeyword(x)) 30 31#TypeError: ("in method 'Tagger_parseToNode', argument 2 of type 'char const *'", 'occurred at index 0')
以下エラーコードとなります。
TypeError Traceback (most recent call last)
<ipython-input-13-8fc78a0e370f> in <module>
8 m = MeCab.Tagger(" ")
9
---> 10 a = m.parse(train)
11
12 print(a)# working!
TypeError: in method 'Tagger_parse', argument 2 of type 'char const *'
Additional information:
Wrong number or type of arguments for overloaded function 'Tagger_parse'.
Possible C/C++ prototypes are:
MeCab::Tagger::parse(MeCab::Lattice *) const
MeCab::Tagger::parse(char const *)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/02 03:39