cleanup, new test script

This commit is contained in:
Rafał Jaworski 2017-01-22 22:02:21 +01:00
parent 2a1549a4ac
commit 28cf9f94a1
3 changed files with 116 additions and 1 deletions

17
.gitignore vendored
View File

@ -16,3 +16,20 @@ db/pgbouncer.ini
upstart/concordia-server.conf upstart/concordia-server.conf
upstart/pgbouncer.conf upstart/pgbouncer.conf
cat/host.cfg cat/host.cfg
mgiza-aligner/mgiza/mgizapp/CMakeCache.txt
mgiza-aligner/mgiza/mgizapp/CMakeFiles/
mgiza-aligner/mgiza/mgizapp/Makefile
mgiza-aligner/mgiza/mgizapp/bin/
mgiza-aligner/mgiza/mgizapp/cmake_install.cmake
mgiza-aligner/mgiza/mgizapp/lib/
mgiza-aligner/mgiza/mgizapp/scripts/CMakeFiles/
mgiza-aligner/mgiza/mgizapp/scripts/Makefile
mgiza-aligner/mgiza/mgizapp/scripts/cmake_install.cmake
mgiza-aligner/mgiza/mgizapp/src/-MT
mgiza-aligner/mgiza/mgizapp/src/CMakeFiles/
mgiza-aligner/mgiza/mgizapp/src/Makefile
mgiza-aligner/mgiza/mgizapp/src/cmake_install.cmake
mgiza-aligner/mgiza/mgizapp/src/mkcls/-MT
mgiza-aligner/mgiza/mgizapp/src/mkcls/CMakeFiles/
mgiza-aligner/mgiza/mgizapp/src/mkcls/Makefile
mgiza-aligner/mgiza/mgizapp/src/mkcls/cmake_install.cmake

View File

@ -2,7 +2,7 @@ dir@#@jrc_plen
concordia_host@#@concordia.vm.wmi.amu.edu.pl concordia_host@#@concordia.vm.wmi.amu.edu.pl
concordia_port@#@8800 concordia_port@#@8800
tmid@#@1 tmid@#@1
desc@#@Witamy w interaktywnym demo systemu Concordia. System znajduje najdłuższe fragmenty zdania wejściowego w pamięci tłumaczeń. W pamięci tej znajduje się 200 000 zdań z polsko-angielskiego korpusu ustawodawstwa Unii Europejskiej. Proszę wpisać polskie zdanie w poniższe pole i nacisnąć Enter (albo użyć przycisku "search"). Ta wersja Concordii działa najlepiej ze zdaniami prawniczymi, ale jest bardzo prawdopodobne, że uzyska się jakiekolwiek wyniki dla dowolnego polskiego zdania. Aby zapoznać się z systemem możesz użyć wcześniej przygotowanych przykładów - po prostu kliknij link "show/hide samples" a następnie przycisk "apply" przy wybranym przykładzie. Po wyszukaniu, kliknij na wybrany podświetlony fragment, aby zobaczyć jego kontekst. desc@#@Witamy w interaktywnym demo systemu Concordia. System znajduje najdłuższe fragmenty zdania wejściowego w pamięci tłumaczeń. W pamięci tej znajduje się 200 000 zdań z polsko-angielskiego korpusu ustawodawstwa Unii Europejskiej JRC-Acquis. Proszę wpisać polskie zdanie w poniższe pole i nacisnąć Enter (albo użyć przycisku "search"). Ta wersja Concordii działa najlepiej ze zdaniami prawniczymi, ale jest bardzo prawdopodobne, że znalezione zostaną choćby krótkie fragmenty dowolnego polskiego zdania. Aby zapoznać się z systemem możesz użyć wcześniej przygotowanych przykładów - po prostu kliknij link "apply" przy wybranym przykładzie. Po wyszukaniu, kliknij na wybrany podświetlony fragment, aby zobaczyć jego kontekst.
enjoy@#@Życzymy udanej pracy z systemem! enjoy@#@Życzymy udanej pracy z systemem!
prompt@#@Wprowadź zdanie (po polsku): prompt@#@Wprowadź zdanie (po polsku):
suggestion@#@Na każde państwo członkowskie Unii Europejskiej przypada jeden komisarz. suggestion@#@Na każde państwo członkowskie Unii Europejskiej przypada jeden komisarz.

98
tests/addAlignedFileToTM.py Executable file
View File

@ -0,0 +1,98 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
import unittest
import json
import urllib2
import sys
import host
import time
BUFFER_SIZE = 500
address = 'http://'+host.concordia_host
if len(host.concordia_port) > 0:
address += ':'+host.concordia_port
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 1
def add_data(data):
req = urllib2.Request(address)
req.add_header('Content-Type', 'application/json')
json.loads(urllib2.urlopen(req, json.dumps(data)).read())
sourceFile = sys.argv[1]
soURCeLangId = int(sys.argv[2])
targetLangId = int(sys.argv[3])
name = sys.argv[4]
totalLines = file_len(sourceFile)
data = {
'operation': 'addTm',
'sourceLangId':sourceLangId,
'targetLangId':targetLangId,
'name':name
}
req = urllib2.Request(address)
req.add_header('Content-Type', 'application/json')
response = json.loads(urllib2.urlopen(req, json.dumps(data)).read())
tmId = int(response['newTmId'])
print "Added new tm: %d" % tmId
data = {
'operation': 'addAlignedSentences',
'tmId':tmId
}
sentences = []
currSentence = []
start = time.time()
with open(sourceFile) as sourceLines:
lineNumber = 0
for line in sourceLines:
line = line.strip()
if lineNumber % 3 == 1:
currSentence.append(line)
elif lineNumber % 3 == 2:
currSentence.append(line)
currSentence.reverse()
sentences.append(currSentence)
currSentence = []
if len(sentences) >= BUFFER_SIZE:
data['sentences'] = sentences
add_data(data)
mark = time.time()
print "Added %d of %d sentences. Time elapsed: %.4f s, current speed: %.4f sentences/second" % ( (lineNumber+1)/3, totalLines/3, mark-start, (lineNumber+1)/(3*(mark-start)))
sentences = []
lineNumber += 1
if len(sentences) > 0:
data['sentences'] = sentences
add_data(data)
end = time.time()
print "Added all %d sentences. Time elapsed: %.4f s, overall speed: %.4f sentences/second" % ((lineNumber+1)/3, end-start, (lineNumber+1)/(3*(end-start)))
print "Generating index..."
start = time.time()
data = {
'operation': 'refreshIndex',
'tmId' : tmId
}
req = urllib2.Request(address)
req.add_header('Content-Type', 'application/json')
urllib2.urlopen(req, json.dumps(data)).read()
end = time.time()
print "Index regeneration complete. The operation took %.4f s" % (end - start)