본문 바로가기
  • Let's go grab a data
반응형

Data/Python19

정규표현식 정규표현식String.find()는 일치 문자열 탐지, 정규표현식은 패턴 부합 탐지https://emailregex.com/ 참고 with open('wiki/turing.txt', encoding='utf-8') as fp: turing = fp.read()print(turing)앨런 매티슨 튜링(영어: Alan Mathison Turing, OBE, FRS, 1912년 6월 23일 ~ 1954년 6월 7일)은 영국의 수학자, 암호학자, 논리학자이자 컴퓨터 과학의 선구적 인물이다. 알고리즘과 계산 개념을 튜링 기계라는 추상 모델을 통해 형식화함으로써 컴퓨터 과학의 발전에 지대한 공헌을 했다.[2][3][4] 튜링 테스트의 고안으로도 유명하다. ACM에서 컴퓨터 과학에 중요한 업적을 남긴 사람들에게 매년.. 2018. 12. 12.
BeautifulSoup 크롤러 기본 BeautifulSoup 크롤러 기본 import requestsurl = 'https://ko.wiktionary.org/wiki/%EB%B6%80%EB%A1%9D:%EC%9E%90%EC%A3%BC_%EC%93%B0%EC%9D%B4%EB%8A%94_%ED%95%9C%EA%B5%AD%EC%96%B4_%EB%82%B1%EB%A7%90_5800'response = requests.get(url)print(response.text[:100]) 2018. 12. 12.
Word Net 대응, synsets, synset, 거리측정 Word Net 대응하기 WordNet문자열이 같은데 여러 의미를 가질수 있을 때 상대해야함Str -> Synset 여러의미from nltk.corpus import wordnetwordnet#synsets(검색) -> 리스트#synset(신셋색인) .definition() .examples() .lemmas() .hyponyms()wordnet.synsets('car')[Synset('car.n.01'), Synset('car.n.02'), Synset('car.n.03'), Synset('car.n.04'), Synset('cable_car.n.01')] wordnet.synset('car.n.01').definition() wordnet.synset('car.n.01').examples() word.. 2018. 12. 12.
자연어 처리 한글사전 만들어 비교하기 import nltkimport pandas as pdfrom pyko.reader import SejongCorpusReadersejong = SejongCorpusReader(root='corpus/sejong/', fileids=r'(spoken|written)/word_tag/.+\.txt$')len(sejong.fileids())733 tagged_tokens = sejong.words(tagged=True) print(tagged_tokens[1])('타고', (('타', 'VV'), ('고', 'EC'))) 세종 말뭉치에서 단어 원형 사전 만들기1)원형을 찾아 변환해야할 대상들은 단어조각이 2개이상인 것2) 2개 이상이면서 2번째 형태소가 어미유형(tagset.xlsx에서 E로시작하는분류) .. 2018. 12. 12.
자연어 처리 영사전 만들어 비교하기 import nltkimport pandas as pdfrom nltk.corpus import gutenbergtokens = gutenberg.words()tokens['[', 'Emma', 'by', 'Jane', 'Austen', '1816', ']', ...] 사전에 없는 단어 선별 #pandas series로 변경하여 for문으로 사전과 tokens를 비교하는 작업을 대체하자tokens_series = pd.Series(tokens)isAlpha = tokens_series.str.isalpha()words_series = tokens_series[isAlpha].str.lower()words_drop_duplicate = words_series.drop_duplicates()len(words.. 2018. 12. 12.
한글 말뭉치 리더기 만들기 (세종) nltk에서 제공하는 아래 영어 말뭉치 리더기 오픈소스를 수정하여 한글 말뭉치 리더기 만들기영국 말뭉치 http://www.natcorp.ox.ac.uk/국립국어원 세종말뭉치 프로젝트 언어정보나눔터 https://ithub.korean.go.kr/user/main.do from nltk.corpus.reader.bnc import BNCCorpusReaderbnc_reader = BNCCorpusReader( root='corpus/BNC/2554/download/Texts/', fileids=r'[A-Z]/.+/.+\.xml$')fids = bnc_reader.fileids()print(len(fids))fid = bnc_reader.fileids()[0]fid4049 bnc_reader.words(f.. 2018. 12. 11.
사용자 정의 말뭉치 읽고 처리 import nltkfrom nltk.corpus.reader import PlaintextCorpusReader#Plaintext Corpus Reader을 활용하여 사용자 말뭉치 사용 'word_tokenizer= ' 이용해서 테스트 데이터는 wiki에서 긁어서 만든 txt 파일wiki = PlaintextCorpusReader(root='wiki/', fileids=['turing.txt','jobs.txt'], encoding='utf-8')wiki.fileids()['turing.txt', 'jobs.txt'] #words로 토큰화 해보지만 조사 등을 잘라낼 수 없다. fid = wiki.fileids()[0] wiki.raw(fileids=fid) print(wiki.words()[:50])[.. 2018. 12. 11.
Corpus type - Categories, Tagged, UDHR import pandas as pdfrom nltk.corpus import brown#CategorizedTaggedCorpusReaderprint(brown) brown.fileids()[:5]brown.words()brown.tagged_words()brown.categories()[('The', 'AT'), ('Fulton', 'NP-TL'), ...]['adventure', 'belles_lettres', 'editorial', 'fiction', 'government', 'hobbies', 'humor', 'learned', 'lore', 'mystery', 'news', 'religion', 'reviews', 'romance', 'science_fiction'] brown.words(cat.. 2018. 12. 11.
말뭉치Corpus 다루기, Pandas 기초 import nltkfrom nltk.corpus import gutenberg#Plaintextgutenbergprint(gutenberg.fileids()[:10])['austen-emma.txt', 'austen-persuasion.txt', 'austen-sense.txt', 'bible-kjv.txt', 'blake-poems.txt', 'bryant-stories.txt', 'burgess-busterbrown.txt', 'carroll-alice.txt', 'chesterton-ball.txt', 'chesterton-brown.txt'] fid_1 = gutenberg.fileids()[0] raw_text = gutenberg.raw(fid_1) print(type(raw_text)) p.. 2018. 12. 11.
반응형