addPartOfSpeechDetails
문서에 품사 태그 추가
구문
설명
addPartOfSpeechDetails
를 사용하여 문서에 품사 태그를 추가합니다.
이 함수는 한국어, 영어, 일본어, 독일어 텍스트를 지원합니다.
는 updatedDocuments
= addPartOfSpeechDetails(documents
)documents
에서 품사를 검출하고 토큰 세부 정보를 업데이트합니다. 이 함수는 기본적으로 품사 태그를 지정하기 위해 텍스트를 다시 토큰화합니다. 예를 들어 이 함수는 단어 "you're"를 토큰 "you"와 "re"로 분할합니다. updatedDocuments
에서 품사 세부 정보를 가져오려면 tokenDetails
를 사용합니다.
는 하나 이상의 이름-값 쌍의 인수를 사용하여 옵션을 추가로 지정합니다.updatedDocuments
= addPartOfSpeechDetails(documents
,Name,Value
)
팁
addPartOfSpeechDetails
함수는 lower
, upper
, erasePunctuation
, normalizeWords
, removeWords
, removeStopWords
함수에 의해 제거되는 정보를 사용하기 때문에 이러한 함수를 사용하기 전에 addPartOfSpeechDetails
함수를 먼저 사용해야 합니다.
예제
문서에 품사 세부 정보 추가하기
예제 데이터를 불러옵니다. 파일 sonnetsPreprocessed.txt
에는 셰익스피어 소네트의 전처리된 버전이 들어 있습니다. 파일에는 한 줄에 하나씩 소네트가 들어 있으며 단어가 공백으로 구분되어 있습니다. sonnetsPreprocessed.txt
에서 텍스트를 추출하고, 추출한 텍스트를 새 줄 문자에서 문서로 분할한 후 그 문서를 토큰화합니다.
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
처음 몇 개 토큰에 대한 토큰 세부 정보를 표시합니다.
tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber LineNumber Type Language ___________ ______________ __________ _______ ________ "fairest" 1 1 letters en "creatures" 1 1 letters en "desire" 1 1 letters en "increase" 1 1 letters en "thereby" 1 1 letters en "beautys" 1 1 letters en "rose" 1 1 letters en "might" 1 1 letters en
addPartOfSpeechDetails
함수를 사용하여 품사 세부 정보를 문서에 추가합니다. 이 함수는 먼저 문서에 문장 정보를 추가한 다음, tokenDetails
에서 반환된 테이블에 품사 태그를 추가합니다. 처음 몇 개 토큰에 대해 업데이트된 토큰 세부 정보를 표시합니다.
documents = addPartOfSpeechDetails(documents); tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech ___________ ______________ ______________ __________ _______ ________ ______________ "fairest" 1 1 1 letters en adjective "creatures" 1 1 1 letters en noun "desire" 1 1 1 letters en noun "increase" 1 1 1 letters en noun "thereby" 1 1 1 letters en adverb "beautys" 1 1 1 letters en noun "rose" 1 1 1 letters en noun "might" 1 1 1 letters en auxiliary-verb
일본어 텍스트의 품사 세부 정보 가져오기
tokenizedDocument
를 사용하여 일본어 텍스트를 토큰화합니다.
str = [ "恋に悩み、苦しむ。" "恋の悩みで 苦しむ。" "空に星が輝き、瞬いている。" "空の星が輝きを増している。" "駅までは遠くて、歩けない。" "遠くの駅まで歩けない。" "すもももももももものうち。"]; documents = tokenizedDocument(str);
일본어 텍스트의 경우 tokenDetails
를 사용하여 품사 세부 정보를 가져올 수 있습니다. 영어 텍스트의 경우 먼저 addPartOfSpeechDetails
를 사용해야 합니다.
tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber LineNumber Type Language PartOfSpeech Lemma Entity _______ ______________ __________ ___________ ________ ____________ _______ __________ "恋" 1 1 letters ja noun "恋" non-entity "に" 1 1 letters ja adposition "に" non-entity "悩み" 1 1 letters ja verb "悩む" non-entity "、" 1 1 punctuation ja punctuation "、" non-entity "苦しむ" 1 1 letters ja verb "苦しむ" non-entity "。" 1 1 punctuation ja punctuation "。" non-entity "恋" 2 1 letters ja noun "恋" non-entity "の" 2 1 letters ja adposition "の" non-entity
독일어 텍스트의 품사 세부 정보 가져오기
tokenizedDocument
를 사용하여 독일어 텍스트를 토큰화합니다.
str = [ "Guten Morgen. Wie geht es dir?" "Heute wird ein guter Tag."]; documents = tokenizedDocument(str)
documents = 2x1 tokenizedDocument: 8 tokens: Guten Morgen . Wie geht es dir ? 6 tokens: Heute wird ein guter Tag .
독일어 텍스트의 품사 세부 정보를 가져오려면 먼저 addPartOfSpeechDetails
를 사용합니다.
documents = addPartOfSpeechDetails(documents);
품사 세부 정보를 표시하려면 tokenDetails
함수를 사용합니다.
tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech ________ ______________ ______________ __________ ___________ ________ ____________ "Guten" 1 1 1 letters de adjective "Morgen" 1 1 1 letters de noun "." 1 1 1 punctuation de punctuation "Wie" 1 2 1 letters de adverb "geht" 1 2 1 letters de verb "es" 1 2 1 letters de pronoun "dir" 1 2 1 letters de pronoun "?" 1 2 1 punctuation de punctuation
입력 인수
documents
— 입력 문서
tokenizedDocument
배열
입력 문서로, tokenizedDocument
배열로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 각 이름과 값을 쉼표로 구분하고 Name
을 따옴표로 묶으십시오.
예: 'DiscardKnownValues',true
는 이전에 계산된 세부 정보를 무시하고 다시 계산하도록 지정합니다.
RetokenizeMethod
— 문서를 다시 토큰화하는 방법
'part-of-speech'
(디폴트 값) | 'none'
문서를 다시 토큰화하는 방법으로, 다음 중 하나로 지정됩니다.
'part-of-speech'
– 품사 태그를 지정하기 위해 토큰을 변환합니다. 함수는 다음 작업을 수행합니다.합성어를 분할합니다. 예를 들어, 합성어
"wanna"
를 토큰"want"
와"to"
로 나눕니다. 여기에는 아포스트로피가 있는 합성어가 포함됩니다. 예를 들어, 이 함수는 단어"don't"
를 토큰"do"
와"n't"
로 분할합니다.문장을 끝내지 않는 마침표를 선행 토큰과 병합합니다. 예를 들어,
"Mr"
와"."
를 토큰"Mr."
로 병합합니다.독일어 텍스트의 경우 여러 토큰에 걸쳐 있는 약어를 병합합니다. 예를 들어 토큰
"z"
,"."
,"B"
,"."
를 단일 토큰"z. B."
로 병합합니다.여러 개의 마침표를 줄임표로 병합합니다. 예를 들어,
"."
3개를 단일 토큰"..."
로 병합합니다.
'none'
– 문서를 다시 토큰화하지 않습니다.
Abbreviations
— 약어 목록
string형 배열 | 문자형 벡터 | 문자형 벡터로 구성된 셀형 배열 | 테이블
문장 검출을 위한 약어 목록으로, string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 테이블로 지정됩니다.
입력 문서에 문장 세부 정보가 포함되어 있지 않은 경우 이 함수는 먼저 addSentenceDetails
함수를 실행하고 'Abbreviations'
에서 제공하는 약어 목록을 지정합니다. 문장 검출에 대한 추가 옵션(예: 문장 시작 부분)을 지정하려면 addPartOfSpeechDetails
세부 정보를 사용하기 전에 addSentenceDetails
함수를 사용하십시오.
Abbreviations
가 string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열이면 함수는 이를 일반적인 약어로 처리합니다. 이어지는 단어가 대문자로 된 문장 시작 부분인 경우 함수는 후행 마침표에서 문장을 나눕니다. 이 함수는 약어의 대/소문자 구분을 무시합니다. Starters
이름-값 쌍을 사용하여 문장 시작 부분을 지정하십시오.
약어에서 문장을 나눌 때 다른 동작을 지정하려면 Abbreviations
를 테이블로 지정합니다. 테이블에는 Abbreviation
과 Usage
라는 변수가 있어야 합니다. 여기서 Abbreviation
에는 약어가 포함되고 Usage
에는 각 약어의 유형이 포함됩니다. 다음 표에는 Usage
가 가질 수 있는 값과 그러한 유형의 약어를 전달하는 경우 함수의 동작이 설명되어 있습니다.
사용법 | 동작 | 예제 약어 | 예제 텍스트 | 검출된 문장 |
---|---|---|---|---|
regular | 다음 단어가 대문자로 된 문장 시작 부분인 경우 후행 마침표에서 문장을 나눕니다. 그 외의 경우에는 후행 마침표에서 문장을 나누지 않습니다. | "appt." | "Book an appt. We'll meet then." |
|
"Book an appt. today." | "Book an appt. today." | |||
inner | 후행 마침표 다음에서 문장을 나누지 않습니다. | "Dr." | "Dr. Smith." | "Dr. Smith." |
reference | 다음 토큰이 숫자가 아니면 후행 마침표에서 문장을 나눕니다. 다음 토큰이 숫자이면 후행 마침표에서 문장을 나누지 않습니다. | "fig." | "See fig. 3." | "See fig. 3." |
"Try a fig. They are nice." |
| |||
unit | 앞 단어가 숫자이고 다음 단어가 대문자로 된 문장 시작 부분이면 후행 마침표에서 문장을 나눕니다. | "in." | "The height is 30 in. The width is 10 in." |
|
앞 단어가 숫자이고 다음 단어가 대문자가 아니면 후행 마침표에서 문장을 나누지 않습니다. | "The item is 10 in. wide." | "The item is 10 in. wide." | ||
앞 단어가 숫자가 아니면 후행 마침표에서 문장을 나눕니다. | "Come in. Sit down." |
|
디폴트 값은 abbreviations
함수의 출력값입니다. 한국어와 일본어 텍스트의 경우 대개 약어가 문장 검출에 영향을 주지 않습니다.
팁
기본적으로 이 함수는 "V."와 같은 단일 문자 약어나 "U.S.A."와 같이 단일 문자와 마침표가 혼합된 토큰을 일반적인 약어로 처리합니다. Abbreviations
에 이러한 약어를 포함할 필요가 없습니다.
데이터형: char
| string
| table
| cell
DiscardKnownValues
— 이전에 계산된 세부 정보를 무시하는 옵션
false
(디폴트 값) | true
이전에 계산된 세부 정보를 무시하고 다시 계산하는 옵션으로, true
또는 false
로 지정됩니다.
데이터형: logical
출력 인수
updatedDocuments
— 업데이트된 문서
tokenizedDocument
배열
업데이트된 문서로, tokenizedDocument
배열로 반환됩니다. updatedDocuments
에서 토큰 세부 정보를 가져오려면 tokenDetails
를 사용하십시오.
세부 정보
품사 태그
addPartOfSpeechDetails
함수는 tokenDetails
함수에서 반환된 테이블에 품사 태그를 추가합니다. 이 함수는 다음 클래스 이름 중 하나를 사용하여 각 토큰에 categorical형 태그를 지정합니다.
adjective
— 형용사adposition
— 부치사adverb
— 부사auxiliary-verb
— 조동사coord-conjunction
— 등위접속사determiner
— 한정사interjection
— 감탄사noun
— 명사numeral
— 수사particle
— 불변화사pronoun
— 대명사proper-noun
— 고유 명사punctuation
— 문장 부호subord-conjunction
— 종속접속사symbol
— 기호verb
— 동사other
— 기타
알고리즘
입력 문서에 문장 세부 정보가 포함되어 있지 않은 경우 이 함수는 먼저 addSentenceDetails
를 실행합니다.
버전 내역
R2018b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)