반응형

파이썬(python)에서 사용하는 package는 pip 명령어를 사용해서 설치합니다. package 모듈은 pip를 사용할 경우 사용자 폴더 site-packages에 저장됩니다. 오늘은 파이썬(python)에 사용되는 package 버전 정보를 한 번에 확인할 수 있는 방법을 알아보겠습니다. site-packages 폴더를 확인하면 패키지 이름만 확인이 가능합니다. 설치된 패키지가 많다면서 버전 확인은 더욱더 힘듭니다. pip 기능 중에 버전을 확인할 수 있는 명령어를 지원합니다.

pip list

pip list를 사용하면 Package, Version을 정렬하여 확인 가능합니다. 일반적인 리스트 형태로 보고 싶다면 freeze 명령어를 사용하면 됩니다.

pip freeze

freeze 명령어를 사용하면 package 이름과 버전이 한번에 출력됩니다. 가독성은 조금 떨어지지만, package 버전은 한눈에 들어옵니다. package 모듈에 대한 상세한 정보를 알고 싶다면 show 명령어를 사용하면 됩니다.

pip show 모듈명
예제) pip show wheel

pip show 모듈명으로 입력하면 package 모듈에 대한 자세한 정보를 확인할 수 있습니다. 파이썬(python)은 다양한 package를 사용하는 언어로 package 버전에 따라서 매우 민감하게 동작하므로, 버전 확인은 자주 사용하게 됩니다. import 사용 시 모듈 정보를 확인할 수 없다면 대부분 package 버전 오류입니다. 오류가 지속적으로 발생한다면 가상환경 구성 후 package 최신 버전으로 설치하는 게 가장 빠른 방법입니다. 파이썬(python) 설치된 package 버전을 알고 싶다면 list, freeze 명령어로 확인해보세요. 감사합니다.

반응형
반응형

IntelliJ에서  파이썬(Python)을 실행하기 위해서 기본적으로 실행 환경 설정이 필요합니다. 파이썬(Python)은 실행에 따른 패키지를 site-packages 폴더에 저장하며, pip로 설치할 경우 기본 사용자 폴더 아래쪽에 위치합니다. 일반적으로 IntelliJ를 사용해서 파이썬(Python) 프로젝트를 생성하면 venv 가상화가 실행되면서 프로젝트 하단 site-packages 폴더에 설치됩니다.

IntelliJ 버전, 파이썬(Python) 버전이 업그레이드되면 site-packages 폴더를 확인할 수 없어 컴파일이 안 되는 경우가 있습니다. 오늘은 이런 문제를 해결하기 위해서 IntelliJ에서 파이썬(Python) 프로젝트 설정 방법을 알아보겠습니다. 기본적으로 파이썬(Python)을 실행 후 import 항목에 빨간줄이 있다면 패키지를 확인할 수 없는 상태입니다.

"File" 메뉴에서 3번째 항목에 있는 "Project Structure"  메뉴를 클릭합니다.

Project Settings 창이 출력되면서 SDK 항목에 "No SDK"를 확인할 수 있습니다.

기존에 설치된 SDK 항목을 선택합니다. SDK는 신규 파이썬(Python) 프로젝트에 따라서 여러 SDK가 생성될 수 있습니다. 가장 최근에 사용한 SDK를 선택하면 됩니다.

프로젝트 항목에서 SDK가 선택되면 정상적으로 패키지 정보를 확인할 수 있습니다. venv로 구성된 파이썬(Python) 프로젝트는 버전업에 따른 패키지 경로가 고정되어 있어 별도 설정 없이 동작합니다. venv로 설정되어 있지 않다면 SDK 설정 후 신규 프로젝트를 생성하면 정상적으로 컴파일됩니다. 감사합니다.

반응형
반응형

오늘은 파이썬(python)에서 requests 객체를 사용해서 GET, POST 메시지를 보내는 방법을 알아보겠습니다. requests 객체는 WEB 데이터 정보를 확인할 수 있는 객체로 크롤링에 많이 사용됩니다.

