admin 管理员组文章数量: 1184232
2024年4月20日发(作者:strcpy函数作用两个数)
敬件打农与狡用
信
China
Computer
I
■与足
&
Communication
1B
2021
年第
2
期
基于
Python
的企业办公文档检索系统的开发与应用
王瑶陈翔高艳彬
(中国电力工程顾问集团西南电力设计院有限公司
,
四川成都
610021
)
摘
要
:
近年来
,
企业办公系统的更新速度越来越快
,
对于不同的系统功能和版本
,
随之产生了大量的帮助文档.
当用户遇到一些问题时
,
如果让用户从这些文档中去寻找解决问题的办法
,
将会浪费很多时间.本文使用
Python
语言
,
通过对收集到的帮助文档内容进行处理
,
最终搭建了一个基于
Flask
的企业办公帮助文档检索系统.办公系统的用户只
需要输入简单的问题描述
,
就可返回解决该问题的帮助文档
,
方便系统使用人员快速准确地定位问题的解决办法
,
从而
有利于提高工作效率.
关键词
:
帮助文档
;
Python;
文本处理
;
文本相似度算法
中图分类号
:
TP311.52
文献标识码
:
A
文章编号
:
1003-9767
(2021)
02-126-04
Development
and
Application
of
Based
Enterprise
on
Python
Office
Document
Retrieval
System
WANG
Yao,
CHEN
Xiang,
GAO
Yanbin
(Southwest
Electric
Power
Design
Institute,
Chengdu
Sichuan
610021,
China)
Abstract
:
In
recent
years,
the
update
speed
of
corporate
office
systems
has
become
faster
and
faster,
and
a
large number
of
help
files
have
been
produced
for
different
system
functions
and
versions.
When
users
encounter
some
problems,
if
users
are
asked
to
find
solutions
to
the
problems
from
these
documents,
it
will
waste
a
lot
of
time.
This
article
uses
the
Python
language
to
process
the
collected
help
documents,
and
finally
builds
a
Flask-based
corporate
office
help
document
retrieval
system.
The
user
of
the
office
system
only
needs
to
enter
a
simple
description
of
the
problem,
and
then
he
can
return
to
the
help
file
that
solves
the
problem,
which
is
convenient
for
system
users
to
quickly
and
accurately locate
the
solution
to
the
problem,
thereby
helping
to
improve
work
efficiency.
Keywords:
help
documents;
Python;
text
processing;
text
similarity
algorithm
0
引言
的使用问题
,
智能地推荐出与问题相关性最强的帮助文档,
近年来
,
西南电力设计院有限公司的办公系统越来越多
,
解决设计人员的困难
,
提高公司人员的工作效率反馈"役
如
OA
系统
、
协同设计管理平台
、
数字化出版系统和数字化
1
系统方案及开发环境
档案馆等
。
设计人员在最初使用这些办公系统的过程中
,
会
遇到一些使用问题
。因此
,
软件部门在每次开发完一个系统
1.1
系统方案
交付使用后
,
都必须抽出
1
~
2
名技术人员专门处理设计人
通过整理公司内部各个系统的帮助文档
,
发现这些文档
员遇到的问题一役设计人员遇到的大多数是一些基本的使用
主要是
Word
或者
格式的文档
。
首先人工将这些帮助
问题
,
完全可以通过查找帮助文档进行解决
。
由于技术文档
文档切分成包含一个问题及其解决方法的文档
,
将这些切分
包含的内容很多
,
设计人员又急于处理设计方面的问题
,
没
后的文档作为系统最终推送给设计人员的帮助文档
。
其次
,
有太多时间阅读技术文档
。
利用
Python
文本处理技术
,
将
Word
和
的文档转换成
这不仅是对公司人力的一种浪费
,
也是对公司财力
、
物
TXT
文档
,这样就可以只读取文档内部的文字描述了
。具体
力的一种浪费
。
为了让设计人员更方便
、快捷地使用系统
,
的系统方案如图
]
所示
。
同时减轻软件开发人员的负担
。
本文提出一种基于文本相似
对于从帮助文档中读取的内容
,
首先利用分词工具对文
度算法的帮助文档检索系统
,
该系统可以根据设计人员提出
档进行分词
,
接着根据停用词文件去除其中的停用词
,这样
作者简介
:
王瑶
(1990-)
,
女
,
甘肃兰州人
,硕士研究生
,
工程师
。
研究方向
:
软件工程
、
自然语言处理和模式识别
。
126
信■与电
■
2021
年第
2
期
China
Computer
&
Communication
软件卄域;与龛用
图
1
系统方案
文档内容就变成以词语为单位的列表
。
然后通过文本向量化
NLP
)
是人工智能研究的一个分支领域
。
自然语言主要是指
技术建立词袋模型
,
生成每个词对应的词向量
,
使得每一个
人类经常使用的交流语言
,
例如汉语
、
英语
、
日语等
。
自然
文档的文本内容表示成词向量的形式
。
语言处理的研究内容就是实现计算机和人类之间通过自然语
同理
,
对输入的问题进行分词和停用词处理
,
获取每个
言进行有效的交流
。
词语的词向量
。
最后利用文本相似度算法比较问题描述的词
中文自然语言处理的流程与英文自然语言处理的流程存
向量和每一个文档的词向量
,
获得输入问题相对于每个文档
在差异
。
中文需要进行分词
,
不像每个英文单词之间都有空
的相似度
,
再进行排序
,
返回相似度最高的文档名称
,
从而
格
。
英文的每个单词就表示一个意义
,
而中文的一句话是由
完成由用户输入问题到提取帮助文档的过程
。
很多字组成的
,
相邻的字再组成一个词语
,
所以中文的一个
1.2
系统开发环境
词语相当于英文的一个单词
。
当然中文的词语不完全是由两
个字组成的
,
有时候一个字
、
三个字
,甚至四个字都可以组
本系统的开发环境以基于
Windows
的
Python
语言环境
成一个词语
。因此
,
中文要进行自然语言处理方面的研究
,
为主
,
主要因为它可以很方便地处理一些文档
,
加之自然语
首先要进行分词
。
言处理的相关技术也以
Python
语言为主
,
并将文本相似度算
法作为辅助
,
最终利用
flask
打包发布
WebService
接口
。
2.4
分词和停用词
2
系统的关键技术点
分词技术是一个相当复杂的问题
,包括基于规则的方法
和基于统计的方法
。
基于规则的方法就是要建立相应的中文
2.1
Python
语言
词语词典
,
利用正向最大匹配原则或者逆向最大匹配原则对
目标文本进行分词
。基于统计的方法是通过统计语料库内相
Python
作为近几年流行起来的一门编程语言
,
在人工智
邻字之间出现的频次
,
将频次较高的两个或者几个字划分为
能
、
算法
、
Web
应用等方面发挥着巨大的作用
。
它是一种面
一个词语
。
现在的分词技术是融合了这两种方法
,
因此要做
向对象的动态类型语言
,
具有运行速度快、
可移植
、
可扩展
出分词效果很好的模型会耗费相当大的精力去维护一个词语
性等特点
。
Python
语言之所以能够流行
,
主要有两个原因
:
词典
,
这对于研究者来说是极不方便的
。
第一
,
Python
语言是一种解释型语言
,
代码简短易于实现
;
现在有很多开源的分词工具
,
从而很容易对一般的语料
第二
,
Python
语言有相当强大的库函数
,
很多复杂且难懂的
进行分词
。
而对于特殊领域内出现的特殊词语
,
分词工具也
计算过程
,
都可以通过调用
Python
相关的库进行辅助计算
。
留出了更新词典的接口
,
只需要将自己专属领域的生僻词语
Python
语言有很多编辑器
,
如
Sublime
、
PyCharm
等
,
本文
传入分词工具的词典中
,
分词工具就可以在目标文档中遇见
选择
PyCharm
201&3.5
x64
作为开发工具
。
这类词语的时候将其识别为一个词语
。
2.2
文本预处理
:
Pywin32
库
虽然现在的分词工具很多
,
但是各个分词工具也有各自
文本预处理的目的是将帮助文档的文字内容提取出来
,
的特点
,从而就需要根据自己应用的不同场景选择不同的分
方便后面进行自然语言处理的相关操作
。
本文使用
pywin32
词工具
。
HanLP是一个很强大的分词工具
,
它在分词的准确
读取
Word
或者
格式的文档内容
。
在使用
pywin32
的时
度方面表现很好
,
但就是分词耗费的时间较长
。
Jieba
是目前
候
,一定要确定是否与自己的
Python
环境匹配
。
本文使用
应用最为广泛的分词工具
,
分词速度快
,
分词效果也不错
,
win32com
读取文档的文字内容
,
并将读取的内容保存成
.txt,
因此受到大家的青睐
。
从而构建了文档检索系统的语料库
,
方便日后处理
。
通过对比应用环境
,
本文决定在对文档进行分词处理的
时候选用
HanLP
作为分词工具
,
因为这时候侧重的是分词的
2.3
自然语言处理
精确度
,
而在对用户输入的问题进行分词时选用
Jieba
作为
自然语
言处理
(Natrural
Language
Processing
,
简
称
分词工具
,
因为这时候分词处于实时的在线应用
,
对于反馈
127
敬件打农与狡用
信
China
Computer
I
■与足
&
Communication
1B
2021
年第
2
期
的结果有很高的要求
。
们之间的相似性
。
余弦值越大则表明越相似
。
相似度的计算
2.5
文本向量化
如下
:
在自然语言处理研究领域中
,
文本向量化是文本表示的
一种重要方式
。
顾名思义
,
文本向量化就是将文本表示成一
=
丽
飞
3
血
3
(
5
)
系列能够表达文本语义的向量
,
而将这些向量作为输入
,
计
其中
,
4
和
2
分别表示向量仏和
B
的各分量
。
算机才可以进行处理
。
无论是中文还是英文
,
词语都是表达
在本文中通过以下方式计算
:
①将每篇文章的词语合成
文本处理的最基本单元
。
一个大的集合
,
并且通过
TF-IDF
算法计算出每篇文章中的
本系统选用的词袋模型是最早的以词语为基本处理单元
词对于这个大集合中的词的词频
;
②通过
TF-IDF
算法计算
的文本向量化方法
。
原理如下
:
输入问题的每个词对于这个大集合中的词的词频
;
③生成文
John
likes
to
watch
movies,
Mary
likes
too.
章的词频向量和输入问题的词频向量
;
④通过余弦定理计算
John
also
likes
to
watch
football
games.
这两个向量的余弦相似度
,
值越大表明越相似
。
在程序中返
根据上述文本
,
构建了如下字典
:
回相似度大于
0.1
的文章名称
。
'
football'':!,''games'
1
Mary''too"
:1Q}
3
系统应用
以上字典中包含了
10
个单词及其唯一的索引
,
每个文本
3.1
Flask
简介
用
10
维的向量表示如下
:
Flask
是
Python
编写实现的
Web
应用程序框架
,
较其他
[1,2,
1,1,1,0,0,0,
1,1]
同类型框架更为灵活
、
轻便
、
安全且容易上手。
它可以很好
[1,1,
1,1,
o.i,
1,1,
o.o]
1
地结合
MVC
模式进行开发
,
开发人员可以分工合作
。
Flask
该向量表示的是词典中每个单词在文本中出现的频次
,
依赖于
Werkzeug
WSGI
工具集和
Jinja2
搜索引擎
。
与文本单词出现的顺序无关
。
Flask
是微内核的
Web
框架
,
“微
”并不是意味着把整
2.6
文本相似度算法
个
Web
应用放入一个
Python
文件
,
而是指
Flask
旨在保持代
码简洁且易于扩展
,
其主要特征是核心构成比较简单
,
程序
通过实验比较
,
本文最终通过
TF-IDF
算法
(
词频-逆
员可以使用
Python
语言便捷地实现一个网站或
Web
服务
。
文档频次算法
)
结合余弦定理计算文本相似度的。
TF
算法
因此
,
文本使用
Flask
框架发布程序
。
是统计一个词在一篇文章中出现的频次
,
在文章中一个词出
现的次数越多
,
那么对该文章的表达能力也越强。
出现的频
3.2
Flask
发布
Web
服务
次用该词在一篇文章中出现的次数除以文章的总词数计算而
本系统的网页界面选择使用
Bootstrap
框架
,
配合
js
代
来
,
计算式如下
:
码实现系统帮助界面的人机对话接口
。
在完成前端界面的设
计后
,
使用
flask
接口将前端获得的数据传回后台进行计算,
再将后台计算的问题描述与帮助文档相似度计算结果返回给
前端界面
。
返回到前端界面的结果是以相似度从高到低进行
其中
,
%是词
i
在文章/中出现的频次
。
排序推荐的
5
个相关文档
,
设计人员再根据自己的需求点击
IDF
算法是统计一个词出现在语料库的多少个文章中
,
下载相应的帮助文档
。
如果一个词语在越少的文章中出现
,
则该词语对文章的区别
能力也就越强
,
用
Zog
(
总文章数/出现该词语的文章数)
进
4
结语
行计算
。
计算式如下
:
基于
Python
的企业办公文档检索系统在大大减少工作量
的同时
,
也使得设计人员能更高效地完成工作
。
在实际的工
幼
;
』
4
昂
]
⑶
作中
,
对于一些帮助文档不能解决的问题
,
也将处理问题的
其中
,
QI
表示语料库中的总文章数
,
表示语料库
办法归纳成新的帮助文档
,
并加入办公文档检索系统中
。
同
中出现该词语的文章数
。分母加
1
为了避免分母为零的情况
。
时
,随着各种办公系统功能的增加,
也添加了很多帮助文档
TF-IDF
算法就是将
TF
算法和
IDF
算法结合起来进行使
到办公文档检索系统中
。
这次大胆的尝试
,
不仅将人工智能
用的
。
表达式如下
:
的概念引入传统的企业办公系统中
,
也是对未来工作的一种
探索
。
A
丿
(4)
参考文献
余弦相似性通过计算两个向量夹角的余弦值来度量它
[1]
王挺
,
麦范金
,
刘忠.自然语言处理及其应用前景的研究
[J].
128
信■与电
■
2021
年第
2
期
China
Computer
&
Communication
软件卄域;与龛用
桂林航天工业高等专科学校学报
,2006,11(4):19-21.
[7]
BENGIO
N
CI
D,et
layer
[2]
Zhang
Hui,Zhang
Min,Li
Haizhou,et
translation
wise
training
of
deep
networks
[C]//Proc
of
the
12th
Annual
rulematching
for
syntax-based
statistical
machine
Conference
on
Neural
Information
Processing
System,
2006.
translation[C]//Proceedings
of
the
2009
Conference
on
[8]
周志华.机器学习
[M],
北京
:
清华大学出版社,2016.
Empirical
Methods
in Natural
Language
Processing,
2009.
[9]
淮青.词义和构成词的语素义的关系
[J],
辞书研
[3]
王挺,麦范金,
刘忠.自然语言处理及其应用前景的研究
[J].
究
,1981(1):98-110.
桂林航天工业学院学报
,2006,11(4):19-21.
[10]
敏萱.面向普通未登录词理解的二字词语义构词研究
[J].
[4]
宋一凡.自然语言处理的发展历史与现状
[J].
中国高新科
中文信息学报
,2015,29(5):63-68,83.
技
,2019(3):64-66.
[11]
Yang
Z,Yang
D,Dyer
C,et
chical
Attention
[5]
Neto
J
L,Freitas
A
er
C
A
tic
Text
Networks
for
Document
Classification[C]//Conference
Summarization
Using
a
Machine
Learning
Approach[C]//
of
the
North
American
Chapter
of
the
Association
for
Advances
in
Artificial
Intelligence,
2002.
Computational
Linguistics,
2016.
[6]
张燕平
,
张铃.机器学习理论与算法
[M],
北京
:
北京科学
[12]
王飞
•
基于蚁群优化的模糊文本聚类算法研究
[D].
郑州:
出版社
,2012.
河南工业大学
,2010.
129
版权声明:本文标题:基于Python的企业办公文档检索系统的开发与应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713590601a642256.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论