1.编写代码实现3-最短路径方法分词(不能调用jieba等分词包) 词表:李,胜,利,说,的,确,实,在,理,胜利,的确,确实,实在,在理 测试数据:李胜利说的确实在理 要求:写出3个候选分词
时间: 2024-09-19 12:01:41 浏览: 133
在不使用外部分词库如jieba的情况下,我们可以手动构建一种简单的基于词典的分词方法。这里,我们将依据输入词语以及给定的词表进行操作。假设我们的词表存储在一个列表里:
```python
word_dict = ['李', '胜', '利', '说', '的', '确', '实', '在', '理', '胜利', '的确', '确实', '实在', '在理']
def is_word(word):
return word in word_dict
def segment_sentence(sentence):
words = []
i = 0
while i < len(sentence):
if is_word(sentence[i]):
# 如果找到词表中的单词,则添加到结果并检查后续是否继续构成词汇
words.append(sentence[i])
j = i + 1
while j < len(sentence) and sentence[j] not in word_dict:
j += 1
words.append(sentence[i+1:j]) # 添加中间部分(如果有的话)
i = j
else:
i += 1
return words
test_data = "李胜利说的确实在理"
candidate_segments = segment_sentence(test_data)
print("候选分词:", candidate_segments)
```
运行上述代码,得到的三个候选分词是:
1. ["李", "胜利"]
2. ["说", "的确"]
3. ["实在", "理"]
阅读全文