Skip to main content

Korean Noise Generator

Project description

한국어 노이즈 추가 (konoise)

한국어 문서에 노이즈를 추가하는 것을 돕는 파이썬 라이브러리입니다(Library for generating the noise in Korean).

지원

  • manylinux (lastest version, 1.7.5)
  • windows, macOS (old version)

설치 방법

$ pip install konoise

실행 방법

from konoise import NoiseGenerator

text = "행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다."
generator = NoiseGenerator(num_cores=8)
text = generator.generate(text, methods='disattach-letters', prob=1., delimeter='newline')
text
>>> 행복한 ㄱㅏ정은 모두ㄱㅏ 닮았ㅈㅣ만, 불행한 ㄱㅏ정은 모두 ㅈㅓㅁㅏㄷㅏ의 ㅇㅣ유로 불행ㅎㅏㄷㅏ.
  • text: 노이즈를 생성할 텍스트입니다.

  • methods: 노이즈 생성 방법입니다(사용가능한 방법들은 아래를 참고, default:).

  • prob: 노이즈를 생성하는 확률입니다(delimeter별로 적용, 0-1사이의 실수).

  • delimeter: 노이즈 적용, 멀티 프로세싱 적용의 기준이 되는 단위 입니다('total':전체,'newline':개행(\n),'sentence':문장).

  • use_rust_tokenizer: rust 기반 노이즈 생성기를 사용 할 지를 결정합니다.

노이즈 생성 방법

노이즈를 생성하는 방법은 총 6가지가 구현되어 있습니다.

'disattach-letters': disattach_letters,
'change-vowels': change_vowels,
'palatalization': partial(phonetic_change, func='palatalization'),
'linking': partial(phonetic_change, func='linking'),
'liquidization': partial(phonetic_change, func='liquidization'),
'nasalization': partial(phonetic_change, func='nasalization'),
'assimilation': partial(phonetic_change, func='assimilation'),
'yamin-jungum': yamin_jungum
  • 쉼표(,)로 구분하여 여러 방법들을 같이 사용할 수 있습니다.

[disattach-letters] 자모 분리(alphabet separation)에 의한 노이즈 추가 방법입니다. 글자의 자음과 모음을 분리합니다. 단, 가독성을 위해 종성이 없으며 중성이 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅗ' 가 아닐 경우 실행합니다(예: 안녕하세요 > 안녕ㅎㅏㅅㅔ요)

[change-vowels] 모음 변형에 의한 노이즈 추가 방법입니다. 글자의 모음을 변형시킵니다. 단, 가독성을 위해 종성이 없으며 중성이 'ㅏ', 'ㅑ', 'ㅓ', 'ㅕ', 'ㅗ', 'ㅛ', 'ㅜ', 'ㅠ' 일 경우 실행합니다(예: 안녕하세요 > 안녕햐세오).

[palatalization] 음운 변화 중, 구개 음화를 구현하는 함수입니다.

[linking] 음운 변화 중, 연음을 구현하는 함수입니다.

[liquidization] 음운 변화 중, 유음화를 구현하는 함수입니다.

[nasalization] 음운 변화 중, 비음화를 구현하는 함수입니다.

[assimilation] 음운 변화 중, 음운동화를 구현하는 함수입니다.

[yamin-jungum] 야민정음으로 일부 글자를 변환합니다. 단, 가독성이 떨어지는 일부 표현은 제외되었습니다(귀여워 > 커여워).

변형 예시

[original]  행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다.

[disattach-letters, prob=1.] 행복한 ㄱㅏ정은 모두ㄱㅏ 닮았ㅈㅣ만, 불행한 ㄱㅏ정은 모두 ㅈㅓㅁㅏㄷㅏ의 ㅇㅣ유로 불행ㅎㅏㄷㅏ.

[change-vowels, prob=1.] 행복한 갸정은 묘듀갸 닮았지만, 불행한 갸정은 묘듀 져먀댜의 이우료 불행햐댜.

[palatalization, prob=1.] 행보칸 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다.

[linking, prob=1.] 행복한 가정은 모두가 달맜지만, 불행한 가정은 모두 저마다의 이유로 불행하다.

[liquidization, prob=1.] 행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다.(No Change)

[nasalization, prob=1.] 행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다. (No Change)

[assimilation, prob=1.] 행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다. (No Change)

[yamin-jungum, prob=1.] 행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이윾로 불행하다.

