자연어처리
-
문제 13. col1.txt와 col2.txt를 병합NLP/NLP100 2021. 1. 4. 18:27
12번 문제에서 만든 col1.txt와 col2.txt를 병합하고, 원래 파일의 1열과 2열을 탭으로 구분하여 텍스트 파일에 저장하시오. 확인을 위해 paste 명령을 사용하시오. import pandas as pd f1 = pd.read_csv("/Users/p1zz4/Downloads/col1.txt", header=None) f2 = pd.read_csv("/Users/p1zz4/Downloads/col2.txt", header=None) df = pd.concat((f1,f2),axis=1) df.to_csv("/Users/p1zz4/Downloads/13.txt", sep='\t',index=False,header=None)
-
문제 10. 몇 줄짜리 파일NLP/NLP100 2021. 1. 4. 18:22
기본 파이썬 문제인 1장을 마치고 UNIX 명령인 2장으로 넘어왔다. 2장에 대한 설명은 다음과 같다. popular-names.txt는 미국에서 태어난 아기의 "이름", "성별", "인원 수", "나이" 데이터를 탭을 구분자로 사용, 저장한 파일이다. 아래와 같이 처리할 프로그램을 작성하고, popular-names.txt를 입력 파일로도 실행하시오. 또한, 동일한 동작이 UNIX명령어로도 가능한지 실행하여 확인하시오. 파일이 몇 줄인지 구하시오. 확인을 위해서 wc명령어를 사용하시오. datapath = "/Users/p1zz4/Downloads/popular-names.txt" with open(datapath) as p: print(sum(1 for line in p)) (base) P1ZZ4:D..
-
문제 06. 집합NLP/NLP100 2021. 1. 4. 18:17
"paraparaparadise"와 "paragraph"에 포함되는 문자 Bigram의 집합을 각각, X와 Y로 구하고, X와 Y의 합집합, 곱집합, 차집합을 구하시오. 그리고, "se"라는 Bigram이 X와 Y 중 어느 집합에 포함되는지 확인하시오. Xs = "paraparaparadise" Ys = "paragraph" def ngram(idx, n): return [idx[i:i+n] for i in range(len(idx)-n+1)] X = set(ngram(Xs,2)) Y = set(ngram(Ys,2)) print(f'union: {X | Y}') #합집합 print(f'intersection: {X & Y}') #교집합 print(f'difference of sets: {X - Y}') ..
-
문제 04. 원소 기호NLP/NLP100 2021. 1. 4. 18:09
Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can 라는 문장을 단어 단위로 분할하고, 1,5,6,7,8,9,15,16,19 번째 단어는 앞글자, 그 밖의 단어는 앞에서 두 글자씩 추출하여 꺼낸 문자열에서 단어의 위치순으로 나열한 배열을 만드시오. def sol(i, word): if i in [1, 5, 6, 7, 8, 9, 15, 16, 19]: return (word[0], i) else: return (word[:2], i) text = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. Ne..
-
문제 03. 원주율NLP/NLP100 2021. 1. 4. 18:08
"Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics." 라는 문장을 단어로 분할하여 각 단어의(알파벳) 글자 수를 앞에서부터 나열한 배열을 만드시오. s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics." s = s.split(' ') s1 = [len(w.rstrip(',.')) for w in s] print(s1) [출력 결과] [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]