먼저 GET, POST 메시지 처리가 가능한 html를 작성했습니다. RGB 색상을 입력받아 텍스트로 확인할 수 있는 WEB 페이지입니다.

입력된 RGB 정보를 텍스트로 출력합니다. 메시지 정보는 color1, color2, color3로 설정했습니다.

get 메시지는 requests get 메서드를 사용해서 전송합니다. 기본 get parameter 정보를 텍스트 배열 형태로 저장하고, requests.get 메서드에 URL, params 정보를 입력합니다.

출력 결과 form-action.php 파일을 호출하면서 GET에 입력된 정보가 HTML BODY 부분에 출력되는 것을 확인할 수 있습니다.

post 메시지는 request post 메서드를 사용해서 전송합니다. parameter 정보는 data로 입력이 가능합니다. get 정보와 동일하게 배열을 생성 후 requests.post 메서드에 data 정보를 입력해서 URL을 호출합니다.

출력 결과 POST 정보를 확인 후 body에 color1 ~ color3 정보가 출력되는 것을 확인할 수 있습니다. requests는 WEB 크롤링부터 GET, POST 메시지를 전송할 수 있어 다양하게 많은 정보 접근이 가능한 매우 편리한 객체입니다. WEB 정보 확인이 필요하다면 파이썬(python)을 사용해서 한번 확인해보세요.

감사합니다.

반응형
반응형

사이트 정보를 가져오기 위해서는 다양한 기술을 사용할 수 있습니다. 파이썬(python)에서는 Requests를 사용해서 사이트 정보를 가져올 수 있습니다. 간단하게 설치 후 사용할 수 있어 매우 편리하게 WEB 정보를 확인할 수 있어 크롤링에 많이 사용됩니다.

먼저 requests를 설치해야 합니다. pip 명령어를 사용해서 requests를 install 해주세요.

처음 설치하면 정상적으로 설치됩니다. 전 이전에 설치되어 있어 오류 메시지가 출력되었습니다.

requests는 간단하게 get 메서드를 사용해서 사이트 정보를 확인할 수 있습니다. get 메서드에 사이트 정보를 입력합니다. status_code를 확인하면 정상적인 상태 사이트 확인이 가능합니다.

출력 결과 200 코드를 확인할 수 있습니다.

사이트 정보를 확인할 수 없는 내용을 사용할 경우 404 오류 코드를 리턴합니다.

출력 결과 404 에러를 확인할 수 있습니다. 처음 사이트 정상 유무를 먼저 확인하고 사이트 텍스트를 확인하는 게 가장 좋은 방법입니다.

text 속성을 사용하면 UTF-8로 인코딩된 사이트 텍스트 정보를 확인할 수 있습니다.

개발자 모드로 확인할 수 있는 사이트 HTML 정보를 한 번에 확인할 수 있습니다. 그런데 모든 코드가 포함되어 매우 복잡한 구조입니다.

content 속성을 사용하면를 바이너리 타입으로 변경되어 쉽게 사이트 텍스트 확인 가능합니다.

text 속성과 비교하면 매우 간결한 내용을 확인할 수 있습니다. 파이썬(python) requests 객체는 사이트 정보를 확인해서 다양한 정보를 빠르게 추출할 수 있어 매우 편리합니다. 간단한 속성으로 사용으로 빠르게 사이트 접근이 가능해서 WEB 자동화 프로그램을 개발할 때 꼭 필요한 객체입니다.

감사합니다.

반응형
반응형

파이썬(python)에서 selenium을 사용해서 xpath를 사용하면  DeprecationWarning 오류가 발생합니다.

발생하는 오류와 상관 없이 컴파일에는 문제가 없습니다. 하지만 오류는 그냥 넘기면 문제가 발생할 수 있어 그냥 지나가면 안 됩니다. 내용을 확인하면 find_element_by_xpath 사용해서 명시적이지 않게 접근하는게 문제인 거 같습니다.

