Speech and Natural Language Processing

obtain from this link: https://github.com/edobashira/speech-language-processing

A curated list of speech and natural language processing resources. Other lists can be found in this list. If you want to contribute to this list (please do), send me a pull request. All Sub-caterogires are listed in alphabetical order

Finite State Toolkits and Regular Expressions

  • AT&T FSM Library The AT&T FSM libraryTM is a set of general-purpose software tools available for Unix, for building, combining, optimizing, and searching weighted finite-state acceptors and transducers.
  • Carmel Finite-state toolkit, EM and Bayesian (Gibbs sampling) training for FST and context-free derivation forests/
  • Categorial semiring Categorial semiring as described in Sproat et al. 2014
  • dk.brics.automaton Java toolkit for FSAs and regular expression.
  • Fare Fare is a finite state and regular expression libary for the .NET framework written in C#. am is a JavaScript library for working with automata and formal grammars for regular and context-free languages
  • Foma Finite-state compiler and C library
  • fsa Toolkit used in RWTH ASR engine
  • fsm2.0 Thomas Hanneforths fsm 2.0 library written C++ has a few nice operations such as three-way composition
  • fstrain A toolkit for training finite-state models
  • jopenfst Java port of the C++ OpenFst library; originally forked from the CMU Sphinx project
  • Kleene programming language High level finite state programming language built on top of OpenFst.
  • MIT FST Toolkit WFST toolkit no maintained anymore but feature a few commands not found in other toolkits
  • MoMs-for-StochasticLanguages Spectral and other training algorithms for WFSAs.
  • n Shortest Path for PDT n Shortest Path for PDT
  • Noam "Noam is a JavaScript library for working with automata and formal grammars for regular and context-free languages". Also has pretty cool examples using viz.js
  • OpenFst OpenFst is a library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs).
  • openfst-utils Nice set of utilities for OpenFst includes implementation of Categorial semirings.openfst-utils.
  • openlat Toolkit for manipulating word lattice built on top of OpenFst. Includes support for reading and writing HTK compatible lattices.
  • PyFst Python interface to OpenFst
  • SFST - Stuttgart Finite State Transducer Tools "SFST is a toolbox for the implementation of morphological analysers and other tools which are based on finite state transducer technology."
  • Treba "Treba is a basic command-line tool for training, decoding, and calculating with weighted (probabilistic) finite state automata (PFSA) and Hidden Markov Models (HMMs)."

Many of the toools in the machine translation section also implement interesting graph and semiring operations.

Language Modelling Toolkits

  • Bayesian Recurrent Neural Network for Language Modeling This is a C/C++ implementation for Bayesian recurrent neural network for language modeling (BRNNLM)
  • Berkeley LM
  • Bigfatlm Provides Hadoop training of Kneser-ney language models, written in Java.
  • CSLM "Continuous Space Language Model toolkit. CSLM toolkit is open-source software which implements the so-called continuous space language model.
  • DALM Double array language model.
  • KenLM Kenneth Heafield's language model toolkit, uses a very fast and low memory representation.
  • lwlm lwlm is an exact, full Bayesian implementation of the Latent Words Language Model (Deschacht and Moens, 2009).
  • Maximum Entropy Modeling Le Zhang has a comprehensive set of links related MaxEnt models.
  • Maximum entropy language models: SRILM extension "This patch adds the functionality to train and apply maximum entropy (MaxEnt) language models to the SRILM toolkit. Currently, only N-gram features are supported"
  • mitlm My personal favourite LM toolkit, super fast and seems to get slightly higher accuracy.
  • MSRLM "This scalable language-model tool is used to build language models from large amounts of data. It supports modified absolute discounting and Kneser-Ney smoothing."
  • OpenGrm Language modelling toolkit for use with OpenFst.
  • cpyp C++ library for modeling with Pitman-Yor processes
  • RandLM Bloom filter based random language models
  • RNNLM Recurrent neural network language model toolkit.
  • Refr Re-ranking framework from the Johns-Hopkins workshop on confusion language modelling.
  • rwthlm A toolkit for training neural network language models (feedforward, recurrent, and long short-term memory neural networks). The software was written by Martin Sundermeyer.
  • SRILM Very popular toolkit, source code avaliable but only non-free for commerical use.

