{"id":18000195,"url":"https://github.com/9beach/hanspell-hs","last_synced_at":"2025-03-26T07:32:05.729Z","repository":{"id":56844158,"uuid":"265881653","full_name":"9beach/hanspell-hs","owner":"9beach","description":"(주)다음과 부산대학교 인공지능연구실/(주)나라인포테크의 웹 서비스를 이용한 한글 맞춤법 검사기.","archived":false,"fork":false,"pushed_at":"2023-04-22T11:28:34.000Z","size":446,"stargazers_count":26,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-21T11:11:19.548Z","etag":null,"topics":["hangul","haskell","korean","language","spellchecker"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/9beach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-21T15:17:49.000Z","updated_at":"2024-10-11T09:58:08.000Z","dependencies_parsed_at":"2022-08-26T16:00:22.025Z","dependency_job_id":null,"html_url":"https://github.com/9beach/hanspell-hs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9beach%2Fhanspell-hs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9beach%2Fhanspell-hs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9beach%2Fhanspell-hs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9beach%2Fhanspell-hs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/9beach","download_url":"https://codeload.github.com/9beach/hanspell-hs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245611797,"owners_count":20643896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hangul","haskell","korean","language","spellchecker"],"created_at":"2024-10-29T23:10:20.745Z","updated_at":"2025-03-26T07:32:05.265Z","avatar_url":"https://github.com/9beach.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hanspell-hs\n\n`hanspell-hs`는 (주)다음과 부산대학교 인공지능연구실/(주)나라인포테크의 웹 서비스를 이용한 한글 맞춤법 검사기입니다.\n\n[비주얼 스튜디오 코드 한스펠](https://github.com/9beach/vscode-hanspell)과 자바스크립트로 작성한 [hanspell](https://github.com/9beach/hanspell)도 있으니\n참고하세요.\n\n[![Hackage](https://img.shields.io/hackage/v/hanspell.svg)](https://hackage.haskell.org/package/hanspell)\n![Hackage Dependencies](https://img.shields.io/hackage-deps/v/hanspell.svg)\n\n## 설치\n\n[한스펠 릴리스](https://github.com/9beach/hanspell-hs/releases)에서 실행파일을 다운로드 하세요. 소스를 받아서 설치하려면 [카발](https://www.haskell.org/cabal/)을 이용해서 아래와 같이 설치하세요.\n\n```sh\ncabal update \u0026\u0026 cabal install hanspell\n```\n\n[스택](https://docs.haskellstack.org)을 이용해서 다음과 같이 설치할 수도 있습니다.\n\n```sh\nstack update \u0026\u0026 stack install hanspell\n```\n\n## 명령어 사용법\n\n```console\n$ hanspell -h\n사용법: hanspell [-d | -p | -a | -h]\n\n옵션:\n  -d, --daum [default]\t  다음 서비스를 이용해서 맞춤법을 교정합니다\n  -p, --pnu               부산대학교 서비스를 이용해서 맞춤법을 교정합니다\n  -a, --all               두 서비스의 모든 결과를 반영해서 맞춤법을 교정합니다\n  -h, --info              도움말을 출력합니다\n\n버그 리포트와 제안: \u003chttps://github.com/9beach/hanspell-hs/issues\u003e\n한스펠 홈 페이지: \u003chttps://github.com/9beach/hanspell-hs/\u003e\n```\n\n문장을 직접 입력하거나 클립보드에서 복사해서 맞춤법을 교정할 수 있습니다. 다음은\n사용 예시입니다. `CTRL + D`는 줄을 바꾸고 맨 앞에서 입력해야 합니다.\n\n```console\n$ hanspell\n나는 차가운 모래속에 두 손을 넣고 검게 빛나는 바다를 바라본다.\n우주의 가장자리 같다.\n쇼코는 해변에 서 있으면 이세상의 변두리에 선 느낌이 든다고 말했었다.\n[CTRL + D]\n모래속에 -\u003e 모래 속에\n띄어쓰기 오류입니다. 대치어를 참고하여 고쳐 쓰세요.\n이세상의 -\u003e 이 세상의\n관형사는 뒤에 오는 말과 띄어 쓰는 것이 옳습니다.\n...\n```\n\n![스크린샷](https://github.com/9beach/hanspell-hs/blob/master/hanspell-screenshot.png?raw=true \"한스펠 스크린샷\")\n\n파일의 맞춤법을 교정하려면 다음과 같이 명령합니다.\n\n```sh\ncat your-text | hanspell\n```\n\n로그는 생략한 채 교정된 문장만 보려면 다음과 같이 명령합니다.\n\n```console\n$ cat your-text | hanspell 2\u003e /dev/null\n나는 차가운 모래 속에 두 손을 넣고 검게 빛나는 바다를 바라본다.\n우주의 가장자리 같다.\n쇼코는 해변에 서 있으면 이 세상의 변두리에 선 느낌이 든다고 말했었다.\n```\n\n교정 제안만 보려면 다음과 같이 명령합니다.\n\n```sh\ncat your-text | hanspell 2\u003e\u00261 \u003e /dev/null | grep '-\u003e'\n```\n\n클립보드에 복사된 문장을 교정하려면, macOS 사용자는 `pbpaste`,\nX 윈도 시스템 사용자는 `xclip -o`, 마이크로소프트 윈도우 사용자는\n`powershell.exe Get-Clipboard` 명령을 이용할 수 있습니다.\n\n```sh\npbpaste | hanspell\n```\n\n`~/.hanspell-ignore` 파일에 교정 대상에서 제외할 문자열을\n[글로브 패턴](\u003chttps://ko.wikipedia.org/wiki/글로브_(프로그래밍)\u003e)으로 지정할 수\n있습니다. ‘그로떼스끄’로 시작하는 문자열과 ‘빠이’를 교정 대상에서 제외하려면\n다음과 같이 설정하세요.\n\n```txt\n그로떼스끄*\n빠이\n```\n\n`~/.hanspell-history` 파일에는 맞춤법 교정 내용이 기록됩니다.\n\n```txt\n내노라하는 -\u003e 내로라하는\n전세계 -\u003e 전 세계\n그 뿐만 -\u003e 그뿐만\n때 마다 -\u003e 때마다\n했는 지 -\u003e 했는지\n...\n```\n\n아래는 사용자가 자주 틀리는 맞춤법을 빈도순으로 보여주는 셸 스크립트입니다.\n\n```console\n$ sort \u003c ~/.hanspell-history | uniq -c | sort -nr | head -n 5\n  17 모래속에 -\u003e 모래 속에\n  13 그 뿐만 -\u003e 그뿐만\n  13 했는 지 -\u003e 했는지\n  13 한바퀴 -\u003e 한 바퀴\n   7 내노라하는 -\u003e 내로라하는\n```\n\n## 터미널 및 파일 인코딩\n\n`hanspell`은 UTF-8으로 설정된 터미널에서만 테스트되었습니다.\n\n```sh\ncat your-text.utf-8 | hanspell\n```\n\n홈 디렉터리의 `.hanspell-ignore` 파일 또한 UTF-8 인코딩으로 저장해야 합니다.\n\n## 라이브러리 사용법\n\n[Language.Hanspell](https://hackage.haskell.org/package/hanspell/docs/Language-Hanspell.html) 라이브러리는\n[Typo](https://hackage.haskell.org/package/hanspell/docs/Language-Hanspell.html#t:Typo) 자료구조와 관련 함수, 그리고\n[spellCheckByDaum](https://hackage.haskell.org/package/hanspell/docs/Language-Hanspell.html#v:spellCheckByDaum),\n[spellCheckByPnu](https://hackage.haskell.org/package/hanspell/docs/Language-Hanspell.html#v:spellCheckByPnu)\n함수를 제공합니다. 다음은 사용 예입니다.\n\n```haskell\nmodule HanspellExample where\n\nimport Language.Hanspell\n\nexample = do\n    let sentence = \"위에계신분, 잘들리세요?\"\n    typos \u003c- spellCheckByDaum sentence\n    mapM_ (putStrLn . typoToStringWithStyle True) typos\n```\n\n다음의 결과가 예상됩니다.\n\n```txt\n위에계신분, -\u003e 위에 계신 분,\n뒤에 오는 명사를 수식하는 관형격 어미 ‘-ㄴ’, ‘-는’, ‘-던’, ‘-ㄹ’ 등과 의존명사는 띄어 쓰는 것이 옳습니다.\n(예)\n노력한 만큼 대가를 얻다.\n소문으로만 들었을 뿐이네.\n합격했다는 소리를 들으니 그저 기쁠 따름이다.\n\n잘들리세요? -\u003e 잘 들리세요?\n'익숙하고 능란하게', '좋고 훌륭하게'라는 의미의 부사 '잘'은 띄어 쓰세요.\n(예)\n바둑을 잘 두다.\n옷을 잘 차려입고 나서니 딴사람 같구나.\n다음 대화를 잘 듣고 물음에 답하세요.\n```\n\n## 라이선스 고지\n\n이 프로그램의 소스 코드는 MIT 라이선스를 따르지만, 부산대학교 인공지능연구실/(주)나라인포테크의 맞춤법 웹 서비스는 권리자가 고지한 대로 개인이나 학생만 무료로 사용할 수 있습니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9beach%2Fhanspell-hs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F9beach%2Fhanspell-hs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9beach%2Fhanspell-hs/lists"}