find_element_by_xpath 함수 대신 find_element 함수를 사용하라고 합니다.

from selenium.webdriver.common.by import By

find_element 함수를 사용하기 위해서는 옵션 설정 by를 참조해야 합니다. 상단에 selenium.webdriver.common.by를 import 해주세요.

xpath = "//*[@id='tab']/table/tr[1]/td[2]"

path = driver.find_element_by_xpath(xpath)

기존 사용하던 함수를 find_element로 변경하면 됩니다.

xpath = "//*[@id='tab']/table/tr[1]/td[2]"
path = driver.find_element(By.XPATH, xpath)

이제 컴파일하면 정상적으로 오류 없이 xpath element를 사용할 수 있습니다.

감사합니다.

반응형
반응형

파이썬(Python)은 간단하게 강력한 기능을 구현할 수 있는 좋은 언어입니다. 오늘은 파이썬(Python)을 사용해서 WEB 매크로 기능을 구현해보겠습니다. 간단하게 네이버 검색 창에서 오늘 날씨를 입력하고 확인하는 매크로를 작성하겠습니다. 매크로를 만들기 전에 필요한 ChromeDriver 및 selenium을 설치해야 합니다.

먼저 pip 기능을 사용해서 selenium을 설치합니다. 셀레늄(selenium)을 사용해서 ChromeDriver를 제어할 수 있습니다.

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 102, please download ChromeDriver 102.0.5005.27 If you are using Chrome version 101, please download ChromeDriver 101.0.4951.41 If you are using Chrome version 100, please download ChromeDriver 100.0.4896.60

chromedriver.chromium.org

ChromeDriver 홈페이지에서 사용중인 크롬과 동일한 버전을 다운로드해주세요. 메이저 버전만 확인하면 됩니다. 다운로드 후 압축을 해제하면 ChromeDriver.exe를 확인할 수 있습니다.

먼저 간단하게 코드를 사용해서 네이버 사이트를 방문하겠습니다.

from selenium import webdriver
driver = webdriver.Chrome("D:/chromedriver.exe")
url = "https://www.naver.com"
driver.get(url)

selenium을 import 진행 후 webdriver.chrome 메서드를 사용해서 Chromedriver.exe를 로드합니다. driver.get(url) 적용 후 컴파일을 진행하면 Chromedriver.exe가 실행되면서 네이버 메인 페이지로 이동합니다.

ChromeDriver.exe가 실행되면서 별도 브라우저로 이동합니다. 매크로를 실행하기 위해서는 html 요소에 따른 내용을 확인할 수 있어야 합니다. ChromeDriver는 "//태그[@속성="속성값"]" 으로 HTML 태그를 인식할 수 있습니다.

먼저 검색 창 요소를 찾기 위해서 마우스를 이동합니다. 툴팁으로 "검색어 입력"을 확인할 수 있습니다.

Chrome를 실행 후 F12를 눌러주면 개발자 모드를 확인할 수 있습니다. 개발자 모드로 이동해서 Ctrl + F 키를 사용해서 "검색어 입력"을 검색해서 동일한 태그로 이동해주세요.

"검색어 입력" 테크를 확인하면 이제 xPath 경로를 설정해야 합니다.

xPath 경로를 확인하기 위해서는 태그를 선택하고 마우스 우크릭에서 "Copy" -> "Copt XPath"를 선택하면 태그 xPath를 확인할 수 있습니다. 검색창 태크 xPath는 "//*[@id='query']"입니다.

이제 검색 버튼 클릭 이벤트를 생성하기 위해서 검색 이미지 태그를 확인합니다. 마우스를 사용해서 "검색" 항목을 확인할 수 있습니다.

동일하게 태그를 선택하고 xPath를 복사합니다. 검색 버튼 xPath는 "//*[@id='search_btn']" 입니다.

    url = "https://www.naver.com"
    driver.get(url)

    xpath = "//*[@id='query']"
    input_window = driver.find_element_by_xpath(xpath)    
    input_window.send_keys("오늘 날씨")

    xpath2 = "//*[@id='search_btn']"
    text_panel = driver.find_element_by_xpath(xpath2)
    text_panel.click()

driver.find_element_by_xpath를 사용해서 xpath를 확인합니다. 텍스트를 입력하기 위해서 send_keys를 사용해서 "오늘 날씨"를 입력합니다. 두 번째 xpath를 확인하고 click 메서드를 사용해서 태그 클릭 이벤트를 발생합니다.

컴파일을 진행하면 네이버 페이지를 오픈하고 "오늘 날씨" 입력 후 검색 버튼이 클릭되는 모습을 확인할 수 있습니다. 파이썬(Python)은 복잡한 매크로 기능을 쉽게 제어할 수 있게 구조화되어 있어 누구나 손쉽게 간단한 매크로를 구현할 수 있습니다. ChromeDriver.exe는 독립적인 실행으로 웹에서 발생하는 쿠키 정보 및 부가 정보를 삭제하기 때문에 웹 매크로를 구현하기 매우 편리합니다. 태그 요소에 부합한 xPath는 Chrome 개발자 기능으로 한 번에 확인이 가능해서 더욱더 개발을 쉽게 도와줍니다. 매크로 기능 개발에 관심이 있다면 지금 바로 파이썬(Python)으로 ChromeDriver 확인해보세요.

감사합니다.

반응형
반응형

파이썬(python)을 사용하다 보면 버전 변경에 정말 민감하게 반응합니다. 특정 버전에서 사용하던 함수가 없어지거나, 최신 버전에서만 사용 가능한 함수가 지원될 수 있습니다. 오늘은 PyCharm을 사용하면서 파이썬(python) 버전을 변경하는 방법을 알아보겠습니다.

파이썬(python)을 공부하면서 인터넷에 특정 소스를 확인할 경우 동일한 코드인데 오류가 발생하는 일이 종종 발생합니다. 이를 해결하기 위해서는 먼저 특정 소스 작성 일자를 먼저 확인해야 합니다. 너무 오래된 내용일 경우 함수가 사라진 경우이고, PyCharm 설치 시점보다 소스가 나중에 작성되었다면 최신 버전에서만 사용할 수 있는 내용입니다. match 함수를 사용하려고 하니까 fmmatch 함수만 확인되는 상황입니다. 홈페이지에서 내용을 확인하니까. match 함수는 파이썬(python) 버전 3.10 이상에서만 사용할 수 있는 함수였습니다. 그래서 파이썬(python) 버전업을 진행하기로 했습니다.

PyCharm에서 설정으로 이동 후 python 인터프리터 메뉴를 확인할 수 있습니다. PyCharm 버전이 최신일 경우 한글을 지원합니다. Python 인터프리터 항목에서 파이썬(python) 버전이 3.9만 확인됩니다.

파이썬(python) 홈페이지로 이동해서 최신 버전을 확인합니다. 최신 버전은 상단에 있는 버튼을 클릭하면 바로 다운로드 가능합니다. 최신 버전은 3.10.3 버전입니다. 설치 파일을 실행하고 경로를 선택하면 설치됩니다.

Python 인터프리터 메뉴로 이동하면 설치된 최신 버전을 바로 확인할 수 없습니다. 위 사진처럼 최신 버전을 확인하기 위해서는 버전을 등록해야 합니다. 리스트 상단에 있는 '+' 버튼을 클릭해서 Python 인터프리터 추가 메뉴를 활성화합니다.

"기본 인터프리터" 항목에서 폴더 선택 버튼을 클릭합니다.

최신 버전이 설치된 위치에서 phthon.exe를 선택하고 "확인" 버튼을 클릭합니다.

리스트에 파이썬(python) 최신 버전 3.10을 확인할 수 있습니다.

