텐서플로우를 이용한 자연어 분석기 개발 시도 시작

 

이 가격에 팔아도 될까? 사도 될까?
중고 물건을 구입하거나 판매해본적이 있다면 내가 팔 물건이 지금 얼마일까 궁금한 사람이 매우 많을것이다.

 

커뮤니티에는 중고 물건을 파는 게시판이 있는 경우가 종종 있다. 거기에 올라오는 글들을 분석하여 어떤 물건이 얼마에 팔리는지 수집 할 수 있다면 이런 고민을 할때 큰 도움이 되지 않을까는 그냥 억지로 붙인 핑계고, 내가 사고 싶은 물건이 있는데 중고장터에 새로 고침하기 귀찮아서 중고장터에 올라오는 글들을 크롤링해서 내가 원하는 물건이 올라올때 나한테 알려주는 시스템을 만들려고 한다. 그러다 보니 욕심이 나서 텐서플로우를 통한 자연어 분석을 해보려고 한다

자연어 수집->형태소 분석->텐서플로우 상태로 진행이 될 것 같다.

형태소 분석기란 한글을 음절단위로 잘라 뜻이 있는 단위로 잘라주는 분석기를 말한다. 아래와 같은 텍스트를 입력하면 다음과 같은 결과가 나온다. ( https://www.shineware.co.kr/products/komoran/ )

 

사용하던 아이폰7이 루프병에 걸려 통화가 안되어 실사용으로 사용할 전화 구합니다 

 

 

저렇게 나눈 단위로 텐서에 입력하면 판매/구매하고 싶은 물건의 이름을 추출하여 가격 별로 db에 입력하면 끝!! 이라는 간단한 프로젝트가 될 수 있기를 바란다.
일단 개요는 이렇게 간단하게 시작하고 조만간 형태소 분석기들에 대해 조사해서 공유해봐야겠다

requests와 BeautifulSoup을 이용한 간단한 크롤링 구현

맥에서 작업할때랑 윈도우에서 작업할때 맞춰가지고 명령어가 pip가 됬다가 pip3가 됬다가 할거같은데 이건 어쩔 수 없을거같다.
일단 pip를 통해 requests와 BeautifulSoup를 설치해준다. requests는 http request를 전송해주고 BeautifulSoup는 html을 파싱해서 쓰기 편하게 해주는 프로그램이다. 그냥 찾아보니까 파이썬에서 제일 많이 쓰는 코드라서 나도 사용하기로 한다 😀

크롬에서 개발자 도구로 크롤링할 테이블의 태그 id 를 확인한다.

찾을 테이블은 div로 이루어져있고 list_content라는 클래스로 이루어져있다. 그 안에 각 줄은 list_item symph_row로 이루어져있다 soup.find(테이블).find_all(각 행)으로 입력을 하면 해당 객체를 배열 형태로 받을 수 있다.

listTable에 배열형태의 각 행이 있는데 for문으로 그 안의 객체를 하나씩 꺼낸 후 제목, 카테고리, 링크로 나누어 저장 할 수 있다! 프린트 하면 결과를 볼 수 있다!!

 

중괄호 없이 들여쓰기로 개발하는 언어를 굉장히 안 좋아했는데 파이썬을 써보니까 정말 코드량이 확 줄어서 사람들이 왜 쓰는지 알거 같다.
이대로 얼른 개발해서 어서 빨리 자연어 처리까지 시작해보면 좋을거 같다

작업한 코드는 아래 링크로 가면 확인 할 수 있다.

https://github.com/rurara/A-Lot-Code/commit/c2cb416feccb0338b0eec82cafcfb00cce72da62

윈도우 10 파이선 설치하기

우와 진짜 오랜만이다. 이제 곧 회사를 그만두게 될 거 같아 그냥 놀기만 하면 안될거같아서 뭔가 계획적으로 놀려고 준비중이다.

파이선을 통해서 데이터 처리를 한번 해보려고 해가지고 일단 집에 있는 데스크탑에 파이선을 설치하려고 했다. 설치방법은 매우 간단했다.  그냥 파이선 홈페이지에 들어가서 윈도우용 인스톨러를 받은후 설치하니 한방에 되었다. 세상 진짜 편해졌다.

 

 

인스톨러의 경우 기본 설치 옵션에 패스 설정이 안되어있었는데 손으로 하면 귀찮으니까 해당 항목을 체크하면 아무곳에서나 패스가 한번에 추가 되어 정말 편했다. 야호 만세

 

일단 오늘은 가볍게 설치까지만….

러시아 식당 동대문 포츈

지방에서 일하는 친구가 서울에 올라왔다. 평소 일하느라 바빠 얼굴도 보기 힘든 친구들이 덕분에 오랜만에 모이기로 하였다. 어디갈까 어디갈까 고민하다가 처음에 이태원이 나왔는데 아저씨들에게 이태원은 너무 사람이 많고 비싼 동네였다. 매일 보는 성신여대는 그만 좀 보고 싶다고 하였다. 그렇게 어디갈까 고민하는데 친구중 한명이 동대문에 러시아 식당이 있다고 하였다. 예전에 다른 친구들이랑 거기에 가서 고기 요리를 맛있게 먹은 기억도 나고 다른 기억도 떠올랐다.

 

‘제가 저번에 거기 한번 가봤는데 거기서 일하던 금발 누나가 예뻤어요’

 

내가 한마디를 하자 누구 한마디 싫다는 말 없이 그 식당으로 결정되었다. 저녁이 되고 일을 끝내고 퇴근을 하고 갔다. 볶음밥과 고기, 계란, 스파게티등을 시켰다. 다들 오랜만에 봐서 즐겁다는 이야기 반 음식이 신기하다 반 하면서 열심히 먹었다.

특히 꼬치가 정말 고기고기해서 정말 맛있었다. 중국집에서 나오던 양꼬치가 츄츄팝스 하나 먹는 기분이면 여기서 나온 꼬치는 지팡이만한 사탕으로 맞는 그야말로 비교가 안되는 스케일의 고기고기한 느낌이다. 물론 츄츄팝스를 싫어하는건 아니지만 여기가 더 고기고기해서 좋았다.

 

그리고 예상외로 평가가 좋았던 음식은 치즈+계란+소세지 구이였는데 다들 평범한 음식만 시켜가지고 이런것도 한번 시켜보자 해서 시켰는데 맛은 다들 예상외로 좋았다고 한다. 나는 재료 보고 아 이건 맛이 없을수가 없는 조합인데…하면서 시키긴했는데 일단 맛있게 먹었으니 조용히 잘 먹었다!

 

 

맨날 먹던것만 먹어서 질릴때는 한번 찾아가보는걸 추천한다

리디북스를 사용한지 어느새 1년 반이 지나간다

책을 싫어하지 않는다. 나름 일주일에 2~3권씩 읽던 적도 있었다. 그래도 언제부터인가 책을 잘 안읽게 되었다. 그래도 책은 좋아해서 2~3달에 한권씩은 읽었다. 그러다가 우연치 않게 리디북스에서 이북 리더기를 싸게 팔길래 구하기도 했고 관심가던 책을 싸게 팔기도 해서 작년 초에 처음 전자책을 사기 시작했다.

 

그러다보니 책은 구매목록은 800권 가까이 되어가고 있다.  구입하기가 쉽고 책을 정리하지 않아도 된다는 생각에 부담없이 계속 구입하는거 같다. 이제는 책을 찾을때는 yes24보다는 리디북스에서 먼저 검색하게 되었다. 무었보다 제일 편한건 읽고 싶은 책을 굳이 챙겨 들고 다니지 않아도 된다는 점 같다. 호주에 갈때도 만약 페이퍼가 없었으면 한국어로 된 책을 거의 못봤을것이다. 그래서 내가 영어공부를 안한것인가!

요즘은 일주일에 4번 이상은 리디북스에 들어가 할인 하는거 없나, 신간은 뭐가 있을까 하고 한번씩은 보고 있다. 이렇게 읽지 않은 책들은 계속 늘어만 간다.

[iOS] 제스쳐 사용하기 (UIGestureRecognizer)

맨날 코드 작성 안하고 이상한것만 가끔 가끔 올리다가 깃헙에 샘플 레포시토리도 만들겸 간단한 제스쳐 등록 예제를 만들었다. 기본은 제스쳐를 생성하고 인식할 뷰에 추가를 하는것

기본적으로 iOS에서 지원되는 제스쳐는 tab, pinch,  rotation, swipe, pan, screen edge pan, long press이다.

구분을 하자면 pinch와 rotation의 차이는 pinch는 사진을 확대/축소 하듯이 손가락 두개 이상을 오므리거나 펼때 인식하고 rotation은 손가락을 돌릴때 인식한다.

swipe와 pan의 차이는 속도의 차이로 swipe는 페이지를 넘기듯 터치를 휙휙 넘길때 인식하고 팬은 손가락을 천천히 오브젝트를 붙잡고 움직일때 인식한다

screen edge pan같은 경우는 화면 밖에서 안으로, 안에서 밖으로 이동할때 움직인다. 앱의 순서를 바꾸려 할때 앱을 테두리쪽으로 가져가면 다음 페이지로 넘어갈때 쓴다

 

이번 포스팅을 위해 작성한 깃헙 레포시토리다! 이제 샘플 코드는 여기서!

https://github.com/rurara/A-Lot-Code

에버노트에서 원노트로 이사 실패!

메모를 자주 해서 옛날에 뭘 쓸까 한참 고민하다가 에버노트를 사용하고 빠져들게되었다. 윈도우를 사랑하며 맥으로 작업하는 나에게 중요한 내용들은 다음과 같았다

  • 윈도우에서 사용 할 수 있을것
  • 맥에서 사용 할 수 있을 것
  • 아이폰에서 사용 할 수 있을 것
  • 검색이 잘 되면 좋겠다

위의 4가지를 기본으로 찾아봤을때 에버노트가 확고하게 제일 편해서 계속 쓰다 보니 몇년을 쓴거 같다 그러다 보니 노트도 적지 않은 수를 가지게 되었다.

 

그러다 거의 반년 전쯤 에버노트 개인정보 정책이 변경되어 다른 서비스로 이사가려고 시도를 해보았지만 도저히 익숙해지지 않아 포기하였다. 그러다 오늘 다시 시도를 하려 했는데 이유는 무료 계정은 최대 2개의 클라이언트만 사용 할 수 있는 정책때문이다

지금은 회사에서 쓰는 맥북과 전화에만 동기화를 시켜두고 평소 쓰던 윈도우에서 삭제를 하면서 클리핑도 잘 하다 안하고 일할때만 쓰다가 이번에 데스크탑에 맥을 설치하면서 에버노트를 동기화하려니 하지말라는 말과 함께 맨날 미루던 원노트로 이사를 시도 해보았다!!

 

맥에서도 원노트 클라이언트도 있고 검색은 써봐야 알겠지만 일단 기본적인 조건은 충족하는거 같아서 마이그레이션 툴을 위해 노트를 전부 파일로 저장했다

여태까지 만든 4천개 가량의 노트는 무려 9기가에 가까웠다! 참 많이도 썼구나 그리고 조마조마 하며 원노트에 마이그레이션을 시도했지만 실패했다

원인이 노트가 너무 많아서인지, 크기가 너무 커서인지, 맥에서 시도해서인지 모르겠다.

일단 다음에 윈도우에서 다시 시도해보고 안되면….일하는 노트만 따로 원노트로 써볼까 살짝 고민만 하고 있다.

[해킨토시] 완성이 아닌 타협! -2-

해킨을 하며 이것저것 안정화를 하기에는 너무나 힘들다는 소문을 많이 들어서 현재 되는곳에서 일단 일시 정지!

현재 되는것 – 해킨으로 부팅, 그래픽카드 인식!!, 맥 앱스토어 접속, Xcode설치후 프로젝트 빌드,

안되는것 – 아이메시지, 핸드오프, 무선랜, 블루투스등 알리에서 구입한 무선랜 설치하면 될것으로 추정

 

설치 드라이버 참조

저 포스팅을 작성하신분이 쓰는 보드는 Gigabyte GA-Z270M-D3H고 내 보드는 형제인 GIGABYTE GA-Z270X-Gaming 5 어로스 피씨디렉트다. 혹시나 해서 해당 드라이버로 해보니 사운드 카드를 제외한 랜카드나 다른부분이 문제 없이 동작하고 있었다. 안에 들어가면 친절하게 설명도 되있다. 간단하게 드라이버 셋팅하는부분만 번역해보았다

 

 

STEP 2.1: 스카이레이크-NVidia 사용자 셋팅

config.plist의 기본 설정은 내장그래픽입니다. NVidia 외장 그래픽을 사용 할 경우에만 아래 설정을 따라하고 아닐 경우 3번으로 바로 이동하세요.

  1.  /Volumes/EFI/EFI/CLOVER 로 이동
  2. config.plist 파일 삭제
  3. config-GFX.plist 파일을  config.plist 로 이름을 변경

STEP 2.2: 카비레이크 사용자 셋팅

카비레이크 사용자만 아래 설정을 적용하고 아니면 3번으로 이동하세요

  1.  ‘Kabylake Pack’ 폴더안에 있는FakePCIID.kext & FakePCIID_Intel_HD_Graphics.kext 파일을 당신의 efi폴더안에 복사하세요
  2. /Volumes/EFI/EFI/CLOVER/kexts/Other/ 로 이동하세요
  3. FakePCIID.kext and FakePCIID_Intel_HD_Graphics.kext 파일을 이동하세요
  4. config-Kabylake-iGPU.plist or config-Kabylake-GFX.plist 외장 그래픽을 사용하면 해당 파일도 복사하세요
  5. /Volumes/EFI/EFI/CLOVER/로 이동
  6. config-Kabylake-iGPU.plist or config-Kabylake-GFX.plist 해당 경로로 복사
  7. config.plist 파일 삭제
  8. config-Kabylake-iGPU.plist or config-Kabylake-GFX.plist 파일중 하나를 config.plist로 변경

 

번역이 정말 허접하고 구글번역보다 모자르니 위 설명을 못 알아듣겠으면 위 링크로 들어가면 더 친절히 설명이 되어있다

 

내가 쓰는 보드는 사운드카드 칲셋 버젼이 더 높은것이여서 잡히지가 않았다 찾아보니 누가 쉘스크립까지 만들어서 efi 폴더에 드라이버와 셋팅을 다 해두도록 해두었다 만세. audio_cloverALC-120.command  스크립을 그냥 실행하고 비밀번호 쳐주고 재부팅 하면 소리가 잘 난다 얏호 만세

 

이렇게 설정해두니 큰 문제없이 잘 써져서 당분간 설정 안만지고 쓸거같다. 이번에는 해킨한다고 기가바이트 보드에 기가바이트 그래픽카드에 좋은 부품만 썼는데 이거 안되면 굉장히 슬펐을텐데 잘 되서 다행인거 같다.

[해킨토시] 과연 성공 할 수 있을까? -1-

 

 

맥은 비싸다. 그리고 하드나 램 하나 추가하려하면 일반 데스크탑 부품의 2~4배에 가격을 내야만 한다! Xcode를 사용해야만 해서 맥을 사용해야만 하는 나에게 고사양의 맥은 꿈의 가격이였고 언제나 해킨 토시에 관심이 있었다. 이번에 GTX10XX 파스칼 웹 드라이버가 나온 김에 삽질을 시작하려 한다 야호!

일단 부팅이랑 그래픽카드까지 성공 얏호

 

 

CPU i5-7500
MainBoard GIGABYTE  Z270 Gaming5
RAM 삼성꺼 싼거 8gb x 2
VGA GIGABYTE GTX 1060 6GB
HDD 삼성 850 Pro 256gb

warning “Embedded dylibs/frameworks only run on iOS 8 or later”

iOS 최저 버젼 타겟을 7.0으로 잡으면 dilib때문에 경고가 뜬다

빌드셋팅에서 swift로 검색해서 swift라이브러리를 빌드할때 넣는다고 해주면 된다