728x90
반응형

1. ModuleNotFoundError: No module named 'rpy2'

rp2 설치가 안됨... pc에 r이 안깔려있어서 그런거임
아래 사이트에서 r 설치하고 다시 rpy2 설치 시도하면 성공!

https://cran.r-project.org/

 

The Comprehensive R Archive Network

 

cran.r-project.org

 

2. rpy2.robjects.packages.PackageNotInstalledError: The R package "visualFields" is not installed.

rp2설치를 했는데도 visualFields가 없다고 함. r에서 설치해야함
pc에 r을 설치했다면, R console 프로그램이 생겼을텐데 해당 프로그램에서 아래 명령어로 설치하면

install.packages("visualFields")

설치하다가 
--- Please select a CRAN mirror for use in this session ---
이런 문구가 뜬다면 가장 가까운 리전 선택하면 됨

설치 되면 파이썬에서도 잘 실행됨

3.rpy2.robjects.packages.PackageNotInstalledError: The R package "vfprogression" is not installed.

2번 문제와 동일. 아래 명령어로 설치

install.packages("vfprogression")

728x90
반응형

'IT > Python' 카테고리의 다른 글

STT -> 형태소분석  (0) 2021.01.27
QTextBrowser  (0) 2021.01.27
Pycharm에서 stt파일 돌리기  (0) 2021.01.27
728x90
반응형

현재 상태

<in CMD>

//첫번째 에러

(env) C:\Users\kyung\stt_ass>python stt_test1.py

Traceback (most recent call last):

  File "stt_test1.py", line 32, in <module>

    from google.cloud import speech

ModuleNotFoundError: No module named 'google' 

이라는 에러를 제일 처음 만날 것이다.

해결 :

오류뜬 장소에서

 1) pip install --upgrade google-cloud-storage

 2) pip install google-cloud-speech

 3) gcloud auth activate-service-account --key-file="경로\파일명" (경로에 아까 다운받은 .json 파일이 있는 위치를 넣어준다. 파일명에는 다운받은 .json파일 이름을 써준다. 파일명에 .json 까지 넣어줘야 함.)

를 해주니 해결됨.

 

//두번째 에러

(env) C:\Users\kyung\stt_ass>python stt_test1.py

Traceback (most recent call last):

  File "stt_test1.py", line 33, in <module>

    from google.cloud.speech import enums

ImportError: cannot import name 'enums' from 'google.cloud.speech' (C:\Users\kyung\stt_ass\env\lib\site-packages\google\cloud\speech\__init__.py)

// types 랑 enums 위치 바꾸면 types가 에러라고 뜸

728x90
반응형

'IT > Python' 카테고리의 다른 글

rpy2 관련 에러 처리  (0) 2023.06.16
QTextBrowser  (0) 2021.01.27
Pycharm에서 stt파일 돌리기  (0) 2021.01.27
728x90
반응형

wikidocs.net/36704/

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

QTextBrowser의 주요 함수

함수설명

.toPlainText() TextBrowser에 쓰여있는 글자를 가져옵니다.
.setPlainText(String) TextBrowser에 새롭게 글자를 작성합니다. Parameter에는 TextBrowser에 표시할 글자가 들어갑니다.
.append(String) TextBrowser에 글자를 추가합니다. 추가된 글자는 다음줄에 표시되며, Parameter에는 추가할 글자가 들어갑니다.
.clear() TextBrowser에 쓰여있는 글자를 지웁니다.

QLabel의 주요 함수

QLabel의 값을 바꾸고, QLabel에 값을 설정하는 함수들에 대해서 알아보도록 하겠습니다.

Method설명

.text() Label에 쓰여있는 글자를 가져옵니다.
.setText(String) Label에 새롭게 글자를 작성합니다. Parameter에는 Label에 표시할 글자가 입력됩니다.
.clear() Label에 쓰여있는 글자를 지웁니다.
728x90
반응형

'IT > Python' 카테고리의 다른 글

STT -> 형태소분석  (0) 2021.01.27
Pycharm에서 stt파일 돌리기  (0) 2021.01.27
형태소 분석 심화  (0) 2021.01.27
728x90
반응형

 

이전의 잘못된 점

1. pycharm을 돌리는데 사용한 python37속 python.exe가 64비트가 아니라 32비트이다.

 -> stt를 돌리는 것에 있어서는 문제가 되지 않지만 나중에 형태소 분석을 할때 konlpy와 java를 사용해야하는데 그때         64 비트를 사용 해야한다.(32비트도 사용 가능하다고 생각했지만 안된다. 이유를 알고 싶지만 프로그램 실행               시'process finished with exit code -1073740791 (0xC0000409)'가 나오면서 원인 불명)

