2.1 입찰문서 형태소 분석기 구축 및 전처리
본 연구에서 입찰문서는 입찰안내서, 과업지시서, 수행계획서, 결과보고서 등을 의미하며 대부분 한글, 영문자, 숫자, 그리고 특수기호가 혼용된 복합
표현으로 이뤄진다. 비록 한글 텍스트 분석에 널리 활용되는 KoNLPy(Park and Cho, 2014) 등의 분석기가 존재하나, 일반 용어 중심으로 구성된 사전식 형태소 분석기(dictionary type of tokenizer)이므로 전문 분야에
적용하는데 한계가 있다. 특히 입찰문서는 프로젝트 입찰 및 계약, 건설기술, 관리 및 평가 기준 관련 용어를 포함하며, 대부분 복합명사가 사용되므로
이에 적합한 형태소 분석기의 채택이 필요하다(Eom et al., 2023). 또한 BIM 적용 의무화로 인해 BIM과 관련한 구체적인 요구사항에 대한 용어도 다수 포함되고 있어 적합한 형태소 적용이 필요하다.
입찰문서용 형태소 분석기를 구축하기 위해 국가건설기준센터(https://www.kcsc.re.kr)와 건설사업정보시스템(https://www. calspia.go.kr)의
건설용어사전 웹페이지로부터 각각 6,360, 6,653개 용어를 수집하였고, 토목용어사전(대한토목학회, 1996)으로부터 10,988개 용어를 추출하였다.
BIM 관련 용어는 국토교통부의 BIM 기본지침 및 시행지침뿐만 아니라 조달청, 한국도로공사, 한국토지주택공사의 BIM 지침 및 가이드라인의 ‘용어’
편에서 111개 단어를 발췌하였다. 수집된 단어의 괄호 및 특수기호, 공백 등을 제거하여 전체 24,112개 단어를 수집하였으나, 중복을 제외해 최종
18,332개를 사용자 사전에 추가하였다.
사용자 사전을 통해 형태소 분석기의 성능을 개선할 수 있으나 건설사업의 입찰문서는 방대한 건설기술 및 계약 용어를 포함하므로, 복합명사 자체로 단어를
추출하거나 구성 명사로 최대한 정확히 구분할 수 있는 형태소 분석기를 사용해야 한다. 특히 같은 단어임에도 띄어쓰기 상태가 발주처 및 작성자에 따라
달라지는 경우가 많으므로, 이를 형태소 단위로 정확히 구분할 수 있다면 모델 성능 개선에 기여할 수 있다. 이러한 이유로 본 연구는 입찰문장의 난이도
판별 모델의 설계 및 성능평가에 앞서 4가지 한글 형태소 분석기의 기본 성능을 조사하였다. 입찰문서에서 임의 추출한 복합명사에 300개에 대해 기본
형태소 분석기를 사용하여 각 분석기의 정확도와 속도를 비교하였다. 본 연구의 딥러닝 모델에서 사용하는 입력 데이터가 문장의 명사와 동사 정보만을 활용하도록
설계되는 점을 고려할 때, 복합명사를 가능한 단일명사 또는 명사 조합으로 구분되게 하는 것이 딥러닝 모델 학습에 유리하다고 판단된다. 따라서 형태소
분석 결과가 단일명사로 판정되거나, 분할 결과의 품사 조합이 명사 또는 외국어-명사로만 구성되고 분할된 단어 개수가 적을수록 복합명사에 대한 분할
성능이 우수하다고 가정해 형태소 성능을 평가하였다.
Fig. 1은 개별 복합명사에 대한 기본 형태소 분석기의 처리 결과와 소요 시간을 보여주며, Table 1은 조사 결과 중 일부를 정리한 것이다. 300개 입찰 단어 가운데 120개는 형태소 분석기 선택에 따른 차이가 없었으며, 나머지 단어는 형태소 분석기마다
복합명사의 분할 결과와 처리 시간이 상이했다. 관계형 데이터베이스를 활용한 Kkma(Lee et al., 2010)는 형태소 추출 정확도가 높고 명사 또는 외국어-명사 조합만으로 구성된 결과가 251개로 가장 많았으나(Okt: 233, Mecab: 236, Khaiii:
215), 타 분석기에 비해 처리 시간이 길었다. 한편 CRFs(Conditional Random Fields) 기반의 Mecab(Kudo et al., 2004)도 속도와 형태소 추출 정확도 측면에서 성능이 우수하였으나 조사나 어미 등 명사 외 다른 품사의 형태소가 종종 포함되었다. Okt도 복합명사에 대해
속도와 분류 정확도가 낮지 않았으나 Table 1과 같이 형태소 분할 오류가 종종 관찰되었다. 끝으로 CNN 모델 기반의 Khaiii는 처리시간이 타 분석기에 비해 빨랐고, 형태소 분할 성능 또한
복합명사를 단일명사로 추정하는 사례가 54개로 타 형태소 분석기보다 많았으며(Okt: 32, Kkma: 23, Mecab: 32) 형태소 분할 오류도
적었다. 전반적으로 별도의 입찰 관련 용어의 추가가 없었음에도 Khaiii가 300개의 복합명사에 대한 정확도와 속도 측면에서 상대적으로 우수한 것으로
판단하였으며, 또한 사용자 용어 추가를 고려해 최종적으로 카카오의 Khaiii를 딥러닝 모델의 전처리 도구로 선택하였다. Khaiii는 기구축된 용어와
사용자 정의 용어 간 중복을 허용하지 않으므로, 최종 적용된 건설 용어는 17,752개이며 모두 고유명사(NNP)로 정의하였다.
Fig. 1. Comparison with of Tokenizers Performance for Complex Nouns: (a) Count of Suitable Tokenizers for each Complex Nouns to Short Noun Sequences, (b) Histogram of Processing Time for Tokenization
Table 1. Comparison between Token Sequence of BIM Bidding Keywords by Tokenizers
Text
|
Tokenizer
|
Token sequences
|
Duration
(10-3 sec)
|
특별과업지시서
|
Okt
|
특별,
|
과,
|
업지시서
|
|
16.89
|
NOUN,
|
JOSA,
|
NOUN
|
|
Kkma
|
특별,
|
과업,
|
지시서
|
|
35.83
|
NNG,
|
NNG,
|
NNG
|
|
Mecab
|
특별,
|
과업,
|
지시,
|
서
|
2.29
|
NNG,
|
NNG,
|
VV,
|
EC
|
Khaiii
|
특별,
|
과업,
|
지시서
|
|
4.20
|
NNG,
|
NNG,
|
NNG
|
|
일조량분석
|
Okt
|
일,
|
조량,
|
분석
|
|
18.96
|
Modifier,
|
NOUN,
|
NOUN
|
|
Kkma
|
일조량,
|
분석
|
|
|
16.12
|
NNG,
|
NNG
|
|
|
Mecab
|
일조량,
|
분석
|
|
|
4.00
|
NNG,
|
NNG
|
|
|
Khaiii
|
일조량분석
|
|
|
1.94
|
NNG
|
|
|
BIM수행계획서
|
Okt
|
BIM,
|
수행,
|
계획,
|
서
|
13.80
|
ALPHA,
|
NOUN,
|
NOUN,
|
JOSA
|
Kkma
|
BIM,
|
수행,
|
계획서
|
|
21.29
|
OL,
|
NNG,
|
NNG
|
|
Mecab
|
BIM,
|
수행,
|
계획서
|
|
4.04
|
SL,
|
NNG,
|
NNG
|
|
Khaiii
|
BIM,
|
수행,
|
계획서
|
|
1.35
|
SL,
|
NNG,
|
NNG
|
|
현장설명회
|
Okt
|
현장,
|
설명,
|
회
|
|
22.38
|
NOUN,
|
NOUN,
|
NOUN
|
|
Kkma
|
현장,
|
설명회,
|
|
|
22.23
|
NNG,
|
NNG
|
|
|
Mecab
|
현,
|
장설,
|
명회
|
|
7.25
|
MM,
|
NNG,
|
NNG
|
|
Khaiii
|
현장
|
설명회
|
|
|
9.14
|
NNG,
|
NNG
|
|
|
단가산출서
|
Okt
|
단가
|
산출
|
서
|
|
1.27
|
NOUN,
|
NOUN,
|
JOSA
|
|
Kkma
|
단가
|
산출
|
서
|
|
10.93
|
NNG,
|
NNG,
|
JKM
|
|
Mecab
|
단가
|
산출
|
서
|
|
1.60
|
NNG+VCP+EC
|
NNG
|
JKB
|
|
Khaiii
|
단가
|
산출서
|
|
|
0.57
|
NNG,
|
NNG
|
|
|
지표지질조사
|
Okt
|
지표
|
지질
|
조사
|
|
1.28
|
NOUN,
|
NOUN,
|
NOUN
|
|
Kkma
|
지표
|
지질
|
조사
|
|
238.17
|
NNG,
|
NNG,
|
NNG
|
|
Mecab
|
지표
|
지질
|
조사
|
|
2.06
|
NNG,
|
VV+ETM,
|
NNG
|
|
Khaiii
|
지표
|
지질
|
조사
|
|
0.99
|
NNG,
|
NNG,
|
NNG
|
|
|
|
|
|
|
|
|
|
|
|
|
*NNG: 일반명사, NOUN: 명사, SL/OL/ALPHA: 외국어, VV: 동사, VCP: 긍정 지정사, JOSA: 조사, MM: 관형사, EC:
연결어미, ETM: 관형형 전성 어미, JKB/JKM: 부사격 조사, Modifier: 의존소
2.2 입찰문서의 BIM 관련 문장의 기술 난이도 평가 데이터 구축
입찰문서 BIM 문장의 난이도를 평가할 수 있는 딥러닝 모델의 학습을 위한 데이터 구축이 요구된다. 여기서 BIM 문장의 난이도는 기존 수행업무 내용에
대해 BIM 활용이 명시됨에 따라 수급자의 BIM 업무수행에 요구되는 자원(인력, 시간 등) 증가와 활용되는 BIM 활용 기법의 수준을 의미한다.
본 연구는 BIM 관련 입찰 문장의 난이도 정보를 포함한 데이터를 구축하기 위해 10개 입찰문서로부터 800개 문장을 선별하여 설계, 시공, BIM
전문기업 등의 실무자 40명을 대상으로 문장에 대한 체감 난이도를 조사하였다. 1개 문장에 대해 10명의 전문가의 답변을 평균하여 문장 난이도를 높음·낮음으로
이진 분류하였다. 추가로 입찰문서에 포함된 BIM과 무관한 문장 800개를 별도로 추출해 난이도가 낮다고 분류하고 기 구축한 800개 문장 데이터에
추가하였다(총 1,600개). Fig. 2는 BIM 기술 난이도 평가 데이터의 일부와 전체 데이터 분포를 보여준다. 데이터는 BIM 입찰문서의 문장과 해당 문장의 난이도를 나타내는 라벨로
구성되어 있으며, 딥러닝 모델의 학습 시 편향이 적도록 문장의 난이도 구성비가 유사하도록 분포시켰다.
Fig. 2. Samples of BIM Bidding Sentences and Distribution on Label of the Sentences: (a) Data Sample, (b) Data Distribution
2.3 입찰 문장의 BIM 난이도 평가 모델
입찰 문장의 BIM 관련 난이도를 판별하기 위해 본 연구는 장단기 기억(LSTM: Long Short Term Memory) 모델을 사용한다. LSTM
모델은 RNN 계열로 입력 문장의 단어 순서 정보를 기억할 수 있는 은닉층(hidden layer)을 포함하고 있다. 여기서 LSTM 모델은 RNN
은닉층에 입력, 망각, 출력 게이트를 추가함으로써 모델 훈련 과정에서 선택적으로 기억할 단어 배열 정보량을 조정하며, 추가로 셀 상태(cell state)라는
값을 활용해 삭제된 정보 일부를 보존하여 RNN의 학습 중 기울기 소실 또는 폭증에 기인한 장기 의존성 문제를 해결할 수 있다(Saitoh, 2018). 이를 통해 LSTM은 RNN 대비 긴 문장에 대해서도 우수한 성능을 보이는 것으로 보고되고 있다(Shewalkar, 2018; Prabowo et al., 2018; Cahuantzi et al., 2023).
본 연구의 딥리닝 모델은 Fig. 3과 같이 구성된다. 먼저 입력된 문장에 대해 구두점 및 특수문자 제거, 영문의 소문자 변환, 그리고 공백 제거 전처리가 이뤄진다. 전처리된 입력 문장은
건설 및 BIM 용어를 추가한 형태소 분석기를 거쳐 단어 배열(token sequence)로 변환된다. 여기서 단어 배열은 명사 및 동사 품사만 추출되며,
글자 1개로 이뤄진 단어는 추출이 잘못되거나 불필요한 것으로 간주해 제외하도록 하였다. 딥러닝 모델에 입력하기 위해 단어 배열을 정수로 변환하고(integer
encoding) 배열의 길이를 맞춘 후(padding) 이를 밀집 벡터로 변환하였다(embedding). 밀집 벡터는 LSTM 층에 전달되어 문장
특징을 학습하고 최종적으로 전결합층(fully connected layer)으로 보내져 문장의 난이도를 예측한다. 이진분류 모델이므로 전결합층의 출력
결과에 대한 활성화 함수를 sigmoid로 사용하였고, 예측값과 실제값에 대한 손실함수는 binary cross-entropy로 정의하였다.
Fig. 3. Deep Learning Model for Predicting Level of BIM Bidding Sentences