mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-11 19:27:11 +03:00
merge moses_chart and moses
This commit is contained in:
parent
d507af5b1d
commit
93d11e3626
5
Jamroot
5
Jamroot
@ -167,7 +167,7 @@ project : requirements
|
|||||||
;
|
;
|
||||||
|
|
||||||
#Add directories here if you want their incidental targets too (i.e. tests).
|
#Add directories here if you want their incidental targets too (i.e. tests).
|
||||||
build-projects lm util phrase-extract search moses moses/LM mert moses-cmd moses-chart-cmd mira scripts regression-testing ;
|
build-projects lm util phrase-extract search moses moses/LM mert moses-cmd mira scripts regression-testing ;
|
||||||
|
|
||||||
if [ option.get "with-mm" : : "yes" ]
|
if [ option.get "with-mm" : : "yes" ]
|
||||||
{
|
{
|
||||||
@ -195,7 +195,6 @@ else
|
|||||||
|
|
||||||
alias programs :
|
alias programs :
|
||||||
lm//programs
|
lm//programs
|
||||||
moses-chart-cmd//moses_chart
|
|
||||||
moses-cmd//programs
|
moses-cmd//programs
|
||||||
OnDiskPt//CreateOnDiskPt
|
OnDiskPt//CreateOnDiskPt
|
||||||
OnDiskPt//queryOnDiskPt
|
OnDiskPt//queryOnDiskPt
|
||||||
@ -216,7 +215,7 @@ mm
|
|||||||
|
|
||||||
|
|
||||||
install-bin-libs programs ;
|
install-bin-libs programs ;
|
||||||
install-headers headers-base : [ path.glob-tree biconcor contrib lm mert misc moses-chart-cmd moses-cmd OnDiskPt phrase-extract symal util : *.hh *.h ] : . ;
|
install-headers headers-base : [ path.glob-tree biconcor contrib lm mert misc moses-cmd OnDiskPt phrase-extract symal util : *.hh *.h ] : . ;
|
||||||
install-headers headers-moses : moses//headers-to-install : moses ;
|
install-headers headers-moses : moses//headers-to-install : moses ;
|
||||||
|
|
||||||
alias install : prefix-bin prefix-lib headers-base headers-moses ;
|
alias install : prefix-bin prefix-lib headers-base headers-moses ;
|
||||||
|
@ -1,169 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
|
||||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.162355801">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.162355801" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.162355801" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
|
||||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.162355801." name="/" resourcePath="">
|
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1633424067" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
|
||||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.target.gnu.platform.exe.debug.1437309068" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
|
||||||
<builder buildPath="${workspace_loc:/moses-chart-cmd/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.1495140314" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1247128100" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1087697480" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
|
||||||
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1163099464" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
|
||||||
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1584931166" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
|
||||||
<option id="gnu.cpp.compiler.option.include.paths.65842083" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="/opt/local/include/"/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc}/../../cmph/include""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc}/../..""/>
|
|
||||||
</option>
|
|
||||||
<option id="gnu.cpp.compiler.option.preprocessor.def.1785368241" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="HAVE_BOOST"/>
|
|
||||||
<listOptionValue builtIn="false" value="TRACE_ENABLE"/>
|
|
||||||
<listOptionValue builtIn="false" value="KENLM_MAX_ORDER=7"/>
|
|
||||||
<listOptionValue builtIn="false" value="WITH_THREADS"/>
|
|
||||||
<listOptionValue builtIn="false" value="MAX_NUM_FACTORS=4"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1402496521" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.827478809" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
|
||||||
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1840610682" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/>
|
|
||||||
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1437095112" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.128236233" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.755343734" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.816413868" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
|
||||||
<option id="gnu.cpp.link.option.paths.330225535" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../nplm/lib""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../probingPT/helpers""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../cmph/lib""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/moses/Debug""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/lm/Debug""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/OnDiskPt/Debug""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:}/search/Debug""/>
|
|
||||||
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
|
||||||
</option>
|
|
||||||
<option id="gnu.cpp.link.option.libs.1177721357" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
|
||||||
<listOptionValue builtIn="false" value="moses"/>
|
|
||||||
<listOptionValue builtIn="false" value="search"/>
|
|
||||||
<listOptionValue builtIn="false" value="OnDiskPt"/>
|
|
||||||
<listOptionValue builtIn="false" value="lm"/>
|
|
||||||
<listOptionValue builtIn="false" value="util"/>
|
|
||||||
<listOptionValue builtIn="false" value="boost_iostreams"/>
|
|
||||||
<listOptionValue builtIn="false" value="boost_serialization"/>
|
|
||||||
<listOptionValue builtIn="false" value="boost_system"/>
|
|
||||||
<listOptionValue builtIn="false" value="boost_thread"/>
|
|
||||||
<listOptionValue builtIn="false" value="boost_filesystem"/>
|
|
||||||
<listOptionValue builtIn="false" value="pthread"/>
|
|
||||||
<listOptionValue builtIn="false" value="z"/>
|
|
||||||
<listOptionValue builtIn="false" value="bz2"/>
|
|
||||||
<listOptionValue builtIn="false" value="dl"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.128214028" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1267270542" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.612723114" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.516628324">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.516628324" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.516628324" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
|
||||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.516628324." name="/" resourcePath="">
|
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1782680519" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
|
||||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.target.gnu.platform.exe.release.587667692" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
|
||||||
<builder buildPath="${workspace_loc:/moses-chart-cmd/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.330540300" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1062976385" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1344864210" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
|
||||||
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1422341509" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
|
||||||
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.1573362644" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1937178483" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1116405938" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
|
||||||
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.32856289" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
|
|
||||||
<option id="gnu.c.compiler.exe.release.option.debugging.level.1235489953" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1583852187" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1007421110" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.195880914" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.518921609" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.330494310" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1407747418" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<project id="moses-chart-cmd.cdt.managedbuild.target.gnu.exe.532411209" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.516628324;cdt.managedbuild.config.gnu.exe.release.516628324.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1116405938;cdt.managedbuild.tool.gnu.c.compiler.input.1583852187">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.162355801;cdt.managedbuild.config.gnu.exe.debug.162355801.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.827478809;cdt.managedbuild.tool.gnu.c.compiler.input.128236233">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.162355801;cdt.managedbuild.config.gnu.exe.debug.162355801.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1087697480;cdt.managedbuild.tool.gnu.cpp.compiler.input.1402496521">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.516628324;cdt.managedbuild.config.gnu.exe.release.516628324.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1344864210;cdt.managedbuild.tool.gnu.cpp.compiler.input.1937178483">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
|
||||||
<configuration configurationName="Release">
|
|
||||||
<resource resourceType="PROJECT" workspacePath="/moses-chart-cmd"/>
|
|
||||||
</configuration>
|
|
||||||
<configuration configurationName="Debug">
|
|
||||||
<resource resourceType="PROJECT" workspacePath="/moses-chart-cmd"/>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
|
||||||
</cproject>
|
|
@ -1,115 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>moses-chart-cmd</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
<project>lm</project>
|
|
||||||
<project>moses</project>
|
|
||||||
<project>OnDiskPt</project>
|
|
||||||
<project>search</project>
|
|
||||||
<project>util</project>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
|
||||||
<triggers>clean,full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
<dictionary>
|
|
||||||
<key>?name?</key>
|
|
||||||
<value></value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
|
||||||
<value>all</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
|
||||||
<value>-j3</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
|
||||||
<value>make</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
|
||||||
<value>${workspace_loc:/moses-chart-cmd/Debug}</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
|
||||||
<value>clean</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.contents</key>
|
|
||||||
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
|
||||||
<value>false</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
|
||||||
<value>all</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
|
||||||
</natures>
|
|
||||||
<linkedResources>
|
|
||||||
<link>
|
|
||||||
<name>Jamfile</name>
|
|
||||||
<type>1</type>
|
|
||||||
<locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/Jamfile</locationURI>
|
|
||||||
</link>
|
|
||||||
<link>
|
|
||||||
<name>Main.cpp</name>
|
|
||||||
<type>1</type>
|
|
||||||
<locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/Main.cpp</locationURI>
|
|
||||||
</link>
|
|
||||||
<link>
|
|
||||||
<name>Main.h</name>
|
|
||||||
<type>1</type>
|
|
||||||
<locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/Main.h</locationURI>
|
|
||||||
</link>
|
|
||||||
<link>
|
|
||||||
<name>mbr.cpp</name>
|
|
||||||
<type>1</type>
|
|
||||||
<locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/mbr.cpp</locationURI>
|
|
||||||
</link>
|
|
||||||
<link>
|
|
||||||
<name>mbr.h</name>
|
|
||||||
<type>1</type>
|
|
||||||
<locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/mbr.h</locationURI>
|
|
||||||
</link>
|
|
||||||
</linkedResources>
|
|
||||||
</projectDescription>
|
|
@ -1,2 +0,0 @@
|
|||||||
exe moses_chart : Main.cpp mbr.cpp ../moses//moses $(TOP)//boost_iostreams ..//boost_filesystem ..//z ;
|
|
||||||
|
|
@ -1,169 +0,0 @@
|
|||||||
// $Id$
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
Moses - factored phrase-based language decoder
|
|
||||||
Copyright (c) 2006 University of Edinburgh
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of the University of Edinburgh nor the names of its contributors
|
|
||||||
may be used to endorse or promote products derived from this software
|
|
||||||
without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
|
||||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
***********************************************************************/
|
|
||||||
|
|
||||||
// example file on how to use moses library
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
// Include Visual Leak Detector
|
|
||||||
//#include <vld.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <exception>
|
|
||||||
#include <fstream>
|
|
||||||
#include "Main.h"
|
|
||||||
#include "moses/TranslationAnalysis.h"
|
|
||||||
#include "mbr.h"
|
|
||||||
#include "moses/IOWrapper.h"
|
|
||||||
|
|
||||||
#include "moses/FactorCollection.h"
|
|
||||||
#include "moses/HypergraphOutput.h"
|
|
||||||
#include "moses/Manager.h"
|
|
||||||
#include "moses/Phrase.h"
|
|
||||||
#include "moses/Util.h"
|
|
||||||
#include "moses/Timer.h"
|
|
||||||
#include "moses/Sentence.h"
|
|
||||||
#include "moses/ConfusionNet.h"
|
|
||||||
#include "moses/WordLattice.h"
|
|
||||||
#include "moses/TreeInput.h"
|
|
||||||
#include "moses/ThreadPool.h"
|
|
||||||
#include "moses/ChartManager.h"
|
|
||||||
#include "moses/ChartHypothesis.h"
|
|
||||||
#include "moses/FF/StatefulFeatureFunction.h"
|
|
||||||
#include "moses/FF/StatelessFeatureFunction.h"
|
|
||||||
#include "moses/TranslationTask.h"
|
|
||||||
|
|
||||||
#include "util/usage.hh"
|
|
||||||
#include "util/exception.hh"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
using namespace Moses;
|
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
IFVERBOSE(1) {
|
|
||||||
TRACE_ERR("command: ");
|
|
||||||
for(int i=0; i<argc; ++i) TRACE_ERR(argv[i]<<" ");
|
|
||||||
TRACE_ERR(endl);
|
|
||||||
}
|
|
||||||
|
|
||||||
IOWrapper::FixPrecision(cout);
|
|
||||||
IOWrapper::FixPrecision(cerr);
|
|
||||||
|
|
||||||
// load data structures
|
|
||||||
Parameter parameter;
|
|
||||||
if (!parameter.LoadParam(argc, argv)) {
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
const StaticData &staticData = StaticData::Instance();
|
|
||||||
if (!StaticData::LoadDataStatic(¶meter, argv[0]))
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
|
|
||||||
if (parameter.isParamSpecified("show-weights")) {
|
|
||||||
ShowWeights();
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
UTIL_THROW_IF2(!staticData.IsChart(), "Must be SCFG model");
|
|
||||||
|
|
||||||
// set up read/writing class
|
|
||||||
IOWrapper *ioWrapper = IOWrapper::GetIOWrapper(staticData);
|
|
||||||
|
|
||||||
// check on weights
|
|
||||||
const ScoreComponentCollection& weights = staticData.GetAllWeights();
|
|
||||||
IFVERBOSE(2) {
|
|
||||||
TRACE_ERR("The global weight vector looks like this: ");
|
|
||||||
TRACE_ERR(weights);
|
|
||||||
TRACE_ERR("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
boost::shared_ptr<HypergraphOutput<ChartManager> > hypergraphOutput;
|
|
||||||
if (staticData.GetOutputSearchGraphHypergraph()) {
|
|
||||||
hypergraphOutput.reset(new HypergraphOutput<ChartManager>(3));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ioWrapper == NULL)
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
|
|
||||||
#ifdef WITH_THREADS
|
|
||||||
ThreadPool pool(staticData.ThreadCount());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// read each sentence & decode
|
|
||||||
InputType *source=NULL;
|
|
||||||
size_t lineCount = staticData.GetStartTranslationId();
|
|
||||||
while(ioWrapper->ReadInput(*ioWrapper,staticData.GetInputType(),source)) {
|
|
||||||
source->SetTranslationId(lineCount);
|
|
||||||
IFVERBOSE(1)
|
|
||||||
ResetUserTime();
|
|
||||||
|
|
||||||
FeatureFunction::CallChangeSource(source);
|
|
||||||
|
|
||||||
TranslationTask *task = new TranslationTask(source, *ioWrapper, hypergraphOutput);
|
|
||||||
source = NULL; // task will delete source
|
|
||||||
#ifdef WITH_THREADS
|
|
||||||
pool.Submit(task); // pool will delete task
|
|
||||||
#else
|
|
||||||
task->Run();
|
|
||||||
delete task;
|
|
||||||
#endif
|
|
||||||
++lineCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef WITH_THREADS
|
|
||||||
pool.Stop(true); // flush remaining jobs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
delete ioWrapper;
|
|
||||||
FeatureFunction::Destroy();
|
|
||||||
|
|
||||||
IFVERBOSE(1)
|
|
||||||
PrintUserTime("End.");
|
|
||||||
|
|
||||||
} catch (const std::exception &e) {
|
|
||||||
std::cerr << "Exception: " << e.what() << std::endl;
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
IFVERBOSE(1) util::PrintUsage(std::cerr);
|
|
||||||
|
|
||||||
#ifndef EXIT_RETURN
|
|
||||||
//This avoids that detructors are called (it can take a long time)
|
|
||||||
exit(EXIT_SUCCESS);
|
|
||||||
#else
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
// $Id$
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
Moses - factored phrase-based language decoder
|
|
||||||
Copyright (c) 2006 University of Edinburgh
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of the University of Edinburgh nor the names of its contributors
|
|
||||||
may be used to endorse or promote products derived from this software
|
|
||||||
without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
|
||||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
***********************************************************************/
|
|
||||||
|
|
||||||
// example file on how to use moses library
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "moses/StaticData.h"
|
|
||||||
|
|
||||||
int main(int argc, char* argv[]);
|
|
@ -1,172 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
|
||||||
#include <sstream>
|
|
||||||
#include <iomanip>
|
|
||||||
#include <vector>
|
|
||||||
#include <map>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "moses/TrellisPathList.h"
|
|
||||||
#include "moses/TrellisPath.h"
|
|
||||||
#include "moses/StaticData.h"
|
|
||||||
#include "moses/Util.h"
|
|
||||||
|
|
||||||
#include "mbr.h"
|
|
||||||
|
|
||||||
using namespace std ;
|
|
||||||
using namespace Moses;
|
|
||||||
|
|
||||||
|
|
||||||
/* Input :
|
|
||||||
1. a sorted n-best list, with duplicates filtered out in the following format
|
|
||||||
0 ||| amr moussa is currently on a visit to libya , tomorrow , sunday , to hold talks with regard to the in sudan . ||| 0 -4.94418 0 0 -2.16036 0 0 -81.4462 -106.593 -114.43 -105.55 -12.7873 -26.9057 -25.3715 -52.9336 7.99917 -24 ||| -4.58432
|
|
||||||
|
|
||||||
2. a weight vector
|
|
||||||
3. bleu order ( default = 4)
|
|
||||||
4. scaling factor to weigh the weight vector (default = 1.0)
|
|
||||||
|
|
||||||
Output :
|
|
||||||
translations that minimise the Bayes Risk of the n-best list
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
int BLEU_ORDER = 4;
|
|
||||||
int SMOOTH = 1;
|
|
||||||
int DEBUG = 0;
|
|
||||||
float min_interval = 1e-4;
|
|
||||||
void extract_ngrams(const vector<const Factor* >& sentence, map < vector < const Factor* >, int > & allngrams)
|
|
||||||
{
|
|
||||||
vector< const Factor* > ngram;
|
|
||||||
for (int k = 0; k < BLEU_ORDER; k++) {
|
|
||||||
for(int i =0; i < max((int)sentence.size()-k,0); i++) {
|
|
||||||
for ( int j = i; j<= i+k; j++) {
|
|
||||||
ngram.push_back(sentence[j]);
|
|
||||||
}
|
|
||||||
++allngrams[ngram];
|
|
||||||
ngram.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float calculate_score(const vector< vector<const Factor*> > & sents, int ref, int hyp, vector < map < vector < const Factor *>, int > > & ngram_stats )
|
|
||||||
{
|
|
||||||
int comps_n = 2*BLEU_ORDER+1;
|
|
||||||
vector<int> comps(comps_n);
|
|
||||||
float logbleu = 0.0, brevity;
|
|
||||||
|
|
||||||
int hyp_length = sents[hyp].size();
|
|
||||||
|
|
||||||
for (int i =0; i<BLEU_ORDER; i++) {
|
|
||||||
comps[2*i] = 0;
|
|
||||||
comps[2*i+1] = max(hyp_length-i,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
map< vector < const Factor * > ,int > & hyp_ngrams = ngram_stats[hyp] ;
|
|
||||||
map< vector < const Factor * >, int > & ref_ngrams = ngram_stats[ref] ;
|
|
||||||
|
|
||||||
for (map< vector< const Factor * >, int >::iterator it = hyp_ngrams.begin();
|
|
||||||
it != hyp_ngrams.end(); it++) {
|
|
||||||
map< vector< const Factor * >, int >::iterator ref_it = ref_ngrams.find(it->first);
|
|
||||||
if(ref_it != ref_ngrams.end()) {
|
|
||||||
comps[2* (it->first.size()-1)] += min(ref_it->second,it->second);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
comps[comps_n-1] = sents[ref].size();
|
|
||||||
|
|
||||||
if (DEBUG) {
|
|
||||||
for ( int i = 0; i < comps_n; i++)
|
|
||||||
cerr << "Comp " << i << " : " << comps[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i=0; i<BLEU_ORDER; i++) {
|
|
||||||
if (comps[0] == 0)
|
|
||||||
return 0.0;
|
|
||||||
if ( i > 0 )
|
|
||||||
logbleu += log((float)comps[2*i]+SMOOTH)-log((float)comps[2*i+1]+SMOOTH);
|
|
||||||
else
|
|
||||||
logbleu += log((float)comps[2*i])-log((float)comps[2*i+1]);
|
|
||||||
}
|
|
||||||
logbleu /= BLEU_ORDER;
|
|
||||||
brevity = 1.0-(float)comps[comps_n-1]/comps[1]; // comps[comps_n-1] is the ref length, comps[1] is the test length
|
|
||||||
if (brevity < 0.0)
|
|
||||||
logbleu += brevity;
|
|
||||||
return exp(logbleu);
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<const Factor*> doMBR(const TrellisPathList& nBestList)
|
|
||||||
{
|
|
||||||
// cerr << "Sentence " << sent << " has " << sents.size() << " candidate translations" << endl;
|
|
||||||
float marginal = 0;
|
|
||||||
|
|
||||||
vector<float> joint_prob_vec;
|
|
||||||
vector< vector<const Factor*> > translations;
|
|
||||||
float joint_prob;
|
|
||||||
vector< map < vector <const Factor *>, int > > ngram_stats;
|
|
||||||
|
|
||||||
TrellisPathList::const_iterator iter;
|
|
||||||
//TrellisPath* hyp = NULL;
|
|
||||||
for (iter = nBestList.begin() ; iter != nBestList.end() ; ++iter) {
|
|
||||||
const TrellisPath &path = **iter;
|
|
||||||
joint_prob = UntransformScore(StaticData::Instance().GetMBRScale() * path.GetScoreBreakdown().GetWeightedScore());
|
|
||||||
marginal += joint_prob;
|
|
||||||
joint_prob_vec.push_back(joint_prob);
|
|
||||||
//Cache ngram counts
|
|
||||||
map < vector < const Factor *>, int > counts;
|
|
||||||
vector<const Factor*> translation;
|
|
||||||
GetOutputFactors(path, translation);
|
|
||||||
|
|
||||||
//TO DO
|
|
||||||
extract_ngrams(translation,counts);
|
|
||||||
ngram_stats.push_back(counts);
|
|
||||||
translations.push_back(translation);
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<float> mbr_loss;
|
|
||||||
float bleu, weightedLoss;
|
|
||||||
float weightedLossCumul = 0;
|
|
||||||
float minMBRLoss = 1000000;
|
|
||||||
int minMBRLossIdx = -1;
|
|
||||||
|
|
||||||
/* Main MBR computation done here */
|
|
||||||
for (size_t i = 0; i < nBestList.GetSize(); i++) {
|
|
||||||
weightedLossCumul = 0;
|
|
||||||
for (size_t j = 0; j < nBestList.GetSize(); j++) {
|
|
||||||
if ( i != j) {
|
|
||||||
bleu = calculate_score(translations, j, i,ngram_stats );
|
|
||||||
weightedLoss = ( 1 - bleu) * ( joint_prob_vec[j]/marginal);
|
|
||||||
weightedLossCumul += weightedLoss;
|
|
||||||
if (weightedLossCumul > minMBRLoss)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (weightedLossCumul < minMBRLoss) {
|
|
||||||
minMBRLoss = weightedLossCumul;
|
|
||||||
minMBRLossIdx = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Find sentence that minimises Bayes Risk under 1- BLEU loss */
|
|
||||||
return translations[minMBRLossIdx];
|
|
||||||
}
|
|
||||||
|
|
||||||
void GetOutputFactors(const TrellisPath &path, vector <const Factor*> &translation)
|
|
||||||
{
|
|
||||||
const std::vector<const Hypothesis *> &edges = path.GetEdges();
|
|
||||||
const std::vector<FactorType>& outputFactorOrder = StaticData::Instance().GetOutputFactorOrder();
|
|
||||||
assert (outputFactorOrder.size() == 1);
|
|
||||||
|
|
||||||
// print the surface factor of the translation
|
|
||||||
for (int currEdge = (int)edges.size() - 1 ; currEdge >= 0 ; currEdge--) {
|
|
||||||
const Hypothesis &edge = *edges[currEdge];
|
|
||||||
const Phrase &phrase = edge.GetCurrTargetPhrase();
|
|
||||||
size_t size = phrase.GetSize();
|
|
||||||
for (size_t pos = 0 ; pos < size ; pos++) {
|
|
||||||
|
|
||||||
const Factor *factor = phrase.GetFactor(pos, outputFactorOrder[0]);
|
|
||||||
translation.push_back(factor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
// $Id$
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
Moses - factored phrase-based language decoder
|
|
||||||
Copyright (C) 2006 University of Edinburgh
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
***********************************************************************/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include <map>
|
|
||||||
#include "moses/TrellisPathList.h"
|
|
||||||
#include "moses/TrellisPath.h"
|
|
||||||
#include "moses/Factor.h"
|
|
||||||
|
|
||||||
std::vector<const Moses::Factor*> doMBR(const Moses::TrellisPathList& nBestList);
|
|
||||||
void GetOutputFactors(const Moses::TrellisPath &path, std::vector <const Moses::Factor*> &translation);
|
|
||||||
float calculate_score(const std::vector< std::vector<const Moses::Factor*> > & sents, int ref, int hyp, std::vector < std::map < std::vector < const Moses::Factor *>, int > > & ngram_stats );
|
|
||||||
|
|
@ -84,8 +84,8 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set number of significant decimals in output
|
// set number of significant decimals in output
|
||||||
fix(cout,PRECISION);
|
IOWrapper::FixPrecision(cout);
|
||||||
fix(cerr,PRECISION);
|
IOWrapper::FixPrecision(cerr);
|
||||||
|
|
||||||
// load all the settings into the Parameter class
|
// load all the settings into the Parameter class
|
||||||
// (stores them as strings, or array of strings)
|
// (stores them as strings, or array of strings)
|
||||||
@ -128,9 +128,17 @@ int main(int argc, char** argv)
|
|||||||
TRACE_ERR(weights);
|
TRACE_ERR(weights);
|
||||||
TRACE_ERR("\n");
|
TRACE_ERR("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::shared_ptr<HypergraphOutput<Manager> > hypergraphOutput;
|
boost::shared_ptr<HypergraphOutput<Manager> > hypergraphOutput;
|
||||||
|
boost::shared_ptr<HypergraphOutput<ChartManager> > hypergraphOutputChart;
|
||||||
|
|
||||||
if (staticData.GetOutputSearchGraphHypergraph()) {
|
if (staticData.GetOutputSearchGraphHypergraph()) {
|
||||||
hypergraphOutput.reset(new HypergraphOutput<Manager>(PRECISION));
|
if (staticData.IsChart()) {
|
||||||
|
hypergraphOutputChart.reset(new HypergraphOutput<ChartManager>(PRECISION));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
hypergraphOutput.reset(new HypergraphOutput<Manager>(PRECISION));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_THREADS
|
#ifdef WITH_THREADS
|
||||||
@ -149,10 +157,18 @@ int main(int argc, char** argv)
|
|||||||
FeatureFunction::CallChangeSource(source);
|
FeatureFunction::CallChangeSource(source);
|
||||||
|
|
||||||
// set up task of translating one sentence
|
// set up task of translating one sentence
|
||||||
TranslationTask* task =
|
TranslationTask* task;
|
||||||
new TranslationTask(source, *ioWrapper,
|
if (staticData.IsChart()) {
|
||||||
staticData.GetOutputSearchGraphSLF(),
|
// scfg
|
||||||
hypergraphOutput);
|
task = new TranslationTask(source, *ioWrapper, hypergraphOutputChart);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// pb
|
||||||
|
task = new TranslationTask(source, *ioWrapper,
|
||||||
|
staticData.GetOutputSearchGraphSLF(),
|
||||||
|
hypergraphOutput);
|
||||||
|
}
|
||||||
|
|
||||||
// execute task
|
// execute task
|
||||||
#ifdef WITH_THREADS
|
#ifdef WITH_THREADS
|
||||||
pool.Submit(task);
|
pool.Submit(task);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#pragma once
|
||||||
// $Id$
|
// $Id$
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
@ -32,12 +33,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
// example file on how to use moses library
|
// example file on how to use moses library
|
||||||
|
|
||||||
#ifndef moses_cmd_Main_h
|
|
||||||
#define moses_cmd_Main_h
|
|
||||||
|
|
||||||
#include "moses/StaticData.h"
|
#include "moses/StaticData.h"
|
||||||
|
|
||||||
class IOWrapper;
|
class IOWrapper;
|
||||||
|
|
||||||
int main(int argc, char* argv[]);
|
int main(int argc, char* argv[]);
|
||||||
#endif
|
|
||||||
|
@ -25,7 +25,7 @@ if $(with-regtest) {
|
|||||||
$(TOP)/regression-testing/run-single-test.perl --decoder=$(>) --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) && touch $(<)
|
$(TOP)/regression-testing/run-single-test.perl --decoder=$(>) --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) && touch $(<)
|
||||||
}
|
}
|
||||||
reg_test phrase : [ glob $(test-dir)/phrase.* ] : ../moses-cmd//moses : @reg_test_decode ;
|
reg_test phrase : [ glob $(test-dir)/phrase.* ] : ../moses-cmd//moses : @reg_test_decode ;
|
||||||
reg_test chart : [ glob $(test-dir)/chart.* ] : ../moses-chart-cmd//moses_chart : @reg_test_decode ;
|
reg_test chart : [ glob $(test-dir)/chart.* ] : ../moses-cmd//moses : @reg_test_decode ;
|
||||||
|
|
||||||
actions reg_test_score {
|
actions reg_test_score {
|
||||||
$(TOP)/regression-testing/run-test-scorer.perl --scorer=$(>) --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) && touch $(<)
|
$(TOP)/regression-testing/run-test-scorer.perl --scorer=$(>) --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) && touch $(<)
|
||||||
|
Loading…
Reference in New Issue
Block a user