python出现关键词的句子提取,合成一个txt文本
时间: 2024-05-01 22:18:56 浏览: 123
Python实现语音识别和语音合成功能
5星 · 资源好评率100%
可以使用Python中的自然语言处理工具NLTK和正则表达式来实现这个功能。具体步骤如下:
1. 导入NLTK和re模块
```python
import nltk
import re
```
2. 定义需要提取的关键词和文本
```python
keywords = ["Python", "NLTK", "正则表达式"]
text = "Python是一种高级编程语言,常用于Web开发、人工智能、科学计算等领域。NLTK是自然语言处理领域的重要工具包,可以用来进行文本处理、分词、词性标注、句法分析等任务。正则表达式是一种描述字符串模式的语言,可以用来进行文本匹配和替换。"
```
3. 对文本进行分句和分词
```python
sentences = nltk.sent_tokenize(text)
tokens = [nltk.word_tokenize(sentence) for sentence in sentences]
```
4. 使用正则表达式匹配关键词出现的句子
```python
matched_sentences = []
for sentence in sentences:
for keyword in keywords:
if re.search(keyword, sentence):
matched_sentences.append(sentence)
break
```
5. 将匹配到的句子写入txt文件
```python
with open("matched_sentences.txt", "w") as f:
for sentence in matched_sentences:
f.write(sentence + "\n")
```
完整代码如下:
```python
import nltk
import re
keywords = ["Python", "NLTK", "正则表达式"]
text = "Python是一种高级编程语言,常用于Web开发、人工智能、科学计算等领域。NLTK是自然语言处理领域的重要工具包,可以用来进行文本处理、分词、词性标注、句法分析等任务。正则表达式是一种描述字符串模式的语言,可以用来进行文本匹配和替换。"
sentences = nltk.sent_tokenize(text)
tokens = [nltk.word_tokenize(sentence) for sentence in sentences]
matched_sentences = []
for sentence in sentences:
for keyword in keywords:
if re.search(keyword, sentence):
matched_sentences.append(sentence)
break
with open("matched_sentences.txt", "w") as f:
for sentence in matched_sentences:
f.write(sentence + "\n")
```
运行后,会在当前目录下生成一个名为matched_sentences.txt的文件,其中包含了所有匹配到的句子。
阅读全文