hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
음성 인식 모델, 방법 및 알고리즘
동적 시간 워핑은 역사적으로 음성 인식에 사용되었지만, 현재는 더 성공적인 HMM 기반 접근 방식에 의해 크게 대체된 접근 방식이다.
동적 시간 워핑은 시간이나 속도가 다를 수 있는 두 시퀀스 간의 유사성을 측정하는 알고리즘이다. 예를 들어, 한 비디오에서 사람이 천천히 걷고 다른 비디오에서 더 빨리 걷더라도, 또는 한 관찰 과정 중에 가속과 감속이 있더라도 걸음 패턴의 유사성이 감지될 것이다. DTW는 비디오, 오디오, 그래픽에 적용되었다. 실제로 선형 표현으로 변환될 수 있는 모든 데이터는 DTW로 분석할 수 있다.
잘 알려진 응용 분야는 다양한 말하기 속도를 처리하기 위한 자동 음성 인식이다. 일반적으로 이는 컴퓨터가 특정 제약 조건 하에서 두 개의 주어진 시퀀스(예: 시계열) 사이에서 최적의 일치를 찾을 수 있도록 하는 방법이다. 즉, 시퀀스는 비선형적으로 "워핑"되어 서로 일치하게 된다. 이 시퀀스 정렬 방법은 종종 은닉 마르코프 모형의 맥락에서 사용된다.
음성 인식 모델, 방법 및 알고리즘
신경망은 1980년대 후반 ASR에서 매력적인 음향 모델링 접근 방식으로 부상했다. 이후 신경망은 음소 분류, 다목적 진화 알고리즘을 통한 음소 분류, 고립어 인식, 시청각 음성 인식, 시청각 화자 인식 및 화자 적응과 같은 음성 인식의 많은 측면에 사용되었다.
신경망은 HMM보다 특징 통계적 특성에 대한 명시적인 가정을 적게 하며, 음성 인식에 대한 더 매력적인 인식 모델이 되게 하는 여러 특성을 가지고 있다. 음성 특징 세그먼트의 확률을 추정하는 데 사용될 때, 신경망은 자연스럽고 효율적인 방식으로 판별 훈련을 허용한다. 그러나 개별 음소 및 고립어와 같은 단시간 단위 분류의 효과에도 불구하고, 초기 신경망은 시간적 의존성을 모델링하는 능력이 제한되어 연속 인식 작업에는 거의 성공하지 못했다.
이러한 한계를 해결하는 한 가지 접근 방식은 HMM 기반 인식 이전에 신경망을 전처리, 특징 변환 또는 차원 축소 단계로 사용하는 것이었다. 그러나 최근에는 LSTM 및 관련 순환 신경망(RNN), 시간 지연 신경망(TDNN), 및 트랜스포머는 이 분야에서 향상된 성능을 보여주었다.
음성 인식 모델, 방법 및 알고리즘
깊은 신경망과 잡음 제거 오토인코더도 연구 중이다. 깊은 전방향 신경망(DNN)은 입력 및 출력 계층 사이에 여러 개의 은닉 계층이 있는 인공 신경망이다. 얕은 신경망과 마찬가지로 DNN은 복잡한 비선형 관계를 모델링할 수 있다. DNN 아키텍처는 하위 계층의 특징을 구성할 수 있는 추가 계층을 통해 구성 가능한 모델을 생성하여 거대한 학습 능력을 제공하므로 복잡한 음성 데이터 패턴을 모델링할 잠재력을 가지고 있다.
대규모 어휘 음성 인식에서 DNN의 성공은 2010년에 산업 연구원들이 학술 연구원들과 협력하여 발생했으며, 의사 결정 트리에 의해 구성된 문맥 의존적 HMM 상태를 기반으로 하는 DNN의 대규모 출력 계층이 채택되었다.
 이 개발과 2014년 10월 현재 최신 기술에 대한 포괄적인 검토는 Microsoft Research의 최근 Springer 서적에서 볼 수 있다. 또한 자동 음성 인식의 관련 배경과 다양한 기계 학습 패러다임, 특히 딥 러닝의 영향은
