한국어 텍스트에서 명사만 추출해보자.
형태소 분석을 해 볼 예시 문장은 다음과 같다.
text = '오늘 커피를 마셨다.'
doc = nlp(text)
명사 표시는 n
으로 시작하므로 해당하는 형태소만 출력한다.
for word in doc.sentences[0].words:
lemma = word.lemma.split('+')
xpos = word.xpos.split('+')
for tok, pos in zip(lemma, xpos):
if pos.startswith('n'):
print(tok)
오늘 커피
문장을 넣으면 명사를 추출하는 함수 extract_noun
을 아래와 같이 정의합니다.
def extract_noun(text):
doc = nlp(text)
for sentence in doc.sentences:
for word in sentence.words:
lemma = word.lemma.split('+')
xpos = word.xpos.split('+')
for tok, pos in zip(lemma, xpos):
if pos.startswith('n'):
yield tok
extract_noun
함수에 문장을 넣으면 명사가 추출됩니다. 여러 문장을 넣어서, 명사가 추출되는지 확인합니다.
list(extract_noun('편의점에서 커피를 샀다.'))
['편의점', '커피']
list(extract_noun('토끼는 당근을 좋아할까?'))
['토끼', '당근']