이제 리스트에서 최신 버전을 선택하고 "확인" 버튼을 클릭하면 최신 버전에 따른 Reload가 진행됩니다. 정상적으로 안될 경우 PyCharm을 재 실행하면 됩니다. 파이썬(python) 버전 변경은 매우 중요한 내용이기 때문에 꼭 숙지하시고 최신 버전에 따른 Release 노트도 시간이 되면 매일 확인해주세요.

감사합니다.

반응형
반응형

파이썬(python)은 다양한 제어문, 반복문을 사용해서 더욱더 쉽게 코드를 작성할 수 있습니다. 오늘은 파이썬(python)에서 자주 사용하는 제어문, 반복문을 알아보겠습니다.

if 문

파이썬(python)에서는 if문을 사용해서 변수를 확인할 수 있습니다. 기본적으로 if 문에서 정의된 내용을 기준으로 elif, else로 구분해서 코드 분기가 가능합니다. 파이썬(python)은 들여쓰기를 기준으로 컴파일되기 때문에 if문 사용 후 들여 쓰기가 적용되기 전까지 제어문으로 인식합니다.

value 값이 2로 입력 받아서 마지막 제어문 else를 실행한 결과입니다. 간단하게 매우 자주 사용하는 제어문입니다.

for 문

for 문은 배열에 저장된 순서로 루프를 돌면서 value 값을 확인할 수 있는 반복문입니다. 배열을 선언 후 특정 값으로 초기화하고 for을 사용했습니다.

출력 결과 words에 저장된 내용이 출력되는 것을 확인할 수 있습니다.

for문은 배열에 저장된 특정 키를 확인 후 복사 및 삭제가 가능합니다. sports 배열을 생성할 때 별도 키 값으로 현재 배열 상태를 구분합니다. copy() 메서드를 사용해서 items를 복사하고, status로 특정 키 값을 검색합니다. 특정 키와 status가 일치한다면 del 함수를 사용해서 sports에서 'inactive' 항목을 삭제합니다.

출력 결과 기존 항목에서 'invactive'가 삭제된 내용을 확인할 수 있습니다. 신규 배열을 선언하고, for 문을 사용해서 새로운 배열 생성도 가능합니다.

range

range는 파라메타(parameter)에 따라서 연속적인 내용을 리턴하는 함수입니다. 기본적으로 파라미터(patameter)에 입력된 내용을 기준으로 리턴하며, 두 번째 파라미터(patameter)를 사용할 경우, 첫 번째 파라미터(patameter)부터 두 번째 파라미터(patameter)까지 연속적인 내용을 리턴합니다. 세 번째 파라미터(patameter)를 사용할 경우 연속적인 내용 중에서 입력된 세 번째 파라미터(patameter)만큼 이동해서 값이 설정됩니다.

출력 결과 처음에는 연속적인 숫자이며, 두 번째는 설정 범위 내용을 출력하고, 세 번째는 증가분이 적용되는 것을 확인할 수 있습니다.

match 문

파이썬(python)에서는 match문을 사용할 수 있습니다. match문은 기존 C언어에서 사용하는 switch문과 동일한 구조로 사용 가능합니다. match문은 파이썬(python) 3.10 버전 이상부터 사용이 가능하기 때문에 match문을 사용하고 싶다면 파이썬(python) 버전을 최신 버전으로 변경해야 합니다. match 문은 기존 switch문과 동일하며 default 대신 '-'문자로 구분됩니다.

출력 결과 입력된 http_code가 없기 때문에 default로 선언된 "Code not fund"를 확인할 수 있습니다.

파이썬(python)은 다양한 제어문을 사용해서 코드를 작성할 수 있고 버전에 따라서 상이하기 때문에 사용하고 싶은 제어문 또는 반복문을 기능에서 확인 후 버전을 선택해주세요.

감사합니다.

반응형
반응형