최근 개요 기사에서 볼 수 있다.
음성 인식 모델, 방법 및 알고리즘
딥 러닝의 근본적인 원칙 중 하나는 수작업으로 특징 공학을 수행하는 것을 없애고 원시 특징을 사용하는 것이다. 이 원칙은 "원시" 스펙트로그램 또는 선형 필터뱅크 특징에 대한 깊은 오토인코더 아키텍처에서 처음 성공적으로 탐구되었다. 이는 스펙트로그램에서 여러 단계의 고정 변환을 포함하는 멜-캡스트럼 특징보다 우수함을 보여주었다.
음성의 진정한 "원시" 특징인 파형은 최근에 우수한 대규모 음성 인식 결과를 산출하는 것으로 나타났다.
음성 인식 모델, 방법 및 알고리즘
2014년 이후 "종단 간" ASR에 대한 연구 관심이 높아졌다. 전통적인 음소 기반(HMM 기반 모델) 접근 방식은 발음, 음향 및 언어 모델에 대한 별도의 구성 요소와 훈련이 필요했다. 종단 간 모델은 음성 인식기의 모든 구성 요소를 공동으로 학습한다. 이는 훈련 과정과 배포 과정을 단순화하므로 가치가 있다. 예를 들어, 모든 HMM 기반 시스템에는 n-그램 언어 모델이 필요하며, 일반적인 n-그램 언어 모델은 종종 몇 기가바이트의 메모리를 차지하여 모바일 장치에 배포하기에는 비실용적이다. 결과적으로 Google과 Apple Inc.의 현대 상업용 ASR 시스템(2017년 현재)은 클라우드에 배포되어 장치 자체와 달리 네트워크 연결이 필요하다.
종단 간 ASR에 대한 첫 번째 시도는 Google DeepMind의 Alex Graves와 토론토 대학교의 Navdeep Jaitly가 2014년에 도입한 Connectionist Temporal Classification(CTC) 기반 시스템이었다. 이 모델은 순환 신경망과 CTC 계층으로 구성되었다. RNN-CTC 모델은 발음과 음향 모델을 함께 학습하지만, HMM과 유사한 조건부 독립성 가정을 때문에 언어는 학습할 수 없다. 결과적으로 CTC 모델은 음성 음향을 영어 문자로 직접 매핑하는 것을 학습할 수 있지만, 모델은 많은 일반적인 맞춤법 오류를 범하며 전사를 정리하기 위해 별도의 언어 모델에 의존해야 한다. 나중에 Baidu는 매우 큰 데이터셋으로 작업을 확장하고 중국 만다린어와 영어에서 상업적인 성공을 거두었다. 2016년, University of Oxford는 시공간 컨볼루션과 RNN-CTC 아키텍처를 결합한 최초의 종단 간 문장 수준 립리딩 모델인 LipNet를 발표하여 제한된 문법 데이터셋에서 인간 수준의 성능을 능가했다. 2018년 Google DeepMind에서 대규모 CNN-RNN-CTC 아키텍처가 발표되었으며, 인간 전문가보다 6배 더 나은 성능을 달성했다. 2019년, Nvidia는 Jasper와 QuarzNet이라는 두 가지 CNN-CTC ASR 모델을 출시했으며, 전체 성능 WER은 3%였다. 다른 딥 러닝 애플리케이션과 유사하게, 전이 학습 및 도메인 적응은 딥 러닝 모델의 기능을 재사용하고 확장하는 중요한 전략이다. 이는 특히 처음부터 모델을 훈련하는 데 드는 높은 비용과 많은 언어 및 특정 도메인에서 사용할 수 있는 코퍼스의 작은 크기 때문이다.
CTC 기반 모델에 대한 대안적인 접근 방식은 어텐션 기반 모델이다. 어텐션 기반 ASR 모델은 2016년에 카네기 멜런 대학교 및 구글 브레인의 Chan et al.과 University of Montreal의 Bahdanau et al.에 의해 동시에 도입되었다. "듣고, 집중하고, 철자"(LAS)라는 이름의 이 모델은 말 그대로 음향 신호를 "듣고", 신호의 다른 부분에 "집중"하고, 한 번에 한 글자씩 전사를 "철자"한다. CTC 기반 모델과 달리 어텐션 기반 모델은 조건부 독립성 가정을 하지 않으며, 발음, 음향 및 언어 모델을 포함한 음성 인식기의 모든 구성 요소를 직접 학습할 수 있다. 즉, 배포 시 메모리가 제한된 애플리케이션에는 언어 모델을 휴대할 필요가 없어 매우 실용적이다. 2016년 말까지 어텐션 기반 모델은 CTC 모델(외부 언어 모델 유무에 관계없이)을 능가하는 등 상당한 성공을 거두었다. 원래 LAS 모델 이후 다양한 확장 기능이 제안되었다. 카네기 멜런 대학교, MIT, Google Brain은 영어 문자보다 더 자연스러운 하위 단어 단위를 직접 방출하기 위해 잠재 시퀀스 분해(LSD)를 제안했다. 옥스퍼드 대학교와 Google DeepMind는 인간 수준 성능을 능가하는 립리딩을 처리하기 위해 LAS를 "보고, 듣고, 집중하고, 철자"(WLAS)로 확장했다.
음성 인식 응용 분야
일반적으로 스티어링 휠의 손가락 제어와 같은 수동 제어 입력은 음성 인식 시스템을 활성화하며, 이는 오디오 프롬프트로 운전자에게 신호가 전달된다. 오디오 프롬프트에 이어 시스템에는 인식할 음성 입력을 수락할 수 있는 "듣기 창"이 있다.
간단한 음성 명령은 전화 걸기, 라디오 방송국 선택 또는 호환 가능한 스마트폰, MP3 플레이어 또는 음악이 담긴 플래시 드라이브에서 음악 재생을 시작하는 데 사용될 수 있다. 음성 인식 기능은 자동차 제조사 및 모델에 따라 다르다. 일부 최신 자동차 모델은 고정된 명령 집합 대신 자연어 음성 인식을 제공하여 운전자가 완전한 문장과 일반적인 구문을 사용할 수 있도록 한다. 이러한 시스템을 사용하면 사용자가 고정된 명령 단어 집합을 암기할 필요가 없다.
음성 인식 응용 분야
자동 발음 평가는 음성 인식을 사용하여 발음된 음성의 정확성을 확인하는 것으로, 강사나 감독관에 의한 수동 평가와 구별된다. 음성 확인, 발음 평가, 발음 점수 매기기라고도 불리는 이 기술의 주요 응용 분야는 컴퓨터 지원 교육과 결합될 때 컴퓨터 보조 언어 학습(CALL), 음성 교정 또는 악센트 감소를 위한 컴퓨터 지원 발음 교육(CAPT)이다. 발음 평가는 알 수 없는 음성(받아쓰기 또는 자동 전사와 같이)을 결정하지 않고, 대신 미리 예상되는 단어를 알고 있을 때 학습자의 발음 정확성과 이상적으로는 청취자에게 명료도를 확인하려고 시도하며, 때로는 종종 무관한 운율(억양, 음높이, 템포, 리듬, 강세 등)과 함께 평가한다. 발음 평가는 독서 교정에도 사용되며, 예를 들어 Microsoft Teams 및 Amira Learning의 제품에서 볼 수 있다. 자동 발음 평가는 실어증과 같은 언어 장애를 진단하고 치료하는 데도 사용될 수 있다.
음성 인식 응용 분야
진정한 청취자의 명료도를 평가하는 것은 악센트 편향으로 인한 부정확성을 방지하는 데 필수적이며, 특히 중요한 평가에서는 더욱 그렇다. 여러 정확한 발음이 있는 단어, 그리고 기계 판독 가능한 발음 사전의 음소 코딩 오류에서 발생할 수 있다. 2022년, 연구원들은 오디오 신호를 직접 단어로 매핑하기 위한 종단 간 강화 학습을 기반으로 하는 일부 최신 음성-텍스트 변환 시스템이 실제 청취자 명료도와 매우 밀접하게 연관된 단어 및 구문 신뢰도 점수를 생성한다는 것을 발견했다. 유럽 언어 공통 기준(CEFR)의 "전반적인 음운론적 제어" 평가 기준에서 명료도는 모든 수준에서 공식적으로 정확한 발음보다 우선한다.
음성 인식 응용 분야
의료 분야에서 음성 인식은 의료 문서화 과정의 전면 또는 후면에 구현될 수 있다. 전면 음성 인식은 제공자가 음성 인식 엔진에 받아쓰면 인식된 단어가 말하는 대로 표시되고 받아쓰기한 사람이 문서를 편집하고 서명하는 책임이 있다. 후면 또는 지연 음성 인식은 제공자가 디지털 받아쓰기 시스템에 받아쓰면 음성이 음성 인식 기계를 통해 라우팅되고 인식된 초안 문서가 원래 음성 파일과 함께 편집기로 라우팅되어 초안이 편집되고 보고서가 최종 확정된다. 지연 음성 인식은 현재 업계에서 널리 사용되고 있다.
음성 인식 응용 분야
의료 분야에서 음성 인식 사용과 관련된 주요 문제 중 하나는 미국 회복 및 재투자 법안 2009(ARRA)가 "의미 있는 사용" 표준에 따라 EMR을 활용하는 의사에게 상당한 재정적 혜택을 제공한다는 것이다. 이러한 표준은 EMR(현재는 일반적으로 전자 건강 기록 또는 EHR로 더 자주 언급됨)에 상당한 양의 데이터가 유지되어야 한다. 음성 인식 사용은 방사선/병리학적 해석, 진행 노트 또는 퇴원 요약의 일부로 내러티브 텍스트 생성에 더 자연스럽게 적합하다. 보는 능력과 키보드 및 마우스를 조작할 수 있는 사람에게는 구조화된 개별 데이터(예: 목록 또는 통제 어휘집의 숫자 값 또는 코드)를 입력하기 위해 음성 인식을 사용하는 인체공학적 이득이 상대적으로 미미하다.
음성 인식 응용 분야
더 중요한 문제는 대부분의 EHR이 음성 인식 기능을 활용하도록 명시적으로 맞춤화되지 않았다는 것이다. 임상의가 EHR과 상호 작용하는 대부분은 메뉴와 탭/버튼 클릭을 사용하여 사용자 인터페이스를 탐색하는 것을 포함하며 키보드와 마우스에 크게 의존한다. 음성 기반 탐색은 미미한 인체공학적 이득만 제공한다. 대조적으로, 방사선 또는 병리학적 받아쓰기를 위한 많은 고도로 맞춤화된 시스템은 음성 "매크로"를 구현한다. 여기서 특정 구문 사용(예: "정상 보고서")은 많은 수의 기본값을 자동으로 채우거나 상용구를 생성하며, 이는 방사선 시스템의 흉부 X선 검사 또는 위장 조영 검사와 같은 검사 유형에 따라 달라진다.
워드 프로세서와 함께 음성 인식 소프트웨어를 장기간 사용하면 뇌 동정맥 기형 환자의 단기 기억력 강화에 도움이 되는 것으로 나타났다. 혈관 기형이 방사선 기술을 사용하여 치료된 개인의 인지적 이점에 대해서는 추가 연구가 필요하다.
음성 인식 응용 분야
지난 10년 동안 전투기에서 음성 인식 테스트 및 평가에 상당한 노력이 기울여졌다. 특히 미국 프로그램인 고급 전투 기술 통합(AFTI)/F-16 항공기(F-16 VISTA)의 음성 인식 프로그램, 프랑스의 미라지 항공기 프로그램, 그리고 영국의 다양한 항공기 플랫폼을 다루는 다른 프로그램들이 주목할 만하다. 이 프로그램들에서 음성 인식기는 전투기에서 무선 주파수 설정, 자동 조종 시스템 명령, 조종점 좌표 및 무기 발사 매개변수 설정, 비행 디스플레이 제어 등을 포함한 응용 분야에서 성공적으로 작동되었다.
JAS-39 그리펜 조종석에서 비행하는 스웨덴 조종사들과 함께 작업한 Englund(2004)는 G 부하가 증가함에 따라 인식률이 저하된다는 것을 발견했다. 보고서는 또한 모든 경우에 적응이 결과를 크게 개선했으며, 호흡 모델의 도입이 인식 점수를 크게 향상시킨다는 것을 보여주었다. 예상과는 달리 화자의 서툰 영어 영향은 발견되지 않았다. 자발적인 음성이 인식기에 문제를 일으킨다는 것이 명백했으며, 이는 예상할 수 있었다. 따라서 제한된 어휘와 무엇보다도 적절한 구문이 인식 정확도를 크게 향상시킬 수 있을 것으로 예상된다.
음성 인식 응용 분야
현재 영국 RAF에서 운용 중인 유로파이터 타이푼은 화자 종속 시스템을 사용하여 각 조종사가 템플릿을 생성해야 한다. 이 시스템은 무기 발사 또는 착륙 장치 내리기와 같은 안전 필수 또는 무기 필수 작업에는 사용되지 않지만, 다양한 다른 조종석 기능에는 사용된다. 음성 명령은 시각적 및 청각적 피드백으로 확인된다. 이 시스템은 조종사의 작업 부하를 줄이는 주요 설계 기능으로 간주되며, 조종사가 간단한 음성 명령 두 개로 자신의 항공기에 표적을 할당하거나 간단한 명령 다섯 개로 자신의 동반기에게 할당할 수도 있다.
화자 독립 시스템도 F-35 라이트닝 II(JSF) 및 M-346 마스터 초도입 전투기 훈련기에 대해 개발 및 테스트 중이다. 이러한 시스템은 98% 이상의 단어 정확도 점수를 기록했다.
음성 인식 응용 분야
스트레스와 소음 하에서 높은 인식 정확도를 달성하는 문제는 제트 전투기 환경뿐만 아니라 헬리콥터 환경에서도 특히 중요하다. 음향 소음 문제는 헬리콥터 환경에서 실제로 더 심각하다. 높은 소음 수준 때문만이 아니라 헬리콥터 조종사가 일반적으로 안면 마스크를 착용하지 않아 마이크로폰의 음향 소음을 줄일 수 없기 때문이다. 지난 10년 동안 미국 육군 항공전자 연구 개발 활동(AVRADA)과 영국 왕립 항공우주국(RAE)에 의해 헬리콥터의 음성 인식 시스템 응용 분야에서 상당한 테스트 및 평가 프로그램이 수행되었다. 프랑스의 작업에는 Puma 헬리콥터의 음성 인식이 포함되었다. 캐나다에서도 많은 유용한 작업이 있었다. 결과는 고무적이었고, 음성 응용 분야에는 통신 라디오 제어, 항법 시스템 설정, 자동화된 목표물 인계 시스템 제어가 포함되었다.
음성 인식 응용 분야
전투기 애플리케이션과 마찬가지로 헬리콥터에서 음성 인식의 가장 중요한 문제는 조종사 효율성에 미치는 영향이다. AVRADA 테스트에서는 고무적인 결과가 보고되었지만, 이는 테스트 환경에서 실현 가능성 시연에 불과하다. 운영 환경에서 지속적으로 성능 향상을 달성하기 위해서는 음성 인식 및 전반적인 음성 기술 분야에서 아직 해야 할 일이 많다.
음성 인식 응용 분야
항공 관제사(ATC) 훈련은 음성 인식 시스템에 대한 훌륭한 응용 분야를 나타낸다. 현재 많은 ATC 훈련 시스템은 훈련생 관제사와 음성 대화를 통해 실제 ATC 상황에서 관제사가 조종사와 수행해야 하는 대화를 시뮬레이션하는 "가상 조종사" 역할을 하는 사람을 요구한다. 음성 인식 및 합성 기술은 가상 조종사 역할을 하는 사람의 필요성을 없애 훈련 및 지원 인력을 줄일 수 있는 잠재력을 제공한다. 이론적으로 항공 관제 작업은 관제사의 주요 출력으로 고도로 구조화된 음성을 특징으로 하므로 음성 인식 작업의 난이도를 줄일 수 있어야 한다. 실제로는 거의 그렇지 않다. FAA 문서 7110.65는 항공 관제사가 사용해야 하는 구문을 자세히 설명한다. 이 문서는 그러한 구문의 150개 미만의 예시를 제공하지만, 한 시뮬레이션 공급업체의 음성 인식 시스템에서 지원하는 구문의 수는 500,000개를 초과한다.
미국 공군, 미 해병대, 미 육군, 미 해군 및 FAA뿐만 아니라 왕립 호주 공군 및 이탈리아, 브라질, 캐나다의 민간 항공 당국과 같은 여러 국제 ATC 훈련 기관은 현재 여러 공급업체의 음성 인식이 포함된 ATC 시뮬레이터를 사용하고 있다.
ASR은 이제 전화 통신 분야에서 흔하며, 컴퓨터 게임 및 시뮬레이션 분야에서 더욱 널리 보급되고 있다. 전화 통신 시스템에서 ASR은 현재 IVR 시스템과 통합하여 콜센터에서 주로 사용되고 있다. 일반 개인용 컴퓨터의 워드 프로세싱과의 높은 수준의 통합에도 불구하고 문서 생성 분야에서 ASR은 예상만큼 사용이 증가하지 않았다.
모바일 프로세서 속도의 향상으로 스마트폰에서 음성 인식이 실용화되었다. 음성은 주로 사용자 인터페이스의 일부로, 미리 정의되거나 사용자 정의된 음성 명령을 생성하는 데 사용된다.
장애인은 음성 인식 프로그램의 혜택을 받을 수 있다. 청각 장애가 있는 개인의 경우 음성 인식 소프트웨어가 회의실 토론, 교실 강의 및 종교 의식과 같은 대화의 자막을 자동으로 생성하는 데 사용된다.
시각 장애 학생 또는 시력이 매우 낮은 학생은 기술을 사용하여 단어를 전달한 다음 컴퓨터가 읽어주는 것을 듣는 것뿐만 아니라 화면과 키보드를 보지 않고도 음성 명령으로 컴퓨터를 사용할 수 있어 혜택을 받을 수 있다.
신체 장애가 있는 학생은 반복 사용 긴장성 손상/상지 부상으로 인해 음성-텍스트 프로그램 사용으로 학업 과제를 손글씨로 작성하거나, 타이핑하거나, 필기사와 함께 작업하는 것에 대한 걱정을 덜 수 있다. 또한 음성 인식 기술을 활용하여 물리적으로 마우스와 키보드를 조작하지 않고도 집에서 인터넷을 검색하거나 컴퓨터를 사용할 수 있다.
음성 인식은 학습 장애가 있는 학생들이 더 나은 작가가 될 수 있도록 한다. 단어를 소리 내어 말함으로써 글쓰기의 유창성을 높일 수 있으며, 철자, 구두점 및 기타 글쓰기 메커니즘에 대한 걱정을 덜 수 있다. 또한 학습 장애를 참조하십시오.
음성 인식 소프트웨어를 디지털 오디오 레코더 및 워드 프로세싱 소프트웨어가 실행되는 개인용 컴퓨터와 함께 사용하면 뇌졸중 및 개두술 환자의 손상된 단기 기억 용량을 복원하는 데 긍정적인 것으로 입증되었다.
음성 인식은 경미한 반복 사용 긴장성 손상부터 기존 컴퓨터 입력 장치를 사용하지 못하게 하는 장애까지 다양한 손 사용에 어려움을 겪는 사람들에게 매우 유용하다. 실제로 키보드를 많이 사용하여 RSI를 겪은 사람들은 음성 인식의 긴급한 초기 시장이 되었다. 음성 인식은 음성 사서함 텍스트 변환, 릴레이 서비스, 캡션 전화와 같은 청각 장애 전화 통신에 사용된다. 생각에서 종이로의 의사소통에 문제가 있는 학습 장애가 있는 개인은 소프트웨어의 혜택을 받을 수 있지만 이 기술은 버그가 없는 것은 아니다. 또한 지적 장애가 있는 사람에게는 말하기-텍스트 변환의 전체 아이디어가 어려울 수 있는데, 이는 장애가 있는 사람에게 기술을 가르치려고 하는 경우가 드물기 때문이다.
이러한 유형의 기술은 난독증 환자에게 도움이 될 수 있지만 다른 장애에 대해서는 여전히 의문이다. 제품의 효과성은 그것이 효과적이 되는 것을 방해하는 문제이다. 아이가 단어를 말할 수 있더라도 얼마나 명확하게 말하는지에 따라 기술은 다른 단어를 말한다고 생각하고 잘못된 단어를 입력할 수 있다. 이는 수정해야 할 더 많은 작업을 제공하여 잘못된 단어를 수정하는 데 더 많은 시간이 걸리게 한다.
음성 인식 성능
음성 인식 시스템의 성능은 일반적으로 정확도와 속도로 평가된다. 정확도는 일반적으로 단어 오류율 (WER)로 평가되는 반면, 속도는 실시간 계수로 측정된다. 다른 정확도 측정값에는 단일 단어 오류율(SWER) 및 명령 성공률(CSR)이 있다.
기계에 의한 음성 인식은 매우 복잡한 문제이다. 발성은 억양, 발음, 조음, 거칠기, 비음, 음높이, 음량, 속도에 따라 다양하다. 음성은 배경 소음과 메아리, 전기적 특성에 의해 왜곡된다. 음성 인식의 정확도는 다음과 같은 요인에 따라 달라질 수 있다.
이 문서에서 이전에 언급했듯이 음성 인식의 정확도는 다음과 같은 요인에 따라 달라질 수 있다.
예를 들어 "영"부터 "구"까지 10개 숫자는 본질적으로 완벽하게 인식할 수 있지만, 어휘 크기가 200, 5000 또는 100000인 경우 오류율은 각각 3%, 7%, 또는 45%가 될 수 있다.
예를 들어 영어 알파벳 26자는 혼동되는 단어이기 때문에 구별하기 어렵다(가장 악명 높은 E 세트: "B, C, D, E, G, P, T, V, Z"—"Z"가 영어 지역에 따라 "zee"가 아닌 "zed"로 발음될 때). 이 어휘에 대해 8%의 오류율은 좋은 것으로 간주된다.
음성 인식 성능
화자 종속 시스템은 단일 화자가 사용하도록 설계되었다.
화자 독립 시스템은 모든 화자가 사용하도록 설계되었다(더 어렵다).
고립된 음성은 단일 단어가 사용되므로 음성을 인식하기가 더 쉬워진다.
불연속적인 음성은 침묵으로 구분된 전체 문장이 사용되므로 고립된 음성뿐만 아니라 음성 인식이 더 쉬워진다. 
연속적인 음성은 자연스럽게 말하는 문장이 사용되므로 음성 인식이 더 어려워진다. 이는 고립된 음성 및 불연속적인 음성 모두와 다르다.
제약은 종종 문법으로 표현된다.
음성 인식은 다단계 패턴 인식 작업이다.
예: 알려진 단어 발음 또는 유효한 단어 시퀀스로, 하위 수준의 오류 또는 불확실성을 보상할 수 있다.
음성 인식 성능
이러한 제약의 계층 구조가 활용된다. 모든 하위 수준에서 확률적으로 결정을 결합하고, 최고 수준에서만 더 확정적인 결정을 내림으로써 기계에 의한 음성 인식은 여러 단계로 나뉘는 과정이다. 계산적으로는 음향 패턴이 인간에게 의미를 나타내는 범주로 인식되거나 분류되어야 하는 문제이다. 모든 음향 신호는 더 작고 기본적인 하위 신호로 분해될 수 있다. 더 복잡한 음향 신호가 더 작은 하위 소리로 분해될 때, 상위 수준에는 하위 수준의 더 단순한 소리로 구성된 복잡한 소리가 있고, 더 낮은 수준으로 내려가면 훨씬 더 기본적이고 짧고 단순한 소리가 생성되는 여러 수준이 생성된다. 소리가 가장 근본적인 최하위 수준에서는 기계가 어떤 소리가 나타내야 하는지에 대한 간단하고 더 확률적인 규칙을 확인할 것이다. 이러한 소리가 상위 수준에서 더 복잡한 소리로 합쳐지면 새로운 더 확정적인 규칙 세트가 새로운 복잡한 소리가 나타내야 하는 것을 예측해야 한다. 확정적인 규칙의 가장 상위 수준은 복잡한 표현의 의미를 파악해야 한다. 음성 인식에 대한 지식을 확장하기 위해 신경망을 고려해야 한다. 신경망 접근 방식에는 네 가지 단계가 있다.
음성 인식 성능
전화 음성의 경우 샘플링 속도는 초당 8000개 샘플이다.
10밀리초마다 계산되며, 10밀리초 구간 하나를 프레임이라고 한다.
4단계 신경망 접근 방식에 대한 분석은 추가 정보로 설명할 수 있다. 소리는 공기(또는 다른 매질) 진동에 의해 생성되며, 이를 귀로는 등록하지만 기계는 수신기로 등록한다. 기본 소리는 두 가지 설명이 있는 파동을 생성한다: 진폭 (얼마나 강한가) 및 진동수 (초당 얼마나 자주 진동하는가).
정확도는 단어 오류율(WER)을 통해 계산할 수 있다. 단어 오류율은 동적 문자열 정렬을 사용하여 인식된 단어와 참조 단어를 정렬하여 계산할 수 있다. 인식된 단어와 참조 단어의 시퀀스 길이 차이로 인해 단어 오류율을 계산하는 동안 문제가 발생할 수 있다.
단어 오류율(WER)을 계산하는 공식은 다음과 같다.
여기서 s는 치환의 수, d는 삭제의 수, i는 삽입의 수, n은 참조 단어의 수이다.
계산 시 단어 인식률(WRR)이 사용된다. 공식은 다음과 같다.
여기서 h는 올바르게 인식된 단어의 수이다.
음성 인식 성능
음성 인식은 공격, 절도 또는 우발적인 작동의 수단이 될 수 있다. 예를 들어, 오디오 또는 비디오 방송에서 말하는 "Alexa"와 같은 활성화 단어는 가정과 사무실의 기기가 부적절하게 입력을 듣기 시작하거나 원치 않는 동작을 취하게 할 수 있다. 음성 제어 장치는 건물 방문객이나 심지어 내부에서 들릴 수 있다면 건물 밖 사람들도 접근할 수 있다. 공격자는 캘린더, 주소록 내용, 개인 메시지 및 문서와 같은 개인 정보에 접근할 수 있다. 그들은 또한 사용자를 사칭하여 메시지를 보내거나 온라인 구매를 할 수도 있다.
두 가지 공격이 인공적인 소리를 사용하여 시연되었다. 하나는 초음파를 전송하여 근처 사람들이 알아차리지 못하게 명령을 보내려고 시도한다. 다른 하나는 다른 음성이나 음악에 작지만 들리지 않는 왜곡을 추가하여 특정 음성 인식 시스템을 혼란시켜 음악을 음성으로 인식하거나 인간에게는 하나의 명령처럼 들리는 것을 시스템에는 다른 명령처럼 들리게 만드는 것이다.
음성 인식 추가 정보
매년 또는 격년으로 개최되는 인기 있는 음성 인식 학회로는 SpeechTEK 및 SpeechTEK Europe, ICASSP, Interspeech/Eurospeech, IEEE ASRU가 있다. 자연어 처리 분야의 학회, 예를 들어 ACL, NAACL, EMNLP, HLT는 음성 처리에 대한 논문을 포함하기 시작했다. 중요한 저널로는 IEEE Transactions on Speech and Audio Processing (나중에 IEEE Transactions on Audio, Speech and Language Processing으로 이름이 바뀌었고 2014년 9월부터 ACM 출판물과 합병된 후 IEEE/ACM Transactions on Audio, Speech and Language Processing으로 이름이 바뀌었다), Computer Speech and Language, Speech Communication이 있다.
음성 인식 추가 정보
Lawrence Rabiner의 "Fundamentals of Speech Recognition"과 같은 책은 기본적인 지식을 습득하는 데 유용하지만 최신 내용은 아닐 수 있다(1993년). 또 다른 좋은 자료는 Frederick Jelinek의 "Statistical Methods for Speech Recognition"과 쉐둥 황 등의 "Spoken Language Processing (2001)", Manfred R. Schroeder의 "Computer Speech" (2004년 제2판), 그리고 Li Deng과 Doug O'Shaughnessey가 2003년에 출판한 "Speech Processing: A Dynamic and Optimization-Oriented Approach"이다. Jurafsky와 Martin의 업데이트된 교과서 "Speech and Language Processing (2008)"은 ASR의 기본 및 최신 기술을 제시한다. 화자 인식도 동일한 특징, 거의 동일한 전처리, 그리고 음성 인식에서 수행되는 것과 동일한 분류 기술을 사용한다. 포괄적인 교과서 "Fundamentals of Speaker Recognition"은 이론 및 실습에 대한 최신 세부 정보에 대한 심층 자료이다. 최고의 현대 시스템에서 사용되는 기술에 대한 좋은 통찰력은 DARPA가 주최하는 정부 지원 평가(2007년 현재 진행 중인 가장 큰 음성 인식 관련 프로젝트는 음성 인식 및 번역 구성 요소가 모두 포함된 GALE 프로젝트이다)에 주의를 기울임으로써 얻을 수 있다.
음성 인식 추가 정보
음성 인식 기술 및 그 역사에 대한 좋고 접근하기 쉬운 입문서는 Roberto Pieraccini (2012)의 일반 독자 대상 서적 "The Voice in the Machine. Building Computers That Understand Speech"에서 제공된다.
음성 인식 추가 정보
음성 인식에 대한 가장 최근 책은 Microsoft 연구원 D. Yu와 L. Deng이 저술하고 2014년 말에 출판된 "Automatic Speech Recognition: A Deep Learning Approach"(출판사: Springer)로, DNN 및 관련 딥 러닝 방법을 기반으로 하는 현대 음성 인식 시스템에서 딥 러닝 방법이 도출 및 구현되는 방법에 대한 매우 수학적 지향적인 기술적 세부 사항을 제공한다. 2014년 초에 출판된 관련 책인 L. Deng 및 D. Yu의 "Deep Learning: Methods and Applications"는 2009-2014년 동안의 DNN 기반 음성 인식에 대한 덜 기술적이지만 더 방법론 중심적인 개요를 제공하며, 음성 인식뿐만 아니라 이미지 인식, 자연어 처리, 정보 검색, 멀티모달 처리 및 다중 작업 학습을 포함하는 딥 러닝 응용 분야의 더 넓은 맥락에서 제시된다.
음성 인식 추가 정보
무료로 사용할 수 있는 리소스 측면에서 카네기 멜런 대학교의 Sphinx 도구 키트는 음성 인식에 대해 배우고 실험을 시작하기에 좋은 곳이다. 또 다른 리소스(무료이지만 저작권이 있는)는 HTK 서적(및 동반 HTK 도구 키트)이다. 더 최근의 최신 기술을 위해서는 Kaldi 도구 키트를 사용할 수 있다. 2017년 Mozilla는 Common Voice라는 오픈 소스 프로젝트를 시작하여 Google의 오픈 소스 플랫폼 TensorFlow를 사용하여 무료 음성 인식 프로젝트 DeepSpeech(깃허브에서 무료로 사용 가능)를 구축하는 데 도움이 되는 큰 음성 데이터베이스를 수집했다. Mozilla가 2020년에 프로젝트 자금 지원을 중단했을 때, 원래 개발자들이 Coqui STT로 포크하여 동일한 오픈 소스 라이선스를 사용했다.
Google Gboard는 모든 Android 애플리케이션에서 음성 인식을 지원한다. 마이크로폰 icon을 통해 활성화할 수 있다. 음성 인식은 Windows 로고 키 + Ctrl + S를 눌러 Microsoft Windows 운영 체제에서 활성화할 수 있다.
상업용 클라우드 기반 음성 인식 API는 널리 사용 가능하다.
더 많은 소프트웨어 리소스는 음성 인식 소프트웨어 목록을 참조하십시오.
음성 인식 추가 자료
Cole, Ronald; Mariani, Joseph; Uszkoreit, Hans; Varile, Giovanni Battista; Zaenen, Annie; Zampolli; Zue, Victor, 편집. (1997). 《Survey of the state of the art in human language technology》. Cambridge Studies in Natural Language Processing. XII–XIII. Cambridge University Press. ISBN 978-0-521-59277-2.
음성 인식 추가 자료
Karat, Clare-Marie; Vergo, John; Nahamoo, David (2007). 〈Conversational Interface Technologies〉.   Sears, Andrew; Jacko, Julie A. 《The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies, and Emerging Applications (Human Factors and Ergonomics)》. Lawrence Erlbaum Associates Inc. ISBN 978-0-8058-5870-9.
Signer, Beat; Hoste, Lode (December 2013). 〈SpeeG2: A Speech- and Gesture-based Interface for Efficient Controller-free Text Entry〉. 《Proceedings of ICMI 2013》. 15th International Conference on Multimodal Interaction. Sydney, Australia.
KLDP
KLDP(Korean Linux Documentation Project)는 한국인 리눅스 사용자들을 중심으로 이루어진 오픈소스, 자유소프트웨어 프로젝트 사이트, 또는 그곳에 모인 공동체를 가리킨다. 공식 번역명은 없으며 리눅스 한글문서 프로젝트, 리눅스 문서 한글화 프로젝트 등으로 불린다.
1996년 10월 5일에 권순선의 개인 홈페이지로 출발하여 리눅스 관련 문서를 한글로 번역해서 인터넷으로 제공하는 것을 주 활동으로 운영되었고, 현재는 문서화뿐만 아니라 커뮤니티, 개발자 공간, 프로젝트 호스팅 등 다양한 활동들을 진행해 나가고 있다.
이름에서 알 수 있듯이 범세계적인 리눅스 공동체의 리눅스 문서화 프로젝트의 한국어판 프로젝트로 시작되어, "리눅스 한글문서 프로젝트", "리눅스 문서 한글화 프로젝트" 등의 이름으로 불리었으나, 시간이 흐르면서 문서화에 한정되지 않고 오픈소스 전반으로 활동 영역을 넓히고, 한국어 사용 리눅스 사용자들의 자랑스러운 사랑방으로 기능하고 있다.
검색 엔진
검색 엔진(search engine)은 사용자의 쿼리에 응답하여 웹의 웹 페이지 및 기타 관련 정보에 대한 하이퍼링크를 제공하는 소프트웨어 시스템이다. 사용자는 웹 브라우저 또는 모바일 앱에 쿼리를 입력하며, 검색 결과는 일반적으로 텍스트 요약 및 이미지와 함께 하이퍼링크 목록으로 표시된다. 사용자는 검색을 이미지, 비디오 또는 뉴스 등 특정 유형의 결과로 제한할 수도 있다.
검색 제공자에게는 엔진이 전 세계의 많은 데이터 센터를 포함할 수 있는 분산 컴퓨팅 시스템의 일부이다. 엔진의 쿼리에 대한 응답 속도와 정확성은 자동화된 웹 크롤러에 의해 지속적으로 업데이트되는 복잡한 색인 시스템에 기반한다. 여기에는 웹 서버에 저장된 컴퓨터 파일 및 데이터베이스의 데이터 마이닝이 포함될 수 있지만, 일부 콘텐츠는 크롤러가 접근할 수 없는 심층 웹에 있다.
검색 엔진
1990년대 웹이 등장한 이래로 많은 검색 엔진이 있었지만, 구글 검색은 2000년대에 지배적인 위치를 차지했으며 지금까지 유지하고 있다. 2025년 5월 현재, StatCounter에 따르면 구글은 전 세계 검색 시장 점유율의 약 89–90%를 차지하며, 경쟁업체들은 한참 뒤처져 있다: 빙 (~4%), 얀덱스 (~2.5%), 야후! (~1.3%), 덕덕고 (~0.8%), 그리고 바이두 (~0.7%). 특히, 이는 구글의 점유율이 90% 아래로 떨어진 것이 10여 년 만에 처음이다. 따라서 웹사이트가 마케팅 및 최적화로 알려진 검색 결과에서 가시성을 향상시키는 사업은 주로 구글에 집중되었다.
검색 엔진 역사
1945년 버니바 부시는 사용자가 하나의 책상에서 방대한 정보에 접근할 수 있게 해주는 정보 검색 시스템을 설명했으며, 이를 메멕스라고 불렀다. 그는 이 시스템을 《디 애틀랜틱 먼슬리》에 실린 "As We May Think"라는 제목의 기사에서 설명했다. 메멕스는 계속해서 성장하는 과학 연구의 중앙 집중식 색인에서 정보를 찾는 것이 점점 더 어려워지는 문제를 사용자가 극복할 수 있도록 고안되었다. 버니바 부시는 현대의 하이퍼링크와 유사한 연결된 주석이 있는 연구 라이브러리를 구상했다.
링크 분석은 결국 하이퍼 서치와 페이지랭크와 같은 알고리즘을 통해 검색 엔진의 중요한 구성 요소가 되었다.
최초의 인터넷 검색 엔진은 1990년 12월 웹이 등장하기 전부터 존재했다. WHOIS 사용자 검색은 1982년으로 거슬러 올라가고, Knowbot 정보 서비스 다중 네트워크 사용자 검색은 1989년에 처음 구현되었다. 콘텐츠 파일, 즉 FTP 파일을 검색한 최초의 잘 문서화된 검색 엔진은 1990년 9월 10일에 출시된 아키였다.
검색 엔진 역사
1993년 9월 이전에는 월드 와이드 웹이 전적으로 수동으로 색인화되었다. 팀 버너스리가 편집하고 CERN 웹 서버에서 호스팅한 웹 서버 목록이 있었다. 1992년의 목록 스냅샷이 하나 남아 있지만, 점점 더 많은 웹 서버가 온라인 상태가 되면서 중앙 목록은 더 이상 따라갈 수 없었다. 국립 슈퍼컴퓨팅 응용 센터 사이트에서는 "What's New!"라는 제목으로 새로운 서버가 발표되었다.
인터넷에서 콘텐츠(사용자와는 반대로)를 검색하는 데 사용된 최초의 도구는 아키였다. 이름은 "v"가 없는 "아카이브"를 의미한다. 캐나다 몬트리올의 맥길 대학교 컴퓨터 과학 학생이었던 앨런 엠티지가 만들었다. 이 프로그램은 공용 익명 FTP(파일 전송 프로토콜) 사이트에 있는 모든 파일의 디렉터리 목록을 다운로드하여 파일 이름의 검색 가능한 데이터베이스를 생성했다. 그러나 아키 검색 엔진은 이 사이트의 내용을 색인화하지 않았다. 데이터 양이 너무 제한적이어서 수동으로 쉽게 검색할 수 있었기 때문이다.
검색 엔진 역사
1991년 미네소타 대학교의 마크 맥캐힐이 만든 고퍼의 등장은 두 가지 새로운 검색 프로그램인 베로니카와 저그헤드로 이어졌다. 아키와 마찬가지로 이들은 고퍼 색인 시스템에 저장된 파일 이름과 제목을 검색했다. 베로니카(Very Easy Rodent-Oriented Net-wide Index to Computerized Archives)는 전체 고퍼 목록에서 대부분의 고퍼 메뉴 제목에 대한 키워드 검색을 제공했다. 저그헤드(Jonzy's Universal Gopher Hierarchy Excavation And Display)는 특정 고퍼 서버에서 메뉴 정보를 얻기 위한 도구였다. 검색 엔진 "아키 검색 엔진"의 이름이 아치 만화책 시리즈를 참조한 것은 아니지만, "베로니카"와 "저그헤드"는 이 시리즈의 등장인물로, 전작을 참조하고 있다.
검색 엔진 역사
1993년 여름에는 웹을 위한 검색 엔진이 존재하지 않았지만, 수많은 전문화된 카탈로그가 수동으로 관리되고 있었다. 제네바 대학교의 오스카 니어스트라즈는 이러한 페이지를 주기적으로 미러링하고 표준 형식으로 다시 작성하는 일련의 펄 스크립트를 작성했다. 이것은 웹의 최초의 원시적인 검색 엔진인 W3Catalog의 기반이 되었고, 1993년 9월 2일에 출시되었다.
1993년 6월, 당시 MIT에 재학 중이던 매튜 그레이는 아마도 최초의 웹 로봇인 펄 기반의 월드 와이드 웹 원더러를 만들었고, 이를 사용하여 "Wandex"라는 색인을 생성했다. 원더러의 목적은 월드 와이드 웹의 크기를 측정하는 것이었으며, 1995년 말까지 이 작업을 수행했다. 웹의 두 번째 검색 엔진 Aliweb은 1993년 11월에 등장했다. Aliweb은 웹 로봇을 사용하지 않고, 웹사이트 관리자가 특정 형식의 색인 파일이 각 사이트에 존재한다는 것을 통보해 주는 방식에 의존했다.
검색 엔진 역사
JumpStation (1993년 12월 조너선 플레처가 만듦)은 웹 로봇을 사용하여 웹 페이지를 찾고 색인을 구축했으며, 웹 폼을 쿼리 프로그램의 인터페이스로 사용했다. 따라서 이는 아래에 설명된 웹 검색 엔진의 세 가지 필수 기능(크롤링, 색인화, 검색)을 결합한 최초의 WWW 리소스 검색 도구였다. 실행되는 플랫폼의 제한된 리소스 때문에 색인화 및 검색은 크롤러가 발견한 웹 페이지의 제목과 헤딩으로 제한되었다.
최초의 "모든 텍스트" 크롤러 기반 검색 엔진 중 하나는 1994년에 출시된 웹크롤러였다. 이전 엔진들과 달리, 웹크롤러는 사용자가 모든 웹 페이지에서 어떤 단어든 검색할 수 있도록 허용했으며, 이는 이후 모든 주요 검색 엔진의 표준이 되었다. 또한 일반 대중에게 널리 알려진 검색 엔진이었다. 또한 1994년에는 카네기 멜런 대학교에서 시작된 라이코스가 출시되어 주요 상업적 사업이 되었다.
검색 엔진 역사
웹에서 최초로 인기 있는 검색 엔진은 야후! 검색이었다. 제리 양과 데이비드 파일로가 1994년 1월에 설립한 야후!의 첫 번째 제품은 웹 디렉터리인 Yahoo! Directory였다. 1995년에는 검색 기능이 추가되어 사용자가 Yahoo! Directory를 검색할 수 있게 되었다. 이는 사람들이 관심 있는 웹 페이지를 찾는 가장 인기 있는 방법 중 하나가 되었지만, 그 검색 기능은 웹 페이지의 전체 텍스트 사본이 아닌 웹 디렉터리에서 작동했다.
곧이어 많은 검색 엔진이 등장하여 인기를 다투었다. 여기에는 매젤란, 익사이트, 인포시크, 잉크토미, 노던 라이트, 알타비스타 등이 포함되었다. 정보 검색자들은 키워드 기반 검색 대신 디렉터리를 탐색할 수도 있었다.
검색 엔진 역사
1996년 리옌훙은 검색 엔진 결과 페이지 순위 지정을 위한 RankDex 사이트 스코어링 알고리즘을 개발했고, 이 기술로 미국 특허를 받았다. 이는 하이퍼링크를 사용하여 색인화하는 웹사이트의 품질을 측정하는 최초의 검색 엔진이었으며, 2년 후인 1998년에 구글이 출원한 매우 유사한 알고리즘 특허보다 앞선 것이었다. 래리 페이지는 자신의 페이지랭크 미국 특허 중 일부에서 리의 작업을 언급했다. 리는 나중에 자신의 RankDex 기술을 사용하여 2000년에 중국에서 설립한 바이두 검색 엔진에 적용했다.
1996년, 넷스케이프는 넷스케이프의 웹 브라우저에서 주요 검색 엔진으로 단일 검색 엔진에게 독점 계약을 제공하려 했다. 관심이 너무 많아서 대신 넷스케이프는 주요 검색 엔진 5곳과 계약을 맺었다. 연간 5백만 달러를 받고 각 검색 엔진은 넷스케이프 검색 엔진 페이지에서 번갈아 가며 나타나게 되었다. 이 5개 엔진은 야후!, 매젤란, 라이코스, 인포시크, 익사이트였다.
검색 엔진 역사
구글은 1998년 goto.com이라는 작은 검색 엔진 회사로부터 검색어 판매 아이디어를 채택했다. 이 움직임은 검색 엔진 사업에 상당한 영향을 미쳤는데, 고전하던 사업이 인터넷에서 가장 수익성 높은 사업 중 하나로 변모했다.
검색 엔진은 1990년대 후반에 발생한 인터넷 투자 광풍에서 가장 빛나는 별 중 일부로도 알려져 있었다. 여러 회사가 화려하게 시장에 진입하여 기업공개 시 기록적인 이익을 얻었다. 일부는 공개 검색 엔진을 폐쇄하고 노던 라이트처럼 기업 전용 버전을 판매하고 있다. 많은 검색 엔진 회사는 2000년 3월에 정점을 찍은 투기 주도 시장 호황인 닷컴버블에 휩쓸렸다.
2000년경 구글의 검색 엔진이 유명해졌다. 이 회사는 구글의 창립자인 세르게이 브린과 래리 페이지가 작성한 "검색 엔진의 해부학"이라는 논문에 설명된 페이지랭크라는 알고리즘을 사용하여 많은 검색에서 더 나은 결과를 얻었다. 이 반복 알고리즘은 좋거나 바람직한 페이지가 다른 페이지보다 더 많이 링크된다는 전제하에 다른 웹사이트와 페이지의 링크 수와 페이지랭크를 기반으로 웹 페이지의 순위를 매긴다. 래리 페이지의 페이지랭크 특허는 리옌훙의 이전 RankDex 특허를 영향을 준 것으로 인용한다. 구글은 또한 검색 엔진에 대한 미니멀리스트 인터페이스를 유지했다. 대조적으로, 많은 경쟁업체는 검색 엔진을 웹 포털에 내장했다. 사실, 구글 검색 엔진은 너무 인기가 많아 Mystery Seeker와 같은 스푸프 엔진이 등장하기도 했다.
2000년까지 야후!는 잉크토미의 검색 엔진을 기반으로 검색 서비스를 제공하고 있었다. 야후!는 2002년에 잉크토미를, 2003년에는 오버추어(AlltheWeb과 알타비스타를 소유)를 인수했다. 야후!는 2004년까지 구글의 검색 엔진으로 전환하다가 인수한 기술들을 결합하여 자체 검색 엔진을 출시했다.
마이크로소프트는 1998년 가을 잉크토미의 검색 결과를 사용하여 MSN 검색을 처음 출시했다. 1999년 초에는 룩스마트의 목록을 잉크토미의 결과와 혼합하여 표시하기 시작했다. 1999년 잠시 동안 MSN 검색은 대신 알타비스타의 결과를 사용했다. 2004년, 마이크로소프트는 자체 웹 크롤러(msnbot이라고 함)로 구동되는 자체 검색 기술로 전환하기 시작했다.
마이크로소프트의 새로운 검색 엔진인 빙은 2009년 6월 1일에 출시되었다. 2009년 7월 29일, 야후!와 마이크로소프트는 야후! 검색이 마이크로소프트 빙 기술로 구동될 것이라는 계약을 최종 확정했다.
2019년 기준 현재 활동 중인 검색 엔진 크롤러에는 구글, Sogou, 바이두, 빙, Gigablast, Mojeek, 덕덕고 및 얀덱스의 크롤러가 있다.
검색 엔진 접근 방식
검색 엔진은 다음 프로세스를 거의 실시간으로 유지한다.
웹 검색 엔진은 웹 크롤링을 통해 사이트에서 사이트로 정보를 얻는다. "스파이더"는 자신에게 할당된 표준 파일 이름인 robots.txt를 확인한다. robots.txt 파일에는 검색 스파이더에 어떤 페이지를 크롤링하고 어떤 페이지를 크롤링하지 않을지 지시하는 지시문이 포함되어 있다. robots.txt를 확인하고 파일을 찾거나 찾지 못한 후, 스파이더는 제목, 페이지 내용, 자바스크립트, 캐스케이딩 스타일 시트(CSS), 헤딩 또는 HTML 메타 태그의 메타데이터와 같은 여러 요인에 따라 특정 정보를 다시 색인하도록 보낸다. 특정 수의 페이지를 크롤링하거나, 색인화된 데이터 양이 많거나, 웹사이트에서 보낸 시간이 지나면 스파이더는 크롤링을 중단하고 다음으로 넘어간다. "어떤 웹 크롤러도 실제로 접근 가능한 웹 전체를 크롤링할 수는 없다. 무한한 웹사이트, 스파이더 트랩, 스팸 및 실제 웹의 다른 비상사태로 인해 크롤러는 대신 크롤링 정책을 적용하여 사이트 크롤링이 충분하다고 판단될 시기를 결정한다. 일부 웹사이트는 철저히 크롤링되지만, 다른 웹사이트는 부분적으로만 크롤링된다."
검색 엔진 접근 방식
색인화란 웹 페이지에서 발견된 단어와 기타 정의 가능한 토큰을 해당 도메인 이름 및 HTML 기반 필드와 연결하는 것을 의미한다. 이러한 연결은 공개 데이터베이스에 저장되며 웹 검색 쿼리를 통해 접근할 수 있다. 사용자로부터의 쿼리는 단일 단어, 여러 단어 또는 문장일 수 있다. 색인은 쿼리와 관련된 정보를 가능한 한 빨리 찾는 데 도움이 된다. 색인화 및 캐싱 기술 중 일부는 영업 비밀인 반면, 웹 크롤링은 모든 사이트를 체계적으로 방문하는 간단한 과정이다.
스파이더가 방문하는 동안, 검색 엔진 작업 메모리에 저장된 페이지의 캐시된 버전(페이지를 렌더링하는 데 필요한 콘텐츠의 일부 또는 전부)이 요청자에게 빠르게 전송된다. 방문 기한이 지난 경우, 검색 엔진은 대신 웹 프록시 역할을 할 수 있다. 이 경우 페이지는 색인화된 검색어와 다를 수 있다. 캐시된 페이지는 이전에 단어가 색인화되었던 버전의 모양을 유지하므로 실제 페이지가 손실되었을 때 웹사이트에 캐시된 버전의 페이지가 유용할 수 있지만, 이 문제 또한 가벼운 형태의 링크 깨짐으로 간주된다.
검색 엔진 접근 방식
일반적으로 사용자가 검색 엔진에 쿼리를 입력할 때에는 몇 가지 키워드를 사용한다. 역색인에는 이미 키워드를 포함하는 사이트의 이름이 있으며, 이들은 색인에서 즉시 얻어진다. 실제 처리 부하는 검색 결과 목록인 웹 페이지를 생성하는 데 있다. 전체 목록의 모든 페이지는 색인의 정보에 따라 가중치가 부여되어야 한다. 그런 다음 상위 검색 결과 항목은 일치하는 키워드의 컨텍스트를 보여주는 스니펫을 조회, 재구성 및 마크업해야 한다. 이것들은 각 검색 결과 웹 페이지가 요구하는 처리의 일부에 불과하며, 추가 페이지(상위 다음)는 이러한 후처리 작업을 더 많이 요구한다.
검색 엔진 접근 방식
간단한 키워드 조회 외에도 검색 엔진은 검색 결과를 구체화하기 위해 자체적인 GUI 또는 명령 기반 연산자 및 검색 매개변수를 제공한다. 이러한 기능은 첫 검색 결과의 초기 페이지를 기반으로 사용자가 검색 결과를 필터링하고 가중치를 부여하면서 생성하는 피드백 루프에 참여하는 데 필요한 제어를 제공한다. 예를 들어, 2007년부터 Google.com 검색 엔진은 초기 검색 결과 페이지의 가장 왼쪽 열에서 "검색 도구 표시"를 클릭한 다음 원하는 날짜 범위를 선택하여 날짜별로 필터링할 수 있도록 허용했다. 각 페이지에는 수정 시간이 있으므로 날짜별로 가중치를 부여하는 것도 가능하다. 대부분의 검색 엔진은 최종 사용자가 검색 쿼리를 구체화하는 데 도움이 되도록 Boolean 연산자 AND, OR 및 NOT의 사용을 지원한다. 불리언 연산자는 사용자가 검색 용어를 구체화하고 확장할 수 있도록 하는 리터럴 검색에 사용된다. 엔진은 입력된 단어 또는 구문을 정확히 찾는다. 일부 검색 엔진은 사용자가 키워드 간의 거리를 정의할 수 있는 근접 검색이라는 고급 기능을 제공한다. 또한 사용자가 검색하는 단어 또는 구문을 포함하는 페이지에 대한 통계 분석을 사용하는 개념 검색도 있다.