这是一款很好用的工具包

源代码在线查看: wlat-to-dot.gawk

软件大小: 3034 K
上传用户: wanghaihah
关键词: 工具包
下载地址: 免注册下载 普通下载 VIP

相关代码

				#!/usr/local/bin/gawk -f				#				# wlat-to-dot --				#	Generate dot(1) graph description from word lattice generates by				#	nbest-lattice(1)				#				# usage: wlat-to-dot [show_probs=1] file.wlat > file.dot				#				# $Header: /home/srilm/devel/utils/src/RCS/wlat-to-dot.gawk,v 1.6 2004/11/02 02:00:35 stolcke Exp $				#				BEGIN {					name = "WLAT"; 					show_probs = 0;					show_nums = 0;									version = 1;				}				$1 == "name" {					name = $2;				}								#				# nbest-lattice output (without -use-mesh)				#				$1 == "initial" {					print "digraph \"" name "\" {";					print "rankdir = LR";									i = $2;				}				$1 == "final" {					i = $2;				}				$1 == "version" {					version = $2;				}				$1 == "node" && version == 1 {					from = $2;					word = $3;					post = $4;									print "\tnode" from " [label=\"" word \						(!show_nums ? "" : ("/" from)) \						(!show_probs ? "" : "\\n" post ) "\"]";									for (i = 5; i 					    to = $i;					    print "\tnode" from " -> node" to ";"					}				}				$1 == "node" && version == 2 {					from = $2;					word = $3;					align = $4;					post = $5;									print "\tnode" from " [label=\"" word \						(!show_nums ? "" : ("/" from)) \						"\\n" align \						(!show_probs ? "" : "/" post ) "\"]";									for (i = 6; i 					    to = $i;					    print "\tnode" from " -> node" to \						(!show_probs ? "" : " [label=\"" $(i + 1) "\"]") ";"					}				}								#				# nbest-lattice -use-mesh output (confusion networks)				#								$1 == "numaligns" {					print "digraph \"" name "\" {";					print "rankdir = LR";									print "node0 [label=\"" (show_nums ? 0 : "") "\"]";				}								$1 == "align" {									pos = $2;									for (i = 3; i 						word = $i;						posterior = $(i + 1);										if (posterior == 0) {						    print "align " pos ", word " word \								": zero posterior, omitting it" >> "/dev/stderr";						    continue;						}										print "node" pos " -> node" (pos + 1) \							" [label=\"" word \							(show_probs ? ("\\n" posterior) : "") \							"\"]";					}					print "node" (pos + 1) " [label=\"" (show_nums ? (pos + 1) : "") "\"]";				}								END {					print "}"				}											

相关资源