N-gram 언어 모델을 기반으로 한 보완 (company-ngram)

3615 단어 영어Emacs
외국어 문장을 쓸 때 다음에 어떤 단어를 쓰는 것이 자연스러운지 알고 싶었던 적이 있습니까?
company-ngram이라는 company-mode 백엔드를 사용하면 이러한 희망을 높은 가능성으로 실현할 수 있습니다.
company-ngram는 N-gram 언어 모델을 기반으로 커서 앞에 쓰여진 단어의 순서에서 다음에 쓸 가능성이 높은 단어를 예상하고 보완 후보를 제공합니다.


company-ngram에 의한 보완 후보의 예입니다.
보완 후보 디스플레이의 오른쪽 열에있는 .의 왼쪽 숫자는 N-gram 데이터에서 보완 후보의 빈도를 나타냅니다..의 오른쪽 숫자는 커서 앞의 어느 단어가 보완 후보를 생성하는 데 사용되었는지를 나타냅니다.1의 위치에 해당하는 단어가 N-gram 데이터와 일치했음을 (그림에는 존재하지 않지만) 0의 위치에 해당하는 단어는 N-gram 데이터와 일치하지 않았습니다. 것을 나타냅니다.
예를 들어, a b c에 대해 d 42.110라는 보완 후보가 표시되는 경우, N-gram 데이터의 기초가 된 텍스트 데이터 중에 a b * d (*는 임의의 단어를 나타낸다) 42 개 존재했다는 것을 읽을 수 있습니다.

이용방법


company-ngramMelpa에서 설치할 수 있습니다.
설치 후 ~/.emacs.d/init.el에 다음 설정을 추가하십시오.
; ~/.emacs.d/init.el

(with-eval-after-load 'company-ngram
  ; ~/data/ngram/*.txt are used as data
  (setq company-ngram-data-dir "~/data/ngram")
  ; company-ngram supports python 3 or newer
  (setq company-ngram-python "/path/to/python3")
  (company-ngram-init)
  (cons 'company-ngram-backend company-backends)
  ; or use `M-x turn-on-company-ngram' and
  ; `M-x turn-off-company-ngram' on individual buffers
  ;
  ; save the cache of candidates
  (run-with-idle-timer 3600 t
                       (lambda ()
                         (company-ngram-command "save_cache")
                         ))
  )

(require 'company-ngram nil t)
company-ngram를 사용하려는 버퍼에서 M-x turn-on-company-ngram하면 company-ngram가 활성화됩니다.
company-ngram를 사용하려면 N-gram 데이터를 생성하기 위해 텍스트 데이터가 필요합니다.
기본적으로 ~/data/ngram/*.txt는 텍스트 데이터로로드됩니다.
기존 코퍼스를 사용하거나 w3m -dump <URI>로 스크래핑하여 자신의 코퍼스를 만들 수 있습니다.
우선 시도하려면 RFC 텍스트이 저렴합니다.

자세한 내용은 README을 참조하십시오.

좋은 웹페이지 즐겨찾기