파이썬 목록에서 사용자 지정 단어 제거

만시 모디

사용자 지정 단어 제거, 형태소 분석 (단어의 루트 형식 가져 오기) 및 tf-idf를 수행하는 함수를 작성 중입니다.

함수에 대한 내 입력 데이터는 목록입니다. 개별 목록에서 사용자 지정 단어 제거를 시도하면 작동하지만 함수에서 결합하면 속성 오류가 발생합니다.

AttributeError : 'list'개체에 'lower'속성이 없습니다.

내 코드는 다음과 같습니다.

def tfidf_kw(K):    
    # Select docs in cluster K
    docs = np.array(mydata2)[km_r3.labels_==K]

    ps= PorterStemmer()
    stem_docs = []
    for doc in docs:
        keep_tokens = []
        
        for token in doc.split(' '):
            #custom stopword removal
            my_list = ['model', 'models', 'modeling', 'modelling', 'python', 
           'train','training', 'trains', 'trained','test','testing', 'tests','tested']
            
            token  = [sub_token for sub_token in list(doc) if sub_token not in my_list]

            stem_token=ps.stem(token)
            keep_tokens.append(stem_token)

        keep_tokens =' '.join(keep_tokens)
        stem_docs.append(keep_tokens)

        return(keep_tokens)

추가 코드는 작동하는 tf-idf 용입니다. 내가 뭘 잘못하고 있는지 이해하려면 여기에 도움이 필요합니까?

token  = [sub_token for sub_token in list(doc) if sub_token not in my_list]

다음은 전체 오류입니다.

AttributeError  Traceback (most recent call last)
<ipython-input-154-528a540678b0> in <module>
     49     #return(sorted_df)
     50 
---> 51 tfidf_kw(0)

<ipython-input-154-528a540678b0> in tfidf_kw(K)
     20 
     21 
---> 22             stem_token=ps.stem(token)
     23             keep_tokens.append(stem_token)
     24 

~/opt/anaconda3/lib/python3.8/site-packages/nltk/stem/porter.py in stem(self, word)
    650 
    651     def stem(self, word):
--> 652         stem = word.lower()
    653 
    654         if self.mode == self.NLTK_EXTENSIONS and word in self.pool:

AttributeError: 'list' object has no attribute 'lower'

51 행에서라고 표시된 tfidf_kw(0)곳에서 k = 0에 대한 함수를 확인하고 있습니다.

mkrieger1

ps.stem메서드는 인수로 단일 단어 (문자열)를 예상하지만 문자열 목록을 전달합니다.

이미 for token in doc.split(' ')루프 안에 있기 때문에 목록 이해력을 [... for sub_token in list(doc) ...]추가 로 사용하는 것이 이해가되지 않는 것 같습니다 .

목표가에있는 토큰을 건너 뛰는 것이라면 my_list아마도 다음 for token in doc.split(' ')과 같이 루프 를 작성하고 싶을 것입니다 .

for token in doc.split(' '):
    my_list = ['model', 'models', 'modeling', 'modelling', 'python', 
   'train','training', 'trains', 'trained','test','testing', 'tests','tested']

    if token in my_list:
        continue
    
    stem_token=ps.stem(token)
    keep_tokens.append(stem_token)

경우 여기 token에있는 단어 중 하나 my_listcontinue문은 현재 반복의 나머지 부분을 건너 뛰고 루프는 다음에 계속 token.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬 목록을 읽고 주어진 목록에서 특정 숫자를 제거하십시오.

분류에서Dev

파이썬에서 목록의 모든 문자열에서 특정 문자를 어떻게 제거합니까?

분류에서Dev

파이썬의 목록 (플레이어의 손)에서 사용자 정의 객체 (카드) 삭제

분류에서Dev

중첩 목록에서 파이썬의 작은 단어 제거

분류에서Dev

파이썬에서 정규식을 사용하여 문자열 목록에서 단어를 찾는 방법

분류에서Dev

파이썬 정규식 : 단어에 첨부되지 않은 모든 특수 문자와 숫자 제거

분류에서Dev

목록 이해력을 사용하여 목록에서 단어 제거

분류에서Dev

특정 문자가 포함 된 목록에서 단어 제거

분류에서Dev

파이썬은 목록에서 모든 문자열의 단어를 제거합니다.

분류에서Dev

파이썬 : 목록에서 중복 문자가있는 모든 단어 삭제

분류에서Dev

파이썬을 사용하여 파일에서 추가 단어 제거

분류에서Dev

