Skip to content

Commit

Permalink
chapter 06 part
Browse files Browse the repository at this point in the history
  • Loading branch information
etoiledumatin27 committed Jun 10, 2024
1 parent 82dae26 commit 74aad4c
Show file tree
Hide file tree
Showing 6 changed files with 438,713 additions and 6 deletions.
145 changes: 145 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 7 additions & 6 deletions siqingwang/chapter05/knock41.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ def __init__(self, words):
self.pos1 = words1[1]


# クラスChunkでは、形態素リスト、係り先文節のインデックス番号、係り元文節のインデックス番号リストを保持
class Chunk():
def __init__(self, morphs, a, chunk_id):
self.morphs = morphs
self.dst = a # 係り先文節インデックス番号
self.srcs = [] # 係り元文節インデックス番号のリスト

self.dst = a # 係り先文節index番号
self.srcs = [] # 係り元文節index番号のリスト

# クラスSentenceは、文節のリストを保持し、各文節が係っている文節のインデックス番号を指定
class Sentence(): # 係り先文節インデックス番号のため
def __init__(self, chunks):
self.chunks = chunks
Expand All @@ -31,13 +32,13 @@ def __init__(self, chunks):

with open("ai.ja.txt.parsed", encoding='UTF-8') as f:
for line in f:
if line[0] == "*":
if morphs: # 空ではないなら
if line[0] == "*": # 行が"*"で始まる場合、新しい文節の開始を示しています。この場合、文節の係り先の情報が含まれています。
if morphs: # 空ではないなら、すでに別の文節の形態素が読み込まれているため、それらの形態素をChunkオブジェクトにまとめ
chunks.append(Chunk(morphs, dst, chunk_id))
chunk_id += 1
morphs = []
dst = int(line.split()[2].replace("D", "")) # 係先の番号
elif line != "EOS\n":
elif line != "EOS\n": # 行が"EOS\n"でない場合、形態素を処理します。形態素は各行がタブで区切られたテキストとして表されています。
morphs.append(Morph(line))
else: # EOS\n
chunks.append(Chunk(morphs, dst, chunk_id))
Expand Down
Loading

0 comments on commit 74aad4c

Please sign in to comment.