Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Noun extractor covered eojeols 관련 질문 #94

Open
jeongwookie opened this issue Dec 10, 2019 · 4 comments
Open

Noun extractor covered eojeols 관련 질문 #94

jeongwookie opened this issue Dec 10, 2019 · 4 comments

Comments

@jeongwookie
Copy link

안녕하세요 Noun extractor을 잘 사용하고 있는 학생입니다!
다름 아니라 사용 중에 의문이 하나 들어서 질문 드리게 되었습니다.
input으로 사용하는 doublespace txt 파일의 sentence length가 얼마가 되어야 많은 범위의 어절을 커버하게 되나요?
제가 몇가지 샘플을 만들어서 사용해 보았는데, 인풋 데이터가 적으면 적을수록 명사를 잘 못 뽑는 것 같습니다. (비지도학습 기반의 모델이라 당연하지만요 ㅎㅎ)

예를 들어서, num sentence가 약 1만개일 경우 50~55%의 어절이 커버되었다고 출력됩니다.
[Noun Extractor] 54.52 % eojeols are covered

num sentence가 약 10만개일 경우 60~65%의 어절이 커버되었다고 출력됩니다.
[Noun Extractor] 62.31 % eojeols are covered

num sentence가 100개 단위로 적은 경우, 약 10~20%의 어절이 커버되었다고 출력됩니다.
[Noun Extractor] 19.58 % eojeols are covered

아예 극단적으로 적은 경우 (num sentence = 100개 호혹은 그 이하), 5~10% 정도밖에 커버되지 않습니다.
[Noun Extractor] 6.21 % eojeols are covered
[Noun Extractor] 2.26 % eojeols are covered

어느 정도의 데이터를 가지고 input 파일을 만들어야 최대한 로스를 줄일 수 있을까요?
좋은 모델 만들어주셔서 감사합니다.

@lovit
Copy link
Owner

lovit commented Dec 10, 2019

안녕하세요. 명사추출기가 작동하는 방식은 어절 내 명사의 오른쪽에 등장하는 조사 (혹은 조사에 준하는 subwords) 의 분포를 이용하는 것입니다. 그리고 eojeols are covered 의 수치는 명사 + 조사/준조사로 표현되는 어절의 비율을 의미합니다.

그렇기 때문에 어절의 커버리지에 영향을 미치는 요인은 크게 두 가지입니다. 첫째, 어절의 띄어쓰기 수준입니다. 일부 띄어쓰기 오류가 포함되어 있어도 대부분의 어절들에서 띄어쓰기가 잘 지켜졌다면 커버리지는 어느 정도 나올 것이지만, 띄어쓰기가 잘 지켜지지 않으면 그 수치는 낮을 것입니다.

둘째, 명사 오른쪽에 등장하는 subwords 의 분포를 이용하기 때문에 그 subwords 의 빈도수나 다양성이 적은 경우에는 잘못된 추출의 가능성이 높아 명사로 추출하지 않습니다. 예를 들어 A+는 이라고 한 번만 등장, 혹은 A 다음에 언제나 이 등장하면 A 를 명사라 판단하기가 위험합니다. A+는, A+도, .. 처럼 다양한 맥락에서 A 가 명사로 등장했어야 합니다. 즉, 한 명사가 여러 종류의 조사와 함께 다양하게 등장할 때 해당 명사를 잘 추출합니다.

즉, 문장의 개수보다도 비슷한 도메인의 문장들로, 특정 단어가 자주 반복되는 문장집합일 경우에 명사 추출이 원활히 이뤄집니다.

@jeongwookie
Copy link
Author

답변 감사합니다^^
제가 doublespace.txt 로 만든 문장들은 네이버 뉴스의 동일한 카테고리의 제목만으로 구성한 것이라 말씀하신 비슷한 도메인의 문장 및 특정 단어가 자주 반복되는 문장 집합 이라는 조건을 만족할 것 같습니다.
또한, 기사 제목이라 띄어쓰기는 거의 대부분이 잘 되어 있습니다.
저는 너무 문서의 길이가 작아서 잘 추출이 안된다고 생각을 했었습니다.

@lovit
Copy link
Owner

lovit commented Dec 10, 2019

명사 추출은 어절 단위로 A 가 명사인지를 판단하는 features 를 만들기 때문에 문장의 길이 자체는 영향이 적습니다. 말씀해 주신 상황을 들어보니, 뉴스의 제목 자체가 명사로만 제목을 구성하는 경우들이 많기 때문에 명사 추출이 잘 이뤄지지 않았을거라는 짐작이 됩니다. 해당 뉴스의 기사 본문으로부터 명사를 학습한 뒤, 제목의 명사를 인식해보시면 더 잘 될 것 같다는 예상이 됩니다.

@jeongwookie
Copy link
Author

감사합니다!! 많은 도움이 되었습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants