Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
bab2min committed Oct 4, 2024
1 parent f4fa71b commit bde3119
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 8 deletions.
3 changes: 2 additions & 1 deletion document/document_header.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
<a class="homelink" rel="home" title="kiwipiepy Home" href="/kiwipiepy" style="display:block; font-size:2em; font-weight:bold; color:#555; padding-bottom:.5em; border-bottom:1px solid silver;"> <img src="/kiwipiepy/logo.png" alt="" style="height:1.5em;"> kiwipiepy </a>
<!--a id='lang-en' href="../en/index.html">English</a--> <a id='lang-kr' href="../kr/index.html">한국어</a>
<div id="version-link">
<span>v0.18.1</span>
<span>v0.19.0</span>
<ul>
<li><a href='/kiwipiepy/v0.19.0/kr'>v0.19.0</a></li>
<li><a href='/kiwipiepy/v0.18.1/kr'>v0.18.1</a></li>
<li><a href='/kiwipiepy/v0.18.0/kr'>v0.18.0</a></li>
<li><a href='/kiwipiepy/v0.17.1/kr'>v0.17.1</a></li>
Expand Down
26 changes: 21 additions & 5 deletions kiwipiepy/_wrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from functools import partial
from typing import Callable, List, Dict, Optional, Tuple, Union, Iterable, NamedTuple, NewType, Any
from dataclasses import dataclass
import itertools
import warnings

import _kiwipiepy
Expand Down Expand Up @@ -153,6 +154,17 @@ class TypoTransformer(_TypoTransformer):
Token(form='하', tag='VV', start=4, len=1),
Token(form='었', tag='EP', start=4, len=1),
Token(form='다', tag='EF', start=5, len=1)]
```
서로 다른 오타 생성기를 합치기 위해서 `|` 연산자를 사용할 수 있습니다.
```python
>>> typos1 = TypoTransformer([
TypoDefinition(["ㅐ", "ㅔ"], ["ㅐ", "ㅔ"], 1.),
])
>>> typos2 = TypoTransformer([
TypoDefinition(["ㅔ"], ["ㅖ"], 2.),
])
>>> typos = typos1 | typos2 # typos1과 typos2를 합친 오타 생성기 생성
```
'''

Expand Down Expand Up @@ -191,11 +203,15 @@ def generate(self, text:str, cost_threshold:float = 2.5) -> List[Tuple[str, floa
return super().generate(text, cost_threshold)

def copy(self) -> 'TypoTransformer':
'''현재 오타 생성기의 복사본을 생성합니다.'''
'''.. versionadded:: 0.19.0
현재 오타 생성기의 복사본을 생성합니다.'''
return super().copy(TypoTransformer)

def update(self, other:'TypoTransformer'):
'''다른 오타 생성기의 오타 정의를 현재 오타 생성기에 추가합니다.'''
'''.. versionadded:: 0.19.0
다른 오타 생성기의 오타 정의를 현재 오타 생성기에 추가합니다.'''
super().update(other)

def scale_cost(self, scale:float):
Expand Down Expand Up @@ -232,7 +248,9 @@ def continual_typo_cost(self) -> float:

@property
def lengthening_typo_cost(self) -> float:
'''장음화에 대한 교정 비용'''
'''.. versionadded:: 0.19.0
장음화에 대한 교정 비용'''
return self._lengthening_typo_cost

def __repr__(self):
Expand Down Expand Up @@ -1143,8 +1161,6 @@ def _tokenize(self,
blocklist:Optional[Union[Iterable[str], MorphemeSet]] = None,
pretokenized:Optional[Union[Callable[[str], PretokenizedTokenList], PretokenizedTokenList]] = None,
):
import itertools

def _refine_result(results):
if not split_sents:
return results[0][0] if stopwords is None else stopwords.filter(results[0][0])
Expand Down
14 changes: 12 additions & 2 deletions kiwipiepy/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -471,8 +471,10 @@ Kiwi는 최적의 형태소 조합을 탐색하기 위해 내부적으로 언어
오타 교정을 위해서는 특정 형태소가 어떤 식으로 오타로 변형되는지 정의한, 오타 정의자가 필요합니다. 패키지에는 다음과 같이 세 종류의 기본 오타 정의자가 내장되어 있습니다.

* `kiwipiepy.basic_typos` (`'basic'`): 형태소 내의 오타를 교정하는 기본적인 오타 정의자입니다.
* `kiwipiepy.continual_typos` (`'continual'`): 형태소 간의 연철 오타를 교정하는 오타 정의자입니다. (v0.17.1부터 지원)
* `kiwipiepy.basic_typos_with_continual` (`'basic_with_continual'`): 위 두 오타 정의자를 합친 오타 정의자입니다. (v0.17.1부터 지원)
* `kiwipiepy.continual_typos` (`'continual'`): 형태소 간의 연철 오타(`책을` <- `채글`)를 교정하는 오타 정의자입니다. (v0.17.1부터 지원)
* `kiwipiepy.lengthening_typos` (`'lengthening'`): 한 음절을 여러 음절로 늘려 적은 오타(`진짜` <- `지인짜`)를 교정하는 오타 정의자입니다. (v0.19.0부터 지원)
* `kiwipiepy.basic_typos_with_continual` (`'basic_with_continual'`): basic과 continual 두 오타 정의자를 합친 오타 정의자입니다. (v0.17.1부터 지원)
* `kiwipiepy.basic_typos_with_continual_and_lengthening` (`'basic_with_continual_and_lengthening'`): basic, continual, lengthening 세 오타 정의자를 합친 오타 정의자입니다. (v0.19.0부터 지원)

위의 기본 오타 정의자를 사용하거나 혹은 직접 오타 정의자를 정의하여 사용할 수 있습니다.
```python
Expand Down Expand Up @@ -622,6 +624,14 @@ Python 모듈 관련 오류는 https://github.com/bab2min/kiwipiepy/issues, 형

역사
----
* 0.19.0 (2024-10-03)
* Kiwi 0.19.0의 기능들(https://github.com/bab2min/Kiwi/releases/tag/v0.19.0 )이 반영되었습니다.
* 장음화 오타 정정 기능 추가(ex: 지인짜 -> 진짜)
* 분석 속도 평균 30% 향상
* 순서 있는 글머리가 여럿 섞인 문장을 분석할 때 종결어미 `-다.`가 종종 SB 태그로 오분석되는 버그 수정
* `Match.JOIN_*` 옵션으로 생성된 형태소 분석결과를 다시 `Kiwi.join`에 넣을 경우 크래시가 발생하던 버그 수정
* `TypoTransformer``copy()`, `update()`, `scale_cost()` 메소드 및 `|` 연산자, `*` 연산자 오버로딩이 추가되었습니다.

* 0.18.1 (2024-09-08)
* Kiwi 0.18.1의 기능들(https://github.com/bab2min/Kiwi/releases/tag/v0.18.1 )이 반영되었습니다.
* PreTokenizedSpan과 SPLIT_COMPLEX를 동시에 사용시 종종 빈 결과값이 나오던 버그가 수정되었습니다.
Expand Down

0 comments on commit bde3119

Please sign in to comment.