Speech Recognition

  • AaltoASR Aalto Automatic Speech Recognition tools
  • Barista Barista is an open-source framework for concurrent speech processing.
  • Bavieca New open source toolkit featuring static and dynamic decoders.
  • kaldi-nnet-dur-model Neural network phone duration model on top of the Kaldi speech recognition framework, (Interspeech paper)
  • CMU Sphinx Open Source Toolkit For Speech Recognition Project by Carnegie Mellon University
  • HTK "The Hidden Markov Model Toolkit (HTK) is a portable toolkit for building and manipulating hidden Markov models."
  • Juicer Juicer is a Weighted Finite State Transducer (WFST) based decoder for Automatic Speech Recognition (ASR).
  • Julius "Julius is a high-performance, two-pass large vocabulary continuous speech recognition (LVCSR) decoder software for speech-related researchers and developers."
  • Kaldi Modern open source toolkit lead by Dan Povey featuring many state-of-the-art techniques.
  • OpenDcd An Open Source WFST based Speech Recognition Decoder.
  • Phonetisaurus Josef Novak's super fast WFST based Phoneticizer, site also has some really nice tutorials slides.
  • Sail Align SailAlign is an open-source software toolkit for robust long speech-text alignment implementing an adaptive, iterative speech recognition and text alignment scheme that allows for the processing of very long (and possibly noisy) audio and is robust to transcription errors. It is mainly written as a perl library but its functionality also depends…
  • SCARF: A Segmental CRF Toolkit for Speech Recognition "SCARF is a toolkit for doing speech recognition with segmental conditional random fields."
  • trainc David Rybach and Michael Riley's tool for direct construction of context-dependency transducers (Interspeech best paper).
  • RASR RWTH ASR - The RWTH Aachen University Speech Recognition System

Signal Processing

Text-to-Speech

  • HTS HMM-based speech synthesis
  • RusPhonetizer Grammar rules and dictionaries for the phonetic transcription of Russian sentences

Speech Data

  • cmudict CMUdict (the Carnegie Mellon Pronouncing Dictionary) is a free pronouncing dictionary of English.
  • LibriSpeech ASR corpus LibriSpeech is a corpus of approximately 1000 hours of 16kHz read English speech, prepared by Vassil Panayotov with the assistance of Daniel Povey. The data is derived from read audiobooks from the LibriVox project, and has been carefully segmented and aligned.
  • TED-LIUM Corpus The TED-LIUM corpus was made from audio talks and their transcriptions available on the TED website.

Machine Translation

  • Berkeley Aligner "...a word alignment software package that implements recent innovations in unsupervised word alignment."
  • cdec "Decoder, aligner, and model optimizer for statistical machine translation and other structured prediction models based on (mostly) context-free formalisms"
  • Jane "Jane is RWTH's open source statistical machine translation toolkit. Jane supports state-of-the-art techniques for phrase-based and hierarchical phrase-based machine translation."
  • Joshua Hierarchical and syntax based machine translation decoder written in Java.
  • Moses Standard open source machine translation toolkit.
  • alignment-with-openfst
  • zmert Nice Java Mert implementation by Omar F. Zaidan

Machine Learning

  • BIDData BIDMat is a matrix library intended to support large-scale exploratory data analysis. Its sister library BIDMach implements the machine learning layer.
  • libFM: Factorization Machine Library
  • sofia-ml Fast incremental learning algorithms for classification, regression, ranking from Google.
  • Spearmint Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: Practical Bayesian Optimization of Machine Learning Algorithms Jasper Snoek, Hugo Larochelle and Ryan P. Adams Advances in Neural Information Processing Systems, 2012

Deep Learning

  • Benchmarks - Comparison of different convolution network implementations.
  • Cafee - Really active deep learning toolkit with support for cuDNN and lots of other backends.
  • cuDNN - Deep neural network from Nvidia with paper hereTorch 7 has support for cuDnn and here are some Python wrappers.
  • CURRENNT - Munich Open-Source CUDA RecurREnt Neural Network Toolkit described in this paper
  • gensim - Python topic modeling toolkit with word2vec implementation. Extremly easy to use and to install.
  • Glove Global vectors for word representation.
  • GroundHog Neural network based machine translation toolkit.
  • KALDI LSTM C++ implementation of LSTM (Long Short Term Memory), in Kaldi's nnet1 framework. Used for automatic speech recognition, possibly language modeling etc.
  • OxLM: Oxford Neural Language Modelling Toolkit Neural network toolkit for machine translation described in the paper here
  • Neural Probabilistic Language Model Toolkit "NPLM is a toolkit for training and using feedforward neural language models (Bengio, 2003). It is fast even for large vocabularies (100k or more): a model can be trained on a billion words of data in about a week, and can be queried in about 40 μs, which is usable inside a decoder for machine translation."
  • RNNLM2WFST Tool to convert RNNLMs to WFSTs
  • ViennaCL <http://viennacl.sourceforge.net/> - ViennaCL is a free open-source linear algebra library for computations on many-core architectures (GPUs, MIC) and multi-core CPUs.

Natural Language Processing

  • BLLIP reranking parser "BLLIP Parser is a statistical natural language parser including a generative constituent parser (first-stage) and discriminative maximum entropy reranker (second-stage)."
  • OpenNLP The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
  • SEAL Set expander for any language described in this paper
  • Stanford CoreNLP "Stanford CoreNLP provides a set of natural language analysis tools written in Java"

