これは自然言語処理100本ノック2020に挑んだ、とある人間の記録。
他の問題はこちら → 自然言語処理100本ノック2020から逃げるな まとめ
34. 名詞の連接
名詞の連接(連続して出現する名詞)を最長一致で抽出せよ.
Pythonコード
import NLP100_30 sentence_list = NLP100_30.get_morpheme() result = [] connection_list = [] for morpheme_list in sentence_list: for morpheme in morpheme_list: if morpheme['pos'] == '名詞': connection_list.append(morpheme['surface']) else: if 0 < len(connection_list): result.append(connection_list[:]) connection_list.clear() for con in result: print(''.join(con))
30. 形態素解析結果の読み込み で作成したget_morpheme関数を利用しています。
実行結果
長いので冒頭のみ。
一 吾輩 猫 名前 どこ 見当 何 所 ニャーニャー いた事 記憶 吾輩 ここ 人間 もの あと それ 書生 人間中