Spaces:
Running
Running
Upload portTok.py
Browse files
src/portTokenizer/portTok.py
CHANGED
|
@@ -43,7 +43,7 @@ lex = lexikon.UDlexPT()
|
|
| 43 |
#################################################
|
| 44 |
def parseOptions(arguments):
|
| 45 |
# default options
|
| 46 |
-
output_file, input_file, preserve, match, trim, model = "", [], False, False, False, "
|
| 47 |
i = 1
|
| 48 |
while i < len(arguments):
|
| 49 |
if (arguments[i][0] == "-"):
|
|
@@ -54,11 +54,11 @@ def parseOptions(arguments):
|
|
| 54 |
"-m corrige pontuações casadas (aspas, parenteses, etc)", \
|
| 55 |
"-t remove possíveis MANCHETES que precedem as frases", \
|
| 56 |
"Exemplo de utilização:", \
|
| 57 |
-
"portTok -o sents.conllu -m -t -s
|
| 58 |
"Busca as sentenças no arquivo 'sents.txt',", \
|
| 59 |
" corrige pontuações casadas (aspas, parenteses, etc),", \
|
| 60 |
" remove possíveis MANCHETES que precedem as frases", \
|
| 61 |
-
" usa
|
| 62 |
" salva as sentenças devidamente tokenizadas no arquivo 'sents.conllu''", \
|
| 63 |
sep="\n")
|
| 64 |
return None
|
|
@@ -221,10 +221,10 @@ def tagIt(s):
|
|
| 221 |
# Clear matching punctuations - punctIt (step 3)
|
| 222 |
#############################################################################
|
| 223 |
def punctIt(s):
|
| 224 |
-
def
|
| 225 |
ans = True
|
| 226 |
for c in sent:
|
| 227 |
-
if c.isalpha():
|
| 228 |
ans = False
|
| 229 |
break
|
| 230 |
return ans
|
|
@@ -259,7 +259,7 @@ def punctIt(s):
|
|
| 259 |
S = S.replace("{", "").replace("}", "")
|
| 260 |
if (openAligator != closAligator):
|
| 261 |
S = S.replace("<", "").replace(">", "")
|
| 262 |
-
if (S == "") or (
|
| 263 |
return ""
|
| 264 |
elif (S[-2:] == "..") and S[-3:] != "...":
|
| 265 |
S = S[:-2]+"."
|
|
@@ -871,7 +871,8 @@ def dealWith(outfile, sent, SID, preserve, match, trim):
|
|
| 871 |
def portTok():
|
| 872 |
if (len(sys.argv) == 1):
|
| 873 |
#arguments = ["/Users/pf64/Desktop/alienista/alienista_empty.conllu", "/Users/pf64/Desktop/alienista/alienista.txt", False, True, False, "ATENISTA_SENT0000"]
|
| 874 |
-
arguments = ["
|
|
|
|
| 875 |
print("Assumindo default: 'sents.conllu' como arquivo de saída, 'sents.txt' como arquivo de entrada, correções, remoções e S0000 como sid.")
|
| 876 |
else:
|
| 877 |
arguments = parseOptions(sys.argv)
|
|
|
|
| 43 |
#################################################
|
| 44 |
def parseOptions(arguments):
|
| 45 |
# default options
|
| 46 |
+
output_file, input_file, preserve, match, trim, model = "", [], False, False, False, "S000000"
|
| 47 |
i = 1
|
| 48 |
while i < len(arguments):
|
| 49 |
if (arguments[i][0] == "-"):
|
|
|
|
| 54 |
"-m corrige pontuações casadas (aspas, parenteses, etc)", \
|
| 55 |
"-t remove possíveis MANCHETES que precedem as frases", \
|
| 56 |
"Exemplo de utilização:", \
|
| 57 |
+
"portTok -o sents.conllu -m -t -s S000000 sents.txt", \
|
| 58 |
"Busca as sentenças no arquivo 'sents.txt',", \
|
| 59 |
" corrige pontuações casadas (aspas, parenteses, etc),", \
|
| 60 |
" remove possíveis MANCHETES que precedem as frases", \
|
| 61 |
+
" usa S0000000 como modelo de identificador de sentença e"
|
| 62 |
" salva as sentenças devidamente tokenizadas no arquivo 'sents.conllu''", \
|
| 63 |
sep="\n")
|
| 64 |
return None
|
|
|
|
| 221 |
# Clear matching punctuations - punctIt (step 3)
|
| 222 |
#############################################################################
|
| 223 |
def punctIt(s):
|
| 224 |
+
def notAlphaNum(sent):
|
| 225 |
ans = True
|
| 226 |
for c in sent:
|
| 227 |
+
if c.isalpha() or c.isdigit():
|
| 228 |
ans = False
|
| 229 |
break
|
| 230 |
return ans
|
|
|
|
| 259 |
S = S.replace("{", "").replace("}", "")
|
| 260 |
if (openAligator != closAligator):
|
| 261 |
S = S.replace("<", "").replace(">", "")
|
| 262 |
+
if (S == "") or (notAlphaNum(S) and ()):
|
| 263 |
return ""
|
| 264 |
elif (S[-2:] == "..") and S[-3:] != "...":
|
| 265 |
S = S[:-2]+"."
|
|
|
|
| 871 |
def portTok():
|
| 872 |
if (len(sys.argv) == 1):
|
| 873 |
#arguments = ["/Users/pf64/Desktop/alienista/alienista_empty.conllu", "/Users/pf64/Desktop/alienista/alienista.txt", False, True, False, "ATENISTA_SENT0000"]
|
| 874 |
+
#arguments = ["/Users/pf64/Desktop/tst.conllu", "/Users/pf64/Desktop/tst.txt", True, True, True, "S000000"]
|
| 875 |
+
arguments = ["sents.conllu", "sents.txt", True, True, True, "S000000"]
|
| 876 |
print("Assumindo default: 'sents.conllu' como arquivo de saída, 'sents.txt' como arquivo de entrada, correções, remoções e S0000 como sid.")
|
| 877 |
else:
|
| 878 |
arguments = parseOptions(sys.argv)
|