2. stt와 형태소 분석 파일을 합쳐야 하기때문에 결구 64비트를 이용하기로 결정

 

 

처음 stt파일을 만지는 과정에서 python 버전을 생각하지 않고 무작정 설치만해서 이런 상황이 나옴 앞으로 무슨 프로젝트를 할때나 코딩을 할 때에는 버전을 잘 알아보고 그 버전에 따른 설치방법도 먼저 익힌 후에 프로젝트를 진행하자!!!

 

새로운 마음으로 다시 시작(기존에 있는 python으로 해도 되고 새로 깔아도 된다 <python 3.8.3 64비트로 진행하는 것을 추천!!! 현재 경환,경현,재홍은 python 3.8.3이용중 소원인규는 뭘 사용하는지는 모르겠지만...ㅜㅜ>

 

Pycharm 설정

 

1.

새로운 프로젝트를 만들때설정이 가장 중용하다 먼저 location에 이번 프로젝트의 이름 설정을해주고 경로 같은 경우는 바탕화면에 보이는 것이 편하므로 desktop밑에 프로젝트 설정.

그 후 virtualenv 밑에 있는 location은 크게 상관없고 baseinterpreter가 중요

python3.8.3이 설치되어 있는 경로를 넣어주어야한다 다른 것을 사용할 경우 64비트 버전의 python을 사용해야한다.

 

2.

프로젝트 실행 후에 termianl에 들어가 python이라고 하면 baseinterpreter에서 설정해준 python 버전과 bit 확인 가능 위 사진처럼 나오는게 best!

 

3.

터미널에서

1. pip install --upgrade google-cloud-storage

2. pip install google-cloud-speech

3. gcloud auth activate-service-account --key-file="경로\파일명" (경로에 아까 다운받은 .json 파일이 있는 위치를 넣     어준다. 파일명에는 다운받은 .json파일 이름을 써준다. 파일명에 .json 까지 넣어줘야 함.)

   ->json파일을 못찾겠다거나 없다면 제가 올린 2번째글을 참고해서 json파일을 만들어주시거나 저한테 연락주세요

4. pyaudio같은경우는 python 3.6이후부터는 터미널에서 설치를 할 수 없다 pip, pipwin을 사용해도 터미널 자체에서는    설치 불가능 하므로 구글링을 통해 별도로 pyaudio를 설치해주어야하고 cp 38버전의 64비트 짜리를 설치해야한다.

 

 

여기까지 했다면 pyaudio에 대한 오류는 없을 것이고 enums와 types에 대한 오류만 뜰 것이다.

왜 google를 설치했는데도 두개는 오류가 뜨는지는 정확하게 알 수 는 없지만 pyaudio와 같이 버전차이로 인한 문제라고 생각된다. 그래서 약간... 편법으로 python37(32bit짜리) 폴더 안에 있는 내용들고 현재 내가 진행하고 있는 프로젝트 안에 있는 폴던 안을 비교 해본 결과

 

 

 왼쪽에 처음에 베포한 python 37 오른쪽이 현재 진행되고 있는 프로젝트이다.

 

google를 설치했으면 폴더 안 lib\site-packages\google\cloud로 들어가 보면 다음과 같은 화면이 나올 것이다. 여기서 오른쪽 폴던 속에 있는 speech를 먼저 그냥 지워준다. 그 후 왼쪽 오른쪽 모두 speech_v1으로 들어간후에 왼쪽 폴더에 있는 __init__.py를 오른쪽로 옮겨준다. 

여기까지 했다면 enums, types, pyaudio에 대한 오류는 더이상 뜨지 않고 pycharm에서 stt파일도 잘 돌아갈 것이다. 

 

*

내가 돌려보고 싶은 .py들은 항상 python interpreter에서 내가 base interpreter에서 설정해준 python 3.8로 돌려야 한다. 뒤에 (sign)은 가상환경 이름(가상환경은 처음 프로젝트 생성할 때 만들어진다.)

 

 

 

728x90
반응형

'IT > Python' 카테고리의 다른 글

QTextBrowser  (0) 2021.01.27
형태소 분석 심화  (0) 2021.01.27
형태소 분석  (0) 2021.01.27
728x90
반응형

'견학대상자는 한국외대 창업관련 우수활동 학생 8명, 교직원 2명, 교수 1명 등 총 11명입니다.'

'선형대수학 이론은 회로해석, 신호 처리, 통신 네트워크, 인공지능, 컴퓨터그래픽, 동역학 등 공학 분야뿐만 아니라 자연과학이나 경제학 등에도 응용이 되는 매우 중요한 수학의 분야이다.'

 

두 문장을 예시로 돌렸을 때 화면과 같은 결과로 출력되는 걸 볼 수 있다.

 

함수를 조금 더 효율적으로 짜고 싶지만 지금 어떤 걸 쓰고 어떤 걸 지워야 할 지 판단이 안되기 때문에 함수 다듬는 건 나중에 하고 우선 코드를 만지려면 태그를 알고 있어야 한다.

 

우선 지금 ntags=22라고 했기 때문에 이걸 기준으로 본다.

NC 보통명사 II 감탄사
NQ 고유명사 JC 격조사
NB 의존명사 JX 보조사
NN 수사 JP 서술격 조사
NP 대명사 EP 선어말어미
PV 동사 EF 종결 어미
PA 형용사 EC 연결 어미
PX 보조 용언 ET 전성 어미
MM 관형사 XP 접두사
MA 부사 XS 접미사

+) S로 시작하는 건 기호 (SF는 '.' SP는 ',' 등) F는 외국어

 

