Commit a84e0b4b authored by Tomasz Walkowiak's avatar Tomasz Walkowiak

new version

parent e4671b10
Pipeline #2556 failed with stages
in 23 seconds
src/__pycache__/
......@@ -7,9 +7,9 @@ services:
working_dir: /home/worker
entrypoint:
- python3.6
#- category.py
- main.py
- service
- src/category.py
#- main.py
#- service
environment:
- PYTHONUNBUFFERED=0
volumes:
......
......@@ -7,6 +7,8 @@ import tempfile
import shutil
import os
KEY = "__SENTENCES__"
class Model:
"""Model."""
......@@ -38,10 +40,10 @@ class Model:
var = row[1].value
synset = row[3].value if len(row) > 3 else None
if synset is not None:
self.synsets[str(synset)] = tag
self.synsets[str(synset)] = (tag, lemma)
else:
if var is not None:
self.variants[lemma + "." + str(var)] = tag
self.variants[lemma + "." + str(var)] = (tag, lemma)
else:
self.lemmas[lemma] = tag
wb.close()
......@@ -71,6 +73,22 @@ class Category:
stat[cat] = 0
stat[cat] += 1
def to_sentence(self, sentence):
"""."""
res = ""
for token in sentence.iter("tok"):
res += token.find("./orth").text + " "
return res
def add(self, stat, cat, what, sentence):
"""."""
stat = stat[KEY]
if cat not in stat:
stat[cat] = {}
if what not in stat[cat]:
stat[cat][what] = []
stat[cat][what].append(self.to_sentence(sentence))
def process(self, inputFile, taskOptions, outputFile, XLSXpath):
"""."""
path = ""
......@@ -78,46 +96,50 @@ class Category:
path = XLSXpath + taskOptions["path"]
model = self.get_model(path)
tree = ET.parse(inputFile)
stat = {"tokens": 0}
stat = {"tokens": 0, KEY: {}}
for sentence in tree.iter("sentence"):
for token in sentence.iter("tok"):
base = token.find("./lex/base").text
stat["tokens"] += 1
if base is None or len(base) == 0:
continue
found = False
for prop in token.iter("prop"):
if prop.attrib["key"] == "sense:ukb:syns_id":
id = str(prop.text)
if id in model.synsets and model.synsets[id][1] == base:
self.add(stat, model.synsets[id][0], id, sentence)
self.inc(stat, model.synsets[id][0])
if self.verbose:
print("Synset %s, category %s" % (id,
model.synsets[id][0]))
found = True
break
for token in tree.iter("tok"):
base = token.find("./lex/base").text
stat["tokens"] += 1
if base is None or len(base) == 0:
continue
found = False
for prop in token.iter("prop"):
if prop.attrib["key"] == "sense:ukb:syns_id":
id = str(prop.text)
if id in model.synsets:
self.inc(stat, model.synsets[id])
if self.verbose:
print("Synset %s, category %s" % (id,
model.synsets[id]))
found = True
break
if prop.attrib["key"] == "sense:ukb:unitsstr":
for elem in prop.text.split(" "):
els = elem.split(" ")
for el in els:
el = el.split("(")[0]
if el in model.variants:
self.inc(stat, model.variants[el])
if self.verbose:
print("Variant %s, category %s" % (el,
model.variants[el]))
found = True
if prop.attrib["key"] == "sense:ukb:unitsstr":
for elem in prop.text.split(" "):
els = elem.split(" ")
for el in els:
el = el.split("(")[0]
if el in model.variants and model.variants[el][1] == base:
self.add(stat, model.variants[el][0], id, sentence)
self.inc(stat, model.variants[el][0])
if self.verbose:
print("Variant %s, category %s" % (el,
model.variants[el][0]))
found = True
break
if found:
break
if found:
break
if not found:
if base in model.lemmas:
self.inc(stat, model.lemmas[base])
if self.verbose:
print("Base %s, category %s" % (base,
model.lemmas[base]))
if not found:
if base in model.lemmas:
self.add(stat, model.lemmas[base], base, sentence)
self.inc(stat, model.lemmas[base])
if self.verbose:
print("Base %s, category %s" % (base,
model.lemmas[base]))
if self.verbose:
print(stat)
......@@ -128,8 +150,8 @@ class Category:
def main():
"""Runs the program."""
cat = Category(verbose=True)
cat.process("../test/test1.ccl", {"path": "/test/test.xlsx"},
"../test/test1_out.json", "..")
cat.process("./test/test1.ccl", {"path": "/test/test.xlsx", "full": True},
"./test/test1_out.json", ".")
if __name__ == "__main__":
......
{"tokens":235,"Insight":5,"Causation":5}
\ No newline at end of file
{"tokens":235,"__SENTENCES__":{"Insight":{"4400":["jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 "],"55706":["jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 "],"2964":["jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 "],"1724":["Czasami my\u015bl\u0119 , \u017ce to wszystko si\u0119 sta\u0142o , bo nie by\u0142 em wystarczaj\u0105co uparty . "],"56596":["Inaczej na\u015bwietlam teraz te spraw\u0119 dlatego ze lepiej to rozumiem . "]},"Causation":{"dlatego":["jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 ","Inaczej na\u015bwietlam teraz te spraw\u0119 dlatego ze lepiej to rozumiem . "],"bo":["jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 ","jak ju\u017c m\u00f3wi\u0142 em nie wiem czy m\u00f3wi\u0142 em mieszka\u0142 em jaki\u015b czas we Wroc\u0142awiu je\u015bli mia\u0142em z\u0142u humor mia\u0142em chandr\u0119 i chcia\u0142 em si\u0119 jako\u015b lepiej poczu\u0107 wychodzi\u0142 em po prostu na miasto w nocy Wroc\u0142aw jest bardzo pi\u0119knym miastem w nocy wszystko jest bardzo \u0142adnie o\u015bwietlone dlatego to by\u0142a dla mnie taka cisza spokoju plus do tego odpowiednia muzyka kt\u00f3ra mnie dodatkowo nastraja\u0142a \u017ce mog\u0142 em sobie usi\u0105\u015b\u0107 na \u0142awce i przesiedzie\u0107 na niej dwie godziny gapi\u0105c si\u0119 w panoram\u0119 miasta b\u0105d\u017a w gwiazdy to by\u0142o takim duchownym i wyciszaj\u0105cym takim do\u015bwiadczeniem zawsze dla mnie bo mog\u0142 em usi\u0105\u015b\u0107 i rozwi\u0105za\u0107 jaki\u015b tam problem mia\u0142em t\u0105 chwil\u0119 dla dla siebie takie co\u015b jeden z tych spacer\u00f3w o to nie b\u0119dzie mi\u0142e jeden z tych spacer\u00f3w by\u0142 i bo by\u0142 spowodowany tym \u017ce musia\u0142 em przemy\u015ble\u0107 czy z matk\u0105 mojego dziecka warto pozosta\u0107 czy te\u017c czy te\u017c niestety relacje mi\u0119dzy mn\u0105 a Dominik\u0105 si\u0119 popsu\u0142y bardzo bardzo mocno i musia\u0142 em po prostu odpowiedzie\u0107 ","Czasami my\u015bl\u0119 , \u017ce to wszystko si\u0119 sta\u0142o , bo nie by\u0142 em wystarczaj\u0105co uparty . "]}},"Insight":5,"Causation":5}
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment