用一个句子造句的最好方法

2024-04-26 07:39:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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.我明白,正则表达式或拆分技术在拆分语言文本方面不是一种好的技术,因为语言文本可能会因形式而异。这就是原因,我正在寻找一些关于这方面的建议

欢迎任何建议或意见!!!你知道吗


Tags: 数据alphare错误req句子flagssplit