티스토리 뷰
반응형
Tokenizing Natural Language Text
자연어 텍스트 토큰화하기
문자열 내의 단어를 토큰화 후 열거할 수 있습니다.
Overview
개요
자연어 처리 작업을 진행할 때, 텍스트를 개별적인 단어로 토큰화 하는 것은 유용합니다.
이 때 스페이스 공백 단위로 단순하게 잘라내는 것보다는 NaturalLanguage 프레임워크에서 제공하는 NLTokenizer를 사용하는 것은 다수의 스크립트와 언어들에 대한 더욱 정확한 토큰화 작업 행위를 보장할 수 있습니다.
예를들면, 중국어, 일본어는 공백을 사용해서 단어를 구분하지 않습니다. 이 경우 단순 스페이스 공백만으로 판별한다면 정확하지 않은 토큰화가 진행되겠죠?
아래의 단계 설명을 동반한 예시는 자연어 텍스트에서 NLTokenizer를 활용해 어떻게 단어를 열거하는지를 보여주고 있습니다.
let text = """
All human beings are born free and equal in dignity and rights.
They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
"""
let tokenizer = NLTokenizer(unit: .word)
tokenizer.string = text
tokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) { tokenRange, _ in
print(text[tokenRange])
return true
}
◼︎ 토큰화 하는 방법 STEP
1. NLTokenizer 인스턴스를 생성하고, 토큰화할 개체에 대해 NLTokenUnit.word와 같이 설정해줍니다.
2. NLTokenizer 인스턴스에서 토큰화처리를 할 string 프로퍼티를 설정해줍니다.
3. enumerateTokens(in: using:) 메서드를 호출해서 string의 토큰화 전체결과를 열거할 수 있습니다. 이때 전체 영역 출력을 원한다면 text.startIndex..<text.endIndex로 범위를 지정하시면 됩니다.
4. 열거 블록 내에서 지정 범위 내의 토큰화 결과값을 각각의 단어 단위로 얻어서 활용할 수 있습니다.
5. 위의 코드 예시에서는 토큰화 후 열거한 문자열을 순차적으로 출력하고 있습니다.
◼︎ 문자열 토큰화 예시
See Also
Tokenization
- class NLTokenizer : 자연어를 의미있는 단위로 분할해주는 Tokenizer
Tokenizing Natural Language Text 원문링크 ▼
반응형
'iOS 개발 > 개발자문서 정보' 카테고리의 다른 글
iOS Swift Dictionary, 딕셔너리 개발자 문서 개요 (2) | 2020.05.10 |
---|---|
iOS ML모델로 이미지 내 사람 관절 및 신체동작 감지하기 (0) | 2020.05.05 |
iOS ML모델 생성 및 학습 도구, CreateML 문서 개요 (0) | 2020.05.02 |
iOS CoreML 자연어처리(Natural Language) 개요 (0) | 2020.05.01 |
iOS Vision 활용 샘플앱 (2) 코드분석, 응용 및 주의사항 (1) | 2020.04.16 |
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- Collection
- 프로그래머스swift
- 부스트코스
- swift
- swift언어
- swift 기초
- swift reduce
- createML
- swift알고리즘
- swift 문자열
- 스위프트
- 프로그래머스
- publisher
- 알고리즘문제
- SwiftUI
- swift string
- Swift 알고리즘
- swift문제
- ios
- 개발자문서
- CoreML
- 백준swift
- 자연어처리
- Protocol
- 백준알고리즘
- uikit
- 김프매매
- 프로토콜
- 컬렉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함