Applications

Other Tools

  • GraphViz.sty Really handy tool adding dot languge directly to a LaTex document, useful for tweaking the small colorized WFST figure in papers and presentations.

Blogs

Books

(zhuan) Speech and Natural Language Processing的更多相关文章

  1. How 5 Natural Language Processing APIs Stack Up

    https://www.programmableweb.com/news/how-5-natural-language-processing-apis-stack/analysis/2014/07/2 ...

  2. Natural Language Processing with Python - Chapter 0

    一年之前,我做梦也想不到会来这里写技术总结.误打误撞来到了上海西南某高校,成为了文科专业的工科男,现在每天除了膜ha,就是恶补CS.导师是做计算语言学的,所以当务之急就是先自学计算机自然语言处理,打好 ...

  3. spaCy is a library for advanced natural language processing in Python and Cython:spaCy 工业级自然语言处理工具

    spaCy is a library for advanced natural language processing in Python and Cython. spaCy is built on ...

  4. Natural Language Processing 课程,文章,论文

    CS224n: Natural Language Processing with Deep Learning http://cs224d.stanford.edu/syllabus.html http ...

  5. [C5W2] Sequence Models - Natural Language Processing and Word Embeddings

    第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 词汇表征(Word Representation) 上周我们学习了 RN ...

  6. 图书分享 -《Natural Language Processing with Python》

    -<Natural Language Processing with Python> 链接:https://pan.baidu.com/s/1_oalRiUEw6bXbm2dy5q_0Q ...

  7. 吴恩达《深度学习》-课后测验-第五门课 序列模型(Sequence Models)-Week 2: Natural Language Processing and Word Embeddings (第二周测验:自然语言处理与词嵌入)

    Week 2 Quiz: Natural Language Processing and Word Embeddings (第二周测验:自然语言处理与词嵌入) 1.Suppose you learn ...

  8. 吴恩达《深度学习》-第五门课 序列模型(Sequence Models)-第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings)-课程笔记

    第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 2.1 词汇表征(Word Representation) 词汇表示,目 ...

  9. Natural Language Processing Computational Linguistics

    http://www.nltk.org/book/ch00.html After this, the pace picks up, and we move on to a series of chap ...

随机推荐

  1. poj3074 DLX精确覆盖

    题意:解数独 分析: 完整的数独有四个充要条件: 1.每个格子都有填数字 2.每列都有1~9中的每个数字 3.每行都有1~9中的每个数字 4.每个9宫格都有1~9中的每个数字 可以转化成精确覆盖问题. ...

  2. arc 092D Two Sequences

    题意: 给出两个长度N相同的整数序列A和B,有N^2种方式从A中选择一个数Ai,从B中选择一个数Bj,让两个数相加,求这N^2个数的XOR,即异或. 思路: 暴力的求显然是会超时的,因为是异或,就考虑 ...

  3. win10 Xshell5连ubuntu服务器

    相当于ubuntu做服务器,win10远程访问,同一局域网下,完全参考度娘 教你怎么使用xshell远程连接linux服务器 ubuntu系统ifconfig -a查看ip地址,添加到主机那里,连接时 ...

  4. django 常用方法总结 < 手写分页-上传头像-redis缓存,排行 ...>

    1.不使用自带模块<Paginator>的手写分页功能views.pydef post_list(request): page = request.GET.get('page', 1) # ...

  5. android TextView Unicde编码转换 android中一些特殊字符Unicode码值

    android TextView Unicde编码转换 android中一些特殊字符Unicode码值 android中一些特殊字符(如:←↑→↓等箭头符号,约等于号≍)的Unicode码值 Text ...

  6. docker rmi 导致后面的命令不执行问题 Dockerfile设置时区问题

    docker rmi 导致后面的命令不执行问题 把ca=`docker rmi sendemail-service` echo $ca改成docker rmi sendemail-service -f ...

  7. ORM some

    1 -- 增 models.表名(类).objects.create(字段1=值,字段2=值) 查 models.表名(类).objects.get(pk = 3) models.表名(类).obje ...

  8. Kotlin基础学习

        Kotlin 和 java 都是一种静态类型的编程语言.表达式的类型在编译期已经确定,编译期能验证对象是否包含想访问方法或是字段,维护正确性与性能的同时保持源代码的简洁       静态类型的 ...

  9. 配置方案:Redis持久化RDB和AOF

    Redis持久化方案 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘.当下次Redis重启时,利 ...

  10. 洛谷 P1010 幂次方

    做了好久,递归拆吧 #include<iostream>#include<cstdio>#include<cmath>using namespace std;int ...