철자 검사기

Spell checker

소프트웨어에서 철자 검사(또는 철자 검사 또는 철자 검사)는 텍스트의 철자 오류를 검사하는 소프트웨어 기능입니다.맞춤법 검사 기능은 워드 프로세서, 전자 메일 클라이언트, 전자 사전 또는 검색 엔진과 같은 소프트웨어나 서비스에 포함되어 있는 경우가 많습니다.

눈에는 철자 검사기가 있고
내 피바다랑 같이 왔어
이 비행기는 내 레뷰를 4번 찍는다.
스테이크 양 난 바다를 묶을 수 있어

부두에 눈을 부딪히고 활자를 치다
그리고 무게 4는 2가 말한다.
일기예보에서 노를 잘못 썼다.
그것은 나에게 정확한 무게를 말해준다.

이 시를 흘려보냈는데
당신네 해변은 정말 기쁘군요.
그것은 무게가 다양해서 광택이 난다.
내 수표가 바느질을 맡겼다.

체커는 축복받은 물건이야
백향의 주목 광맥을 얼린다.
내가 바로잡는 데 도움이 되고
그리고 눈이 내리면 나를 도와준다.

각각의 마찰이 내 스크린에 포즈
눈곱이 너무 꼈다.
수표는 말 한마디에 쏟아 붓는다.
두 개의 체크섬 철자 규칙.

이 시의 원본은 제롤드 H. 자르에 의해 1992년에 쓰여졌다.철자 검사를 제대로 하지 않는 사람은 단어를 따로따로 검사하기 때문에 이 시에 흠을 거의 발견하지 못할 것이다.보다 정교한 맞춤법 검사기는 단어가 발생하는 문맥을 고려하기 위해 언어 모델을 사용합니다.
의 시에 대해 Google Chrome 맞춤법 검사기가 작동 중입니다. "cheer" 단어는 인식할 수 없는 단어로 표시됩니다.

설계.

기본 맞춤법 검사기는 다음 프로세스를 수행합니다.

  • 텍스트를 스캔하여 포함된 단어를 추출합니다.
  • 그런 다음 각 단어를 올바른 철자의 알려진 단어 목록(예: 사전)과 비교합니다.여기에는 단어 목록만 포함될 수도 있고 하이픈 포인트나 어휘 및 문법 속성 등의 추가 정보가 포함될 수도 있습니다.
  • 추가적인 단계는 형태학을 처리하기 위한 언어에 의존하는 알고리즘입니다.영어처럼 약간 굴절된 언어일지라도, 철자 검사기는 같은 단어의 여러 가지 형태, 동사 형태, 수축어, 그리고 소유어와 같은 다른 형태들을 고려할 필요가 있을 것이다.응집과 복잡한 편차와 활용을 특징으로 하는 언어 등 다른 많은 언어에서는 이 과정이 더 복잡합니다.

문법적 역할에 따라 다양한 형태의 단어를 허용하는 형태학적 분석이 영어에 상당한 이점을 제공하는지는 불분명하지만 독일어, 헝가리어 또는 터키어와 같은 고도로 합성된 언어에 대한 이점은 명확하다.

이러한 컴포넌트의 부속으로서 프로그램의 유저 인터페이스를 사용하면, 유저는 교환을 승인 또는 거부해, 프로그램의 조작을 변경할 수 있습니다.

철자 검사기는 Levenshtein 거리 등의 대략적인 문자열 일치 알고리즘을 사용하여 철자가 틀린 [1]단어의 정확한 철자를 찾을 수 있습니다.다른 유형의 맞춤법 검사기는 n-그램과 같은 통계 정보만 사용하여 정확한 철자 단어 대신 오류를 인식합니다.이 접근방식은 일반적으로 충분한 통계정보를 얻기 위해 많은 노력을 필요로 한다.주요 장점으로는 런타임 스토리지가 적게 필요하고 [2]사전에 포함되지 않은 단어의 오류를 수정할 수 있다는 점이 있습니다.

경우에 따라서는 철자 검사기가 철자 오류와 제안의 고정 목록을 사용하는 경우가 있습니다.이러한 접근법은 백과사전 항목도 참조하는 등 종이 기반 수정 방법에서 자주 사용됩니다.

클러스터링 알고리즘은 음성 정보와 결합된 [4]철자[3] 검사에도 사용되었습니다.

역사

프리 PC

