前提・実現したいこと
日本語概念辞書を用いて言語処理をしようとしています。
配列に入っている単語のWordNetにおけるsynsetと呼ばれる同義語のグループを抽出しようとしています。
発生している問題・エラーメッセージ
以下が現状の出力で、同義語のグループのない単語もあるので、
その場合は配列に入れないように処理をしたつもりでしたが、
空でも配列にappendされてしまっています。
また、「Synset()」の部分を削除して()内のみ抽出したい場合の
処理をどのように行えばいいかわからず、困っています。
['高知', '日本', '横浜'] [[], [Synset('japan.n.02')], [Synset('yokohama.n.01')]]
取得したい出力
['japan.n.02', 'yokohama.n.01']
該当のソースコード
python
1from nltk.corpus import wordnet as wn 2 3word_list = ['高知', '日本', '横浜'] 4synsets_list = [] 5for w in word_list: 6 result = wn.synsets(w, lang='jpn') 7 if result is not None: 8 synsets_list.append(result) 9synsets_list
### ご回答を受けて試したこと
python
1from nltk.corpus import wordnet as wn 2word_list= ['高知', '日本', '横浜'] 3synsets_list = [] 4for w in word_list: 5 result = wn.synsets(w, lang='jpn') 6 if result != []: 7 synsets_list.extend(result) 8synsets_list
一つ目の[]に関する問題は解決できましたが、
「Synset()」の部分を削除して()内のみ抽出したい場合の
処理をどのように行えばいいかわからず、困っています。
出力
[Synset('japan.n.02'), Synset('yokohama.n.01')]
補足情報(FW/ツールのバージョンなど)
WordNet Interface
python 3.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/21 09:15 編集
2018/07/21 09:18
退会済みユーザー
2018/07/21 09:25
2018/07/21 09:26
退会済みユーザー
2018/07/21 14:55
2018/07/21 15:21
退会済みユーザー
2018/07/21 15:42
2018/07/21 20:12
2018/07/22 01:13
退会済みユーザー
2018/07/23 01:01