FACTORIE: Probabilistic Programming via Imperatively Defined Factor Graphs

Abstract

Discriminatively trained undirected graphical models have had wide empirical success, and there has been increasing interest in toolkits that ease their application to complex relational data. The power in relational models is in their repeated structure and tied parameters; at issue is how to define these structures in a powerful and flexible way. Rather than using a declarative language, such as SQL or first-order logic, we advocate using an imperative language to express various aspects of model structure, inference, and learning. By combining the traditional, declarative, statistical semantics of factor graphs with imperative definitions of their construction and operation, we allow the user to mix declarative and procedural domain knowledge, and also gain significant efficiencies. We have implemented such imperatively defined factor graphs in a system we call FACTORIE, a software library for an object-oriented, strongly-typed, functional language. In experimental comparisons to Markov Logic Networks on joint segmentation and coreference, we find our approach to be 3-15 times faster while reducing error by 20-25%—achieving a new state of the art.

Extracted Key Phrases

1 Figure or Table

02040200920102011201220132014201520162017
Citations per Year

223 Citations

Semantic Scholar estimates that this publication has 223 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{McCallum2009FACTORIEPP, title={FACTORIE: Probabilistic Programming via Imperatively Defined Factor Graphs}, author={Andrew McCallum and Karl Schultz and Sameer Singh}, booktitle={NIPS}, year={2009} }