1961년, 이 새로운 기술에 대한 연구를 이끌었던 레 어니스트는 10,000개의 허용 [5]단어 목록에 접근한 최초의 철자 검사기를 포함할 필요가 있다고 보았다.당시 어니스트의 대학원생이었던 Ralph Gorin은 [6]1971년 2월 스탠포드 대학의 인공지능 연구소에서 일반 영어 교재용 응용 프로그램인 "SPERE for the DEC PDP-10"으로 작성된 최초의 진정한 철자 검사 프로그램을 만들었습니다.Gorin은 보다 빠른 동작을 위해 조립 언어로 철자를 작성했습니다.그는 단어 목록에서 한 글자 또는 인접한 문자 변환으로 다른 그럴듯한 정확한 철자를 검색하여 사용자에게 제시함으로써 최초의 철자 수정자를 만들었습니다.Gorin은 대부분의 SAIL(Stanford Intelligent Intelligence Laboratory) 프로그램과 마찬가지로 SPERE를 일반에 공개하였으며, PC가 일반에 [7]사용되기 약 10년 전에 새로운 ARPAnet을 통해 곧 전 세계로 확산되었습니다.SPIEL과 그 알고리즘 및 데이터 구조는 Unix ispell 프로그램에 영감을 주었습니다.

최초의 철자 검사기는 1970년대 후반에 메인프레임 컴퓨터에서 널리 사용 가능했습니다.조지타운 대학의 6명의 언어학자들이 IBM사를 [8]위한 최초의 맞춤법 검사 시스템을 개발했다.

Henry Kuchera는 1981년 [9]Digital Equipment Corp.의 VAX 기계용 하나를 발명했다.

PC

최초의 개인용 컴퓨터 맞춤법 검사기는 1980년에 등장했는데, 예를 들어 코모도어 시스템용 "워드체크"는 1981년 [10]1월에 광고가 인쇄되는 시기에 맞춰 1980년 말에 출시되었다.Maria Mariani[8] Random[11] House와 같은 개발자들은 OEM 패키지 또는 최종 사용자 제품을 빠르게 확대되는 소프트웨어 시장에 투입했습니다.Windows 이전의 PC에서는, 이러한 철자 검사기는 스탠드 아론 프로그램입니다.이 프로그램의 대부분은 메모리가 충분한 PC상의 워드 프로세싱 패키지내에서 TSR 모드로 실행할 수 있었습니다.

그러나 1980년대 중반까지 WordStar와 WordPerfect와 같은 인기 워드프로세서 패키지 개발자들은 철자 검사기를 패키지에 포함시켰으며, 대부분 위의 회사로부터 라이센스를 받았으며, 이 회사는 영어에서 많은 유럽어로 그리고 궁극적으로 아시아 언어로 지원을 빠르게 확대했다.그러나 이는 소프트웨어의 형태학적 루틴, 특히 헝가리어나 핀란드어와 같은 고도응집된 언어에 관해 더욱 정교해지는 것을 필요로 했다.아이슬란드와 같은 나라에서는 워드프로세서 시장의 규모가 맞춤법 검사기 도입에 대한 투자를 정당화하지 못할 수도 있지만, WordPerfect와 같은 기업은 글로벌 마케팅 전략의 일환으로 가능한 한 많은 국내 시장에 소프트웨어를 현지화하려고 노력하고 있습니다.

애플이 Mac OS X용 "시스템 전체 맞춤법 검사"를 개발하여 "운영 체제가 맞춤법 [12]수정 사항을 인계받았을 때" [13]첫 번째 프로그램이었다. "각 프로그램에 대해 별도의 맞춤법 검사를 유지할 필요가 없었다."Mac OS X의 맞춤법 검사 범위에는 거의 모든 번들 및 타사 애플리케이션이 포함됩니다.

Visual Tools VT Speller는 1994년에 소개되었으며 "Windows를 [14][15]지원하는 애플리케이션 개발자를 위해 설계되었습니다."사전과 함께 제공되었지만 보조 [16]사전을 구축하고 통합할 수 있는 기능이 있었습니다.

브라우저

브라우저인 Firefox 2.0은 Wikitext 편집, 많은 메일 사이트, 블로그소셜 네트워킹 웹 사이트에서의 쓰기 등 사용자가 작성한 콘텐츠에 [17]대한 맞춤법 검사를 지원합니다.Google Chrome, Konqueror Opera 웹 브라우저, 이메일 클라이언트 Kmail 및 인스턴트 메시징 클라이언트 Pidgin은 이전의 GNU Aspell과 현재 Hunspell을 엔진으로 투명하게 사용하여 철자 검사를 지원합니다.

특기 사항

일부 맞춤법 검사기는 의료 [18][19][20]오류를 방지하기 위해 의학 사전을 별도로 지원합니다.

기능

