from knock40 import Morph from knock41 import Chunks, chunk_list if __name__ == '__main__': f = open('ai.ja.txt.parsed', 'r') sentences = chunk_list(f) for chank in sentences[2]: if chank.have('名詞') == True: print(chank.connect(), end='') next_chank = sentences[2][chank.dst] while True: if next_chank.dst == -1: print(' -> ' + next_chank.connect()) break print(' -> ' + next_chank.connect(), end='') next_chank = sentences[2][next_chank.dst] ''' 人工知能 -> 語 -> 研究分野とも -> される じんこうちのう -> 語 -> 研究分野とも -> される AI -> エーアイとは -> 語 -> 研究分野とも -> される エーアイとは -> 語 -> 研究分野とも -> される 計算 -> という -> 道具を -> 用いて -> 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 概念と -> 道具を -> 用いて -> 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される コンピュータ -> という -> 道具を -> 用いて -> 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 道具を -> 用いて -> 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 知能を -> 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 研究する -> 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 計算機科学 -> の -> 一分野を -> 指す -> 語 -> 研究分野とも -> される 一分野を -> 指す -> 語 -> 研究分野とも -> される
return sentences # combiの続きを作る def make_combi(combi, dic): if combi[-1] is not None: combi.append(dic[combi[-1]]) return make_combi(combi, dic) else: return combi def write_file(combi, file_name): with open(file_name, 'w') as f: for line in combi: for pair in line: for i, phrase in enumerate(pair): f.write(f'{phrase.phrase_surface()}') if i < len(pair) - 1: f.write(' -> ') else: f.write('\n') if __name__ == '__main__': text = 'neko.txt.cabocha' sentences = chunk_list(text) dict_srcs_dst = srcs_dst_dict(sentences) result = extraction_noun(dict_srcs_dst) write_file(result, 'knock48.txt')