【自然语言处理】汉语词义自动消岐系统

一. 题目选择

【汉语词义自动消歧系统】

词义消岐,英文名称为 Word Sense Disambiguation,英语缩写为 WSD,其任务是根据歧义词语的语义环境确定其在该使用环境中的语义。

很多词汇具有一词多义的特点,但一个词在特定的上下文语境中其含义却是确定的。很多词语都有几个意思或者语义,如果把这样的词从上下文中独立出来考虑,就会产生语义歧义。

通常情况下,人类可以很容易地解析出词语在特定环境中的语义,但计算机却无法分辨出不同环境中词语的不同指代对象及不同意思。汉语词义自动消歧系统就可以在无需人脑的条件下自动根据不同上下文判断某一词语的特定含义。

二. 实验环境

ASUS VivoBook + Win10 + Pycharm 2021.2.3 + Python 3.9 + Anaconda 3.7

三. 实验人员及分工情况

由本人独自完成本项目。

四. 项目成果展示及分析

项目成果分为视频与截图两部分,视频请详见项目文件夹“视频.mp4”文件,截图详见下方。

截图中包含有“火箭”、“遇见”、“苹果”、“山大”、“法网”、“林夕”、“奥利奥”、“小米”等歧义词在某一特定语义环境中的自动消歧结果。其中,原文本、歧义词、预测语义及正确率均记录在 SQLITE3 数据库中。

实验过程中共测试不同语境十次,汉语词义自动消歧系统均成功分析出词语的真实语义,但运行期间,不同词语的词义分析速度不同,主要与词语的义项数目及不同义项在百度百科中的与语料数目有关,但基本均在 1 分钟内完成语义消歧。

可以看出,本系统具有一定的消歧能力,但对于语料不丰富的义项或语句信息不充分的文本,消歧的效果不佳,会出现“该文本信息量不足,无法判断语义”的判断结果;对于无歧义或无明显歧义的词语,会出现“该词语无歧义”的判断结果。

系统在测试过程中,主要对名词进行消歧处理,并未对其余词性词语进行分析处理,因此该系统后续仍有一定的改进空间。

【自然语言处理】汉语词义自动消岐系统_第1张图片
【自然语言处理】汉语词义自动消岐系统_第2张图片
【自然语言处理】汉语词义自动消岐系统_第3张图片

五. 核心思想和算法描述

本实验采用的算法为基于网络爬虫的 Lesk + TF-IDF 算法。核心思想是利用网络爬虫爬取歧义词在百度百科网站中的全部可能义项及相关语料,基于各义项的语料为每一个义项构建一个词典,然后将含有歧义词的文本的分词结果与各词典进行对比分析,判断相似性并计算各语义对应的 TF-IDF 值,将 TF-IDF 值最大的义项作为该词语在文本中的最可能语义。

其中,Lesk 算法是迈克·莱斯克于 1986 年提出的词义消歧算法。该算法基于词语会与上下文有相同的主题这个假设,认为一个词在词典中的词义解释与该词所在的句子具有相似性,将有歧义的词语在字典中的定义与上下文进行比较,分析确定词语最有可能的义项。

TF-IDF 是一种用于信息检索与数据挖掘的常用加权技术,用以评估字词对一个语料库中的其中一份文件的重要程度。

TF-IDF 的主要思想是如果某个词或短语在一篇文章中的出现频率 TF 很高,并且在其他文章中的出现频率 IDF 很低,则认为此字词具有很好的类别区分能力,适合用来分类。

六. 系统主要模块流程

【自然语言处理】汉语词义自动消岐系统_第4张图片

七. 实验亮点

本实验采用“网络爬虫 + 百度百科语料 + 综合停用词库 + Leck-TF-IDF 算法 +PyQt5 界面可视化 + SQLITE3 数据库支持”的模式。

  • 网络爬虫.本次实验的语料获取途径为网络爬虫,能够实现对义项、语料的及时同步,避免了语料库不更新影响消歧效果的可能。

  • 百度百科语料.本次实验选用的语料库为词语在百度百科中的不同义项对应页面的文本语料,数量庞大,定位明确,兼顾丰富性与正确性。

  • 综合停用词库.本次实验选用的是“哈工大停用词词库”、“四川大学机器学习智能实验室停用词库”、“百度停用词表”等各种停用词表的综合停用词表,含有 1500+条停用词。

  • Leck-TF-IDF 算法.本次实验选用基于词典的经典算法 Leck,并利用 TF-IDF 对义项重要性进行评价分析,具有良好的合理性和研究空间。

  • PyQt5 界面可视化.本次实验选用 PyQt5 模块对代码进行可视化,实验界面简约大方,具有良好的可视性与操作性。

  • SQLITE3 数据库支持.本次实验允许用户通过“有帮助”、“无帮助”按钮记录操作内容及结果,便于分析实验结果、计算消歧正确率。

源码及文档:https://github.com/YourHealer/NLP-Chinese-word-sense-automatic-disambiguation-system.git

你可能感兴趣的:(自然语言处理,自然语言处理,网络爬虫,python)