Noise Generator in Rust

  1. 노이즈 생성기 내에서 사용
    from konoise import NoiseGenerator
    
    # provide the same methods(except yamin-jungum)
    # if you insert the string 'yamin-jungum', 
    # it might be applied with the python generator 
    # even if 'use_rust_tokenizer' is True
    
    text = "행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다."
    genertor = NoiseGenerator()
    genertor.generate(text, 'disattach-letters', 0.5, use_rust_tokenizer=True) 
    >>> '행복한 ㄱㅏ정은 모두ㄱㅏ 닮았ㅈㅣ만, 불행한 ㄱㅏ정은 모두 ㅈㅓㅁㅏㄷㅏ의 ㅇㅣ유로 불행ㅎㅏㄷㅏ.'
    
  2. rust 모듈을 직접 사용
    from konoise import rust_generator
    
    text = "행복한 가정은 모두가 닮았지만, 불행한 가정은 모두 저마다의 이유로 불행하다."
    rust_generator.get_noise(text, 'disattach-letters', 0.5) # provide the same methods(except yamin-jungum)
    >>> '행복한 ㄱㅏ정은 모두ㄱㅏ 닮았ㅈㅣ만, 불행한 ㄱㅏ정은 모두 ㅈㅓㅁㅏㄷㅏ의 ㅇㅣ유로 불행ㅎㅏㄷㅏ.'
    

기타

  • 비음화, 유음화, 구개음화, 연음, 음운 동화의 모든 규칙이 구현되지 않은 상태이며, 추후 확대될 예정입니다(누락된 규칙이 있을 수 있으니, 발견 시 피드백 주시면 감사하겠습니다).
  • prob는 변형 가능한 글자들에 대해서 해당 확률만큼 확률적으로 실행됩니다(prob가 1이라고 해서 모든 텍스트가 변경되는 것이 아닙니다).
  • 두 개 이상의 방법을 사용할 경우(쉼표로 구분), 한 단위 텍스트에서 두 개의 방법이 사용되는 것이 아니라 각 단위 텍스트마다 랜덤하게 방법을 결정하여 실행합니다.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

konoise-1.0.8.5-cp39-cp39-win_amd64.whl (212.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

konoise-1.0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

konoise-1.0.8.5-cp39-cp39-macosx_12_0_arm64.whl (318.6 kB view details)

Uploaded CPython 3.9 macOS 12.0+ ARM64

konoise-1.0.8.5-cp38-cp38-win_amd64.whl (213.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

konoise-1.0.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

konoise-1.0.8.5-cp38-cp38-macosx_12_0_arm64.whl (318.5 kB view details)

Uploaded CPython 3.8 macOS 12.0+ ARM64

konoise-1.0.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file konoise-1.0.8.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: konoise-1.0.8.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 212.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for konoise-1.0.8.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4184ae02fcf138e71b1cfe2c925a519bfa9b6c37bc3c4a8e92c57ad45fae6846
MD5 7c04976696421b25dbdc838b4bd1f6d2
BLAKE2b-256 46ffa135ed41a817f7ae2ae23db1fa2da40817c67dc6137a86d50d0db4b26593

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for konoise-1.0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee951b5fc203bdeb52f6bc35d0541cb7d54e1aa53054f16cc7892a6ba7581570
MD5 0f81808ea1a702420b21480e11c500b1
BLAKE2b-256 d91b89f2199acc11fb5cbca7be4b5c7ebc4078c012ffd210f086dcdacc42ac98

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for konoise-1.0.8.5-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8f7739dbf8ad1c4779f261da5f61bea637b1540514cb0a5fb2b56a52dc3881e3
MD5 496c52592cef0ef53bf2c03fba3998ab
BLAKE2b-256 769970762f1a9b45dd3407ead1b0e1fbefe0348b734769ce9b965a042b1c9f26

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: konoise-1.0.8.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 213.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for konoise-1.0.8.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f43f181a463e1b603846e98c0b524f9b2495c146210a2c8c0026e2ea9b0278ab
MD5 c3b4f31aca11b3378c8d688dfc2d74e3
BLAKE2b-256 c8edd2b42ef5ca8618f3982f8541d91c36991dd63e78b9bd821fcbc23c2bf090

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for konoise-1.0.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92f28e319ee39caf35d51be5c613c150cc1a551b56a11e8456078e7d0a2b371c
MD5 4a3bde9d4d7a844113e8fa708a334521
BLAKE2b-256 84aadbd4065551ce45143d4553621e06cb451085418e001ab69ebf1b60332d0b

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp38-cp38-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for konoise-1.0.8.5-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 1f52d8c70dd01848a7f5d9201640bf55b1c96c53823999099d6f63c8afa34e43
MD5 609fd052359651bd867bbe27cad823b2
BLAKE2b-256 1e9e40f6883ec1b45a177395821a37c1018ad09a7f375ec34c20dba6ef26b908

See more details on using hashes here.

File details

Details for the file konoise-1.0.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for konoise-1.0.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1f39665de3d990631885cc31c2edbb459480bf55e625ce4f2cc620c0f1f1f67
MD5 ff348fa23e82d41bd139863ad5bc0fc4
BLAKE2b-256 48b8382558fe3d5a54bff1346ac7708b428d88f4c031acfc9ad4408410860e82

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page