그래서 나는이 같은 목록이 각 엔티티의 확률로 사전에 각 엔티티의 앞에변환 목록
['2 ROOT S . ', '1 ROOT S ! ', '1 ROOT is it true that S ? ', '1 S NP VP ', '1 VP Verb NP ', '1 NP DT Noun ', '1 NP NP PP ', '1 PP Prep NP ', '1 Noun Adj Noun ', '1 Verb ate ', '2 Verb wanted ', '1 Verb kissed ', '3 Verb understood ', '1 Verb pickled ', '2 DT the ', '1 DT a ', '1 DT every ', '1 Noun president ', '2 Noun sandwich ', '1 Noun pickle ', '3 Noun chief of staff ', '1 Noun floor ', '1 Adj fine ', '2 Adj delicious ', '1 Adj perplexed ', '3 Adj pickled ', '2 Prep with ', '1 Prep on ', '1 Prep under ', '3 Prep in ']
숫자를 확률, 다음 문자열은 사전의 키이고, 나머지 문자열은 해당 특정 문자열의 값입니다. 내가해야 할 일은 목록의 각 엔티티를 추출하여 사전에 입력하는 것입니다. 처음 세에 대한 예를 들어 내가 이렇게 보이는 사전을 만들어야합니다
dict = {
'ROOT': [['2/4'], ['1/4'], ['1/4'], ['S', '.'], ['S', '!'], ['is', 'it', 'true', 'that', 'S', '?']]
}
ROOT가 핵심의 처음 세 값은 무작위로 뽑힐 것이다 마지막 세 값의 확률입니다. 아마도 사전을 구조화하는 더 좋은 방법이 있을지 모르겠지만 저는 파이썬에 대해 상당히 새로운 것입니다. 그래서 나는이 모든 것을 제가 선택하는 것입니다.
가능한 경우 중첩 된 사전 일종의 가능성이 있습니까? 감사합니다.
왜 빈 문자열이 목록에 있습니까? 그들의 목적은 무엇입니까? – Eithos
텍스트 파일에서 목록을 만드는 중, 빈 문자열을 만드는 이유를 모르지만 무시할 수 있습니다. – pnizi
@Eithos는 걱정할 필요가 없습니다. 프로그램하기 전에 프로그램을 실행하기 전에 'list = [item if list! =' '] 항목을 호출하십시오. –