Git Product home page Git Product logo

pykospacing's Introduction

PyKoSpacing

Python package for automatic Korean word spacing.

R verson can be found here.

License: GPL v3

Introduction

Word spacing is one of the important parts of the preprocessing of Korean text analysis. Accurate spacing greatly affects the accuracy of subsequent text analysis. PyKoSpacing has fairly accurate automatic word spacing performance,especially good for online text originated from SNS or SMS.

For example.

"아버지가방에들어가신다." can be spaced both of below.

  1. "아버지가 방에 들어가신다." means "My father enters the room."
  2. "아버지 가방에 들어가신다." means "My father goes into the bag."

Common sense, the first is the right answer.

PyKoSpacing is based on Deep Learning model trained from large corpus(more than 100 million NEWS articles from Chan-Yub Park).

Performance

Test Set Accuracy
Sejong(colloquial style) Corpus(1M) 97.1%
OOOO(literary style) Corpus(3M) 94.3%
  • Accuracy = # correctly spaced characters/# characters in the test data.
    • Might be increased performance if normalize compound words.

Install

PyPI Install

Pre-requisite:

proper installation of python3
proper installation of pip

pip install tensorflow
pip install keras


Windows-Ubuntu case: On following error.
On error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
   sudo apt-get install libstdc++6
   sudo add-apt-repository ppa:ubuntu-toolchain-r/test
   sudo apt-get update
   sudo apt-get upgrade
   sudo apt-get dist-upgrade (This takes long time.)

Darwin(m1) case: You should install tensorflow in a different way.(Use Miniforge3)

# Install Miniforge3 for mac
curl -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
chmod +x Miniforge3-MacOSX-arm64.sh
sh Miniforge3-MacOSX-arm64.sh
# Activate Miniforge3 virtualenv
# You should use Python version 3.10 or less.
source ~/miniforge3/bin/activate
# Install the Tensorflow dependencies 
conda install -c apple tensorflow-deps 
# Install base tensorflow 
python -m pip install tensorflow-macos 
# Install metal plugin 
python -m pip install tensorflow-metal

To install from GitHub, use

pip install git+https://github.com/haven-jeon/PyKoSpacing.git

Example

>>> from pykospacing import Spacing
>>> spacing = Spacing()
>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.")
"김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다."
>>> # Apply a list of words that must be non-spacing
>>> spacing('귀밑에서턱까지잇따라난수염을구레나룻이라고한다.')
'귀 밑에서 턱까지 잇따라 난 수염을 구레나 룻이라고 한다.'
>>> spacing = Spacing(rules=['구레나룻'])
>>> spacing('귀밑에서턱까지잇따라난수염을구레나룻이라고한다.')
'귀 밑에서 턱까지 잇따라 난 수염을 구레나룻이라고 한다.'

Setting rules with csv file. (you only need to use set_rules_by_csv() method.)

$ cat test.csv
인덱스,단어
1,네이버영화
2,언급된단어
>>> from pykospacing import Spacing
>>> spacing = Spacing(rules=[''])
>>> spacing.set_rules_by_csv('./test.csv', '단어')
>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.")
"김형호 영화시장 분석가는 '1987'의 네이버영화 정보 네티즌 10점 평에서 언급된단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다."

Run on command line(thanks lqez).

$ cat test_in.txt
김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.
아버지가방에들어가신다.
$ python -m pykospacing.pykos test_in.txt
김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다.
아버지가 방에 들어가신다.

Current model have problems in some cases when the input includes English characters.
PyKoSpacing provides the parameter ignore and ignore_pattern to deal with that problem.

  • About ignore parameter (str, optional)

    • ignore='none': No pre/post-processing will be applied. The output will be the same as the model output.
    • ignore='pre': Apply pre-processing which deletes characters that match with ignore_pattern. These deleted characters will be merged after model prediction. This option has the problem that it always puts space after the deleted characters, since it doesn't know if the deleted character will have a space to the left, right, or both of them.
    • ignore='post': Apply post-processing which ignores model outputs on characters that match with ignore_pattern. This option has the problem that English characters in model input can also affect near non-English characters.
    • ignore='pre2': Apply pre-processing which delete characters which matches with ignore_pattern, and predict on both preprocessed text and original text. This allows it to know where to put space left, right, or both of the deleted characters. However, this option requires to predict twice, which doubles the computation time.
    • Default: ignore='none'
  • About ignore_pattern parameter (str, optional)
    You can input your own regex pattern to ignore_pattern. The regex pattern should be the pattern of characters you want to ignore.

    • Default: ignore_pattern=r'[^가-힣ㄱ-ㅣ!-@[-`{-~\s]+,*( [^가-힣ㄱ-ㅣ!-@[-`{-~\s]+,*)*[.,!?]* *', which matches characters, words, or a sentence of non-Korean and non-ascii symbols.

Examples of ignore parameter

>>> from pykospacing import Spacing
>>> spacing = Spacing()
>>> spacing("친구와함께bmw썬바이저를썼다.", ignore='none')
"친구와 함께 bm w 썬바이저를 썼다."
>>> spacing("친구와함께bmw썬바이저를썼다.", ignore='pre')
"친구와 함께bmw 썬바이저를 썼다."
>>> spacing("친구와함께bmw썬바이저를썼다.", ignore='post')
"친구와 함께 bm w 썬바이저를 썼다."
>>> spacing("친구와함께bmw썬바이저를썼다.", ignore='pre2')
"친구와 함께 bmw 썬바이저를 썼다."

>>> spacing("chicken박스를열고닭다리를꺼내입에문다.crispy한튀김옷덕에내입주변은glossy해진다.", ignore='none')
"chicken박스를 열고 닭다리를 꺼내 입에 문다. crispy 한튀김 옷 덕에 내 입 주변은 glossy해진다."
>>> spacing("chicken박스를열고닭다리를꺼내입에문다.crispy한튀김옷덕에내입주변은glossy해진다.", ignore='pre')
"chicken박스를 열고 닭다리를 꺼내 입에 문다.crispy 한 튀김옷 덕에 내 입 주변은glossy 해진다."
>>> spacing("chicken박스를열고닭다리를꺼내입에문다.crispy한튀김옷덕에내입주변은glossy해진다.", ignore='post')
"chicken박스를 열고 닭다리를 꺼내 입에 문다. crispy 한튀김 옷 덕에 내 입 주변은 glossy해진다."
>>> spacing("chicken박스를열고닭다리를꺼내입에문다.crispy한튀김옷덕에내입주변은glossy해진다.", ignore='pre2')
"chicken박스를 열고 닭다리를 꺼내 입에 문다. crispy 한 튀김옷 덕에 내 입 주변은 glossy해진다."

