grammar.searchString(sentence)
을 사용할 때 pyparsing을 사용하여 트래픽 위반 문장을 구문 분석하려고하는데 괜찮 으면,하지만 parseString
을 사용하면 ParseException
이 발생합니다. 아무도 내가 내 코드에 무엇이 잘못되었는지 말해 주실 수 있습니까?parseString을 사용하면 psearsing.ParseException이 발생합니다.
from pyparsing import Or, Literal, oneOf, OneOrMore, nums, alphas, Regex, Word, \
SkipTo, LineEnd, originalTextFor, Optional, ZeroOrMore, Keyword, Group
import pyparsing as pp
from nltk.tag import pos_tag
sentences = ['Failure to control vehicle speed on highway to avoid collision','Failure to stop at stop sign', 'Introducing additives into special fuel by unauthorized person and contrary to regulations', 'driver fail to stop at yield sign at nearest pointf approaching traffic view when req. for safety', 'Operating unregistered motor vehicle on highway', 'Exceeding maximum speed: 39 MPH in a posted 30 MPH zone']
for sentence in sentences:
words = pos_tag(sentence.split())
#print words
verbs = [word for word, pos in words if pos in ['VB','VBD','VBG']]
nouns = [word for word, pos in words if pos == 'NN']
adjectives = [word for word, pos in words if pos == 'JJ']
adjectives.append('great') # initializing
verbs.append('get') # initializing
object_generator = oneOf('for to')
location_generator = oneOf('at in into on onto over within')
speed_generator = oneOf('MPH KM/H')
noun = oneOf(nouns)
adjective = oneOf(adjectives)
location = location_generator + pp.Group(Optional(adjective) + noun)
action = oneOf(verbs)
speed = Word(nums) + speed_generator
grammar = action | location | speed
parsed = grammar.parseString(sentence)
print parsed
오류 추적
역 추적 (가장 최근 통화 마지막) : 파일 "script3.py", 라인 (35)의 구문 분석 = grammar.parseString 파일 (문장) "/ 사용자/알라나/아나콘다 /lib/python2.7/site-packages/pyparsing .py ", 줄 1032, parseString raise exc pyparsing.ParseException : 예상 된 Re :('제어 | 회피 | get') (char 0), (줄 : 1 , col : 1)
, 게시물에 전체 오류 추적을 추가하십시오. – kvorobiev
추적 (가장 최근 통화 마지막) : 파일 "script3.py", 줄 35, location_parsed = location.parseString (문장) 파일 "/Users/alana/anaconda/lib/python2.7/site-packages /pyparsing.py ", 줄 1032, parseString에서 제기 exc pyparsing.ParseException : 예상 재 : ('에서 |에 |에 | 위에 |에 | 위에 |에 |') (char 0), (줄 : 1, col : 1) –
코드에서'location_parsed = location.parseString (sentence)'행을 보지 못했습니다. 예외가 발생한 소스를 제공하십시오. – kvorobiev