nlp:integer_linear_programming
Table of Contents
Integer Linear Programming
Integer linear programs (ILPs) have been used to solve NP-hard decoding algorithms in NLP. They have been used in dependency parsing, coreference resolution, summarization, and many others. Often, ILP formulations are used to solve a decoding problem exactly before a specialized algorithm has been developed (for an example, see Smatch).
Overviews
- EMNLP 2017 Tutorial: Paper
Papers
- Riedel & Clark 2009 - Revisiting Optimal Decoding for Machine Translation IBM Model 4 Optimal decoding for IBM model 4 using an ILP
-
- Follow-up work (non ILP-based) here: 2017 - Multi-Document Abstractive Summarization using Chunk-graph and Recurrent Neural Network
Neural Papers
- Cao et al 2015 - Ranking with Recursive Neural Networks and Its Application to Multi-document Summarization Their best model uses an ILP decoder with RNN (see table 3)
- Lamm et al 2018 - Textual Analogy Parsing: What’s Shared and What’s Compared among Analogous Facts Their best model uses a neural CRF with an ILP decoder for prediction (table 3)
Theoretical Results
- Not every problem solvable in polynomial-time has a compact extended ILP formulation (see Yannakakis’ problem, section 4.10.3, page 181 of Integer Programming by Conforti et al).
Software
- Gurobi: Free Academic License, also Gurobi - Academia. Currently the best ILP solver
- CPLEX. Another good ILP solver
Courses and Slides
(Search “integer linear programming slides pdf” on Google)
Related Pages
nlp/integer_linear_programming.txt · Last modified: 2023/06/15 07:36 by 127.0.0.1