간단한 토크 나이저를 만드는 방법

Ron

아주 간단한 토크 나이저를 만드는 방법을 알고 싶습니다. 사전 d (이 경우 목록)와 문장 s가 주어지면 문장의 가능한 모든 토큰 (= 단어)을 반환하고 싶습니다. 내가 시도한 것은 다음과 같습니다.

l = ["the","snow","ball","snowball","is","cold"]
sentence = "thesnowballisverycold"

def subs(string, ret=['']):
    if len(string) == 0:
        return ret
    head, tail = string[0], string[1:]
    ret = ret + list(map(lambda x: x+head, ret))
    return subs(tail, ret)
    
print((list(set(subs(sentence))&set(l))))

그러나 이것은 다음을 반환합니다.

["snow","ball","cold","is","snowball","the"]

하위 문자열을 비교할 수는 있지만 더 나은 방법이 있어야합니다. 내가 원하는 것 :

["the","snowball","is","cold"]
Wiktor Stribiżew

여기에서 정규식을 활용할 수 있습니다.

import re
l = ["the","snow","ball","snowball","is","cold"]
pattern = "|".join(sorted(l, key=len, reverse=True))
sentence = "thesnowballisverycold"
print( re.findall(pattern, sentence) )
# => ['the', 'snowball', 'is', 'cold']

Python 데모를 참조하십시오 .

패턴은 다음과 같습니다 . 온라인 정규식 데모를snowball|snow|ball|cold|the|is 참조하십시오 . 트릭은 모든 대안이 가장 긴 것부터 가장 짧은 것까지 나열되도록하는 것입니다. 참조 정규 표현식 연산자의 주문 (.. | .. ... .. | ..) . 부분의 항목을 정렬 내림차순의 길이만큼, 그리고 교대 패턴을 생성한다.sorted(l, key=len, reverse=True)l"|".join(...)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

간단한 CoreNLP의 API를 사용할 때 어떻게 옵션 토크 나이 설정하는 방법?

분류에서Dev

다음 및 이전 링크로 간단한 탭을 만드는 방법

분류에서Dev

간단한 나머지 프레임 워크 예제를 만드는 방법은 무엇입니까?

분류에서Dev

자바 스크립트-간단한 시계를 만드는 2 가지 방법 중 가장 좋은 방법

분류에서Dev

간단한 간단한 sh 파일을 만들어 디렉토리를 삭제하는 방법

분류에서Dev

C ++에서 범용 데이터 토크 나이저를 만드는 방법은 무엇입니까?

분류에서Dev

간단한 페이징 extjs4를 만드는 방법

분류에서Dev

지도를 만드는 간단한 방법이 있습니까?

분류에서Dev

이미 간단한 루비 코드를 리팩토링하는 방법

분류에서Dev

이 간단한 모나드를 작성하는 방법?

분류에서Dev

컴파일러없이 간단한 메이크 파일 튜토리얼을 얻는 방법

분류에서Dev

Pandas에서 간단한 빈도 표를 만드는 방법

분류에서Dev

Python에서 간단한 플래그를 만드는 방법

분류에서Dev

Android Studio에서 Shape를 만드는 가장 간단한 방법

분류에서Dev

Python 2.7에서 간단한 그래프를 만드는 방법

분류에서Dev

LibreOffice 간단한 차트를 만드는 방법

분류에서Dev

Python을 사용하여 R 스크립트에 디렉토리를 전달하는 간단한 방법

분류에서Dev

단어를 토큰 화하고 어간하는 함수를 만드는 방법

분류에서Dev

간단한 웹 사이트 템플릿을 만드는 방법

분류에서Dev

간단한 틱택 토 게임에서 승자를 확인하는 간단한 방법이 있습니까?

분류에서Dev

Asana 작업 공간에 대한 링크를 만드는 방법

분류에서Dev

브라우저 또는 스크립트를 감지하는 간단한 방법

분류에서Dev

크롤러를 통해 간단한 정보를 얻는 방법

분류에서Dev

토크 나이저를 사용하여 날짜를 쓰는 방법?

분류에서Dev

Transformers 라이브러리에서 Bert 토크 나이저를 자르는 방법

분류에서Dev

간단한 링크를 클릭하는 방법?

분류에서Dev

Android SDK (Eclipse) : 간단한 앱을위한 간단한 타이머를 만드는 방법은 무엇입니까?

분류에서Dev

C ++로 간단한 GUI를 만드는 방법; Qt, Gtk 또는 Mondo없이?

분류에서Dev

전체 파일 경로를 입력하는 것보다 현재 디렉토리의 파일에 대한 심볼릭 링크를 만드는 더 간단한 방법이 있습니까?

Related 관련 기사

  1. 1

    간단한 CoreNLP의 API를 사용할 때 어떻게 옵션 토크 나이 설정하는 방법?

  2. 2

    다음 및 이전 링크로 간단한 탭을 만드는 방법

  3. 3

    간단한 나머지 프레임 워크 예제를 만드는 방법은 무엇입니까?

  4. 4

    자바 스크립트-간단한 시계를 만드는 2 가지 방법 중 가장 좋은 방법

  5. 5

    간단한 간단한 sh 파일을 만들어 디렉토리를 삭제하는 방법

  6. 6

    C ++에서 범용 데이터 토크 나이저를 만드는 방법은 무엇입니까?

  7. 7

    간단한 페이징 extjs4를 만드는 방법

  8. 8

    지도를 만드는 간단한 방법이 있습니까?

  9. 9

    이미 간단한 루비 코드를 리팩토링하는 방법

  10. 10

    이 간단한 모나드를 작성하는 방법?

  11. 11

    컴파일러없이 간단한 메이크 파일 튜토리얼을 얻는 방법

  12. 12

    Pandas에서 간단한 빈도 표를 만드는 방법

  13. 13

    Python에서 간단한 플래그를 만드는 방법

  14. 14

    Android Studio에서 Shape를 만드는 가장 간단한 방법

  15. 15

    Python 2.7에서 간단한 그래프를 만드는 방법

  16. 16

    LibreOffice 간단한 차트를 만드는 방법

  17. 17

    Python을 사용하여 R 스크립트에 디렉토리를 전달하는 간단한 방법

  18. 18

    단어를 토큰 화하고 어간하는 함수를 만드는 방법

  19. 19

    간단한 웹 사이트 템플릿을 만드는 방법

  20. 20

    간단한 틱택 토 게임에서 승자를 확인하는 간단한 방법이 있습니까?

  21. 21

    Asana 작업 공간에 대한 링크를 만드는 방법

  22. 22

    브라우저 또는 스크립트를 감지하는 간단한 방법

  23. 23

    크롤러를 통해 간단한 정보를 얻는 방법

  24. 24

    토크 나이저를 사용하여 날짜를 쓰는 방법?

  25. 25

    Transformers 라이브러리에서 Bert 토크 나이저를 자르는 방법

  26. 26

    간단한 링크를 클릭하는 방법?

  27. 27

    Android SDK (Eclipse) : 간단한 앱을위한 간단한 타이머를 만드는 방법은 무엇입니까?

  28. 28

    C ++로 간단한 GUI를 만드는 방법; Qt, Gtk 또는 Mondo없이?

  29. 29

    전체 파일 경로를 입력하는 것보다 현재 디렉토리의 파일에 대한 심볼릭 링크를 만드는 더 간단한 방법이 있습니까?

뜨겁다태그

보관