1. '견학대상자는 한국외대 창업관련 우수활동 학생 8명, 교직원 2명, 교수 1명 등 총 11명입니다.'

[('견학대상자', 'NC'), ('는', 'JX'), ('한국외대', 'NC'), ('창업관련', 'NC'), ('우수활동', 'NC'), ('학생', 'NC'), ('8', 'NN'), ('명', 'NB'), (',', 'SP'), ('교직원', 'NC'), ('2', 'NN'), ('명', 'NB'), (',', 'SP'), ('교수', 'NC'), ('1', 'NN'), ('명', 'NB'), ('등', 'NB'), ('총', 'MM'), ('11', 'NN'), ('명', 'NB'), ('이', 'JP'), ('ㅂ니
다', 'EF'), ('.', 'SF')]

=> 살리는 것 : NC(보통명사), NN(수사), NB(의존명사), MM(관형사)

'다'를 붙여서 살리는 것 : JP(서술격 조사)

버리는 것 : JX(보조사), SP(기호), EF(종결 어미), SF(기호)

NC 보통명사 II 감탄사
NQ 고유명사 JC 격조사
NB 의존명사 JX 보조사
NN 수사 JP 서술격 조사
NP 대명사 EP 선어말어미
PV 동사 EF 종결 어미
PA 형용사 EC 연결 어미
PX 보조 용언 ET 전성 어미
MM 관형사 XP 접두사
MA 부사 XS 접미사

 

2. '선형대수학 이론은 회로해석, 신호 처리, 통신 네트워크, 인공지능, 컴퓨터그래픽, 동역학 등 공학 분야뿐만 아니라 자연과학이나 경제학 등에도 응용이 되는 매우 중요한 수학의 분야이다.'

[('선형대수학', 'NC'), ('이론', 'NC'), ('은', 'JX'), ('회로해석', 'NC'), (',', 'SP'), ('신호', 'NC'), ('처리', 'NC'), (',', 'SP'), ('통신', 'NC'), ('네트워크', 'NC'), (',', 'SP'), ('인공지능', 'NC'), (',', 'SP'), ('컴퓨터그래픽', 'NC'), (',', 'SP'), ('동역학', 'NC'), ('등', 'NB'), ('공학', 'NC'), ('분야', 'NC'), ('뿐만', 'JX'), 
('아니', 'PA'), ('라', 'EC'), ('자연과학', 'NC'), ('이나', 'JC'), ('경제학', 'NC'), ('등', 'NB'), ('에', 'JC'), ('도', 'JX'), ('응용', 'NC'), ('이', 'JC'), ('되', 'PV'), ('는', 'ET'), ('매우', 'MA'), ('중요', 'NC'), ('하', 'XS'), ('ㄴ', 'ET'), ('수학', 'NC'), ('의', 'JC'), ('분야', 'NC'), ('이', 'JP'), ('다', 'EF'), ('.', 'SF')]

=> 살리는 것 : NC(보통명사), NB(의존명사), MA(부사)

'다'를 붙여서 살리는 것 : PA(형용사), PV(동사), JP(서술격 조사)

버리는 것 : JX(보조사), SP(기호), EC(연결 어미), JC(격조사), ET(전성 어미), XS(접미사), EF(종결 어미), SF(기호)

NC 보통명사 II 감탄사
NQ 고유명사 JC 격조사
NB 의존명사 JX 보조사
NN 수사 JP 서술격조사
NP 대명사 EP 선어말어미
PV 동사 EF 종결 어미
PA 형용사 EC 연결 어미
PX 보조 용언 ET 전성 어미
MM 관형사 XP 접두사
MA 부사 XS 접미사

 

* 테이블에서 볼드 처리된 건 그대로 가져오는 단어, 볼드+기울인 건 "다"를 붙여서 가져오는 단어, 취소선 그인 건 없애는 단어입니다.

 

728x90
반응형

'IT > Python' 카테고리의 다른 글

Pycharm에서 stt파일 돌리기  (0) 2021.01.27
형태소 분석  (0) 2021.01.27
AWS ec2 linux에 장고를 설치하며 겪은 고난 일기  (0) 2020.11.24
728x90
반응형

1. 형태소 분석 말뭉치를 선택한다.

형태소 분석 말뭉치가 굉장히 많아요. 그 중 우리는 카이스트에서 만든 Hannanum을 사용했습니다. 그 이유는 가장 성능이 좋다고 판단했기 때문이죠!

cceeddcc.tistory.com/8

 

파이썬(Python) 한글 형태소 분석 : konlpy

[코엔엘파이(KoNLPy)의 설치 과정] 1) JAVA 1.7 이상의 설치 오라클(Oracle) 사이트(http://www.oracle.com/technetwork/java/javase/downloads/index.html)에서해당 OS에 맞는 JDK(Java Developement Kit)를 설치..

cceeddcc.tistory.com

더 자세한 종류들을 알고 싶으면 위 티스토리 참고해주세요.

 

2. Hannanum 말뭉치를 이용해서 품사 태깅을 한다.

품사 태깅은 형태소의 뜻과 문맥을 파악해서 마크업을 하는 것입니다. 우리가 걱정했던 예시로 감기는(기침이 나는 감기는 환절기에 유행합니다.) / 감기는 (눈이 감기는 시간이다.) 이런 단어들을 각각 명사와 동사로 구분을 해주는 아주 중요한 역할을 해줍니다.

 

3. hannanum 클래스의 pos 함수를 이용한다.

def pos(self, phrase, ntags=22, flatten=True, join=False):
        """POS tagger.

        This tagger is HMM based, and calculates the probability of tags.

        :param ntags: The number of tags. It can be either 9 or 22.
        :param flatten: If False, preserves eojeols.
        :param join: If True, returns joined sets of morph and tag.
        """

        if ntags == 9:
            result = self.jhi.simplePos09(phrase)
        elif ntags == 22:
            result = self.jhi.simplePos22(phrase)
        else:
            raise Exception('ntags in [9, 22]')

여기서 ntags는 태깅을 하는 범위?라고 생각하면 되는데 9로 설정하면 크게 명사N, 조사J 이런 식으로 나와서 ntags를 22로 바꿔줍니다. 그러면 내가 회의 때 보여줬던

[('견학대상자', 'NC'), ('는', 'JX'), ('한국외대', 'NC'), ('창업관련', 'NC'), ('우수활동', 'NC'), ('학생', 'NC'), ('8', 'NN'), ('명', 'NB'), (',', 'SP'), ('교직원', 'NC'), ('2', 'NN'), ('명', 'NB'), (',', 'SP'), ('교수', 'NC'), ('1', 'NN'), ('명', 'NB'), ('등', 'NB'), ('총', 'MM'), ('11', 'NN'), ('명', 'NB'), ('이', 'JP'), ('ㅂ니 다', 'EF'), ('.', 'SF')] 

 

이런 결과가 나와요. 조사는 다 J로 했었는데 JX, JP 등으로 구분된 것이 보입니다.

 

4. 지금까지 한 것들을 합쳐서 필요한 단어를 뽑아내고 아닌 단어를 버린다.

22개 종류의 형태소 중에서 보통명사(NC), 수사(NN), 의존명사(NB) 등은 살리고 보조사(JX), 특수기호(SP, SF) 등은 버리며 서술격조사(JP)에는 "다"를 붙여서 출력을 하려고 합니다.

728x90
반응형

+ 최근 게시글