>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.", ignore='none')
"김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다."
>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.", ignore='pre')
"김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램R과KoNLP 패키지로 텍스트마이닝하여 분석했다."
>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.", ignore='post')
"김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다."
>>> spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.", ignore='pre2')
"김형호 영화시장 분석가는 '1987'의 네이버 영화 정보 네티즌 10점 평에서 언급된 단어들을 지난해 12월 27일부터 올해 1월 10일까지 통계 프로그램 R과 KoNLP 패키지로 텍스트마이닝하여 분석했다."

Model Architecture

For Training

Citation

@misc{heewon2018,
author = {Heewon Jeon},
title = {KoSpacing: Automatic Korean word spacing},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/haven-jeon/KoSpacing}}

Star History

Star History Chart

pykospacing's People

Contributors

dependabot[bot] avatar haven-jeon avatar jongsky avatar juliusfrost avatar jungsiroo avatar justkode avatar ksh108405 avatar lqez avatar nomota avatar nzxwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pykospacing's Issues

입력 최대 길이가 존재할까요? (maximum input size)

입력 데이터 길이에 제한이 있을까요?

"언제교정이되는거지 " 라는 문장을 넣으면
--> 언제 교정이 되는거지 라고 잘 교정을 해줍니다.

그런데 길이가 길어지면 처리를 잘 못하는 현상이 있어서요
예를들어,

from pykospacing import Spacing
spacing_model = Spacing()
spacing_model('''언제교정이되는거지 언제교정이되는거지 언제교정이되는거지 언제교정이되는거지
              언제교정이되는거지 언제교정이되는거지 언제교정이되는거지 언제교정이되는거지''')

결과

'언제 교정이 되는 거지 언제 교정이 되는 거지 언제교정이 되는 거지 언제교정이 되는 거지 언제 교정이 되는 거지 언제교정이 되는 거지 언제교정이 되는 거지 언제교정이 되는 거지'

같은 문장이지만 교정의 결과가 2가지로 나옵니다.

  1. '언제 교정이 되는 거지 '
  2. '언제교정이 되는 거지'

텐서플로우 2.6.4가 설치가 안 됩니다.

pip install tensorflow==2.6.4
ERROR: Could not find a version that satisfies the requirement tensorflow==2.6.4 (from versions: 2.8.0rc1, 2.8.0, 2.8.1, 2.8.2, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0, 2.9.1)
ERROR: No matching distribution found for tensorflow==2.6.4
파이썬 64비트 3.10버전을 쓰고 있는데 이 버전이 텐서플로우가 지원하지 않는 버전인가 봅니다.
PyKoSpacing에서 텐서플로우 버전을 올려주시기를 부탁드립니다.

수동으로 설치해보려 했으나 error: metadata-generation-failed 오류가 뜹니다.

C:\PyKoSpacing-master>setup.py install
running install
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running bdist_egg
running egg_info
writing pykospacing.egg-info\PKG-INFO
writing dependency_links to pykospacing.egg-info\dependency_links.txt
writing entry points to pykospacing.egg-info\entry_points.txt
writing requirements to pykospacing.egg-info\requires.txt
writing top-level names to pykospacing.egg-info\top_level.txt
reading manifest file 'pykospacing.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'pykospacing.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\build_py.py:153: SetuptoolsDeprecationWarning: Installing 'pykospacing.resources.dicts' as data is deprecated, please list it in packages.
!!

############################
# Package would be ignored #
############################
Python recognizes 'pykospacing.resources.dicts' as an importable package,
but it is not listed in the `packages` configuration of setuptools.

'pykospacing.resources.dicts' has been automatically added to the distribution only
because it may contain data files, but this behavior is likely to change
in future versions of setuptools (and therefore is considered deprecated).

Please make sure that 'pykospacing.resources.dicts' is included as a package by using
the `packages` configuration field or the proper discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).

You can read more about "package discovery" and "data files" on setuptools
documentation page.

!!

check.warn(importable)
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\build_py.py:153: SetuptoolsDeprecationWarning: Installing 'pykospacing.resources.models' as data is deprecated, please list it in packages.
!!

############################
# Package would be ignored #
############################
Python recognizes 'pykospacing.resources.models' as an importable package,
but it is not listed in the `packages` configuration of setuptools.

'pykospacing.resources.models' has been automatically added to the distribution only
because it may contain data files, but this behavior is likely to change
in future versions of setuptools (and therefore is considered deprecated).

Please make sure that 'pykospacing.resources.models' is included as a package by using
the `packages` configuration field or the proper discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).

You can read more about "package discovery" and "data files" on setuptools
documentation page.

!!

