상품 이름은 단어(의미) 조각들로 이루어져 있고 조각들은 관계가 있을 것이다.
온라인 마켓 상품 이름을 수집한다.
상품 이름
|
아이스 트레이(미니) |
볼메이슨 와이드 자_946ML |
클레어 패브릭 액자_10CMx15CM |
아동용 버드 욕실화_블루 |
스타 미니 바스켓_3P |
상품 이름을 단어 단위로 쪼개고 태그를 부여한다.
단어
|
빈도
|
분류
|
단어 길이
|
유리 | 89 | 형질 | 2 |
세트 | 86 | - | 2 |
사각 | 86 | 형태 | 2 |
베이지 | 72 | 칼라 | 3 |
핑크 | 72 | 칼라 | 2 |
단어에 대한 분포이다.
빈도
|
단어 길이
|
|
count | 1491.000000 | 1491.000000 |
mean | 6.332663 | 3.099262 |
std | 12.872295 | 1.735401 |
min | 1.000000 | 1.000000 |
25% | 1.000000 | 2.000000 |
50% | 2.000000 | 3.000000 |
75% | 6.000000 | 4.000000 |
max | 142.000000 | 12.000000 |
단어의 종류는 1491건이고 빈도는 9442 건 이었다.
* 평균 빈도와 중위 빈도의 차이를 볼 때, 일부 단어에 대한 편중이 크다.
(마치 HKR의 빈부 격차 처럼 ... )
단어 분류에 따라 흥미로운 성질들을 보인다.
분류
|
단어 개수
|
단어 빈도
|
빈도/개수
|
- | 1215 | 6961 | 6 |
수치 | 258 | 987 | 4 |
칼라 | 9 | 764 | 85 |
사이즈 | 3 | 271 | 90 |
형질 | 2 | 231 | 116 |
형태 | 2 | 194 | 97 |
성별 | 2 | 34 | 17 |
바이그램(bi-gram)으로 빈도를 조사했다. (상위 5개)
단어 이웃
|
빈도
|
담는 아카시아 | 35 |
자주 담는 | 35 |
식탁 매트 | 35 |
원형 접시 | 34 |
동물 친구들 | 33 |
단어 바이그램에 대한 분포이다.
빈도
|
|
count | 3706.000000 |
mean | 1.955208 |
std | 2.315853 |
min | 1.000000 |
25% | 1.000000 |
50% | 1.000000 |
75% | 2.000000 |
max | 35.000000 |
빈도가 낮아서 트리그램(tri-gram) 이상은 불 필요해 보인다.
N Gram 보다는 조합 방식을 사용하면 연관성을 찾을 수 있지 않을까?
To Be Continue ...
Happy New Year 2016 with bright moon
참고
* D1 : DataFrame on Pandas Library# 강조 컬럼에 그라디언트 적용하기
D1.style.background_gradient(cmap='magma', subset=['times'], low=1)
# 분포 명세 보기
D1.describe()
# Dict 타입 빈도 사전으로 활용하기
corpus = {}
for word in words:
if word not in corpus:
corpus.setdefault(word,0)
corpus[word] += 1
# N-gram 라이브러리
from nltk.util import ngrams
# 비 문자 정규 패턴
[\W|_]+
# 수치 정규 패턴
^(\d+\D+)+
0 개의 댓글:
댓글 쓰기