帮我写一个基于django的实现分词和分句和词频统计功能的页面
时间: 2024-04-19 16:24:12 浏览: 96
SRMS:用Django Web框架编写的学生成绩管理系统
当然可以!下面是一个基于Django的示例代码,实现了一个页面用于输入文本并展示分词、分句和词频统计的结果:
首先,确保已经安装了Django和jieba库。然后,按照以下步骤创建一个Django项目和应用:
1. 创建一个Django项目:
```bash
$ django-admin startproject text_analysis_project
```
2. 进入项目目录:
```bash
$ cd text_analysis_project
```
3. 创建一个Django应用:
```bash
$ python manage.py startapp text_analysis_app
```
4. 在`text_analysis_app`目录下创建一个`views.py`文件,并添加以下代码:
```python
from django.shortcuts import render
import jieba
import re
from collections import Counter
def analyze_text(request):
if request.method == 'POST':
text = request.POST.get('text')
# 分句
sentence_list = re.split('[。!?]', text)
# 分词
word_list = []
for sentence in sentence_list:
seg_list = jieba.cut(sentence)
word_list.extend(list(seg_list))
# 词频统计
word_freq = Counter(word_list)
return render(request, 'text_analysis.html', {'sentence_list': sentence_list, 'word_freq': word_freq})
return render(request, 'text_analysis.html')
```
5. 在`text_analysis_app`目录下创建一个`templates`目录,并在其中创建一个名为`text_analysis.html`的HTML模板文件。在该文件中添加以下代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Text Analysis</title>
</head>
<body>
<h1>Text Analysis</h1>
<form method="post">
{% csrf_token %}
<textarea name="text" rows="5" cols="50"></textarea><br><br>
<input type="submit" value="Analyze">
</form>
{% if sentence_list %}
<h2>Sentences:</h2>
<ul>
{% for sentence in sentence_list %}
<li>{{ sentence }}</li>
{% endfor %}
</ul>
{% endif %}
{% if word_freq %}
<h2>Word Frequency:</h2>
<table>
<tr>
<th>Word</th>
<th>Frequency</th>
</tr>
{% for word, freq in word_freq.items %}
<tr>
<td>{{ word }}</td>
<td>{{ freq }}</td>
</tr>
{% endfor %}
</table>
{% endif %}
</body>
</html>
```
6. 在`text_analysis_project`目录下的`settings.py`文件中的`INSTALLED_APPS`列表中添加`text_analysis_app`。
7. 在`text_analysis_project`目录下的`urls.py`文件中添加以下代码:
```python
from django.urls import path
from text_analysis_app.views import analyze_text
urlpatterns = [
path('analyze/', analyze_text, name='analyze_text'),
]
```
8. 运行Django开发服务器:
```bash
$ python manage.py runserver
```
现在,你可以通过访问`http://localhost:8000/analyze/`来查看分词、分句和词频统计页面。在文本框中输入文本,点击“Analyze”按钮,然后页面将显示分句和词频统计的结果。
希望这个示例对你有帮助!如果有任何问题,请随时提问。
阅读全文