check.warn(importable)
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\pykospacing
copying build\lib\pykospacing\embedding_maker.py -> build\bdist.win-amd64\egg\pykospacing
copying build\lib\pykospacing\kospacing.py -> build\bdist.win-amd64\egg\pykospacing
copying build\lib\pykospacing\pykos.py -> build\bdist.win-amd64\egg\pykospacing
creating build\bdist.win-amd64\egg\pykospacing\resources
creating build\bdist.win-amd64\egg\pykospacing\resources\dicts
copying build\lib\pykospacing\resources\dicts\c2v.dic -> build\bdist.win-amd64\egg\pykospacing\resources\dicts
creating build\bdist.win-amd64\egg\pykospacing\resources\models
copying build\lib\pykospacing\resources\models\kospacing -> build\bdist.win-amd64\egg\pykospacing\resources\models
copying build\lib\pykospacing_init_.py -> build\bdist.win-amd64\egg\pykospacing
byte-compiling build\bdist.win-amd64\egg\pykospacing\embedding_maker.py to embedding_maker.cpython-310.pyc
byte-compiling build\bdist.win-amd64\egg\pykospacing\kospacing.py to kospacing.cpython-310.pyc
byte-compiling build\bdist.win-amd64\egg\pykospacing\pykos.py to pykos.cpython-310.pyc
byte-compiling build\bdist.win-amd64\egg\pykospacing_init_.py to init.cpython-310.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\entry_points.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\not-zip-safe -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying pykospacing.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
creating 'dist\pykospacing-0.5-py3.10.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing pykospacing-0.5-py3.10.egg
removing 'c:\users\nsoop\appdata\local\programs\python\python310\lib\site-packages\pykospacing-0.5-py3.10.egg' (and everything under it)
creating c:\users\nsoop\appdata\local\programs\python\python310\lib\site-packages\pykospacing-0.5-py3.10.egg
Extracting pykospacing-0.5-py3.10.egg to c:\users\nsoop\appdata\local\programs\python\python310\lib\site-packages
pykospacing 0.5 is already the active version in easy-install.pth
Installing pykos-script.py script to C:\Users\nsoop\AppData\Local\Programs\Python\Python310\Scripts
Installing pykos.exe script to C:\Users\nsoop\AppData\Local\Programs\Python\Python310\Scripts

