새벽에 올렸던 [100점짜리 단어를 찾아서.](https://redtea.kr/pb/pb.php?id=free&no=2543)의 호응이 예상외로 대단히 좋은 것을 보고, 애프터서비스(?)로 후속 글을 써보기로 하였습니다.
먼저, 프로그램을 조금 수정하였습니다. 두 개로 나뉘어 있던 프로그램을 하나로 합치고, 단어 중 중복해서 나타나는 것이 사라지도록 하고, 커맨드라인에서의 리다이렉션 명령없이 바로 결과 파일(result.tsv)이 나타나도록 바뀌었습니다. 한 마디로, 그냥 실행만 하면 결과 파일이 튀어나오게끔 바꿨습니다.
#!/usr/bin/python3
import re, string
def score(text):
a = list(text)
b = 0
for i in a:
if i in string.ascii_letters:
b = b + (ord(i.lower()) - 96)
return b
ent = re.compile("<ent>.*</ent>")
dic = set([])
for a in string.ascii_uppercase:
cide = "CIDE." + a
with open(cide, mode="r", encoding="latin-1") as f0:
f1 = f0.readlines()
for b in f1:
b = ent.findall(b)
if b != []:
c = b[0][5:-6]
dic.add(c.lower())
t1 = list(dic)
t1.sort()
f2 = open("result.tsv", mode="w")
for i in t1:
f2.write(i + "\t" + str(score(i)) + "\n")
f2.close()
이렇게 해서 중복을 없애고 보니, 총 단어 수가 11만 4766개로 줄었습니다. 그 중 100점짜리 단어는 총 1210개. 이게 진짜 제대로 된 결과값이라 할 수 있겠습니다. 참고로 모든 단어들의 평균 점수는 약 102.399점, 점수들의 중앙값은 딱 100점이었습니다.
그러면, 이 11만 개의 단어 중에서 가장 점수가 높은 건 뭐냐 하는 질문이 나올 겁니다. 예상할 수 있다시피, 글자 개수가 많으면 점수도 팍팍 올라갑니다. 제가 사용한 GCIDE 사전 파일에서 가장 높은 점수를 낸 표제어는 바로 “self-contained underwater breathing apparatus”(453점)라는 단어였습니다. 이게 뭐냐구요? 바로 스쿠바(SCUBA)입니다. 여러 단어를 줄인 줄임말을 풀어서 쓴 것이죠.
고득점을 올린 다른 단어들도 사정은 마찬가지였습니다. 점수 최상위 10개 표제어 중 단 1가지를 빼놓고 나머지는 모두 여러 개의 단어를 합친 것이었습니다. 근데 딱 하나, “methylenedioxymethamphetamine”(335점)이라는 무쟈게 긴 단어는 예외였습니다. 이거야말로 진정한 1등(!)이라고 할 수 있겠죠. 근데 이게 뭐냐고요?
https://www.google.com/search?q=methylenedioxymethamphetamine
MDMA
3,4-메틸렌디옥시메탐페타민 또는 일명 엑스터시로 더 잘 알려져 있는 향정신성 물질이다. 뇌 속에 세로토닌·도파민·노르아드레날린의 분비를 촉진시켜 환각을 일으킨다. 복용 후 30분에서 1시간 사이 서서히 작용하며 6시간~10시간 지속적이다. 이것은 헤어나오기 힘든 강한 마약 중 하나이다. 엑스터시를 복용한 상태에서는 갈증을 느끼지 못하기 때문에 심각한 탈수 증세를 일으킬 수 있다. 위키백과
히이이이이이이익!!!
…그러합니다. 뭐, “cardiopulmonary resuscitation”(358점)처럼 뭔가 좀 더 도움되는 단어도 있기는 합니다만…
여기에 고득점을 올린 상위 30개 표제어의 목록을 올려 둡니다.
- self-contained underwater breathing apparatus (453점)
- young women's christian association (397점)
- three-torque system of control (371점)
- woman's christian temperance union (359점)
- young men's christian association (359점)
- cardiopulmonary resuscitation (358점)
- federal national mortgage association (348점)
- vickers-maxim automatic machine gun (345점)
- interstate commerce commission (335점)
- methylenedioxymethamphetamine (335점)
- conditioned emotional response (327점)
- melamine-fromaldehyde methanal resin (327점)
- cretaceous-tertiary boundary (326점)
- american protective association (322점)
- mohorovicic discontinuity (312점)
- antidisestablishmentarianism (307점)
- pseudo-monocotyledonous (305점)
- extrasensory perception (304점)
- natural product chemistry (304점)
- transmission dynamometer (303점)
- relativistic mass equation (301점)
- switching power supply (298점)
- global positioning system (297점)
- continental pronunciation (296점)
- manic-depressive psychosis (295점)
- malopterurus electricus (294점)
- percussion instrument (292점)
- dow-jones industrial average (291점)
- hospitalisation insurance (291점)
- central nervous system (288점)
p.s.
이걸 직접 해보고 싶으신 분을 위해, 압축된 사전 파일의 링크를 걸어 둡니다. 위의 코드는 압축을 푼 사전 파일이 있는 디렉토리에 집어넣고 실행하면 됩니다. tsv 파일은 엑셀 등의 스프레드시트 프로그램으로 열 수 있습니다.