250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ›  Machine Learning/ํ…์ŠคํŠธ ๋ถ„์„ (11)

Data Science LAB

[Python] ๊ฐ์„ฑ ๋ถ„์„(Sentiment Analysis) - ์ง€๋„ํ•™์Šต

๊ฐ์„ฑ๋ถ„์„ ์ด๋ž€? ๊ฐ์„ฑ๋ถ„์„์ด๋ž€ ๋ฌธ์„œ์˜ ์ฃผ๊ด€์ ์ธ ๊ฐ์„ฑ/์˜๊ฒฌ/๊ฐ์ •/๊ธฐ๋ถ„ ๋“ฑ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ์†Œ์…œ๋ฏธ๋””์–ด๋‚˜ ์—ฌ๋ก ์กฐ์‚ฌ, ์˜จ๋ผ์ธ ๋ฆฌ๋ทฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ๋ฌธ์„œ์˜ ๊ธ€์ž๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฌ๋Ÿฌ ์ฃผ๊ด€์ ์ธ ๋‹จ์–ด์™€ ๋ฌธ๋งฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์„ฑ ์ˆ˜์น˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•œ๋‹ค. ๊ฐ์„ฑ ์ˆ˜์น˜๋ฅผ ๊ธ์ •/๋ถ€์ • ์ง€์ˆ˜๋กœ ๊ตฌ๋ถ„์ง€์–ด ๊ฐ ์ง€์ˆ˜๋ฅผ ํ•ฉ์‚ฐํ•˜์—ฌ ๊ธ์ • ๋˜๋Š” ๋ถ€์ • ๊ฐ์„ฑ์„ ๊ฒฐ์ •ํ•œ๋‹ค. ๊ฐ์„ฑ๋ถ„์„์€ ํฌ๊ฒŒ ์ง€๋„ํ•™์Šต๊ณผ ๋น„์ง€๋„ ํ•™์Šต ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜๋‰œ๋‹ค. - ์ง€๋„ํ•™์Šต : ํ•™์Šต๋ฐ์ดํ„ฐ์™€ ํƒ€๊นƒ ๋ ˆ์ด๋ธ” ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์„ฑ ๋ถ„์„ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•œ ๋’ค ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์˜ ๊ฐ์„ฑ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ• - ๋น„์ง€๋„ ํ•™์Šต : 'Lexicon'์ด๋ผ๋Š” ๊ฐ์„ฑ ์–ดํœ˜ ์‚ฌ์ „์„ ์ด์šฉํ•ด ๊ฐ์„ฑ ๋ถ„์„์„ ์œ„ํ•œ ์šฉ์–ด์™€ ๋ฌธ๋งฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•ด ๋ฌธ์„œ์˜ ๊ธ์ •/๋ถ€์ •์„ ํŒ๋‹จ ์˜ค๋Š˜์€ ์ง€๋„ํ•™์Šต..

[Python] ๋‰ด์Šค ๊ทธ๋ฃน ๋ถ„๋ฅ˜