Installed c:\users\nsoop\appdata\local\programs\python\python310\lib\site-packages\pykospacing-0.5-py3.10.egg
Processing dependencies for pykospacing==0.5
Searching for h5py==3.1.0
Reading https://pypi.org/simple/h5py/
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\pkg_resources_init_.py:123: PkgResourcesDeprecationWarning: is an invalid version and will not be supported in a future release
warnings.warn(
Downloading https://files.pythonhosted.org/packages/a7/81/20d5d994c91ed8347efda90d32c396ea28254fd8eb9e071e28ee5700ffd5/h5py-3.1.0.tar.gz#sha256=1e2516f190652beedcb8c7acfa1c6fa92d99b42331cbef5e5c7ec2d65b0fc3c2
Best match: h5py 3.1.0
Processing h5py-3.1.0.tar.gz
Writing C:\Users\nsoop\AppData\Local\Temp\easy_install-1bnvr9hj\h5py-3.1.0\setup.cfg
Running h5py-3.1.0\setup.py -q bdist_egg --dist-dir C:\Users\nsoop\AppData\Local\Temp\easy_install-1bnvr9hj\h5py-3.1.0\egg-dist-tmp-nxin7rq3
C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
warnings.warn(
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [267 lines of output]
setup.py:67: RuntimeWarning: NumPy 1.19.3 may not yet support Python 3.10.
warnings.warn(
Running from numpy source directory.
setup.py:480: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
run_build = parse_setuppy_commands()
Processing numpy/random_bounded_integers.pxd.in
Processing numpy/random\bit_generator.pyx
Processing numpy/random\mtrand.pyx
Processing numpy/random_bounded_integers.pyx.in
Processing numpy/random_common.pyx
Processing numpy/random_generator.pyx
Processing numpy/random_mt19937.pyx
Processing numpy/random_pcg64.pyx
Processing numpy/random_philox.pyx
Processing numpy/random_sfc64.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
libraries mkl_rt not found in ['C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib', 'C:\', 'C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs']
NOT AVAILABLE

  blis_info:
    libraries blis not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  openblas_info:
    libraries openblas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
  get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
  customize GnuFCompiler
  Could not locate executable g77
  Could not locate executable f77
  customize IntelVisualFCompiler
  Could not locate executable ifort
  Could not locate executable ifl
  customize AbsoftFCompiler
  Could not locate executable f90
  customize CompaqVisualFCompiler
  Could not locate executable DF
  customize IntelItaniumVisualFCompiler
  Could not locate executable efl
  customize Gnu95FCompiler
  Could not locate executable gfortran
  Could not locate executable f95
  customize G95FCompiler
  Could not locate executable g95
  customize IntelEM64VisualFCompiler
  customize IntelEM64TFCompiler
  Could not locate executable efort
  Could not locate executable efc
  customize PGroupFlangCompiler
  Could not locate executable flang
  don't know how to compile Fortran code on platform 'nt'
    NOT AVAILABLE

  atlas_3_10_blas_threads_info:
  Setting PTATLAS=ATLAS
    libraries tatlas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  atlas_3_10_blas_info:
    libraries satlas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  atlas_blas_threads_info:
  Setting PTATLAS=ATLAS
    libraries ptf77blas,ptcblas,atlas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  atlas_blas_info:
    libraries f77blas,cblas,atlas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  accelerate_info:
    NOT AVAILABLE

  C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\system_info.py:1914: UserWarning:
      Optimized (vendor) Blas libraries are not found.
      Falls back to netlib Blas library which has worse performance.
      A better performance should be easily gained by switching
      Blas library.
    if self._calc_info(blas):
  blas_info:
    libraries blas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\system_info.py:1914: UserWarning:
      Blas (http://www.netlib.org/blas/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [blas]) or by setting
      the BLAS environment variable.
    if self._calc_info(blas):
  blas_src_info:
    NOT AVAILABLE

  C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\system_info.py:1914: UserWarning:
      Blas (http://www.netlib.org/blas/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [blas_src]) or by setting
      the BLAS_SRC environment variable.
    if self._calc_info(blas):
    NOT AVAILABLE

  non-existing path in 'numpy\\distutils': 'site.cfg'
  lapack_opt_info:
  lapack_mkl_info:
    libraries mkl_rt not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  openblas_lapack_info:
    libraries openblas not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  openblas_clapack_info:
    libraries openblas,lapack not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  flame_info:
    libraries flame not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  atlas_3_10_threads_info:
  Setting PTATLAS=ATLAS
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries tatlas,tatlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries lapack_atlas not found in C:\
    libraries tatlas,tatlas not found in C:\
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
    libraries tatlas,tatlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
  <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
    NOT AVAILABLE

  atlas_3_10_info:
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries satlas,satlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries lapack_atlas not found in C:\
    libraries satlas,satlas not found in C:\
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
    libraries satlas,satlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
  <class 'numpy.distutils.system_info.atlas_3_10_info'>
    NOT AVAILABLE

  atlas_threads_info:
  Setting PTATLAS=ATLAS
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries ptf77blas,ptcblas,atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries lapack_atlas not found in C:\
    libraries ptf77blas,ptcblas,atlas not found in C:\
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
    libraries ptf77blas,ptcblas,atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
  <class 'numpy.distutils.system_info.atlas_threads_info'>
    NOT AVAILABLE

  atlas_info:
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries f77blas,cblas,atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib
    libraries lapack_atlas not found in C:\
    libraries f77blas,cblas,atlas not found in C:\
    libraries lapack_atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
    libraries f77blas,cblas,atlas not found in C:\Users\nsoop\AppData\Local\Programs\Python\Python310\libs
  <class 'numpy.distutils.system_info.atlas_info'>
    NOT AVAILABLE

  lapack_info:
    libraries lapack not found in ['C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\nsoop\\AppData\\Local\\Programs\\Python\\Python310\\libs']
    NOT AVAILABLE

  C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\system_info.py:1748: UserWarning:
      Lapack (http://www.netlib.org/lapack/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [lapack]) or by setting
      the LAPACK environment variable.
    return getattr(self, '_calc_info_{}'.format(name))()
  lapack_src_info:
    NOT AVAILABLE

  C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\system_info.py:1748: UserWarning:
      Lapack (http://www.netlib.org/lapack/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [lapack_src]) or by setting
      the LAPACK_SRC environment variable.
    return getattr(self, '_calc_info_{}'.format(name))()
    NOT AVAILABLE

  numpy_linalg_lapack_lite:
    FOUND:
      language = c
      define_macros = [('HAVE_BLAS_ILP64', None), ('BLAS_SYMBOL_SUFFIX', '64_')]

  C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\dist.py:275: UserWarning: Unknown distribution option: 'define_macros'
    warnings.warn(msg)
  running dist_info
  running build_src
  build_src
  building py_modules sources
  creating build
  creating build\src.win-amd64-3.10
  creating build\src.win-amd64-3.10\numpy
  creating build\src.win-amd64-3.10\numpy\distutils
  building library "npymath" sources
  Traceback (most recent call last):
    File "C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
      main()
    File "C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\Users\nsoop\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 164, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\build_meta.py", line 157, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\build_meta.py", line 248, in run_setup
      super(_BuildMetaLegacyBackend,
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\build_meta.py", line 142, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 508, in <module>
      setup_package()
    File "setup.py", line 500, in setup_package
      setup(**metadata)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\core.py", line 169, in setup
      return old_setup(**new_attr)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\__init__.py", line 165, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 148, in setup
      dist.run_commands()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 967, in run_commands
      self.run_command(cmd)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
      cmd_obj.run()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\command\dist_info.py", line 31, in run
      egg_info.run()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\egg_info.py", line 24, in run
      self.run_command("build_src")
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
      cmd_obj.run()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\build_src.py", line 144, in run
      self.build_sources()
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\build_src.py", line 155, in build_sources
      self.build_library_sources(*libname_info)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\build_src.py", line 288, in build_library_sources
      sources = self.generate_sources(sources, (lib_name, build_info))
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\build_src.py", line 378, in generate_sources
      source = func(extension, build_dir)
    File "numpy\core\setup.py", line 658, in get_mathlib_info
      st = config_cmd.try_link('int main(void) { return 0;}')
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 243, in try_link
      self._link(body, headers, include_dirs,
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\config.py", line 162, in _link
      return self._wrap_method(old_config._link, lang,
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\config.py", line 96, in _wrap_method
      ret = mth(*((self,)+args))
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 137, in _link
      (src, obj) = self._compile(body, headers, include_dirs, lang)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\config.py", line 105, in _compile
      src, obj = self._wrap_method(old_config._compile, lang,
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\command\config.py", line 96, in _wrap_method
      ret = mth(*((self,)+args))
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 132, in _compile
      self.compiler.compile([src], include_dirs=include_dirs)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 401, in compile
      self.spawn(args)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-build-env-h19yicyy\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 505, in spawn
      return super().spawn(cmd, env=env)
    File "C:\Users\nsoop\AppData\Local\Temp\pip-wheel-xamajbdc\numpy_6f47132a47dc4bd78d2c24717c0e9eea\numpy\distutils\ccompiler.py", line 90, in <lambda>
      m = lambda self, *args, **kw: func(self, *args, **kw)
  TypeError: CCompiler_spawn() got an unexpected keyword argument 'env'
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
error: Command '['C:\Users\nsoop\AppData\Local\Programs\Python\Python310\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\Users\nsoop\AppData\Local\Temp\easy_install-1bnvr9hj\h5py-3.1.0\temp\tmpfr62yine', '--quiet', 'numpy==1.19.3']' returned non-zero exit status 1.

google colab - pip install error

google colab에서 !pip install 시 다음과 같은 에러가 발생합니다. 해결 방법이 있을까요??

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting git+https://github.com/haven-jeon/PyKoSpacing.git
Cloning https://github.com/haven-jeon/PyKoSpacing.git to /tmp/pip-req-build-s3ixwel_
Running command git clone --filter=blob:none --quiet https://github.com/haven-jeon/PyKoSpacing.git /tmp/pip-req-build-s3ixwel_
Resolved https://github.com/haven-jeon/PyKoSpacing.git to commit 5bb0b3e
Preparing metadata (setup.py) ... done
Collecting tensorflow==2.9.3 (from pykospacing==0.5)
Downloading tensorflow-2.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (511.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 511.8/511.8 MB 2.4 MB/s eta 0:00:00
Collecting h5py==3.1.0 (from pykospacing==0.5)
Downloading h5py-3.1.0.tar.gz (371 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 371.4/371.4 kB 22.2 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Installing backend dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

구레나룻

좋은 패키지 제작 감사합니다.

'구레나룻'을 계속 spacing을 거치면 '구레나 룻'으로 변환됩니다.

google colab에서 !pip install시 에러 발생.

google colab에서 !pip install시 에러 발생합니다.

!pip install git+https://github.com/haven-jeon/PyKoSpacing.git

-----------------------(error message)---------------------------
NotImplementedError Traceback (most recent call last)
in <cell line: 1>()
----> 1 get_ipython().system('pip install git+https://github.com/haven-jeon/PyKoSpacing.git')

2 frames
/usr/local/lib/python3.10/dist-packages/google/colab/_system_commands.py in _run_command(cmd, clear_streamed_output)
165 locale_encoding = locale.getpreferredencoding()
166 if locale_encoding != _ENCODING:
--> 167 raise NotImplementedError(
168 'A UTF-8 locale is required. Got {}'.format(locale_encoding)
169 )

NotImplementedError: A UTF-8 locale is required. Got ANSI_X3.4-1968

이를 어떻게 해결해야 할까요?

system : window-10
GPU : 엔비디아 3060

how to makd model for me???

모델을 만들려면 어떻게 해야 하나요?
what shoud i do for making model??

찾아보니 모델을 못만드는것 같은데요. 맞나요?

감사합니다.

출력 화면 간소화

안녕하세요. 좋은 패키지 만들어주셔서 먼저 감사하단 말씀을 드리고 싶습니다.

다름이 아니라 패키지 사용 중에 학습 진행 막대가 출력이 되는데(verbose=1), 이를 뜨지 않게 할 수 있을까요?

설치 오류

우분투 환경 터미널에서 아래 코드를 실행했더니
pip install git+https://github.com/haven-jeon/PyKoSpacing.git

아래 내용이 뜨네요

Collecting git+https://github.com/haven-jeon/PyKoSpacing.git
  Cloning https://github.com/haven-jeon/PyKoSpacing.git to /tmp/pip-req-build-w71fya1v
  Running command git clone --filter=blob:none --quiet https://github.com/haven-jeon/PyKoSpacing.git /tmp/pip-req-build-w71fya1v
  Resolved https://github.com/haven-jeon/PyKoSpacing.git to commit 04aeebcbe26b109486a642e57dc58665c4818cf3
  Preparing metadata (setup.py) ... done
INFO: pip is looking at multiple versions of pykospacing to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement tensorflow==2.11.1 (from pykospacing) (from versions: 2.12.0rc0, 2.12.0rc1, 2.12.0, 2.12.1, 2.13.0rc0, 2.13.0rc1, 2.13.0rc2, 2.13.0, 2.13.1, 2.14.0rc0, 2.14.0rc1, 2.14.0, 2.14.1, 2.15.0rc0, 2.15.0rc1, 2.15.0, 2.15.0.post1, 2.15.1, 2.16.0rc0, 2.16.1)
ERROR: No matching distribution found for tensorflow==2.11.1

필요한 tensorflow 버전이 현재 배포되고 있지 않는듯 한데 혹시 현재 배포되는 tensorflow 버전중에 호환되는 버전이 있을까요?

Input length limit

Currently, there is a limit of 198 characters. The reason for this limitation is the model input length when training the model. Although there are limitations, it seems that this inconvenience can be solved in a naive way.

불러오기 오류에 관하여 여쭤봅니다.

20201223_180605

라이브러리 다운로드는 되지만 import 시키면 오류가 뜹니다.
AttributeError Traceback (most recent call last)
in
----> 1 from pykospacing import spacing

~\anaconda3\envs\Lee\lib\site-packages\pykospacing_init_.py in
----> 1 from pykospacing.kospacing import *

~\anaconda3\envs\Lee\lib\site-packages\pykospacing\kospacing.py in
15 dic_path = pkg_resources.resource_filename(
16 'pykospacing', os.path.join('resources', 'dicts', 'c2v.dic'))
---> 17 MODEL = load_model(model_path)
18 MODEL.make_predict_function()
19 W2IDX, _ = load_vocab(dic_path)

~\anaconda3\envs\Lee\lib\site-packages\tensorflow\python\keras\saving\save.py in load_model(filepath, custom_objects, compile, options)
180 if (h5py is not None and (
181 isinstance(filepath, h5py.File) or h5py.is_hdf5(filepath))):
--> 182 return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
183
184 filepath = path_to_string(filepath)

~\anaconda3\envs\Lee\lib\site-packages\tensorflow\python\keras\saving\hdf5_format.py in load_model_from_hdf5(filepath, custom_objects, compile)
174 if model_config is None:
175 raise ValueError('No model found in config file.')
--> 176 model_config = json.loads(model_config.decode('utf-8'))
177 model = model_config_lib.model_from_config(model_config,
178 custom_objects=custom_objects)

AttributeError: 'str' object has no attribute 'decode'

m1 환경에서 모듈 불러오기 오류

안녕하세요! 먼저 좋은 모듈 만들어주셔서 감사드립니다.

PyKoSpacing 모듈로 띄어쓰기 전처리를 진행하려고 하던 도중 이슈가 생겨서 문의드립니다.

현재 m1 맥북을 사용해서 모듈을 설치했으나,
모듈을 불러오는 과정에서 커널이 꺼지는 현상이 있어 문의드립니다.

image

image

감사합니다.

PyKoSpacing 설치 문의

안녕하세요!
한국어 자연어 전처리 과정 중 PyKoSpacing 설치 중 이러한 메세지가 발생하여 혹시나 해결책을 조언 받을 수 있을까 하여 메세지 남깁니다.
에러 메세지는 다음과 같습니다.

ERROR: Could not find a version that satisfies the requirement tensorflow==2.4.0 (from pykospacing)
ERROR: No matching distribution found for tensorflow==2.4.0

제 tensorflow는 2.4.0 버전이 맞긴한데 2.4.0-rc0입니다.

tf.version
'2.4.0-rc0'

혹시 이 건을 해결할 수 있는 조언을 구할 수 있을지 여쭙습니다.

감사합니다.

질문자 신동군 올림.

Suggestion

Instead of 'word spacing’ , I propose use ’word segmentation’,
it is a common NLP task in East Asian language like Chinese, Japanese and Korean

커널 멈춤 오류 질문드립니다.

안녕하세요,

pykospcing을 사용 중에 있는 학생입니다.
우선 이렇게 좋은 패키지를 사용할 수 있도록 해주셔서 감사합니다.
쥬피터 노트북 환경에서 아무 이상 없이 잘 사용하던 도중,

!pip install git+https://github.com/haven-jeon/PyKoSpacing.git

from pykospacing import spacing

pykospacing을 임포트할 때 커널 멈춤 현상이 지속적으로 나타납니다.
혹시 어떤 문제인지 알 수 있을까요? 감사합니다.

How to add some new words to the training corpus?

s20통장을쏠편한입출금으로 전환 => current result => s20 통장을 쏠 편한 입출금으로 전환
s20통장을쏠편한입출금으로 전환 => I'd like to below => s20통장을 쏠편한 입출금으로 전환

코랩에서 패키지 설치시 subprocess-exited-with-error

안녕하세요 코랩에서 이 패키지를 설치하려고 하면 이런 에러가 납니다..
어떻게 하면 좋을까요?

!pip install git+https://github.com/haven-jeon/PyKoSpacing.git

Collecting git+https://github.com/haven-jeon/PyKoSpacing.git
Cloning https://github.com/haven-jeon/PyKoSpacing.git to /tmp/pip-req-build-sy_445dq
Running command git clone --filter=blob:none --quiet https://github.com/haven-jeon/PyKoSpacing.git /tmp/pip-req-build-sy_445dq
Resolved https://github.com/haven-jeon/PyKoSpacing.git to commit 5bb0b3e
Preparing metadata (setup.py) ... done
Collecting tensorflow==2.9.3 (from pykospacing==0.5)
Downloading tensorflow-2.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (511.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 511.8/511.8 MB 2.4 MB/s eta 0:00:00
Collecting h5py==3.1.0 (from pykospacing==0.5)
Downloading h5py-3.1.0.tar.gz (371 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 371.4/371.4 kB 18.6 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Installing backend dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

image

Has anyone tried it on Windows?

(pykospacing) C:\Users\xxxx>python -m pykospacing.pykos -o "xxxx\test_in.txt" "xxxx\test_out.txt"
Using TensorFlow backend.

(pykospacing) C:\Users\xxxx>

Env:Anaconda py3.6 Window 10 pro

I have tested tensorflow 1.4.0~1.6.0 but none of them works.
Nothing appears but a blank space.

AttributeError: 'Functional' object has no attribute '_make_predict_function'

environment

  • macOS 10.15.5
  • python 3.7
  • tensorflow 2.3.0
  • keras 2.4.3

I got an error message like below when I tried to install PyKoSpacing.
I guess this error is related to tensorflow/keras version.
Should I install lower version that requirements tells(tensorflow==1.4, keras=2.1)?
Could you please help me out to solve this problem!?

Collecting git+https://github.com/haven-jeon/PyKoSpacing.git
  Cloning https://github.com/haven-jeon/PyKoSpacing.git to /private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45
  Running command git clone -q https://github.com/haven-jeon/PyKoSpacing.git /private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45
    ERROR: Command errored out with exit status 1:
     command: /Users/bright/.virtualenvs/test-pykospacing/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/setup.py'"'"'; __file__='"'"'/private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-pip-egg-info-ums9j1or
         cwd: /private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/
    Complete output (9 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/setup.py", line 2, in <module>
        from pykospacing import __version__
      File "/private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/pykospacing/__init__.py", line 1, in <module>
        from pykospacing.kospacing import *
      File "/private/var/folders/t8/gk_w0m817gb98bq54z5pl_8h0000gn/T/pip-req-build-xy6xtc45/pykospacing/kospacing.py", line 17, in <module>
        model._make_predict_function()
    AttributeError: 'Functional' object has no attribute '_make_predict_function'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Can the model output probability?

Can we get the probability for the spacing results from the model so that I can maybe manually check the results with lower probability? Thanks a lot!!

사용자 지정 단어 설정 여부

같은 단어여도 띄어쓰기가 다르게 적용될 때가 있는 것 같습니다.
예를 들어서 "제주도"라는 단어를 처리할 때 "제주도"라고 잘 될 때도 있지만, "제주 도"처럼 띄어쓰기 될 때도 있는데 혹시 특정 단어를 사용자가 지정해서 띄어쓰기하지 못하도록 설정할 수 있나요?

module 'importlib.abc' has no attribute 'ResourceReader' 오류가 뜹니다

import 시에 난 에러입니다


AttributeError Traceback (most recent call last)
in
3 from PIL import ImageGrab
4
----> 5 from pykospacing import Spacing
6 import importlib.abc
7 spacing = Spacing()

~\anaconda3\envs\TF21\lib\site-packages\pykospacing_init_.py in
----> 1 from pykospacing.kospacing import *

~\anaconda3\envs\TF21\lib\site-packages\pykospacing\kospacing.py in
6
7 import numpy as np
----> 8 import pkg_resources
9 from tensorflow.keras.models import load_model
10 from pykospacing.embedding_maker import encoding_and_padding, load_vocab

~\anaconda3\envs\TF21\lib\site-packages\pkg_resources_init_.py in
72 importlib_machinery = None
73
---> 74 from pkg_resources.extern.jaraco.text import (
75 yield_lines,
76 drop_comment,

~\anaconda3\envs\TF21\lib\site-packages\pkg_resources_vendor\jaraco\text_init_.py in
5
6 try:
----> 7 from importlib.resources import files # type: ignore
8 except ImportError: # pragma: nocover
9 from pkg_resources.extern.importlib_resources import files # type: ignore

~\anaconda3\envs\TF21\lib\importlib\resources.py in
65
66 def _get_resource_reader(
---> 67 package: ModuleType) -> Optional[resources_abc.ResourceReader]:
68 # Return the package's loader if it's a ResourceReader. We can't use
69 # a issubclass() check here because apparently abc.'s subclasscheck()

AttributeError: module 'importlib.abc' has no attribute 'ResourceReader'

인풋에 알파벳 포함시 정합성 관련

인풋에 알파벳이 포함되면 대체적으로 정합성이 떨어지는 경향이 있는것 같습니다. (아래 예시)

혹시 보정 가능한 방법이 있을까요?

c타입자석케이블 -> c타입자 석 케이블

3d풋브러쉬 -> 3d풋 브러쉬

tv다 이 책장 -> tv다 이 책장

bmw썬바이저 -> bm w 썬바이저

안녕하세요 colab에서 개발자님께서 만든 라이브러리를 설치하는 과정 중에 오류가 발생하여 문의드려봅니다.

!pip install git+https://github.com/haven-jeon/PyKoSpacing.git
해당 코드를 실행하는 과정에서
Collecting git+https://github.com/haven-jeon/PyKoSpacing.git
Cloning https://github.com/haven-jeon/PyKoSpacing.git to /tmp/pip-req-build-fvh_57a6
Running command git clone --filter=blob:none --quiet https://github.com/haven-jeon/PyKoSpacing.git /tmp/pip-req-build-fvh_57a6
Resolved https://github.com/haven-jeon/PyKoSpacing.git to commit d1e2f93
Preparing metadata (setup.py) ... done
Collecting tensorflow==2.9.3 (from pykospacing==0.5)
Downloading tensorflow-2.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (511.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 511.8/511.8 MB 3.2 MB/s eta 0:00:00
Collecting h5py==3.1.0 (from pykospacing==0.5)
Downloading h5py-3.1.0.tar.gz (371 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 371.4/371.4 kB 28.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Installing backend dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

이러한 오류 메시지가 출력되었습니다. 혹시 해결가능한 부분이 있을까 해서 문의 드려봅니다. tensorflow와 h5py도 최신버전으로 업데이트 했지만 이유를 잘 모르겠습니다.

AttributeError: module 'tensorflow.python.training.experimental.mixed_precision' has no attribute '_register_wrapper_optimizer_cls'

Hello, I'm new to this Package.
When I tried to execute a test code, I've got the error below.
Would you give some help for me?

For your information, my development environment is :

  • python3.6,
  • tensorflow : 2.2.0
  • keras : 2.4.3
  • konlpy : 0.5.2

and the test code was this.

from pykospacing import Spacing
kospacing_sent = Spacing(new_sent)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-190-c1528fddd67b> in <module>
----> 1 from pykospacing import Spacing
      2 
      3 kospacing_sent = Spacing(new_sent)
      4 print(sent)

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/pykospacing/__init__.py in <module>
----> 1 from pykospacing.kospacing import *

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/pykospacing/kospacing.py in <module>
     15 dic_path = pkg_resources.resource_filename(
     16     'pykospacing', os.path.join('resources', 'dicts', 'c2v.dic'))
---> 17 MODEL = load_model(model_path)
     18 MODEL.make_predict_function()
     19 W2IDX, _ = load_vocab(dic_path)

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/saving/save.py in load_model(filepath, custom_objects, compile)
    182       options: Optional `tf.saved_model.LoadOptions` object that specifies
    183         options for loading from SavedModel.
--> 184 
    185   Returns:
    186       A Keras model instance. If the original model was compiled, and saved with

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/saving/hdf5_format.py in load_model_from_hdf5(filepath, custom_objects, compile)
    176       raise ValueError('No model found in config file.')
    177     if hasattr(model_config, 'decode'):
--> 178       model_config = model_config.decode('utf-8')
    179     model_config = json_utils.decode(model_config)
    180     model = model_config_lib.model_from_config(model_config,

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/saving/model_config.py in model_from_config(config, custom_objects)
     53   """
     54   if isinstance(config, list):
---> 55     raise TypeError('`model_from_config` expects a dictionary, not a list. '
     56                     'Maybe you meant to use '
     57                     '`Sequential.from_config(config)`?')

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/layers/serialization.py in deserialize(config, custom_objects)
    107 
    108   # Prevent circular dependencies.
--> 109   from tensorflow.python.keras import models  # pylint: disable=g-import-not-at-top
    110   from tensorflow.python.keras.premade.linear import LinearModel  # pylint: disable=g-import-not-at-top
    111   from tensorflow.python.keras.premade.wide_deep import WideDeepModel  # pylint: disable=g-import-not-at-top

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    371     registered_name = package + '>' + class_name
    372 
--> 373     if tf_inspect.isclass(arg) and not hasattr(arg, 'get_config'):
    374       raise ValueError(
    375           'Cannot register a class that does not have a get_config() method.')

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py in from_config(cls, config, custom_objects)

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py in reconstruct_from_config(config, custom_objects, created_layers)

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py in process_layer(layer_data)

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/layers/serialization.py in deserialize(config, custom_objects)
    107 
    108   # Prevent circular dependencies.
--> 109   from tensorflow.python.keras import models  # pylint: disable=g-import-not-at-top
    110   from tensorflow.python.keras.premade.linear import LinearModel  # pylint: disable=g-import-not-at-top
    111   from tensorflow.python.keras.premade.wide_deep import WideDeepModel  # pylint: disable=g-import-not-at-top

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    373     if tf_inspect.isclass(arg) and not hasattr(arg, 'get_config'):
    374       raise ValueError(
--> 375           'Cannot register a class that does not have a get_config() method.')
    376 
    377     if registered_name in _GLOBAL_CUSTOM_OBJECTS:

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py in from_config(cls, config)
    653         synchronization=synchronization,
    654         aggregation=aggregation,
--> 655         caching_device=caching_device)
    656     if regularizer is not None:
    657       # TODO(fchollet): in the future, this should be handled at the

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/utils/version_utils.py in __new__(cls, *args, **kwargs)
     55 
     56 
---> 57 class LayerVersionSelector(object):
     58   """Chooses between Keras v1 and v2 Layer class."""
     59 

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py in __getattr__(self, item)
     60 
     61   def __getattr__(self, item):
---> 62     module = self._load()
     63     return getattr(module, item)
     64 

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py in _load(self)
     43     """Load the module and insert it into the parent's globals."""
     44     # Import the target module and insert it into the parent's namespace
---> 45     module = importlib.import_module(self.__name__)
     46     self._parent_module_globals[self._local_name] = module
     47 

~/anaconda3/envs/tf22-py36/lib/python3.6/importlib/__init__.py in import_module(name, package)
    124                 break
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 
    128 

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer_v1.py in <module>
     43 from tensorflow.python.keras.engine import input_spec
     44 from tensorflow.python.keras.mixed_precision import autocast_variable
---> 45 from tensorflow.python.keras.mixed_precision import loss_scale_optimizer
     46 from tensorflow.python.keras.mixed_precision import policy
     47 from tensorflow.python.keras.saving.saved_model import layer_serialization

~/anaconda3/envs/tf22-py36/lib/python3.6/site-packages/tensorflow/python/keras/mixed_precision/loss_scale_optimizer.py in <module>
   1192 
   1193 # pylint: disable=protected-access
-> 1194 mixed_precision._register_wrapper_optimizer_cls(optimizer_v2.OptimizerV2,
   1195                                                 LossScaleOptimizerV1)
   1196 

AttributeError: module 'tensorflow.python.training.experimental.mixed_precision' has no attribute '_register_wrapper_optimizer_cls' 
==========================

rules 정규표현식 적용

안녕하세요 PyKoSpacing 쓰던 도중 질문이 생겨 질문드립니다!

[email protected]abcd 1234@gmail .com 으로 spacing 이 진행되는데 rules 에 정규표현식을 써서 스페이싱이 안되게 할 수 있을까요??

PyKoSpacing의 tf2.5.0 버전 사용할 수 있나요?

현재 m1 mac에서 tf2.5와 2.6만 지원해서 2.5.1버전의 pykospacing을 사용할 수 없습니다.

혹시 다른 방법이 있을까요?

ERROR: Could not find a version that satisfies the requirement tensorflow==2.5.1 (from pykospacing) (from versions: none)
ERROR: No matching distribution found for tensorflow==2.5.1

python -m pip install tensorflow-macos==2.5.1
ERROR: Could not find a version that satisfies the requirement tensorflow-macos==2.5.1 (from versions: 2.5.0, 2.6.0)
ERROR: No matching distribution found for tensorflow-macos==2.5.1

설치 후 실행할 때 "Shape must be at least rank 3 but is rank 2" 에러

사용하는 Python 버전은 3.7.4 입니다.

패키지를 git clone을 이용하여 내려 받은 후 파이썬 가상환경에 python setup.py install로 설치하였고 이상없이 설치가 되었습니다.

실행한 코드는 아래와 같습니다.

from pykospacing import Spacing
spacing = Spacing()

위와 같이 실행했는데 아래의 에러가 발생합니다.

Traceback (most recent call last):
  File "/home/project/myenv/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1880, in _create_c_op
    c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape must be at least rank 3 but is rank 2 for '{{node BiasAdd}} = BiasAdd[T=DT_FLOAT, data_format="NCHW"](MatMul, unstack)' with input shapes: [?,150], [150].

TF 버전 문제인지, 잘 모르겠습니다. 확인 부탁드립니다.

설치시 python setup.py egg_info 문제

ERROR: Command "python setup.py egg_info" failed with error code -4 in /tmp/pip-req-build-gaelx667/

안녕하세요.

의존성
python3
tensorflow 1.6
keras

모두 설치 했는데

pip install git+https://github.com/haven-jeon/PyKoSpacing.git
하면 에러가 납니다.

centos7
ubuntu16.04 ~ 18.04

동일합니다.

pip버전은 아래와 같습니다.

root@2ee74d3f11bd:/home/sdk# pip install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python3.6/dist-packages (19.1.1)
root@2ee74d3f11bd:/home/sdk# pip --version
pip 19.1.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)

[PyKoSpacing=0.5] cuDNN 초기화 에러

안녕하세요, 구글 코랩에서 실행하는데 어려움이 있습니다. [ [LINK ]

`---------------------------------------------------------------------------
UnknownError Traceback (most recent call last)
in ()
1 from pykospacing import Spacing
2 spacing = Spacing()
----> 3 spacing("김형호영화시장분석가는'1987'의네이버영화정보네티즌10점평에서언급된단어들을지난해12월27일부터올해1월10일까지통계프로그램R과KoNLP패키지로텍스트마이닝하여분석했다.")

7 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
58 ctx.ensure_initialized()
59 tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 60 inputs, attrs, num_outputs)
61 except core._NotOkStatusException as e:
62 if name is not None:

UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[node model_1/conv1d_1/conv1d (defined at /usr/local/lib/python3.7/dist-packages/pykospacing/kospacing.py:40) ]] [Op:__inference_predict_function_1340]

Function call stack:
predict_function`

조금 찾아보니 cuDNN gpu가 정상적으로 초기화되지 않았을때 발생하는 문제라고 해서 다음과 같이 초기화를 진행했습니다.

gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: # Currently, memory growth needs to be the same across GPUs for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) logical_gpus = tf.config.experimental.list_logical_devices('GPU') print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") except RuntimeError as e: # Memory growth must be set before GPUs have been initialized print(e)

그래도 같은 에러가 발생합니다.

안녕하세요!

개인적으로 띄어쓰기 모델에 관심이 있습니다.
pykospacing은 띄어쓰기 관련 모델을 논할 때 꼭 빠지지 않고 등장하는 모델이라 성능적인 측면에서 뛰어나고, 저도 이런 모델을 만들고 싶습니다.
그래서 처음에 pykospacing 저장소를 봤는데 아쉽게도 제가 학습을 시킨다거나 하는 건 불가능하고 사용만 할 수 있게 코드가 되어 있더라고요 ㅠㅠ
그런데 chatspace 소개글에서 pykospacing 커스텀모델이 있어서요!
그래서 혹시 저도 pykospacing 학습코드를 혹시 받아서 참조할 수 있을까 해서 연락드립니다.

Process a list of words that should not be spaced

Motivation

Since the spacing engine is not 100% accurate, spacing errors occur in some words. The most common errors occur in proper nouns, and some common nouns also have errors depending on the context.

#19 #4

from pykospacing import spacing
# '구레나 룻' must be '구레나룻'
spacing('귀밑에서턱까지잇따라난수염을구레나룻이라고한다.')
'귀 밑에서 턱까지 잇따라 난 수염을 구레나 룻이라고 한다.'
# '쏠 편한' must be '쏠편한'
spacing('s20통장을쏠편한입출금으로 전환')
's20 통장을 쏠 편한 입출금으로 전환'

Suggestions

from pykospacing import Spacing

spacing = Spacing(rules=['구레나룻', '쏠편한'])
spacing('귀밑에서턱까지잇따라난수염을구레나룻이라고한다. s20 통장을 쏠 편한 입출금으로 전환')
'귀 밑에서 턱까지 잇따라 난 수염을 구레나룻이라고 한다. s20 통장을 쏠편한 입출금으로 전환'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.