홈>
구문 적으로 구문 분석 된문장이 있습니다. 예를 들어 "엄마가 요리하고 싶어" 파싱은[( 'My', 1), ( 'mom', 2), ( 'want', -1), ( 'to', 2), ( 'cook', 3)]. 숫자는 단어가 의존하는 항목의 색인을 의미합니다. 'mom'은 'wants'에 의존하고 'wants'는 배열의 두 번째 요소입니다 (평소와 같이 0부터 시작). 'Wants'는 '-1'을 가지고 있는데, 그것이 문장의 핵심이기 때문에 다른 것에 의존하지 않습니다.여기서 '엄마'인 SUBJECT를 가져와야합니다.어떻게해야합니까?
지금까지, 나는 모든 경우에 효과가없는 루프를 작성하려고 시도했다. 이 문제는 주제가 2 단어 이상으로 구성 될 수 있으며 그 수는 정의되어 있지 않습니다. 이것처럼 ...
'값'은 [( 'My', 1), ( 'mom', 2), ( 'want', -1), ( 'to', 2), ( 'cook', 3)]입니다./p>
for indx, value in enumerate(values):
m = morph.parse(value[0])
if isinstance(m, list):
m = m[0]
if 'NOUN' in m.tag:
if value[1] == str(index[0]): #it checks if the word (part of the subject) depends on the verb
terms.append([value[0], indx])
if len(terms) > 0:
term = terms[0][0]
t = []
for indx, value in enumerate(values):
if value[1] == str(terms[0][1]): #it checks if the word depend on the found part of the subject
m = morph.parse(value[0])
if isinstance(m, list):
m = m[0]
if 'NOUN' in m.tag:
t.append([value[0], terms[0][0]])
알고리즘은 다음과 같이 작동해야합니다 :전체 배열을 걷고 주어진 단어의 모든 종속성과 이러한 종속성의 모든 종속성을 찾으면 중지합니다. (이 예에서 'mom'의 모든 종속성). 도와주세요!
- 답변 # 1
관련 질문
- python : 일대다 관계 flask-sqlalchemy를 식별하는 적절한 방법입니까?
- PYTHON-최소 3자리 숫자 반환
- python : PyCharm은 dict 생성 속성의 확인되지 않은 속성에 대해 경고합니다.
- python : 지수 형식/과학 표기법 없이 십진수를 인쇄하는 방법은 무엇입니까?
- python : opencv에서 인수 오류가 계속 발생합니까?
- python : Sphinx는 :param 및 :return을 제대로 인식하지 못합니다.
- python : super가 항상 __init__에서 호출되어야 하는 이유
- python : 값이 두 번 이상 나타나면 값을 취하는 목록 만들기
- bash 스크립트에서 올바른 Python 설치를 동적으로 선택하십시오.
- python : 파이썬 함수에서 하드 코딩된 문자열 값을 피하는 방법
준비된 배열을 제공하면 매우 쉽습니다 :
현재 단어가 동사가 아닌 경우 함수는 재귀 적이며, 그렇지 않으면 주제를 배열로 반환합니다.모든 문장에서 작동하지 않으면 죄송합니다.