ПредишенСледващото

изисквания

оборудване

Сфинксът - приложение за много-много ресурси и не изисква модерна и доста ефективно оборудване. За задоволително прилагане изисква много RAM, така че е препоръчително да се изпълнява Сфинкса на компютър с процесор или по-възрастни Intel® Pentium® 4 и най-малко 1 GB оперативна памет. В същото време, текстообработка е далеч по-малко ресурсоемка работа, така че можете спокойно да го изпълним в паралел с разпознаване на реч на същия компютър, без загуба на производителност за последния.

софтуер

Заявленията, които са създадени в хода на тази статия, могат да работят на Linux® или Microsoft® Windows® платформи. За Сфинкса-4 трябва да имате последната версия на JDK и Apache Ant да създадете потребителски манипулатор граматика. Вие също ще трябва Perl и подходящо търсене (справочната) модули (избран по ваша преценка). Връзки към повече информация за споменатите софтуерни пакети, както и връзките, които можете да изтеглите тези пакети, вж. В раздела за ресурси.

Инсталиране Sphinx-4

Като част от проекта Сфинкса са различни пакети за различни задачи за разпознаване на реч. Тази статия съдържа пакет Сфинкса-4, най-удобно на най-новите версии за потребители и разработчици. Инсталиране на Сфинкса-4 може да изглежда трудно за някои, така че тук са основните стъпки на инструкциите за инсталиране.

  1. Изтеглете и извлечете Apache Ant.
  2. Изтеглете и разархивирайте Sun JDK (както и на това писание е най-новата версия 1.6.0_02).
  3. Изтеглете и разархивирайте пакета с източник Сфинкса-4, тъй като ние се промени една от програмите за демо, за да отговарят на нашите цели.
  4. Разположен на околната среда променливи с помощта на следните команди:
    В Windows, може да се наложи да настроите обкръжението на мига "Control Panel (Контролен панел)> System (Система)> Advanced (Разширени)> Околна среда променливи (променливи на обкръжението)."
  5. Отидете в директория "sphinx4-бета", а след това в поддиректорията "либералните".
  6. Активирайте двоичен лиценз JSAPI, jsapi.sh провеждане на скрипт. Сфинкса-4 JSAPI подкрепя двоичен лиценз, така че е необходимо да приемете лицензното споразумение.
  7. Може да се наложи да инсталирате uudecode, да разопаковате компонентите, необходими за JSAPI. В повечето Линукс дистрибуции, включително опаковката, така или иначе, съдържащ uudecode, така че проверете първо наличните средства, ако е необходимо инсталиране uudecode. В Windows, щракнете два пъти върху десния бутон на мишката jsapi.exe файл и да приемете лицензното споразумение.
  8. Назад към Sphinx4 главната директория.
  9. Стартирайте мравка команда. Аз трябва да започне процеса на сглобяване.

Съобщение за състояние "изграждането на успешна" показва, че околната среда е създадена успешно, и можете да преминете към стъпките на модификация. Ако видите друго съобщение, проверете монтаж и настройка променливи на обкръжението, каталог, или прегледайте ръководствата на Apache Ant и Сфинкса-4 за по-подробни инструкции за инсталиране за вашата среда.

Стратегия признаване независим говорител от букви и цифри в реч

Тя винаги изглежда, че технологията за разпознаване на глас е останало от 2 до 10 години до успешен независим признаване говорител голям речник реч. Пояснете разговор с много гласове, с едновременното речта, различни акценти и множество технически и разговорни изрази - проблем почти нерешим за всеки софтуер, потребителска класа на разположение на пазара. Въпреки това, сфинкс чанти, и по-специално, Сфинкса-4 предлага всички необходими опции за надеждно откриване малък (но все пак полезен) лексика без да се позовава на говорител.

Ние определено ограничената ни лексика: английската азбука писма A-Z и 0-9. Нашата стратегия - това е просто маркирайте всички области, където те са се произнасяли с буквите и цифрите. Общото название на този подход - думите на разпределение. Въпреки че в момента Сфинкса-4 не поддържа избора на думи, ние не сме в състояние да постигне по-малко от полезни резултати, проверка на всяка говорил звук комбинация, за да се срещне поне една дума на граматиката. След това, със списък на най-подходящия от букви и цифри, можем да използваме стандартните инструменти за обработка на текст и информация ръководства за извличане на полезна информация.

Потребителски речник, модификация на примера "Hello World"

Създаване на речника файл

В първия етап на създаване на механизъм "подчертае думите" Ние ще създадете файл с речника. В дървото на директориите Сфинкса-4 има директория с име BLD / модели / ОБН / CMU / сфинкс / модел / акустично / WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz / Dict /. Той съдържа файловете с наречените alpha.dict и digit.dict. На пръв поглед изглежда, че комбинацията от тези две речници даде желания файл. Това не е така. Ние трябва да създадем нашия речник cmudict.0.6d файлове от файла в същата директория.

Отидете до директорията BLD / модели / ОБН / CMU / сфинкс / модел / акустично / WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz / Dict / и използвайте следната команда, за да създадете желания речниковия файл:

Обява 1 показва, генерирани alN.dict файл, съдържанието на които са само букви и цифри.

Обява 1. Някои alN.dict файл

Модификации пример "Hello World"

Сфинкса-4 предлага много настройки, които позволяват да отговарят на всички изисквания в областта на разпознаване на реч. В нашия случай, най-ефективният подход е да се промени съществуващата пример "Hello World". Сфинксът-4 главната директория отидете в директория демо / сфинкса / HelloWorld helloworld.config.xml и редактирате файла. Обява 2 показва една линия, която искате да промените, за да използвате alN.dict файл, който сме създали.

Обява 2. Промени в helloworld.config.xml файл

Необходимо е също така да променяте файла с граматиката hello.gram в същата директория. Обява 3 показва промените, които трябва да бъдат направени, за да се съберат на буквите и цифрите от нашия речник файл.

Обява 3. Промени в hello.gram файл

Ние също трябва да се направят малки промени в HelloWorld.java файл, както е показано по-долу:

Обява 4. Промени в HelloWorld.java файл

текстообработка

Може би дори са узрели въпрос: какво пречи на използването на много хиляди речника, за да се справят с много неправилно разкрити случаи? В крайна сметка, в наличните модели езикови Сфинкса-4 и голям речник база. Защо просто не се създаде демо относно признаването на останалата част от изречението: "телефонен номер за техническа поддръжка е", както и всякакви други думи, които могат да бъдат изречени?

Отговор: Сфинкса-4 - добро приложение, но не е съвършен. Разширяването на речниковия файл, за признаване на стотици хиляди думи, за да се намали драстично ефективността на признаването на отделни букви и цифри. Можете да проверите това, като прочетете другите програми в поддиректория демо Сфинкса-4 пакет или промяна на съществуващи примери, конфигурирането им да се използват големи речникови файлове и разширени списъци граматика. Както се оказва, последващата обработка на текст, състоящ се само от букви и цифри, за търсене на данни на по-високо ниво - много по-проста метод за конструиране на работеща и полезна система анотация въз основа на наличните системи с отворен код.

Обява 5. annotateAcrNum.pl Част 1 - основна програма логика

Горната основната програма логика търси поредица от букви и цифри, които отговарят на нашите прости критерии. програма за изграждане на отделни масиви от букви и цифри за всеки ред от текста с резултатите от разпознаване на реч модифициран код "Hello World". Търсене чрез набор от букви носи acronymSearch рутина, която ще опишем по-долу. Моля, имайте предвид, че писмата масив е изместен след всеки срещани съкращения, които могат да бъдат намерени в ред "и б м х" и "IBM" и "BMX". В масива от числа, ние не отговарят на подобна промяна, вместо това, ние приемаме дълги числа, които програмата може да намерите и да търсят в мрежата.

Обявата 6. annotateAcrNum.pl Част 2 - програма acronymSearch

Подпрограма acronymSearch полезен модул използва Net :: Dict. Ние просто питам речника на сървъра и заявка за търсене в различни бази данни. Регулярният израз / (WN | вера | журналист | foldoc) / оттегляне ограничава базите данни, които дават относително кратки описания. Може да откриете, че вашият набор от съкращения е по-добре представени в друг сайт бази данни dict.org - тогава тази граница трябва да бъде отстранен от регулярния израз.

Обявата 7. annotateAcrNum.pl Част 3 - phoneNmSearch

Сега, с нашето разпознаване на реч въз основа на Сфинкса-4, annotateAcrNum на Perl-програма, можем да започнем да поясняват говори диалог. Започнете annotator екип $ JAVA_HOME / хамбар / Java -mx312m -jar бин / HelloWorld.jar | Perl annotateAcrNum.pl (за Linux). За Windows, командата е: Java -mx312m -jar бин / HelloWorld.jar | Perl annotateAcrNum.pl.

Фигура 1. снимка annotator диалози терминал на Vector Linux

Автоматично създаване на анотации за телефонни номера, акроними, както и други думи на речта

Автоматично създаване на анотации за телефонни номера, акроними, както и други думи на речта

Накрая, следните примери

Изтегляне ресурси

Свързани теми

Подкрепете проекта - споделете линка, благодаря!