투고 전에 보도가 얼마나 엉망인지 판정하다
How to predict likes and shares based on your article’s title using Machine Learning
문장에 좋은 제목을 붙이는 것은 작문의 중요한 요소 중의 하나다.
흥미를 끄는 제목일수록 독자들이 기사를 볼 기회도 높아진다.
그리고 그들의 입맛에 맞는 글을 제공함으로써 독자들은 더욱 만족할 것이다.
이 연구는 저기계 학습 나노 학위의 전공 과정의 최종 프로젝트로 시작되었습니다.
이 연구를 완성하여 나는 지금 자부심과 만족감으로 가득 차 있다.
프로젝트 완료 후 투고 보도Quincy Larson를 약속했기 때문에 연구 도중에 알아본 지식을 공유하고 싶습니다.
최종 보고서에 대해서는 PDF 를 참조하십시오.
코드를 시도하려면 ipynb 를 확인하거나 GitHub부터 fork를 시작하십시오.
이 글은 전문 용어를 배제하고 일반인을 대상으로 한 해설을 하고 있다.
현재 창의력을 전파하는 데 가장 많이 쓰이는 플랫폼은 트위터와 미디어다.
트위터에서는 일반적으로 외부 URL과 제목 내용만 투고하고 사용자는 이 기사를 방문하여 원래의 투고에 대한 장점과 전송에 흥미를 나타낼 수 있다.
미디어에서 분류 보도에 사용되는 태그와 사용자가 내용에 얼마나 만족하는지 표시하는 clap을 상세하게 보여 줍니다.
이 두 플랫폼 간의 상관성은 우리에게 귀중한 정보를 가져다 주었다.
The project
내가 하는 문제는 교사를 데리고 공부하는 분류 임무를 사용하는 것이다.
제목에 따라 그 기사가 얻은 선호도와 전송 수를 예측하다.
트위터의 좋아요와 리트윗 수를 Medium 보도와 연결시키는 것은 독자 수와 clap 수를 구분하는 시도이다.
서로 다른 플랫폼에서 공유가 많을수록 더 많은 독자를 받고 더 많은 Medium clap을 받을 수 있을 것으로 예상되기 때문이다.
만약 트위터의 통계 데이터만 사용한다면, 최초로 독자의 눈에 들어온 수량은 보도로 인해 바뀌지 않을 것이다.
따라서 이 보도가 그 후에 얼마나 발전할지는 거의 트위터의 내용, 예를 들어 글의 제목만 있을 뿐이다.
freeCodeCamp 계정을 분석 대상으로 선택했다.
보도 영역을 한정해 특정 분야를 더 잘 예측하기 위해서다.
어떤 제목은 하나의 종류(예를 들어 기술)에서 유효한 제목일 수 있지만, 다른 종류(예를 들어 요리)에서도 반드시 통용되는 것은 아니다.
또한 이 계정은 제목과 Medium URL만 게시하므로 분석 객체로 가장 적합합니다.
How does the data look?
이 프로젝트의 첫 번째 단계는 트위터와 미디어에서 데이터를 가져와 연결하는 것이다.
데이터 세트는 여기 에 있습니다.
데이터 총수는 711이고 내용은 다음과 같다.Id, Title (Twitter), Likes (Twitter), Retweet (Twitter), Claps (Medium), Title Length, Categories (Medium), URL (Medium) ,
0, How to use JSON padding (and other options) to bypass the Same Origin Policy, 10, 5, 177, 76, JavaScript; HTML; Web Development; Tutorial; Technology, https://medium.freecodecamp.org/use-jsonp-and-other-alternatives-to-bypass-the-same-origin-policy-17114a5f2016
1, How to build GitHub search functionality in React with RxJS 6 and Recompose by @yazeedBee, 19, 7, 61, 90, React; Tech; Functional Programming; Programming; Technology, https://medium.freecodecamp.org/how-to-build-a-github-search-in-react-with-rxjs-6-and-recompose-e9c6cc727e7f
2, How to read and write Mindful Minutes from iOS HealthKit with Swift, 11, 6, 54, 93, iOS; Software Development; Programming; Web Development; Tech, https://medium.freecodecamp.org/read-write-mindful-minutes-from-healthkit-with-swift-232b65118fe2
3, How to make more money on Upwork by @jpmorris, 39, 9, 139, 46, Freelancing; Tech; Web Development; Web Design; Jobs, https://medium.freecodecamp.org/7-steps-to-make-money-on-upwork-bf57e56f6038
4, Let's build a fun little game: Learn advanced React patterns by developing a game with sprite animation by @pvl4sov, 62, 14, 342, 116, CSS; Games; Tech; Programming; React, https://medium.freecodecamp.org/learn-advanced-react-patterns-by-developing-a-game-with-sprite-animation-5dc072886975
Analyzing and learning with the data
데이터 집합을 분석하고 이를 도표로 그려낸 결과 흥미로운 현상이 발견되었다.
이상 값을 배제한 후, 나는 각 분석 대상(전달, Like, clap)의 상위 25%를 주목했다.
그렇다면 미디어가 쓴 프리코드 캠프의 글이 트위터에 얼마나 공유됐는지 살펴보자.
What is a good title length?
보도 제목이 50자 이상 110자 이하여서 보도가 잘 될 가능성이 높아졌다.
What is a good number of words in the title?
가장 효과적인 단어 수는 9에서 17이다.
리트윗과 라이크를 벌려면 9~18, 클랩 목적이라면 7~17이다.
Which are the best categories to tag?
투고할 때 고려해야 할 분류 라벨은 Programming
, Tech
, Technology
, JavaScript
및 Web Development
이다.
모든 세 개의 분석 대상에 대해 이 라벨은 좋은 효과를 발휘할 수 있다.
Which are the best words to use?
자구 분석에서 우리는 어떤 단어들이 다른 단어보다 더욱 사람들의 주목을 끄는 것을 발견했다.
독자수를 늘리려면 JavaScript
, React
, 그리고 CSS
에 대한 기사를 써도 된다.learn
또는 guide
같은 단어를 추가하는 것이 더 효과적입니다.
Using Machine Learning
데이터를 분석하고 일부 정보를 추출하는 데 성공했습니다.
이 프로젝트의 최종 목표는 글 제목에 있는 전송 수, 허가 수, clap 수를 예측할 수 있는 기계 학습 모델을 만드는 것이다.
이런 예측은 교사의 분류 문제로 처리할 수 있는데 그것이 바로 기계 학습의 주요한 용법이다.
입력은 모든 단어를 표시(t1, t2, t3,...tn), 제목 길이, 글자 수로 나누는 것입니다.
출력은 범위를 지정해야 하기 때문에 다음과 같이 설정합니다.
・ 전달 수: 0 ~ 10, 10 ~ 30, 30 이상
• Like 수: 0~25, 25~60, 60 이상
・ 클랩 수: 0 ~ 50, 50 ~ 400, 400 이상
데이터 집합을 예처리한 후 몇 개의 모델(전부용여기을 해설)을 평가한 결과 MultinomialNB모델은 전송수에서 60.6%의 정밀도를 얻었다.
논리 회귀 결과는 라이센스 수 55.3%, clap 수 49%였다.
이 글을 끝내는 실험으로 이 글의 제목으로 예측한 결과 모델이 다음과 같은 결과를 내놓았다.
· 트위터의 전송 수는 10에서 30, 좋은 것은 25에서 60, Medium의 클랩 수는 400 이상이다.
이 예측은 어떻습니까?
감상
마지막예측 결과은 2018/12/10에 전송수 9, 좋아요수 40, clap수 801을 기록했다.
RT 수가 미묘하게 부족하지만 대체적으로 적당한 모형을 구축하는 데 성공했다고 할 수 있다.
그렇다면 보시다시피 이 분석은 보도의 본문을 전혀 사용하지 않았습니다.
한 마디로 하면 기사의 본문을 읽은 사람이 없는데 그 기사가 틀릴까제목(및 레이블)만.
이 분석은 영어이기 때문에 모델은 일본어로 직접 사용되는 것은 아니지만 Qiita의 새로운 보도 투고 BOT를 모델에 깊이 있게 넣으면 종합적인 추세의 보도를 대량으로 생산할 수 있을 것이다.
그렇게 생각하지만 찾아보니 Qiita의 새로 보도된 트위터 계정은 없는 것 같습니다.
공식. 다 ○○ 좋다 ○○ Contribution 같은 거라서 새 옷이 없어요.
혹시 동결 대책 인가요?
선생님이 없기 때문에 이 글을 Qiita에 적용하려면 새로운 기사 투고 BOT를 만들어 육성하는 곳부터 시작해야 한다는 결론을 내렸다.
BOT만 만들면 몰라도 키우기 힘들니까 포기하세요.
Reference
이 문제에 관하여(투고 전에 보도가 얼마나 엉망인지 판정하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rana_kualu/items/de7f1520aee0721ce682
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Id, Title (Twitter), Likes (Twitter), Retweet (Twitter), Claps (Medium), Title Length, Categories (Medium), URL (Medium) ,
0, How to use JSON padding (and other options) to bypass the Same Origin Policy, 10, 5, 177, 76, JavaScript; HTML; Web Development; Tutorial; Technology, https://medium.freecodecamp.org/use-jsonp-and-other-alternatives-to-bypass-the-same-origin-policy-17114a5f2016
1, How to build GitHub search functionality in React with RxJS 6 and Recompose by @yazeedBee, 19, 7, 61, 90, React; Tech; Functional Programming; Programming; Technology, https://medium.freecodecamp.org/how-to-build-a-github-search-in-react-with-rxjs-6-and-recompose-e9c6cc727e7f
2, How to read and write Mindful Minutes from iOS HealthKit with Swift, 11, 6, 54, 93, iOS; Software Development; Programming; Web Development; Tech, https://medium.freecodecamp.org/read-write-mindful-minutes-from-healthkit-with-swift-232b65118fe2
3, How to make more money on Upwork by @jpmorris, 39, 9, 139, 46, Freelancing; Tech; Web Development; Web Design; Jobs, https://medium.freecodecamp.org/7-steps-to-make-money-on-upwork-bf57e56f6038
4, Let's build a fun little game: Learn advanced React patterns by developing a game with sprite animation by @pvl4sov, 62, 14, 342, 116, CSS; Games; Tech; Programming; React, https://medium.freecodecamp.org/learn-advanced-react-patterns-by-developing-a-game-with-sprite-animation-5dc072886975
마지막예측 결과은 2018/12/10에 전송수 9, 좋아요수 40, clap수 801을 기록했다.
RT 수가 미묘하게 부족하지만 대체적으로 적당한 모형을 구축하는 데 성공했다고 할 수 있다.
그렇다면 보시다시피 이 분석은 보도의 본문을 전혀 사용하지 않았습니다.
한 마디로 하면 기사의 본문을 읽은 사람이 없는데 그 기사가 틀릴까제목(및 레이블)만.
이 분석은 영어이기 때문에 모델은 일본어로 직접 사용되는 것은 아니지만 Qiita의 새로운 보도 투고 BOT를 모델에 깊이 있게 넣으면 종합적인 추세의 보도를 대량으로 생산할 수 있을 것이다.
그렇게 생각하지만 찾아보니 Qiita의 새로 보도된 트위터 계정은 없는 것 같습니다.
공식. 다 ○○ 좋다 ○○ Contribution 같은 거라서 새 옷이 없어요.
혹시 동결 대책 인가요?
선생님이 없기 때문에 이 글을 Qiita에 적용하려면 새로운 기사 투고 BOT를 만들어 육성하는 곳부터 시작해야 한다는 결론을 내렸다.
BOT만 만들면 몰라도 키우기 힘들니까 포기하세요.
Reference
이 문제에 관하여(투고 전에 보도가 얼마나 엉망인지 판정하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rana_kualu/items/de7f1520aee0721ce682텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)