これは自然言語処理100本ノック2020に挑んだ、とある人間の記録。
他の問題はこちら → 自然言語処理100本ノック2020から逃げるな まとめ
33. 「AのB」
2つの名詞が「の」で連結されている名詞句を抽出せよ.
Pythonコード
import re import NLP100_30 sentence_list = NLP100_30.get_morpheme() for morpheme_list in sentence_list: for i in range(1, len(morpheme_list) - 1): prev = morpheme_list[i-1] now = morpheme_list[i] mnext = morpheme_list[i+1] if now['surface'] == 'の': if prev['pos'] == '名詞' and mnext['pos'] == '名詞': print(prev['surface'] + now['surface'] + mnext['surface'])
30. 形態素解析結果の読み込み で作成したget_morpheme関数を利用しています。
実行結果
長いので冒頭のみ。
彼の掌 掌の上 書生の顔 はずの顔 顔の真中 穴の中 書生の掌 掌の裏 何の事 肝心の母親 藁の上 笹原の中 池の前 池の上 一樹の蔭 垣根の穴 隣家の三 時の通路 一刻の猶予