최초의 철자 검사기는 "수정자"가 아닌 "검증자"였다.그들은 철자가 틀린 단어에 대해 아무런 제안도 하지 않았다.이것은 오타에는 도움이 되지만 논리 오류나 발음 오류에는 그다지 도움이 되지 않았다.개발자들이 직면한 어려움은 철자가 틀린 단어에 유용한 제안을 제공하는 데 어려움이었습니다.이를 위해서는 단어를 골격 형식으로 줄이고 패턴 매칭 알고리즘을 적용해야 합니다.

맞춤법 검사 사전과 관련된 경우 올바른 단어가 잘못된 것으로 표시되지 않도록 "크면 클수록 좋다"는 말이 논리적으로 보일 수 있습니다.그러나 실제로는 영어에 최적인 사이즈는 약 9만 엔트리로 보인다.이 이상일 경우 철자가 틀린 단어는 다른 단어와 혼동되어 건너뛸 수 있습니다.예를 들어, 언어학자는 말뭉치 언어학을 바탕으로 바트라는 단어가 태국 화폐를 지칭하는 것보다 목욕이나 배트의 철자를 잘못 쓰는 경우가 더 많다고 판단할 수 있다.따라서, 목욕에 대해 논하는 많은 사람들의 철자 오류를 간과하는 것보다 태국 화폐에 대해 쓰는 몇몇 사람들이 약간 불편해 하는 것이 일반적으로 더 유용할 것이다.

AbiWord 맞춤법 검사기 Enchant의 스크린샷입니다.

최초의 MS-DOS 철자 검사기는 대부분 워드프로세서 패키지 내에서 프루프 모드로 사용되었습니다.문서를 준비한 후 사용자가 철자 오류를 찾기 위해 텍스트를 스캔했습니다.그러나 나중에 배치 처리는 Oracle의 짧은 기간인 CoAuthor와 같은 패키지에서 제공되어 사용자가 문서가 처리된 후 결과를 보고 잘못된 것으로 알려진 단어만 수정할 수 있게 되었습니다.메모리와 처리 능력이 풍부해지면 1987년 출시된 섹터 소프트웨어에서 제작한 철자 바인드 프로그램이나 Word 95년 이후 Microsoft Word와 같이 백그라운드에서 인터랙티브 방식으로 철자 검사를 수행했다.

최근 몇 년 동안 철자 검사기는 점점 더 정교해지고 있으며, 일부는 간단한 문법 오류를 인식할 수 있습니다.그러나 아무리 잘해도 텍스트의 오류(동음이의 오류 등)를 거의 발견하지 못하고 신조어나 외래어를 철자 오류라고 표기합니다.그럼에도 불구하고, 맞춤법 검사기는 원어민 학습자가 대상 [21]언어의 철자 오류를 감지하고 수정하기 위해 의지할 수 있는 외국어 쓰기 보조 도구의 한 종류로 간주될 수 있습니다.

영어 이외의 언어에 대한 맞춤법 검사

영어는 일부 전문 용어와 변형된 단어를 제외하고 대부분의 단어들이 일반적인 사전에서 찾을 수 있는 하나의 철자를 가지고 있다는 점에서 특이하다.많은 언어에서 단어들은 종종 단어의 새로운 조합으로 연결된다.독일어에서는 복합명사는 기존의 다른 명사로부터 자주 만들어진다.일부 스크립트는 단어와 단어를 명확하게 구분하지 않으므로 단어 분할 알고리즘이 필요합니다.이들 각각은 영어 이외의 철자 검사자에게 고유한 과제를 안겨줍니다.

상황에 맞는 맞춤법 검사기

단어 자체가 어휘에 있더라도 주변 단어의 맥락을 바탕으로 철자가 틀린 단어를 인식할 수 있는 알고리즘을 개발하는 연구가 있었다.이것은 위의 시에 나오는 단어들과 같은 단어들을 잡을 수 있게 할 뿐만 아니라, 사전을 확대하는 것의 해로운 효과를 완화시켜 더 많은 단어들을 인식할 수 있게 한다.예를 들어, 태국이나 태국과 같은 단락의 바트목욕의 철자 오류로 인식되지 않습니다.이러한 시스템에 의해 검출되는 에러의 가장 일반적인 예는, 다음과 같은 동음이의 에러입니다.

그들오는 것은 너무바다이다.

지금까지 가장 성공적인 알고리즘은 Andrew Golding과 Dan Roth가 1999년에 발표한 "Winnow-based spelling algorithm"[22]으로, 일반적인 비단어 철자 오류와 더불어 문맥에 민감한 철자 오류의 약 96%를 인식할 수 있습니다.Microsoft Office 2007 [23]에서는 컨텍스트에 맞는 맞춤법 검사기가 등장하고, 현재는 사용되지 않는 Google Wave [24]에서도 사용되고 있습니다.

문법 검사자들은 잘못된 단어 선택을 포함한 철자 오류를 넘어 문법의 문제를 해결하려고 시도합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Perner, Petra (2010-07-05). Advances in Data Mining: Applications and Theoretical Aspects: 10th Industrial Conference, ICDM 2010, Berlin, Germany, July 12-14, 2010. Proceedings. Springer Science & Business Media. ISBN 978-3-642-14399-1.
  2. ^ 미국 특허 6618697, 철자문법 오류 규칙 기반 수정 방법
  3. ^ de Amorim, R.C.; Zampieri, M. (2013) 클러스터링 알고리즘을 이용한 효과적인 맞춤법 검사 방법.2017-08-17 Wayback Machine Proceedings of 최근 자연어 처리 기술 발전(LANLP2013)에서 보관.불가리아, 히스르 페이지 172-178
  4. ^ 사운드와 스펠링 사이: 음성학 클러스터링 알고리즘을 조합하여 타깃 워드 리커버리를 개선합니다.제9회 국제 자연어 처리 회의(PolTAL)의 속행.컴퓨터 사이언스 강의 노트(LNCS)스프링거 페이지 438-449
  5. ^ Earnest, Les. "The First Three Spelling Checkers" (PDF). Stanford University. Archived from the original (PDF) on 22 October 2012. Retrieved 10 October 2011.
  6. ^ Peterson, James (December 1980). Computer Programs for Detecting and Correcting Spelling Errors (PDF). Retrieved 2011-02-18.
  7. ^ Earnest, Les. Visible Legacies for Y3K (PDF). Archived from the original (PDF) on 2011-07-20. Retrieved 2011-02-18.
  8. ^ a b "Georgetown U Faculty & Staff: The Center for Language, Education & Development". Archived from the original on 2009-02-05. Retrieved 2008-12-18., 인용: "마리아 마리아니...조지타운 대학의 6명의 언어학자로 구성된 그룹 중 한 명으로 IBM사를 위한 최초의 맞춤법 검사 시스템을 개발했습니다."
  9. ^ Harvey, Charlotte Bruce (May–June 2010). "Teaching Computers to Spell (obituary for Henry Kučera)". Brown Alumni Magazine. p. 79.
  10. ^ Advertisement (January 1981). "Micro Computer Industries, Ltd" (PDF). Compute! Magazine, Issue 8, Vol. 3, No. 1. p. 119.
  11. ^ Advertisement (November 1982). "The Spelling Bee Is Over". PC Magazine. p. 165. Retrieved 21 October 2013.
  12. ^ David Pogue (2009). Mac OS X Snow Leopard: The Missing Manual.
  13. ^ David Pogue (2015). Switching to the Mac: The Missing Manual.
  14. ^ "VisualTools VT-Speller". Computerworld. February 21, 1994. p. 68.
  15. ^ "Browse September 27, 1993". VT-SPELLER
  16. ^ Peter G. Aitken (November 8, 1994). "Spell-Checking for your Apps". PC Magazine. p. 299.
  17. ^ "Check my email for spelling errors Workspace Email - GoDaddy Help US". www.godaddy.com.
  18. ^ "Medical Spell Checker for Firefox and Thunderbird". e-MedTools. 2017. Archived from the original on 2019-05-04. Retrieved 2018-08-29.
  19. ^ Quathamer, Dr. Tobias (2016). "German medical dictionary words". Dr. Tobias Quathamer. Retrieved 2018-08-29.
  20. ^ Friedman, Richard A.; D, M (2003). "CASES; Do Spelling and Penmanship Count? In Medicine, You Bet". The New York Times. Retrieved 2018-08-29.
  21. ^ 은행, T. (2008)외국어 학습의 어려움과 교육 전략. (p.29).캘리포니아 도미니카 대학교 석사 학위 논문.2012년 3월 19일 취득.
  22. ^ Golding, Andrew R.; Roth, Dan (1999). "Journal Article". Machine Learning. SpringerLink. 34: 107–130. doi:10.1023/A:1007545901558.
  23. ^ Walt Mossberg (4 January 2007). "Review". Wall Street Journal. Retrieved 24 September 2010.
  24. ^ "Google Operating System". googlesystem.blogspot.com. 29 May 2009. Retrieved 25 September 2010. "Google's Context-Sensitive Spell Checker". May 29, 2009. Retrieved 25 September 2010.

외부 링크