Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
python Korean NLP
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
최민정
python Korean NLP
Commits
9949c40f
Commit
9949c40f
authored
7 years ago
by
SWCHOI
Browse files
Options
Downloads
Patches
Plain Diff
Update README.md
parent
dadb0b94
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+84
-84
84 additions, 84 deletions
README.md
with
84 additions
and
84 deletions
README.md
+
84
−
84
View file @
9949c40f
...
@@ -90,119 +90,119 @@ cmd창에서 저장한 공간으로 이동한다
...
@@ -90,119 +90,119 @@ cmd창에서 저장한 공간으로 이동한다
<br>
<br>
# 1. Konlpy & Soynlp 설명
# 1. Konlpy & Soynlp 설명
__Konlpy__
는 __Kkma__, __Twitter__, __Komoran__이라는 3가지 태거가 "tag" 패키지 안에 정리되어 있습니다.
>
__Konlpy__는 __Kkma__, __Twitter__, __Komoran__이라는 3가지 태거가 "tag" 패키지 안에 정리되어 있습니다.
3가지 태거는 성능의 차이를 보일 뿐 성능은 같으므로 __Kkma__로 __Konlp__y의 함수에 대하여 설명을 시작하겠습니다.
>
3가지 태거는 성능의 차이를 보일 뿐 성능은 같으므로 __Kkma__로 __Konlp__y의 함수에 대하여 설명을 시작하겠습니다.
<br>
>
<br>
__Soynlp__
에서는 품사 태깅의 기능은 없으나 토큰화를 전문적으로 하는 __tokenizer__가 "tokenizer" 패키지 안에 정의되어 있습니다.
>
__Soynlp__에서는 품사 태깅의 기능은 없으나 토큰화를 전문적으로 하는 __tokenizer__가 "tokenizer" 패키지 안에 정의되어 있습니다.
__Soynlp__
에 관해서는 성능 분석에서 같이 다루도록 하겠습니다.
>
__Soynlp__에 관해서는 성능 분석에서 같이 다루도록 하겠습니다.
<br>
>
<br>
#### morphs
>
#### morphs
> __morphs__ 함수는 학습되어 있는 형태소 단위로 토큰화를 하지만 품사 태깅은 이루어지지 않습니다.
>
> __morphs__ 함수는 학습되어 있는 형태소 단위로 토큰화를 하지만 품사 태깅은 이루어지지 않습니다.
> 
>
> 
#### nouns
>
#### nouns
> __nouns__ 함수는 학습되어 있는 명사 단위로 토큰화를 합니다.
>
> __nouns__ 함수는 학습되어 있는 명사 단위로 토큰화를 합니다.
> 
>
> 
#### pos
>
#### pos
> __pos__ 함수는 학습되어 있는 형태소 단위로 토큰화를 하며 품사 태깅도 같이 이루어지고 있습니다.
>
> __pos__ 함수는 학습되어 있는 형태소 단위로 토큰화를 하며 품사 태깅도 같이 이루어지고 있습니다.
> 
>
> 
#### sentences
>
#### sentences
> __sentences__ 함수는 Kkma(꼬꼬마)에서만 제공하는 함수로 문장 단위로 토큰화를 합니다.
>
> __sentences__ 함수는 Kkma(꼬꼬마)에서만 제공하는 함수로 문장 단위로 토큰화를 합니다.
> 
>
> 
# 2. 성능 분석
# 2. 성능 분석
## Konlpy
>
## Konlpy
-
__Kkma(꼬꼬마)__
>
- __Kkma(꼬꼬마)__
-
__Twitter(트위터)__
>
- __Twitter(트위터)__
-
__Komoran(코모란)__
>
- __Komoran(코모란)__

>

#### 아버지가방에들어가신다.
>
#### 아버지가방에들어가신다.
> "아버지가방에들어가신다."에 대하여 태거들마다 상이하게 품사 태깅을 하고 있습니다. <br>
>
> "아버지가방에들어가신다."에 대하여 태거들마다 상이하게 품사 태깅을 하고 있습니다. <br>
하지만 제대로 토큰화하는 태거는 하나도 없는 점을 미루어 보면 한국어 자연어 처리에 대한 어려움을 볼 수 있습니다.
<br>
하지만 제대로 토큰화하는 태거는 하나도 없는 점을 미루어 보면 한국어 자연어 처리에 대한 어려움을 볼 수 있습니다.
<br>
태거를 직접 사용해보고 사용하는 환경에서 가장 좋은 성능을 보이는 태거를 선택하는 것이 좋습니다.
태거를 직접 사용해보고 사용하는 환경에서 가장 좋은 성능을 보이는 태거를 선택하는 것이 좋습니다.
<br><br>
>
<br><br>
> 
>
> 
#### 머리를 감기다.
>
#### 머리를 감기다.
> "머리를 감기다."라는 문장에 대해 "감기"를 동사로 인식하는 것이 바람직합니다. <br>
>
> "머리를 감기다."라는 문장에 대해 "감기"를 동사로 인식하는 것이 바람직합니다. <br>
코모란은 동사로 인식하나 트위터와 꼬꼬마는 그렇지 못하는 모습을 볼 수 있습니다.
<br>
코모란은 동사로 인식하나 트위터와 꼬꼬마는 그렇지 못하는 모습을 볼 수 있습니다.
<br>
<br>
>
<br>
> 
>
> 
## Soynlp
>
## Soynlp
-
__MaxScoreTokenizer__
>
- __MaxScoreTokenizer__
-
__RegexTokenizer__
>
- __RegexTokenizer__

>