제외 용어 목록이있는 파일 목록에서 찾은 특정 단어 제외

분류에서Dev

사용자 지정 단일 페이지에서 테마 CSS 제거

분류에서Dev

목록 파이썬의 단일 목록에서 하위 목록을 제거

분류에서Dev

사용자 지정 목록에서 항목 제거

분류에서Dev

파이썬 목록에서 비 단어를 제거하는 방법

분류에서Dev

파이썬 목록에서 단어를 제거 하시겠습니까?

분류에서Dev

단어 목록 (일반적인 단어)에없는 자막 파일에서 단어 제거

분류에서Dev

파이썬에서 readline ()을 사용할 때 어떻게 줄 바꿈 문자 나 빈 문자열을 목록에서 제거 할 수 있습니까?

분류에서Dev

파이썬을 사용하여 목록에서 원하지 않는 요소를 제거하는 방법

분류에서Dev

파이썬 유니 코드 문자열에서 소문자 단어 제거

분류에서Dev

파이썬 정규식을 사용하여 문자열에서 단어 추출

분류에서Dev

파이썬에서 문자 뒤의 단어 인스턴스 제거

분류에서Dev

사용자 지정 연결 목록에서 값 제거

분류에서Dev

목록 + 파이썬에서 정수 제거하기

분류에서Dev

파이썬에서 정규식을 사용하여 문자열 목록에서 일치하는 키워드 뒤의 다음 단어 찾기

분류에서Dev

Thunderbird : 이메일을 보낼 때 ID 목록에서 "주소에서 사용자 지정"제거

분류에서Dev

파이썬 목록에서 특정 단어 찾기

분류에서Dev

목록 파이썬에서 나머지 단어 검색

Related 관련 기사

  1. 1

    파이썬 목록을 읽고 주어진 목록에서 특정 숫자를 제거하십시오.

  2. 2

    파이썬에서 목록의 모든 문자열에서 특정 문자를 어떻게 제거합니까?

  3. 3

    파이썬의 목록 (플레이어의 손)에서 사용자 정의 객체 (카드) 삭제

  4. 4

    중첩 목록에서 파이썬의 작은 단어 제거

  5. 5

    파이썬에서 정규식을 사용하여 문자열 목록에서 단어를 찾는 방법

  6. 6

    파이썬 정규식 : 단어에 첨부되지 않은 모든 특수 문자와 숫자 제거

  7. 7

    목록 이해력을 사용하여 목록에서 단어 제거

  8. 8

    특정 문자가 포함 된 목록에서 단어 제거

  9. 9

    파이썬은 목록에서 모든 문자열의 단어를 제거합니다.

  10. 10

    파이썬 : 목록에서 중복 문자가있는 모든 단어 삭제

  11. 11

    파이썬을 사용하여 파일에서 추가 단어 제거

  12. 12

    제외 용어 목록이있는 파일 목록에서 찾은 특정 단어 제외

  13. 13

    사용자 지정 단일 페이지에서 테마 CSS 제거

  14. 14

    목록 파이썬의 단일 목록에서 하위 목록을 제거

  15. 15

    사용자 지정 목록에서 항목 제거

  16. 16

    파이썬 목록에서 비 단어를 제거하는 방법

  17. 17

    파이썬 목록에서 단어를 제거 하시겠습니까?

  18. 18

    단어 목록 (일반적인 단어)에없는 자막 파일에서 단어 제거

  19. 19

    파이썬에서 readline ()을 사용할 때 어떻게 줄 바꿈 문자 나 빈 문자열을 목록에서 제거 할 수 있습니까?

  20. 20

    파이썬을 사용하여 목록에서 원하지 않는 요소를 제거하는 방법

  21. 21

    파이썬 유니 코드 문자열에서 소문자 단어 제거

  22. 22

    파이썬 정규식을 사용하여 문자열에서 단어 추출

  23. 23

    파이썬에서 문자 뒤의 단어 인스턴스 제거

  24. 24

    사용자 지정 연결 목록에서 값 제거

  25. 25

    목록 + 파이썬에서 정수 제거하기

  26. 26

    파이썬에서 정규식을 사용하여 문자열 목록에서 일치하는 키워드 뒤의 다음 단어 찾기

  27. 27

    Thunderbird : 이메일을 보낼 때 ID 목록에서 "주소에서 사용자 지정"제거

  28. 28

    파이썬 목록에서 특정 단어 찾기

  29. 29

    목록 파이썬에서 나머지 단어 검색

뜨겁다태그

보관