파이썬(python)을 사용해서 코딩을 하다 보면 복잡한 내용을 정리해야 하는 경우가 있습니다. 기본적으로 코딩 외에 글은 주석으로 처리해서 컴파일과 무관하게 기록할 수 있습니다. 오늘은 파이썬(python)에서 한줄, 여러 줄 주석 다는 법을 알아보겠습니다.

파이썬(python) 한 줄 주석

파이썬(python)은 기본적으로 '#'을 사용해서 주석을 설정할 수 있습니다. '#' 주석은 코드 위치와 상관없이 '#' 위치부터 주석으로 인정됩니다.

파이썬(python) 여러 줄 주석

'#'을 사용하면 한줄 주석이 가능하지만, 개행을 할 경우 주석이 소멸되는 문제가 있습니다. 그래서 파이썬(python)에서는 여러 줄을 주석하기 위해서 큰따옴표(""") 연속 3개와 작은 따옴표(''') 연속 3개를 사용할 수 있습니다. 주석을 달고 싶은 문장 처음 부분에 연속 큰따옴표를 입력하면 뒤쪽으로 주석 처리가 진행됩니다. 문장 끝쪽에 다시 큰따옴표를 3개 사용하면 주석이 종료됩니다.

작은따옴표도 동일하게 3개를 사용하면 여러줄 주석 처리가 가능합니다. 여러 줄 주석은 긴 문장을 주석할 수 있기 때문에 소스 코드 상단에 사용하기 좋습니다.

파이썬(python) 주석 단축키

한 줄 및 여러 줄을 간편하게 주석하기 위해서는 단축키를 사용해서 주석 처리가 가능합니다.

PyCharm을 사용하는 기준으로 Windows에서는 CTRL + / 이고, MAC에서는 Command + /입니다.

주석을 달기 위해서 라인을 선택하고 CTRL + /을 클릭하면 '#'이 생성되면서 주석 처리가 진행됩니다.

개행된 문장을 주석처리하는 방법도 동일하게 문장을 선택하고 CTRL + /을 클릭하면 한 줄마다 '#' 처리되어 주석으로 변경됩니다.

파이썬(python) 주석 처리 주의사항

파이썬(python) 주석 처리에서 가장 중요한 내용은 주석을 취소할 경우 "들여 쓰기" 오류가 발생하는 문제가 있습니다. 파이썬(python)은 "들여 쓰기" 따라서 컴파일이 실행되기 때문에 주석을 풀 경우 들여 쓰기를 다시 확인해야 합니다. 코드 부분에 주석을 사용할 경우 하단에 빨간색 줄이 보이면 "들여 쓰기"를 다시 한번 확인해주세요.

개발에서 주석은 매우 중요한 부분입니다. 파이썬(python)은 다양한 알고리즘을 기본으로 사용하기 때문에 다른 언어보다 많은 주석이 필요하다고 생각됩니다. 오늘부터 주석을 습관화하면서 코드 가독성을 높여보세요.

감사합니다.

반응형
반응형

오늘은 파이썬(Python) 파이토치(PyTorch)에서 자연어를

처리하기 위해서 우선적으로 해야 할 토큰 만들기를 알아보겠습니다.

자연어를 처리하기 위해서는 단어를 구분해서

문장을 해석해야 합니다.

 

간단하게 문장과 공백으로도 나눌 수 있지만

정확한 의미를 확인하기 위해서는 문장과 공백만을

구분해서는 사용하기 힘듭니다.

 

NLP 작업에 사용되는 말뭉치(corpus)는 원시 텍스트와

메타데이터로 구성됩니다.

원시 텍스트, 메타데이터를 구분하기 위해서

오픈 소스 NLP 패키지는 대부분 코큰화 기능을 지원합니다.

대표적인 NLP 두가지 제품을 사용해서 토큰화를 확인해보겠습니다.

 

첫 번째 오픈 NLP 패키지 spacy

https://spacy.io/

 

spaCy · Industrial-strength Natural Language Processing in Python

spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more.

spacy.io

spacy를 사용하기 위해서는 먼저 패키지를 설정해야 합니다.

spacy는 패키지 설치 시간이 조금 오래 걸립니다.

import spacy

import를 사용해서 spacy 패키지를 로드합니다.

def spacyex():
    nlp = spacy.load('en_core_web_sm')

    # Process whole documents
    text = ("When Sebastian Thrun started working on self-driving cars at "
            "Google in 2007, few people outside of the company took him "
            "seriously. “I can tell you very senior CEOs of major American "
            "car companies would shake my hand and turn away because I wasn’t "
            "worth talking to,” said Thrun, in an interview with Recode earlier "
            "this week.")
    doc = nlp(text)

    # Analyze syntax
    print("Noun phrases:", [chunk.text for chunk in doc.noun_chunks])
    print("Verbs:", [token.lemma_ for token in doc if token.pos_ == "VERB"])

    # Find named entities, phrases and concepts
    for entity in doc.ents:
        print(entity.text, entity.label_)

spacy.load() 함수를 사용해서 core를 로드합니다.

text에 일반 문장으로 입력합니다.

nlp를 사용해서 토큰화를 진행합니다.

출력 결과 일반 문장을 토큰화 하여 출력합니다.

token.pos_를 사용하면 단어를 분류하여

품사 태깅을 확인할 수 있습니다.

혹 spacy를 사용 중 오류가 발생하면 아래 내용을 참고해주세요.

https://believecom.tistory.com/746

 

python spacy 모델 사용 중 Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package 오류 처리 하기

python 자연어 처리를 공부하면서 spacy모델을 사용한 기본 테스트를 하게 되면 오류가 발생합니다. 오류 내용은 "Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package" 입니다. 모델이..

believecom.tistory.com

 

두 번째 오픈 NLP 패키지 nltk

https://www.nltk.org/

 

Natural Language Toolkit — NLTK 3.6.2 documentation

Natural Language Toolkit NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries

www.nltk.org

nltk 패키지도 import를 사용해서 설치가 가능합니다.

nltk는 패키지 다운로드 후 컴파일을 진행하면

추가 패키지를 다운로드해야 합니다.

nltk.download() 함수를 사용해서 오류 발생 시

패키지를 하나씩 선택하면 됩니다.

def nltkex():
    nltk.download('punkt')
    nltk.download('averaged_perceptron_tagger')
    nltk.download('maxent_ne_chunker')
    nltk.download('words')
    nltk.download('treebank')
    sentence = """At eight o'clock on Thursday morning Arthur didn't feel very good."""
    tokens =nltk.word_tokenize(sentence)
    print(tokens)
    tagged = nltk.pos_tag(tokens)
    print(tagged[0:6])

    eltities = nltk.chunk.ne_chunk(tagged)
    print(eltities)

    t = treebank.parsed_sents('wsj_0001.mrg')[0]
    t.draw()

nltk.word_tokenize() 함수를 사용해서 토큰화를 진행합니다.

nltk.pos_tag()함수는 품사 태깅을 진행 후 

토큰 정보를 출력할 수 있습니다.

간단한 함수 사용으로 토큰화를 진행할 수 있습니다.

청크 나구기를 하기 위해서는 nltk.chunk.ne_chunk() 함수를 사용합니다.

간단한 출력으로 문장의 청크를 구분할 수 있습니다.

파이토치(PyTorch) 자연어 처리에서 토큰, 청크 단위로 문장을

구분하면 정확한 구조를 확인하기 위해서 트리구조가 가장 좋습니다.

nltk 패키지에서는 treebank를 사용해서 트리구조

내용을 확인할 수 있습니다.

자연어 처리에서 문장을 처리하기 위한

토큰화는 가장 기본되는 작업입니다.

두 가지 오픈 패키지를 사용해서 우선적인 자연어 처리

기본을 공부하면 좋겠습니다.

감사합니다.

 

반응형

+ Recent posts