Skip to content

Commit

Permalink
fix: entity representation none sep blank
Browse files Browse the repository at this point in the history
  • Loading branch information
FacerAin committed Nov 23, 2022
1 parent c83f919 commit e579f8b
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 22 deletions.
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[flake8]
extend-ignore = E203, W503, E501, E231, E402, E731, E741, F401
extend-ignore = E203, W503, E501, E231, E402, E731, E741, F401, W605
max-line-length = 120

[tool:pytest]
Expand Down
2 changes: 1 addition & 1 deletion src/utils/representation.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def entity_representation(subject_dict: dict, object_dict: dict, sentence: str,

# baseline code
if method is None:
temp = subject + " [SEP]" + object + " [SEP] " + sentence
temp = subject + " [SEP] " + object + " [SEP] " + sentence

# entity mask
elif method == "entity_mask":
Expand Down
23 changes: 16 additions & 7 deletions tests/test_preprocess.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,28 @@

from src.utils.preprocess import replace_symbol

test_quote_symbol_map = {"\"`'‘‘’“”'ˈ′": "'"}
test_bracket_symbol_map = {"[[": "<", "]]": ">", "\[《〈「˹「⟪≪<⌜『«": "<", "\]》〉」˼」⟫≫>⌟»": ">", "({": "(", ")}": ")"}
test_sentences = [
"비틀즈 [SEP]조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
'““비"틀‘‘즈 [SEPˈ]조지 해'리ˈ"슨 [SEP] ’〈Some′thin‘‘g〉는'' 조지 해ˈ′리“슨”이 ’쓰ˈ고 ''비"틀′즈가 1969년“ 앨범 《′Abbey Road》에 ”ˈ담은 "노래다.',
"비틀즈 [SEP] 조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.{}",
]

test_answers = [
"비틀즈 [SEP]조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"''비'틀''즈 [SEP']조지 해'리''슨 [SEP] '〈Some'thin''g〉는'' 조지 해''리'슨'이 '쓰'고 ''비'틀'즈가 1969년' 앨범 《'Abbey Road》에 ''담은 '노래다.",
test_quote_answers = [
"비틀즈 [SEP] 조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.{}",
]

test_bracket_answers = [
"비틀즈 [SEP] 조지 해리슨 [SEP] <Something>는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 <Abbey Road>에 담은 노래다.()",
]


class PreprocessTester(unittest.TestCase):
def test_replace_symbol(self):
for sentence, answer in zip(test_sentences, test_answers):
generate_sentence = replace_symbol(sentence)
for sentence, answer in zip(test_sentences, test_quote_answers):
generate_sentence = replace_symbol(sentence, test_quote_symbol_map)
self.assertEqual(generate_sentence, answer)

def test_bracket_symbol(self):
for sentence, answer in zip(test_sentences, test_bracket_answers):
generate_sentence = replace_symbol(sentence, test_bracket_symbol_map)
self.assertEqual(generate_sentence, answer)
26 changes: 13 additions & 13 deletions tests/test_representation.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,25 @@
]

none_answers = [
"비틀즈 [SEP]조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP]한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 ‘풀 스타디움상’과 ‘플러스 스타디움상’을 수상했다.",
"백한성 [SEP]조선 충청도 공주 [SEP] 백한성(白漢成, 水原鶴人, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP]KBS 全州放送總局 [SEP] KBS 전주방송총국(KBS 全州放送總局)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
"비틀즈 [SEP] 조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP] 한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 ‘풀 스타디움상’과 ‘플러스 스타디움상’을 수상했다.",
"백한성 [SEP] 조선 충청도 공주 [SEP] 백한성(白漢成, 水原鶴人, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP] KBS 全州放送總局 [SEP] KBS 전주방송총국(KBS 全州放送總局)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
]


chinese_answers = [
"비틀즈 [SEP]조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP]한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 ‘풀 스타디움상’과 ‘플러스 스타디움상’을 수상했다.",
"백한성 [SEP]조선 충청도 공주 [SEP] 백한성(백한성, 수원학인, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP]KBS 전주방송총국 [SEP] KBS 전주방송총국(KBS 전주방송총국)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
"비틀즈 [SEP] 조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP] 한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 ‘풀 스타디움상’과 ‘플러스 스타디움상’을 수상했다.",
"백한성 [SEP] 조선 충청도 공주 [SEP] 백한성(백한성, 수원학인, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP] KBS 전주방송총국 [SEP] KBS 전주방송총국(KBS 전주방송총국)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
]

replace_symbole_answers = [
"비틀즈 [SEP]조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP]한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 '풀 스타디움상'과 '플러스 스타디움상'을 수상했다.",
"백한성 [SEP]조선 충청도 공주 [SEP] 백한성(白漢成, 水原鶴人, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP]KBS 全州放送總局 [SEP] KBS 전주방송총국(KBS 全州放送總局)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
"비틀즈 [SEP] 조지 해리슨 [SEP] 〈Something〉는 조지 해리슨이 쓰고 비틀즈가 1969년 앨범 《Abbey Road》에 담은 노래다.",
"광주FC [SEP] 한국프로축구연맹 [SEP] K리그2에서 성적 1위를 달리고 있는 광주FC는 지난 26일 한국프로축구연맹으로부터 관중 유치 성과와 마케팅 성과를 인정받아 풀 스타디움상’과 ‘플러스 스타디움상을 수상했다.",
"백한성 [SEP] 조선 충청도 공주 [SEP] 백한성(白漢成, 水原鶴人, 1899년 6월 15일 조선 충청도 공주 출생 ~ 1971년 10월 13일 대한민국 서울에서 별세.)은 대한민국의 정치가이며 법조인이다.",
"KBS 전주방송총국 [SEP] KBS 全州放送總局 [SEP] KBS 전주방송총국(KBS 全州放送總局)은 전라북도 지역을 대상으로 하는 한국방송공사의 지역 방송 총국이다.",
]


Expand All @@ -67,6 +67,6 @@ def test_replace(self):
for example_object, answer in zip(test_objects, replace_symbole_answers):
sentence, subject, object = example_object
generate_text = representation(
subject, object, sentence, entity_method=None, translation_methods=[None], is_replace=True
subject, object, sentence, entity_method=None, translation_methods=[None], is_replace=False
)
self.assertEqual(generate_text, answer)

0 comments on commit e579f8b

Please sign in to comment.