Digital Speech Processing Homework 3 2016/05/04 王育軒.

Slides:



Advertisements
Similar presentations
Legal Meetings: Extended Instructions on Movica and Screencast.
Advertisements

Data Transfer Data Import Data Export Database Backup and Restore Uninstalling and re-installing LIMS.
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
專題研究 WEEK 4 - LIVE DEMO Prof. Lin-Shan Lee TA. Hsiang-Hung Lu,Cheng-Kuan Wei.
Lecture 1: Overview of Computers & Programming
Zhang Hongyi CSCI2100B Data Structures Tutorial 2
1 File Systems Chapter Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems.
1 Language Model (LM) LING 570 Fei Xia Week 4: 10/21/2009 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA A A.
Lane Medical Library & Knowledge Management Center Perl Programming for Biologists SESSION 2: Tue Feb 10 th 2009 Yannick Pouliot,
Lecture 9: SHELL PROGRAMMING (continued) Creating shell scripts!
Myrtle Entertainment Network Scanner How to work your way to installing a program via Myrtle Entertainment Network Scanner.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Agenda What is Computer Programming? The Programming Process
12/13/2007Chia-Ho Ling1 SRILM Language Model Student: Chia-Ho Ling Instructor: Dr. Veton Z. K ë puska.
Name:Venkata subramanyan sundaresan Instructor:Dr.Veton Kepuska.
Operating System Program 5 I/O System DMA Device Driver.
CMU-Statistical Language Modeling & SRILM Toolkits
Introduction CSE 1310 – Introduction to Computers and Programming
System Calls 1.
CS105 Lab 1 – Introduction Section: ??? TA: ??? ??? Announcements CITES Accounts Compass Netfiles Other Administrative Information CS105 Fall
Arthur Kunkle ECE 5525 Fall Introduction and Motivation  A Large Vocabulary Speech Recognition (LVSR) system is a system that is able to convert.
Statistical Language Modeling using SRILM Toolkit
Temple University Goals : 1.Down sample 20 khz TIDigits data to 16 khz. 2. Use Down sample data run regression test and Compare results posted in Sphinx-4.
1 Programming Languages Tevfik Koşar Lecture - II January 19 th, 2006.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Digital Speech Processing Homework 3
How to Tag a Corpus Using Stanford Tagger. Accuracy All tokens: 97.32% Unknown words: 90.79%
BMTRY 789 Introduction to SAS Programming Lecturer: Annie N. Simpson, MSc.
A Feature-Based of IT Automation using Kaseya Developed By: Gregory Hayes Advisor : Dr. S. Masoud Sadjadi School of Computing and Information Sciences.
CS 320 Assignment 1 Rewriting the MISC Osystem class to support loading machine language programs at addresses other than 0 1.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
11/25/2015Slide 1 Scripts are short programs that repeat sequences of SPSS commands. SPSS includes a computer language called Sax Basic for the creation.
IR Homework #1 By J. H. Wang Mar. 5, Programming Exercise #1: Indexing Goal: to build an index for a text collection using inverted files Input:
Latent Topic Modeling of Word Vicinity Information for Speech Recognition Kuan-Yu Chen, Hsuan-Sheng Chiu, Berlin Chen ICASSP 2010 Hao-Chin Chang Department.
CENG 476 Projects 2014 (10’th November 2014) 1. Projects One problem for each student One problem for each student 2.
Digital Speech Processing HW3
Guide to Assignment 3 and 4 Programming Tasks 1 CSE 2312 Computer Organization and Assembly Language Programming Vassilis Athitsos University of Texas.
CS210: Programming Languages Overview of class Dr. Robert Heckendorn.
DISCRETE HIDDEN MARKOV MODEL IMPLEMENTATION DIGITAL SPEECH PROCESSING HOMEWORK #1 DISCRETE HIDDEN MARKOV MODEL IMPLEMENTATION Date: Oct, Revised.
St. Petersburg Institute for Informatics and Automation of the Russian Academy of Sciences Recurrent Neural Network-based Language Modeling for an Automatic.
1 ICASSP Paper Survey Presenter: Chen Yi-Ting. 2 Improved Spoken Document Retrieval With Dynamic Key Term Lexicon and Probabilistic Latent Semantic Analysis.
1 Project 7: Looping. Project 7 For this project you will produce two Java programs. The requirements for each program will be described separately on.
CS307P-SYSTEM PRACTICUM CPYNOT. B13107 – Amit Kumar B13141 – Vinod Kumar B13218 – Paawan Mukker.
Chapter Eight Exploring the UNIX Utilities. 2 Lesson A Using the UNIX Utilities.
Discriminative n-gram language modeling Brian Roark, Murat Saraclar, Michael Collins Presented by Patty Liu.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
+ Auto-Testing Code for Teachers & Beginning Programmers Dr. Ronald K. Smith Graceland University.
NXT File System Just like we’re able to store multiple programs and sound files to the NXT, we can store text files that contain information we specify.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Solvency II Tripartite template V2 and V3 Presentation of the conversion tools proposed by FundsXML France.
Data Structures, Algorithms, & Applications
Foundations of Programming: Java
Homework 1.
Prof. Lin-shan Lee TA. Roy Lu
Student Registration/ Personal Needs Profile
Digital Speech Processing Homework 3
專題研究 week3 Language Model and Decoding
Prof. Lin-shan Lee TA. Lang-Chi Yu
Digital Speech Processing
Digital Speech Processing Homework 3
Homework 3 May 王育軒.
Prof. Lin-shan Lee TA. Po-chun, Hsu
Student Registration/ Personal Needs Profile
Student Registration/ Personal Needs Profile
Programming for Computer Games
CSCE 206 Lab Structured Programming in C
Prof. Lin-shan Lee TA. Roy Lu
Computer network HW2 -Retransmission + Congest control
Presentation transcript:

Digital Speech Processing Homework /05/04 王育軒

To complete the homework, you need to… ● Build a character-based language model with toolkit SRILM. ● Decode the ZhuYin-mixed sequence

Outline ● Introduction ● SRILM ● Step by Step ● Submission and Grading

Introduction 讓 他 十分 ㄏ怕 只 ㄒ望 ㄗ己 明ㄋ 度 別 再 這ㄇ ㄎ命 了 演ㄧ ㄩ樂 產ㄧ ㄐ入 積ㄐ ㄓ型 提ㄕ 競爭ㄌ 讓 他 十分 害怕 只 希望 自己 明年 度 別 再 這麼 苦命 了 演藝 娛樂 產業 加入 積極 轉型 提升 競爭ㄌ HW3 :注音文修正

Introduction ● Imperfect acoustic models with phoneme loss. ● The finals of some characters are lost.

Introduction ● Proposed methods: ○ Reconstruct the sentence by language model. ● For example, let Z = 演ㄧ ㄩ樂 產ㄧ P(Z) is independent of W W=w 1 w 2 w 3 w 4...w n, Z=z 1 z 2 z 3 z 4...z n Bigram language model

Example

SRILM ● SRI Language Model toolkit ○ ● A toolkit for building and applying various statistical language models ● Useful C++ classes ● Using/Reproducing some of SRILM

SRILM ● Download the executable from the course website ○ Different platform: ■ i686 for 32-bit GNU/Linux ■ i686-m64 for 64-bit GNU/Linux (CSIE workstation) ■ Cygwin for 32-bit Windows with cygwin environment ● Or build it from source code. (also provided on course website )

SRILM ● You are strongly recommended to read FAQ on the course website. ● Possibly useful codes in SRILM ○ $SRIPATH/misc/src/File.cc (.h) ○ $SRIPATH/lm/src/Vocab.cc (.h) ○ $SRIPATH/lm/src/ngram.cc (.h) ○ $SRIPATH/lm/src/testError.cc (.h)

SRILM ● Big5 Chinese Character separator written in perl: ○ perl separator_big5.pl corpus.txt > corpus_seg.txt ○ (Why we need to separate it?)

SRILM ●./ngram-count –text corpus_seg.txt –write lm.cnt –order 2 ○-text: input text filename ○-write: output count filename ○-order: order of ngram language model ●./ngram-count –read lm.cnt –lm bigram.lm –unk –order 2 ○-read: input count filename ○-lm: output language model name ○-unk: view OOV as. Without this, all the OOV will be removed

Example corpus_seg.txt 在 國 民 黨 失 去 政 權 後 第 一 次 參 加 元 旦 總 統 府 升 旗 典 禮 有 立 委 感 慨 國 民 黨 不 團 結 才 會 失 去 政 權 有 立 委 則 猛 批 總 統 陳 水 扁 人 人 均 顯 得 百 感 交 集 lm.cnt 夏 俸 267 鴣 7 衹 1 微 檎 bigram.lm \data\ ngram 1=6868 ngram 2= \1-grams: 一 乙 (log probability) (backoff weight)

SRILM ●. /disambig –text $file –map $map –lm $LM –order $order ○ -text: input filename ○ -map: a mapping from ( 注音 / 國字 ) to ( 國字 ) ○ -lm: input language model ○ You should generate this mapping by yourself from the given Big5-ZhuYin.map. ○ DO NOT COPY-PASTE TO RUN THIS LINE

Big5-ZhuYin -> ZhuYin-Big5 ● Be aware of polyphones( 破音字 ) ● There could be arbitrary spaces between all characters. ● Key - value pairs ● Can be random permutation.

