저에게 영어로 된 글을 읽을때 첫번째로 걸림돌이 되는 부분이 바로 글에 포함된 단어를 많이 모른다는 것입니다. 글을 읽기 전에 미리 단어를 학습하고 글을 읽는 다면 훨씬 더 영어로된 글을 이해하기 쉬울 것입니다. 일일히 손수 영어단어를 정리하기 어렵기 때문에 코딩으로 간편하게 영어단어를 분류한다면 훨씬 더 공부하기가 편해질 것입니다. 맥을 사용하면 누구나 무료앱인 Xcode 를사용하실수 있고 Playground 라는 도구를 활용해서 간편하게 Swift 프로그래밍을 해볼 수 있습니다.
1. 새로운 Playground 프로젝트 시작하기
Xcode 를 실행합니다.
Playground 프로젝트를 생성합니다.
메뉴 File → New → Playground...
Blank 템플릿을 선택하고 Next 버튼을 눌러서 새로운 플레이그라운드 프로젝트를 생성합니다.
Playground 의 첫 화면입니다.
2. 단어 추출코드 실행하기
아래 코드를 입력하고 실행버튼을 눌러서 코드를 실행합니다.
let text 변수에 공부하고 싶은 영어 문장을 입력해 단어를 분석해 보세요.
import UIKit
import NaturalLanguage
let text = """
<--- 여기에 영어문장을 입력해 주세요 --->
"""
let tagger = NLTagger(tagSchemes: [.nameType])
tagger.string = text
tagger.enumerateTags(in: text.startIndex..<text.endIndex, unit: .word, scheme: .nameType, options: [.omitPunctuation, .omitWhitespace, .joinNames]) { tag, range in
if let tag = tag {
let word = text[range]
let tagName = tag.rawValue
print("단어 : \(word) (\(tagName))")
}
return true
}
tagSchemes 에 따라서 결정되는 tagName 은 단어에 대한 정보를 확인할 수 있습니다. 태그 스킴이 무엇이냐에 따라서 단어에 대한 정보를 다르게 분석해 줍니다. 예를 들어 Seoul 은 태그 이름이 PlaceName 로 분류되고, Abraham Lincoln 은 PersonalName 으로 분류됩니다. 다만, 모든 단어가 정확하게 분류되는 것은 아닙니다. 자세한 내용은 아래 링크를 확인해 주세요.
https://developer.apple.com/videos/play/wwdc2019/232/
코드를 사용해서 영단어를 분류하면 편한점은 시간을 절약할 수 있다는 것입니다. 그리고 중복된 단어를 분류할때 헷갈릴 수 있는데 이런 문제를 깔끔하게 해결해줍니다.
댓글