Page 217 - 《软件学报》2026年第4期
P. 217
1658 软件学报 2026 年第 37 卷第 4 期
18. end if
19. end for
20. return T ′′
算法 2 借助相关句的时序性语义标签进一步确定该句所对应的活动图节点类型和相邻节点连接次序, 并提取
构成当前活动图边四元组所需源节点、目标节点和活动转换内容描述的短语文本向量. 该算法将根据句中关联词、
逗号和分号将句子划分为多个短语, 再按照时序性语义标签确定短语之间的连接次序. 如图 6 所示, 算法 2 将通过
句中的关联词“如果”“那么”将需求文本 1 的第 3 句划分为两个短语, 分别对应决策节点和动作节点. 因为这两个
短语中包含的业务活动在开展时间上属于顺序关系, 所以这两个短语对应的节点将按照与自然语言陈述次序一致
的次序连接.
算法 2. UML 活动图节点类型和节点次序确定.
输入: 需求文本相关句序列 T ′′ 中的一个需求文本相关句 s;
输出: 一个包含节点次序的需求文本短语数组 P h , 节点类型数组 .
P t
1. P h ← [ ]
2. P t ← [ ]
3. W ← Tok(s) //分词
4. 根据关联词、逗号和分号将 s 划分为 n (n ⩾ 1) 个短语 [sub 1 , sub 2 ,..., sub n ]
5. P sub ← [sub 1 , sub 2 ,..., sub n ]
6. P h ← [sub 1 ]
7. for i ← 2 to n
8. sub temp ← sub last + sub i //sub las 表示 P sub 中最后一个句子
t
9. seq_s ← sub temp 的时序性语义标签
p
10. if seq_s == 0 then //sub tem 与 sub i 为逆序关系
11. temp ← sub last
12. sub last ← sub i
13. 将 temp 添加到 P h 末尾
14. else if seq_s == 1 then //sub tem 与 sub i 为同步关系
p
15. sub last ← sub last + sub i
p sub i 为顺序关系
16. else //sub tem 与
P h 末尾
17. 将 sub i 添加到
18. end if
19. end for
20. P t ← [typ 1 ,typ 2 ,...,typ n ] //将 P h 中各短语对应的节点类型初始化为“动作节点”
21. for i ← 1 to n
22. if sub i 包含表示条件关系的关联词 then
23. typ 1 ← “决策节点”
24. end if
25. end for
26. return P h P t
,