> Soynlp는 기본적으로 띄워쓰기 기반 토큰화를 합니다. 동시에 tokenizer들은 각각의 기능을 가지고 있습니다.<br>
>
> Soynlp는 기본적으로 띄워쓰기 기반 토큰화를 합니다. 동시에 tokenizer들은 각각의 기능을 가지고 있습니다.<br>
MaxScoreTokenizer는 scores 기능을 가집니다. scores란 토큰화를 원하는 단어에 대하여 점수를 매김으로써 우선적으로 추출을 할 수 있는 기능입니다.
<br>
>
MaxScoreTokenizer는 scores 기능을 가집니다. scores란 토큰화를 원하는 단어에 대하여 점수를 매김으로써 우선적으로 추출을 할 수 있는 기능입니다.<br>
RegexTokenizer는 문장에서 규칙성을 띄는 부분이 있다면 우선적으로 추출을 할 수 있습니다.
<br><br>
>
RegexTokenizer는 문장에서 규칙성을 띄는 부분이 있다면 우선적으로 추출을 할 수 있습니다.<br><br>
> 
>
> 
# 3. Konlpy(Twitter) vs Soynlp(MaxScoreTokenizer)
# 3. Konlpy(Twitter) vs Soynlp(MaxScoreTokenizer)
<br>
>
<br>
|| Konlpy | Soynlpy |
>
|| Konlpy | Soynlpy |
|:-:|:-----------:|:------------:|
>
|:-:|:-----------:|:------------:|
| 장점 | 띄어쓰기가 없어도 토큰화 가능 | 고유 명사 추출가능 |
>
| 장점 | 띄어쓰기가 없어도 토큰화 가능 | 고유 명사 추출가능 |
| 단점 | 고유 명사 추출이 힘듦 | 띄어쓰기가 제대로 되지 않으면 토큰화가 안됨 |
>
| 단점 | 고유 명사 추출이 힘듦 | 띄어쓰기가 제대로 되지 않으면 토큰화가 안됨 |
<br><br>
>
<br><br>
# 4. python Korean NLP
# 4. python Korean NLP
> __고유 명사를 추출하기 위한 Soynlp__ <br>
>
> __고유 명사를 추출하기 위한 Soynlp__ <br>
__띄어쓰기와 무관한 토큰화 Konlpy__
<br><br>
>
__띄어쓰기와 무관한 토큰화 Konlpy__<br><br>
### - Result
>
### - Result
> 
>
> 
# 5. How to use Korean NLP
# 5. How to use Korean NLP
### Installation
>
### Installation
-
사용을 원하는 python file과 동일한 폴더에 다운로드 후 import 하셔서 정상 실행이 됩니다.
>
- 사용을 원하는 python file과 동일한 폴더에 다운로드 후 import 하셔서 정상 실행이 됩니다.
-
Library file에 import를 하시는 경우 korea_nlp_library.py file을 Download 해주세요.
>
- Library file에 import를 하시는 경우 korea_nlp_library.py file을 Download 해주세요.
### tokenizer()
>
### tokenizer()
-
문자의 토큰화
>
- 문자의 토큰화
```
>
```
> kn.tokenizer(sentence,scores)
>
> kn.tokenizer(sentence,scores)
```
>
```
### NounExtractor()
>
### NounExtractor()
-
문장에서 'Noun'추출
>
- 문장에서 'Noun'추출
```
>
```
> kn.NounExtractor(sentence,scores)
>
> kn.NounExtractor(sentence,scores)
```
>
```
### sentence & scores
>
### sentence & scores
-
각 함수의 parameter로 들어감으로 함수 사용 이전에 정의해준다
>
- 각 함수의 parameter로 들어감으로 함수 사용 이전에 정의해준다
-
sentence : 전처리해주고 싶은 문장
>
- sentence : 전처리해주고 싶은 문장
-
scores : 고유명사로 간직하고 싶은 단어
<br>
>> scores = {'지정한 고유명사' : 주고 싶은 score}
>
- scores : 고유명사로 간직하고 싶은 단어<br> >> scores = {'지정한 고유명사' : 주고 싶은 score}
```
>
```
> sentence = '우리 밀플랜비 먹으러 갈래?'
>
> sentence = '우리 밀플랜비 먹으러 갈래?'
> scores = {'밀플랜비' : 1.0}
>
> scores = {'밀플랜비' : 1.0}
```
>
```
##### - score의 차등화
>
##### - score의 차등화
-
score의 점수 차를 이용하여 고유명사 사이의 우선순위를 결정할 수 있다.
>
- score의 점수 차를 이용하여 고유명사 사이의 우선순위를 결정할 수 있다.
> __아래와 같이 밀플랜비는 1.0이라는 score를 플랜비는 0.5라는 score를 주었다.__<br>
>
> __아래와 같이 밀플랜비는 1.0이라는 score를 플랜비는 0.5라는 score를 주었다.__<br>
__이렇게 되면 밀플랜비라는 단어를 전처리할 때 ['밀','플랜비']라고 추출이 되는 것이 아니라__
<br>
>
__이렇게 되면 밀플랜비라는 단어를 전처리할 때 ['밀','플랜비']라고 추출이 되는 것이 아니라__<br>
__더 score가 높은 ['밀플랜비']가 추출이 된다.__
<br>
>
__더 score가 높은 ['밀플랜비']가 추출이 된다.__<br>
```
>
```
> sentence = '밀플랜비를 먹는건 우리의 플랜비였는데...'
>
> sentence = '밀플랜비를 먹는건 우리의 플랜비였는데...'
> scores = {'밀플랜비' : 1.0, '플랜비' : 0.5}
>
> scores = {'밀플랜비' : 1.0, '플랜비' : 0.5}
```
>
```
-
상세한 설명은 __'example.md'__
>
- 상세한 설명은 __'example.md'__
<br>
<br>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment