我正在尝试使用Python从一个组合的英语句子中创建子句子。我需要帮助找出最好的方法和正确的方法。你知道吗
我已经研究了在这个Finding meaningful sub-sentences from a sentence上提出的类似问题。问一个新问题的原因是,一旦我从原来的句子中识别出一组子语句,我就想重新表述新创建的句子。你知道吗
发布我当前用于执行任务的最小代码:
def create_SLEW_Messages(req):
print(req)
# Pass Fail statement will be something like
# "Verify that " + InitPart
# first split the requirement with SHALL keyword, which is the subject
InitPart = re.split('shall', req, flags=re.IGNORECASE)[0]
# to get the exact word after shall
verbWord = re.split('shall', req, flags=re.IGNORECASE)[1].split()[0]
TempPassFailStatement1 = re.split('and', req, flags=re.IGNORECASE)[0]
PassFailStatement1 = re.split('shall', TempPassFailStatement1, flags=re.IGNORECASE)[1]
PassFailStatement2 = re.split('and', req, flags=re.IGNORECASE)[1].split(",")[0]
returnPassFailStatement1 = "Verify that " + InitPart + " will " + PassFailStatement1
print(returnPassFailStatement1)
returnPassFailStatement2 = ""
if verbWord in PassFailStatement2:
returnPassFailStatement2 = "Verify that " + InitPart + " will " + PassFailStatement2
print(returnPassFailStatement2)
else:
returnPassFailStatement2 = "Verify that " + InitPart + " will " + verbWord + " " + PassFailStatement2
print(returnPassFailStatement2)
return returnPassFailStatement1, returnPassFailStatement2
前提条件-提供给上述函数的语句将始终具有“shall”关键字
数据1==>; 输入1-α带应向下移动以增加xyz_alphaBeta,向上移动以减少xyz_alphaBeta。
输出(实际):
确认alpha磁带将向下移动以增加xyz\u alphaBeta
确认alpha磁带将向上移动以减少xyzèu alphaBeta。你知道吗
以上输出符合我的要求,但是当我传递一个排序相似、复杂度不同的句子时,我的算法没有检测到正确的子句子,也没有框出错误或不完整的句子,如下面的数据2
数据2==>; 输入2-最小数据错误应定位在α带上,向上移动以增加fac_alphaV3,向下移动以减少fac_alphaV3。
输出(实际):
验证最小数据错误是否位于alpha磁带上,向上移动以增加fac\u alphaV3
验证最小数据错误将向下,以减少fac\u alphaV3。你知道吗
输出(必需):
验证最小数据错误是否位于alpha磁带上,和向上移动以增加fac\u alphaV3
验证最小数据错误将定位在alpha磁带上,并向下移动以减少fac\u alphaV3。你知道吗
PS.我明白,正则表达式或拆分技术在拆分语言文本方面不是一种好的技术,因为语言文本可能会因形式而异。这就是原因,我正在寻找一些关于这方面的建议
欢迎任何建议或意见!!!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