์‚ฌ์ดํ‚ท๋Ÿฐ ๋‚ด๋ถ€์˜ ์˜ˆ์ œ ๋ฐ์ดํ„ฐ์ธ 20 ๋‰ด์Šค๊ทธ๋ฃน ๋ฐ์ดํ„ฐ ์…‹์„ ํ™œ์šฉํ•ด ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ์‹ค์Šต์„ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ…์ŠคํŠธ ๋ถ„๋ฅ˜๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์„ ํ•™์Šต ์‹œํ‚จ ํ›„ ์ด ํ•™์Šต ๋ชจ๋ธ์„ ์ด์šฉํ•ด ๋‹ค๋ฅธ ๋ฌธ์„œ์˜ ๋ถ„๋ฅ˜๋ฅผ ์˜ˆ์ธกํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Count๊ธฐ๋ฐ˜์˜ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋ชจ๋ธ๊ณผ, TF-IDF๊ธฐ๋ฐ˜์˜ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋ชจ๋ธ์„ ๊ฐ๊ฐ ์ƒ์„ฑํ•œ ํ›„ ๋น„๊ตํ•ด๋ณด๊ณ  ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ •๊นŒ์ง€ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค( •ฬ€ ω •ฬ )โœง 1. ํ…์ŠคํŠธ ์ •๊ทœํ™” fetch_20newsgroups()๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋กœ์ปฌ ์ปดํ“จํ„ฐ๋กœ ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์€ ํ›„, ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋”ฉํ•œ๋‹ค. from sklearn.datasets import fetch_20newsgroups news_data = fetch_20newsgroups(subset = 'all', random_state ..

[Python]Bag of Words(BOW)

Bag of Words ๋ชจ๋ธ์€ ๋ฌธ์„œ๊ฐ€ ๊ฐ€์ง„ ๋ชจ๋“  ๋‹จ์–ด(Words)๋ฅผ ๋ฌธ๋งฅ์ด๋‚˜ ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ๋‹จ์–ด์˜ ๋นˆ๋„ ๊ฐ’์— ๋”ฐ๋ผ ํ”ผ์ฒ˜ ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ํ•œ๋ฒˆ์— ๋ด‰ํˆฌ(Bag)์•ˆ์— ๋„ฃ์€ ๋’ค ํ”๋“ค์–ด ์„ž๋Š” ๋‹ค๋Š” ์˜๋ฏธ๋กœ Bag of Words ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค. BOW๋ชจ๋ธ์€ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ณ , ๋‹จ์ˆœํ•˜๊ฒŒ ๋‹จ์–ด์˜ ๋นˆ๋„ ์ˆ˜์— ๊ธฐ๋ฐ˜ํ•˜์ง€๋งŒ, ๋ฌธ์„œ์˜ ํŠน์ง•์„ ์ž˜ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์–ด ํ™œ์šฉ๋„๊ฐ€ ๋†’๋‹ค. ํ•œ๊ณ„์  - ๋ฌธ๋งฅ ์˜๋ฏธ ๋ฐ˜์˜ ๋ถ€์กฑ : BOW๋Š” ๋‹จ์–ด์˜ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๋‹จ์–ด์˜ ๋ฌธ๋งฅ์ ์ธ ์˜๋ฏธ๊ฐ€ ๋ฌด์‹œ๋œ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด n_gram๋“ฑ ์—ฌ๋Ÿฌ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ œํ•œ์ ์ด๋‹ค. - ํฌ์†Œ ํ–‰๋ ฌ ๋ฌธ์ œ : BOW๋กœ ํ”ผ์ฒ˜ ๋ฒกํ„ฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด, ํฌ์†Œ ํ–‰๋ ฌ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์…‹์ด ๋งŒ๋“ค์–ด์ง€๊ธฐ ์‰ฝ๋‹ค. ๋งŽ..

[Python]ํ…์ŠคํŠธ ์ „์ฒ˜๋ฆฌ - ํ…์ŠคํŠธ ์ •๊ทœํ™”

ํ…์ŠคํŠธ ์ž์ฒด๋ฅผ ๋ฐ”๋กœ ํ”ผ์ฒ˜๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํ…์ŠคํŠธ๋ฅผ ๊ฐ€๊ณตํ•ด์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ํ…์ŠคํŠธ ์ •๊ทœํ™”๋Š” ํ…์ŠคํŠธ๋ฅผ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‚˜ NLP ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํด๋ Œ์ง•, ์ •์ œ, ํ† ํฐํ™”, ์–ด๊ทผ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ „ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํด๋ Œ์ง•(Cleansing) ํด๋ Œ์ง•์€ ํ…์ŠคํŠธ์—์„œ ๋ถ„์„์— ๋ฐฉํ•ด๋˜๋Š” ๋ฌธ์ž๋‚˜ ๊ธฐํ˜ธ ๋“ฑ์„ ๋จผ์ € ์ œ๊ฑฐํ•˜๋Š” ์ž‘์—…์ด๋‹ค. (XTML, XMLํƒœ๊ทธ ๋“ฑ) ํ…์ŠคํŠธ ํ† ํฐํ™”(Tokenization) - ๋ฌธ์žฅ ํ† ํฐํ™” : ๋ฌธ์„œ์—์„œ ๋ฌธ์žฅ์„ ๋ถ„๋ฅ˜ - ๋‹จ์–ด ํ† ํฐํ™” : ๋ฌธ์žฅ์—์„œ ๋‹จ์–ด๋ฅผ ํ† ํฐ์œผ๋กœ ๋ถ„๋ฆฌ ์œ„์˜ ๋‘๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค. ๋ฌธ์žฅ ํ† ํฐํ™” ๋จผ์ €, ๋ฌธ์žฅ ํ† ํฐํ™”๋Š” ๋ฌธ์žฅ์˜ ๋งˆ์นจํ‘œ(.)๋‚˜ ๊ฐœํ–‰๋ฌธ์ž(\n) ๋“ฑ ๋ฌธ์žฅ์˜ ๋งˆ์ง€๋ง‰์„ ๋œปํ•˜๋Š” ๊ธฐํ˜ธ์— ๋”ฐ๋ผ ๋ถ„๋ฆฌํ•œ๋‹ค. NLTK์—์„œ๋Š” ์ผ..

ํ…์ŠคํŠธ ๋ถ„์„(Text Analytics)

NLP VS ํ…์ŠคํŠธ ๋ถ„์„ - NLP(National Language Processing) : ๋จธ์‹ ์ด ์ธ๊ฐ„์˜ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ํ•ด์„ํ•˜๋Š” ๋ฐ ๋” ์ค‘์ ์„ ๋‘๊ณ  ๊ธฐ์ˆ  ๋ฐœ์ „(๋ฒˆ์—ญ, ์งˆ์˜์‘๋‹ต ์‹œ์Šคํ…œ ๋“ฑ) - ํ…์ŠคํŠธ ๋ถ„์„ : ๋น„์ •ํ˜• ํ…์ŠคํŠธ์—์„œ ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์— ์ข€ ๋” ์ค‘์ , ๋จธ์‹ ๋Ÿฌ๋‹, ์–ธ์–ด ์ดํ–‰, ํ†ต๊ณ„๋“ฑ์„ ํ™œ์šฉํ•ด ๋ชจ๋ธ ์ˆ˜๋ฆฝ ๋ฐ ์ •๋ณด ์ถ”์ถœ ํ…์ŠคํŠธ ๋ถ„์„ ์ข…๋ฅ˜ 1. ํ…์ŠคํŠธ ๋ถ„๋ฅ˜(Text Classification) : ๋ฌธ์„œ๊ฐ€ ์–ด๋–ค ์ข…๋ฅ˜๋‚˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜๋Š”์ง€ ์˜ˆ์ธกํ•˜๋Š” ๊ธฐ๋ฒ• (ํŠน์ • ๊ธฐ์‚ฌ๋‚˜ ๋‰ด์Šค๊ฐ€ ์–ด๋–ค ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜๋Š” ์ง€, ์ŠคํŒธ๋ฉ”์ผ ๊ฒ€์ถœ๋“ฑ) 2. ๊ฐ์„ฑ ๋ถ„์„(Sentiment Analysis) : ํ…์ŠคํŠธ์—์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ์ •/ํŒ๋‹จ/๋ฏฟ์Œ/์˜๊ฒฌ ๋“ฑ์˜ ์ฃผ๊ด€์ ์ธ ์š”์†Œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ• (์ œํ’ˆ์ด๋‚˜ ์˜ํ™”์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ, ์—ฌ๋ก  ์กฐ์‚ฌ ..