티스토리 뷰

반응형

 

 


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. 위의 코드 예시에서는 토큰화 후 열거한 문자열을 순차적으로 출력하고 있습니다.

 

◼︎ 문자열 토큰화 예시

NLTokenizer를 활용한 문자열 토큰화 예시 

 

 


See Also

Tokenization
- class NLTokenizer : 자연어를 의미있는 단위로 분할해주는 Tokenizer 

 

 

Tokenizing Natural Language Text 원문링크 ▼

 

NLTokenizer - Natural Language | Apple Developer Documentation

NLTokenizer creates individual units from natural language text. Define the desired unit (word, sentence, paragraph, or document as declared in the NLTokenUnit) for tokenization, and then assign a string to tokenize. enumerateTokens(in:using:) provides the

developer.apple.com

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함