답변:
얕은 N atural L의 anguage의 P 세 싱 기술은 문장에서 개념들을 추출하는데 사용될 수있다.
-------------------------------------------
얕은 NLP 기술 단계 :
1) 문장을 소문자로 변환
2) 스톱 워드 제거 (이것은 언어에서 흔히 사용되는 단어입니다. for, very, and, of, etc 등의 단어는 공통 스톱 단어입니다)
3) n-gram을 추출합니다. 즉, 주어진 텍스트 시퀀스에서 n 개 항목의 연속 시퀀스를 추출합니다 (n을 늘리면 모델을 사용하여 더 많은 컨텍스트를 저장할 수 있음)
4) 구문 레이블 (명사, 동사 등) 지정
5) 의미 / 구문 분석 접근법을 통한 텍스트 지식 추출, 즉 명사 / 동사와 같은 문장에서 더 높은 가중치를 갖는 단어를 유지하려고 시도
-------------------------------------------
주어진 문장에 위 단계를 적용한 결과를 살펴 보자 Complimentary gym access for two for the length of stay ($12 value per person per day)
.
1 그램 결과 : 체육관, 출입, 길이, 숙박, 가치, 사람, 요일
Summary of step 1 through 4 of shallow NLP:
1-gram PoS_Tag Stopword (Yes/No)? PoS Tag Description
-------------------------------------------------------------------
Complimentary NNP Proper noun, singular
gym NN Noun, singular or mass
access NN Noun, singular or mass
for IN Yes Preposition or subordinating conjunction
two CD Cardinal number
for IN Yes Preposition or subordinating conjunction
the DT Yes Determiner
length NN Noun, singular or mass
of IN Yes Preposition or subordinating conjunction
stay NN Noun, singular or mass
($12 CD Cardinal number
value NN Noun, singular or mass
per IN Preposition or subordinating conjunction
person NN Noun, singular or mass
per IN Preposition or subordinating conjunction
day) NN Noun, singular or mass
Step 4: Retaining only the Noun/Verbs we end up with gym, access, length, stay, value, person, day
더 많은 컨텍스트를 저장하고 중지 어를 제거하기 위해 n을 늘릴 수 있습니다.
2 그램 결과 : 무료 체육관, 체육관 이용, 체류 기간, 숙박 가치
Summary of step 1 through 4 of shallow NLP:
2-gram Pos Tag
---------------------------
access two NN CD
complimentary gym NNP NN
gym access NN NN
length stay NN NN
per day IN NN
per person IN NN
person per NN IN
stay value NN NN
two length CD NN
value per NN IN
Step 5: Retaining only the Noun/Verb combination we end up with complimentary gym, gym access, length stay, stay value
3 그램 결과 : 무료 체육관 이용, 숙박 기간, 일인당
Summary of step 1 through 4 of shallow NLP:
3-gram Pos Tag
-------------------------------------
access two length NN CD NN
complimentary gym access NNP NN NN
gym access two NN NN CD
length stay value NN NN NN
per person per IN NN IN
person per day NN IN NN
stay value per NN NN IN
two length stay CD NN NN
value per person NN IN NN
Step 5: Retaining only the Noun/Verb combination we end up with complimentary gym access, length stay value, person per day
기억해야 할 것 :
도구 :
품사 태그 지정에 OpenNLP / StanfordNLP 사용을 고려할 수 있습니다. 대부분의 프로그래밍 언어에는 OpenNLP / StanfordNLP를 지원하는 라이브러리가 있습니다. 편안하게 언어를 선택할 수 있습니다. 아래는 PoS 태깅에 사용한 샘플 R 코드입니다.
샘플 R 코드 :
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7') # for 32-bit version
library(rJava)
require("openNLP")
require("NLP")
s <- paste("Complimentary gym access for two for the length of stay $12 value per person per day")
tagPOS <- function(x, ...) {
s <- as.String(x)
word_token_annotator <- Maxent_Word_Token_Annotator()
a2 <- Annotation(1L, "sentence", 1L, nchar(s))
a2 <- annotate(s, word_token_annotator, a2)
a3 <- annotate(s, Maxent_POS_Tag_Annotator(), a2)
a3w <- a3[a3$type == "word"]
POStags <- unlist(lapply(a3w$features, `[[`, "POS"))
POStagged <- paste(sprintf("%s/%s", s[a3w], POStags), collapse = " ")
list(POStagged = POStagged, POStags = POStags)
}
tagged_str <- tagPOS(s)
tagged_str
#$POStagged
#[1] "Complimentary/NNP gym/NN access/NN for/IN two/CD for/IN the/DT length/NN of/IN stay/NN $/$ 12/CD value/NN per/IN person/NN per/IN day/NN"
#
#$POStags
#[1] "NNP" "NN" "NN" "IN" "CD" "IN" "DT" "NN" "IN" "NN" "$" "CD"
#[13] "NN" "IN" "NN" "IN" "NN"
Shallow & Deep NLP에 대한 추가 자료 :
온톨로지 학습을위한 얕은 심층 NLP 처리 : 빠른 개요 여기를 클릭하십시오
통합 얕은 및 깊은 NLP 정보 추출을 위해 여기를 클릭하세요
당신은 할 필요가 문장 구조 분석 대응 추출물을 통 사적 범주 (이 경우, 나는 그것이있을 거라고 생각의 관심을 명사구 A는, phrasal 카테고리 ). 자세한 내용은 해당 Wikipedia 기사 및 NLTK 서적의 "문장 구조 분석" 장을 참조하십시오 .
위에서 언급 한 접근 방식 이상을 구현 하기 위해 사용 가능한 소프트웨어 도구와 관련하여 NLTK (Python을 선호하는 경우) 또는 StanfordNLP 소프트웨어 (Java를 선호하는 경우 ) 를 고려하는 것이 좋습니다 . 다른 많은 NLP 프레임 워크, 라이브러리 및 다양한 언어 지원 프로그래밍에 대해서는 이 엄선 된 목록의 해당 (NLP) 섹션을 참조하십시오 .
R 사용자 인 경우 http://www.rdatamining.com에 유용한 정보가 많이 있습니다. 텍스트 마이닝 예제를보십시오.
또한 tm 패키지를 살펴보십시오.
이것은 또한 좋은 집계 사이트입니다-http : //www.tapor.ca/