当前位置: 首页 > news >正文

h5移动端网站开发旅游网站建设项目报告论文

h5移动端网站开发,旅游网站建设项目报告论文,中国建设银行海南省分行网站,seo引擎优化软件目录 步骤 SpaCy Textacy——Text Analysis for Cybersecurity Networkx Dateparser 导入库 写出页面的名称 ​编辑 自然语言处理 词性标注 可能标记的完整列表 依存句法分析#xff08;Dependency Parsing#xff0c;DEP#xff09; 可能的标签完整列表 实例理…目录 步骤 SpaCy Textacy——Text Analysis for Cybersecurity Networkx Dateparser 导入库 写出页面的名称 ​编辑 自然语言处理 词性标注 可能标记的完整列表 依存句法分析Dependency ParsingDEP 可能的标签完整列表 实例理解POS与DEP 可视化注释  Spacy还可执行命名实体识别 可能的所有标签的完整列表 Spacy图形工具 实体和关系抽取  构建图表 网络图 使用Python和自然语言处理构建知识图谱。 知识图谱被视为自然语言处理领域的一部分因为要构建“知识”需要进行“语义增强”过程。由于没有人想要手动执行此任务因此我们需要使用机器和自然语言处理算法来完成此任务。 我们将解析维基百科并提取一个页面用作本数据集。 俄乌战争-维基百科 步骤 设置使用维基百科API进行网页爬取以读取包和数据。NLP使用SpaCy:对文本进行分句、词性标注、依存句法分析和命名实体识别。提取实体及其关系使用Textacy库来识别实体并建立它们之间的关系。网络图构建使用NetworkX库来创建和操作图形结构。时间轴图使用DateParser库来解析日期信息并生成时间轴图。 SpaCy spaCy 这个名称是从 Space空间 这个词汇中来的它代表了 spaCy 设计的初衷即为了提供一个轻量级、高性能的自然语言处理NLP库。 SpaCy是一个自然语言处理NLP库和工具包用于处理和分析文本数据。它被设计成高效、快速且易用的工具具有许多功能包括分词、命名实体识别、依存关系分析、文本分类等。SpaCy支持多种语言并提供了预训练的词向量模型。它广泛用于文本挖掘、信息检索、自动化文本分类、情感分析、实体识别、机器翻译等领域。 Textacy——Text Analysis for Cybersecurity Textacy的名称来源于Text Analysis for Cybersecurity网络安全文本分析这个名称强调了该库最初的用途即在网络安全领域中对文本数据进行分析。然而随着时间的推移Textacy的功能扩展到了更广泛的自然语言处理和文本挖掘任务包括情感分析、实体识别、主题建模等因此它的名称也逐渐演化成了更通用的文本分析工具。 Networkx NetworkX是一个用于创建、操作和研究复杂网络图的Python库。它提供了丰富的功能和工具使用户能够轻松地构建、分析和可视化各种类型的网络包括社交网络、网络拓扑、生物网络、交通网络等。 Dateparser dateparser 是一个Python库用于解析日期和时间字符串。它的主要功能是将各种格式的日期和时间字符串转换成Python的datetime对象以便在程序中进行日期和时间的处理和计算。 导入库 ## for data import pandas as pd #1.1.5 import numpy as np #1.21.0## for plotting import matplotlib.pyplot as plt #3.3.2## for text import wikipediaapi #0.5.8 import nltk #3.8.1 import re## for nlp import spacy #3.5.0 from spacy import displacy import textacy #0.12.0## for graph import networkx as nx #3.0 (also pygraphviz1.10)## for timeline import dateparser #1.1.7 Wikipedia-api是一个Python库可轻松解析Wikipedia页面。我们将使用这个库来提取所需的页面但会排除页面底部的所有“注释”和“参考文献”内容。 写出页面的名称 topic Russo-Ukrainian Warwiki wikipediaapi.Wikipedia(en) page wiki.page(topic) txt page.text[:page.text.find(See also)] txt[0:500] ... topic Russo-Ukrainian War在这一行中定义了一个名为 topic 的变量其中存储了要查询的维基百科主题即 Russo-Ukrainian War俄乌战争。wiki wikipediaapi.Wikipedia(en)在这一行中创建了一个名为 wiki 的维基百科API的实例使用了英语语言版en表示英语。page wiki.page(topic)这一行使用 wiki 实例的 page 方法来获取与主题 topic 相关的维基百科页面。这将返回一个包含页面内容的对象存储在名为 page 的变量中。txt page.text[:page.text.find(See also)]这一行代码从获取的维基百科页面文本中提取了感兴趣的部分。它使用了字符串切片和 .find() 方法首先查找文本中 See also通常表示相关链接的部分的位置然后将文本截断到这个位置之前从而得到了页面的一部分文本。这部分文本存储在名为 txt 的变量中。txt[0:500] ...最后一行代码将前500个字符的文本内容提取出来然后附加了 ...以表示文本的截断。这个结果存储在 txt 变量中它包含了从维基百科页面提取的前500个字符的内容。 自然语言处理 #python -m spacy download en_core_web_smnlp spacy.load(en_core_web_sm) doc nlp(txt) #python -m spacy download en_core_web_sm这是一个注释行用于表示在终端或命令行中执行的操作。它指示用户下载spaCy的英语语言模型en_core_web_sm。这个模型包括了一些用于处理英语文本的语言数据和算法。nlp spacy.load(en_core_web_sm)在这一行代码中首先导入了spaCy库前提是已经安装了spaCy库。然后使用spacy.load()函数加载了之前下载的英语语言模型en_core_web_sm。加载后的模型被存储在名为nlp的变量中以便后续对文本数据进行处理。doc nlp(txt)在这一行代码中使用已加载的模型nlp对文本数据txt进行处理。nlp(txt)将文本数据传递给已加载的模型返回一个Doc对象其中包含了对文本进行了分词、词性标注、命名实体识别等自然语言处理任务的结果。这个Doc对象存储了文本的各种信息可以用于进一步的文本分析和处理。 看SpaCy将文本分成了多少个句子 lst_docs [sent for sent in doc.sents] print(tot sentences:, len(lst_docs)) lst_docs [sent for sent in doc.sents]这一行代码使用了列表推导式List Comprehension来遍历doc对象中的每个句子并将它们存储在一个名为lst_docs的列表中。列表推导式的语法是[expression for item in iterable]在这里expression是用于生成列表元素的表达式item是迭代的每个元素iterable是要迭代的对象。因此这行代码遍历doc.sents它是doc对象中句子的一个生成器generator并将每个句子添加到lst_docs列表中。 词性标注 即用适当的语法标签标记句子中的每个单词的过程 可能标记的完整列表 ADJ: 形容词例如bigoldgreenincomprehensiblefirstADP: 介词例如intoduringADV: 副词例如verytomorrowdownwherethereAUX: 助动词例如ishasdonewilldoshoulddoCONJ: 连词例如andorbutCCONJ: 并列连词例如andorbutDET: 限定词例如aantheINTJ: 感叹词例如psstouchbravohelloNOUN: 名词例如girlcattreeairbeautyNUM: 数词例如12017oneseventy-sevenIVMMXIVPART: 助词例如snotPRON: 代词例如IyouheshemyselfthemselvessomebodyPROPN: 专有名词例如MaryJohnLondonNATOHBOPUNCT: 标点符号例如.SCONJ: 从属连词例如ifwhilethatSYM: 符号例如$%§©-×÷:)表情符号VERB: 动词例如runrunsrunningeatateeatingX: 其他例如sfpksdpsxmsaSPACE: 空格 依存句法分析Dependency ParsingDEP 模型还会尝试理解单词对之间的关系。 可能的标签完整列表 ACL作为名词从句的修饰语ACOMP形容词补语ADVCL状语从句修饰语ADVMOD状语修饰语AGENT主语中的动作执行者AMOD形容词修饰语APPOS同位语ATTR主谓结构中的谓语部分AUX助动词AUXPASS被动语态中的助动词CASE格标记CC并列连词CCOMP从句补足语COMPOUND复合修饰语CONJ连接词CSUBJ主语从句CSUBJPASS被动语态中的主语从句DATIVE与双宾语动词相关的间接宾语DEP未分类的依赖DET限定词DOBJ直接宾语EXPL人称代词INTJ感叹词MARK标记META元素修饰语NEG否定修饰语NOUNMOD名词修饰语NPMOD名词短语修饰语NSUBJ名词从句主语NSUBJPASS被动语态中的名词从句主语NUMMOD数字修饰语OPRD宾语补足语PARATAXIS并列结构PCOMP介词的补足语POBJ介词宾语POSS所有格修饰语PRECONJ前置连词PREDET前置限定词PREP介词修饰语PRT小品词PUNCT标点符号QUANTMOD量词修饰语RELCL关系从句修饰语ROOT句子主干XCOMP开放性从句补足语 实例理解POS与DEP i 3 list_docs[3] 检查 NLP 模型预测的 POS 和 DEP 标签 for token in lst_docs[i]:print(token.text, --, pos: token.pos_, |, dep: token.dep_, ) token.texttoken对象的text属性表示词汇的原始文本内容即单词或标点符号的字符串。--这部分代码只是一个字符串用于分隔词汇信息的不同部分以便输出更易读。pos: token.pos_token对象的pos_属性表示词汇的词性Part-of-SpeechPOS。该部分将词汇的词性标签添加到输出中例如pos: NOUN 表示名词。|这部分代码只是一个字符串用于分隔不同词汇信息。dep: token.dep_token对象的dep_属性表示词汇与句子中其他词汇的依存关系。该部分将词汇的依存关系标签添加到输出中例如dep: nsubj 表示名词主语。 可视化注释  SpaCy提供了一个图形工具来可视化这些注释 from spacy import displacydisplacy.render(lst_docs[i], styledep, options{distance:100}) displacy.render(lst_docs[i], styledep, options{distance:100})这是用于渲染句子依存关系图的函数调用。它包括以下参数 lst_docs[i]这是要可视化的文本数据通常是一个Doc对象或者在这里是句子的Doc对象表示要可视化的句子。 styledep这个参数指定了可视化的样式。在这里我们选择了dep表示依存关系图。 options{distance:100}这是一个字典参数用于配置可视化选项。在这里我们设置了distance参数以控制词汇之间的水平距离。较大的距离可以使图更易于阅读。您可以根据需要自定义其他可视化选项。 最重要的标记是动词 ( POSVERB )因为它是句子中含义的词根 ( DEPROOT )。助词如副词和副词 ( POSADV/ADP )通常作为修饰语 ( *DEPmod ) 与动词相关联因为它们可以修饰动词的含义。例如“ travel to ”和“ travel from ”具有不同的含义即使词根相同“ travel ”。在与动词相连的单词中必须有一些名词POSPROPN/NOUN作为句子的主语和宾语 *DEPnsubj/obj 。名词通常位于形容词 ( POSADJ ) 附近作为其含义的修饰语 ( DEPamod )。例如在“好人”和“坏人”中形容词赋予名词_“人”相反的含义。  Spacy还可执行命名实体识别 可能的所有标签的完整列表 人名: 包括虚构人物。国家、宗教或政治团体民族、宗教或政治团体。地点建筑、机场、高速公路、桥梁等。公司、机构等公司、机构等。地理位置国家、城市、州。地点非国家地理位置山脉、水域等。产品物体、车辆、食品等不包括服务。事件命名飓风、战斗、战争、体育赛事等。艺术作品书籍、歌曲等的标题。法律成为法律的指定文件。语言任何命名的语言。日期绝对或相对日期或期间。时间小于一天的时间。百分比百分比包括“%”。货币货币价值包括单位。数量衡量重量或距离等。序数 “第一”“第二”等。基数不属于其他类型的数字。 for ent in lst_docs[i].ents:print(tag.text, f({tag.label_})) print(tag.text, f({tag.label_}))在每次迭代中使用 print() 函数打印每个实体的文本内容和实体类型标签。 tag.text这是实体对象的 text 属性表示实体的原始文本内容。 f({tag.label_})这是一个格式化字符串用于将实体的类型标签添加到输出中。在字符串中使用了f开头的字符串字面值它允许在字符串中插入表达式这里插入了实体的类型标签标签位于括号中。 花括号 {} 在格式化字符串中用于表示占位符可以在运行时将变量或表达式的值插入到字符串中。 在spaCy中实体命名实体对象通常包含两个重要的属性ent.text 和 ent.label_它们分别表示实体的文本内容和实体类型标签。 Spacy图形工具 displacy.render(lst_docs[i], styleent) 实体和关系抽取  对于每个句子我们将提取主语和宾语以及它们的修饰语、复合词和它们之间的标点符号。 ## extract entities and relations dic {id:[], text:[], entity:[], relation:[], object:[]}for n,sentence in enumerate(lst_docs):lst_generators list(textacy.extract.subject_verb_object_triples(sentence)) for sent in lst_generators:subj _.join(map(str, sent.subject))obj _.join(map(str, sent.object))relation _.join(map(str, sent.verb))dic[id].append(n)dic[text].append(sentence.text)dic[entity].append(subj)dic[object].append(obj)dic[relation].append(relation)## create dataframe dtf pd.DataFrame(dic)## example dtf[dtf[id]i] 构建图表 网络图 Python标准库中用于创建和操作图网络的是NetworkX。我们可以从整个数据集开始创建图形但如果节点太多可视化将变得混乱 ## create full graph G nx.from_pandas_edgelist(dtf, sourceentity, targetobject, edge_attrrelation, create_usingnx.DiGraph())## plot plt.figure(figsize(15,10))pos nx.spring_layout(G, k1) node_color skyblue edge_color blacknx.draw(G, pospos, with_labelsTrue, node_colornode_color, edge_coloredge_color, cmapplt.cm.Dark2, node_size2000, connectionstylearc3,rad0.1)nx.draw_networkx_edge_labels(G, pospos, label_pos0.5, edge_labelsnx.get_edge_attributes(G,relation),font_size12, font_colorblack, alpha0.6) plt.show() G nx.from_pandas_edgelist(dtf, sourceentity, targetobject, edge_attrrelation, create_usingnx.DiGraph())这行代码使用 NetworkX 库创建了一个有向图DiGraph。具体解释如下nx.from_pandas_edgelist(dtf, sourceentity, targetobject, edge_attrrelation, create_usingnx.DiGraph())这个函数将 Pandas 数据帧 dtf 转换为一个有向图。在有向图中实体作为节点关系作为有向边而 entity 列和 object 列包含了节点之间的连接relation 列包含了边的属性关系。plt.figure(figsize(15,10))这行代码创建一个新的图形画布指定了画布的大小为 15x10 像素。pos nx.spring_layout(G, k1)这行代码使用 NetworkX 的 spring_layout 函数布局图形中的节点位置其中 G 是创建的有向图。k1 控制了节点之间的相互排斥力影响图形的布局。node_color 和 edge_color这两行代码定义了节点和边的颜色。nx.draw(...)这个函数用于绘制图形。以下是参数的含义G要绘制的图形。pospos节点位置的布局。with_labelsTrue是否显示节点的标签。node_colornode_color节点的颜色。edge_coloredge_color边的颜色。cmapplt.cm.Dark2用于定义节点颜色映射的颜色映射。nx.draw_networkx_edge_labels(...)这个函数用于在图形上绘制边的标签。以下是参数的含义pospos节点位置的布局。label_pos0.5标签相对于边的位置。edge_labelsnx.get_edge_attributes(G,relation)从图中获取边的属性关系作为标签。font_size12标签的字体大小。font_colorblack标签的字体颜色。alpha0.6标签的透明度。plt.show()这行代码用于显示绘制好的图形。 知识图谱可以让我们从大局的角度看到所有事物的相关性但是如果直接看整张图就没有什么用处。因此最好根据我们所需的信息应用一些过滤器。对于这个例子我将只选择涉及最常见实体的部分基本上是最多连接的节点 先找出最多连接的节点 dtf[entity].value_counts().head() 然后进行过滤操作并进行可视化 ## filter f Russia tmp dtf[(dtf[entity]f) | (dtf[object]f)]## create small graph G nx.from_pandas_edgelist(tmp, sourceentity, targetobject, edge_attrrelation, create_usingnx.DiGraph())## plot plt.figure(figsize(15,10))pos nx.spring_layout(G, k0.5) node_color [red if nodef else skyblue for node in G.nodes] edge_color [red if edge[0]f else black for edge in G.edges]nx.draw(G, pospos, with_labelsTrue, node_colornode_color, edge_coloredge_color, cmapplt.cm.Dark2, node_size800, node_shapeo, width1.0, connectionstylearc3,rad0.1, font_size8)nx.draw_networkx_edge_labels(G, pospos, label_pos0.5, edge_labelsnx.get_edge_attributes(G,relation),font_size8, font_colorblack, alpha0.6) plt.show() 对于Ukraine的效果图 ​​​​​​​
http://www.w-s-a.com/news/519857/

相关文章:

  • 可以做翻译任务的网站陕西省建设厅八大员证
  • 昆明 网站推广重庆网页优化seo公司
  • 网站排名下降怎么上去设计一套app页面多少钱
  • 专门用来查找网址的网站查公司名字是否被注册
  • 自己创建网站教程河南省建设厅官方网站李学军
  • 一个网站需要多少容量怎样免费设计网站建设
  • 建设工程交易中心网站12306的网站是哪个公司做的
  • 建设网站经营范围自己给公司做网站
  • 河北省住房建设厅政务网站网络营销推广的岗位职责有哪些
  • 上海网站建设优化价格孝义做网站的公司
  • 哪个公司网站做的最好义乌 网站 制作
  • 百度站长工具综合查询wordpress 上传pdf
  • 旅游短租公寓网站建设深圳龙岗招聘网
  • 做海淘是在哪个网站网络查控系统设计方案
  • o2o网站建设代理商微信公众号开发文档
  • 网站设计课程总结关于网站备案的公告
  • 网站建设与运营意义到哪查找网站域名
  • 网站及单位网站建设情况眉县住房和城市建设局网站
  • 网站是否能够被恶意镜像wordpress占用
  • 经典设计网站网站等保测评怎么做
  • 重庆做网站公司贴吧廊坊公司快速建站
  • 海外贸易在什么网站做怎么排名到百度第一页
  • 线上注册公司是在哪个网站做高仿网站
  • 网站构架图网上推广平台哪个好
  • 公司网站首页图片素材vi设计的目的和意义
  • 网站的需求分析都有哪些内容济南营销型网站建设团队
  • 怎么选择优秀的网站建设公司生鲜网站开发
  • 如何编写网站建设销售的心得网站的权限管理怎么做
  • 网站业务员好做吗无忧网站优化
  • 网站随机代码网站建设费 账务处理