Step by Step ●Segment corpus and all test data into characters ○./separator_big5.pl corpus.txt corpus_seg.txt ○./separator_big5.pl ●Train character-based bigram LM ○Get counts: ○./ngram-count –text corpus_seg.txt –write lm.cnt –order 2 ○Compute probability: ○./ngram-count –read lm.cnt –lm bigram.lm –unk –order 2 ●Generate ZhuYin-Big5.map from Big5-ZhuYin.map ○See FAQ 4

Baseline: SRILM disambig ●Using disambig to decode testdata/xx.txt ○./disambig –text $file –map $map –lm $LM –order $order > $output

My Disambig ●Implement your version of disambig ●Use dynamic programming(Viterbi) ●The vertical axes are candidate characters

Tips ●C++ is strongly recommended ○ Speed ○ SRILM compatibility and utility ○ You must provide Makefile. ●Dual OS or VirtualBox with Ubuntu recommended. ●Your output format should be consistent with SRILM. ○ 這 是 一 個 範 例 格 式 ○ There are an at the beginning of a sentence, a at the end, and whitespaces in between all characters.

How to deal with Big5? ● All testing files are encoded in Big5 ● A Chinese character in Big5 is always 2 bytes, namely, char[2] in C++

Submission ● When unzipped, your uploaded file should contain a directory as following: ○ hw3_[r ]/ ■ result1/1.txt~10.txt (generated from SRILM disambig with your LM by yourself) ■ result2/1.txt~10.txt (generated from your disambig with your LM by yourself) ■ [your codes] ■ Makefile ■ Report[.pdf or.docx]

Submission ● The report should include: ○ Your environment (CSIE workstation, Cygwin, …) ○ How to “compile” your program ○ How to “execute” your program (give me examples) ○ ex:./program –a xxx –b yyy ○ What you have done ○ NO more than two A4 pages. ○ NO “what you have learned”

Grading ● (10%) Your code can be successfully compiled. ● (10%) Correctly generate ZhuYin-Big5.map ● (30%) Correctly use SRILM disambig to decode ZhuYin- mixed sequence. ● (10%) Your program can run with no errors and crashes. ● (20%) Your results decoded by your own program are the same as expected. ● (10%) Your report contains basic information. ● (10%) Your report is well-documented. ● (10% bonus!) Your program can support trigram language models with speed pruning. ● (5% bonus!) You implement other strategies trying to improve the results.

If there are errors during TA’s testing Like compilation error, crash… TA will ask you to demo your program only with the files you uploaded. If you can prove that you followed the runles correctly, you will get your credits.

Grading Procedure ● There are some files provided by TA but you shouldn’t upload them. ● Big5-ZhuYin.map, bigram.lm… ● Strictly follow the provided templates “Submitted_Files” ● However, you can utilize the files in makefile.

Grading Procedure ● Initialization ● make clean ● copy ta’s bigram.lm, Big5-ZhuYin.map, testdata to your directory ● (10%) Your code can be successfully compiled. ○ make MACHINE_TYPE=[TA’s platform: i686-m64] SRIPATH=/home/r /srilm all ○ Your code should be machine-independent(system(“pause”) is invalid in my system.) and the user can easily specify the platform and SRILM path. ● (10%) Correctly generate ZhuYin-Big5.map ○ make map (it should generate hw3_[r ]/ZhuYin-Big5.map) ○ (You have to write your own makefile to achieve it. Generation must be based on hw3_[r ]/Big5-ZhuYin.map) ○ check if hw3_[r ]/ZhuYin-Big5.map is correct ○ python/perl/C/C++/MATLAB/bash/awk permitted

Grading Procedure ● (30%) Correctly use SRILM disambig to decode ZhuYin- mixed sequence. ○ check if result1/1.txt~10.txt is the same as expected. ● (20%) Your results decoded by your own program are the same as expected. ○ check result2/1.txt~10.txt ○ delete result2/1.txt~10.txt

Grading Procedure ○ (10%) Your program can run with no errors and crashes. ○ make LM=bigram.lm run (it should run based on bigram.lm and generate result2/1.txt~10.txt) ○ check result2/1.txt~10.txt

Notes ● Any incorrect format or naming error may lead to 0 credits. ● Your program should finish the tasks assigned below 10 minutes. ● Totally checking the correctness with good documents is YOUR JOB.

Makefile example

Reminders ● Be sure that you prepare the correct Makefile ○ Grading procedure is in part automatically done by scripts. You can see the details in the previous slides. ● Make sure your program can handle general bigram or trigram case. ○ TA will use another ZhuYin-Big5.map to test your program. ● See the FAQ in the website ● Contact TA if needed ○ 王育軒 ○ TA will not help you debug your program.