我们如何通过计算词的语境来获得相关词呢?
语境的定义是:在一段文本中,任意一个词的语境由它的前N个词和后N个词组成。
相关词的定义是:如果两个词的语境越相似,那么这两个词就越相似,也就越相关。
算法由两个步骤组成:
1、从大规模语料库中计算每一个词的语境,并使用词向量来表示语境。实现代码
2、把求两个词的相似度的问题转换为求这两个词的语境的相似度的问题。通过计算语境的相似度,就可得到词的相似度,越相似的词就越相关。实现代码 关于相似度计算,word分词还提供了很多种算法,参考这里
使用方法如下:
1、使用word分词内置语料库:运行word分词项目根目录下的脚本 demo-word-vector-corpus.bat 或 demo-word-vector-corpus.sh
2、使用自己的文本内容:运行word分词项目根目录下的脚本 demo-word-vector-file.bat 或 demo-word-vector-file.sh
由于语料库很大,所以启动的时间会很长,请耐心等待,下面以例子来说明:
比如我们想分析 兰州 这个词的相关词有哪些,我们运行脚本 demo-word-vector-corpus.sh ,启动成功之后命令行提示:
开始初始化模型 模型初始化完成 输入要查询的词或(exit)命令离开:
我们输入 兰州 后回车,结果显示:
兰州 兰州: ---------------------------------------------------------- 兰州 1.0 沈阳 0.0972878 福州 0.093048185 西安 0.091508456 武汉 0.0792793 济南 0.075799406 南京 0.06881402 拉萨 0.06858019 广州 0.059480708 南昌 0.05545377 北京 0.054844435 郑州 0.054340072 贵阳 0.050922975 天津 0.04257067 长沙 0.03807447 ----------------------------------------------------------
这里显示的结果就是 兰州 这个词的相关词,词后面跟的是相关度分值,兰州 和 兰州 是同一个词,相关度百分之百,自然是1分。
从这个结果我们来分析,这些词凭什么相关呢?线索在哪里?
首先这些词的词性都是名词;
其次这些词都是地名而且是大城市名;
从这里我们也可以看到一个有意思的现象,同一词性比如地名的用法往往保持一致。
相关词是从语境推导得到的,语境中词后面跟的数字是权重,权重是1/N的累加值,最后我们分别看看这些词的语境:
兰州 : [军区 1.0, 甘肃 0.78205127, 新区 0.7692308, 大学 0.42307693, 甘肃兰州 0.41025642, 货车 0.3846154, 西安 0.32051283, 本报 0.2948718, 新华社 0.2820513, 兰州新区 0.26923078, 召开 0.23076923, 发往 0.21794872, 中国 0.20512821, 兰州 0.20512821, 火车站 0.20512821, 铁路 0.17948718, 参加 0.15384616, 西宁 0.15384616, 方向 0.15384616, 成都 0.14102565, 警察 0.14102565, 建设 0.12820514, 市委 0.12820514, 来到 0.12820514, 一家 0.12820514, 中心 0.115384616, 炼油厂 0.102564104, 进入 0.102564104, 来自 0.102564104, 举行 0.102564104] 沈阳 : [军区 1.0, 晚报 0.5123967, 方向 0.3181818, 本报 0.27272728, 沈阳晚报 0.23553719, 新华社 0.20661157, 沈阳军区 0.18595041, 军区队 0.15289256, 海狮队 0.14876033, 自动化所 0.14049587, 此次 0.14049587, 经济区 0.1322314, 中国 0.12809917, >大连 0.12809917, 大爷 0.12809917, 市委 0.12396694, 一家 0.11570248, 高速 0.11570248, 国际 0.11157025, 火车票 0.11157025, 法库 0.10743801, 大学 0.10330579, 长春 0.10330579, 直达 0.09917355, 深圳 0.09090909, 上海 0.08677686, 记者 0.08677686, 海狮 0.08264463, 大妈 0.08264463, 两位 0.08264463] 福州 : [火车站 1.0, 新区 0.46666667, 福州火车站 0.45555556, 晚报 0.2962963, 记者 0.2777778, 打工 0.27407408, 来到 0.24814814, 市民 0.23333333, 本报 0.22222222, 大学 0.21851853, 市区 0.2074074, 市委 0.19259259, 举行 0.19259259, 鼓楼区 0.18518518, 网友 0.18148148, 到达 0.17037037, 开往 0.16296296, 目前 0.14074074, 分行 0.14074074, 一家 0.12962963, 全市 0.12962963, 东街口 0.12222222, 福州晚报 0.12222222, 新华社 0.11851852, 铁路 0.11851852, 召开 0.11481482, 前往 0.11481482, 发展 0.11481482, 推进 0.11111111, 福州 0.11111111] 西安 : [火车站 1.0, 事变 0.75, 交通 0.7058824, 建设 0.5882353, 地铁 0.5882353, >咸阳 0.5588235, 来到 0.5294118, 市民 0.50735295, 大学 0.5, 铁路 0.5, 代表团 0.5, 铁路局 0.49264705, 公司 0.4852941, 武汉 0.4632353, 曲江 0.44117647, 供电 0.42647058, 新华社 0.4117647, 西安火车站 0.4117647, 北京 0.3602941, 交大 0.3602941, 本报 0.34558824, 西安事变 0.3382353, 城市 0.31617647, 城区 0.31617647, 落户 0.30882353, 市委 0.29411766, 国际 0.2867647, 城东 0.2867647, 成都 0.2720588, 举行 0.25] 武汉 : [大学 1.0, 晚报 0.97572815, 湖北 0.61650485, 湖北武汉 0.44660193, 中心 0.4368932, 武汉晚报 0.43203884, 长江 0.41747573, 绿地 0.407767, 铁路局 0.407767, >铁路 0.39320388, 本报 0.36893204, 地区 0.3592233, 火车站 0.35436893, 开发区 0.3398058, 西安 0.30582523, 市民 0.30097088, 理工大学 0.2815534, 华旗 0.23300971, 新华社 0.22330096, 来自 0.2184466, 目前 0.2184466, 剧院 0.21359223, 高校 0.20873787, 公司 0.19417475, 年度 0.19417475, 市委 0.18932039, 分行 0.18932039, 警方 0.18932039, 北京 0.18446602, 武汉铁路局 0.18446602] 济南 : [全运村 1.0, 绿城 0.88461536, 山东 0.84615386, 军区 0.8173077, 交警 0.6442308, 山东济南 0.5576923, 本报 0.5, 军区队 0.43269232, 新华社 0.3846154, 开往 0.3653846, 项目 0.25, 亮相 0.25, 第一团 0.23076923, 城区 0.23076923, 来自 0.22115384, 太原 0.21153846, 北京 0.1826923, 青岛 0.1826923, 学习 0.17307693, 沃尔玛 0.17307693, 举行 0.16346154, 石家庄 0.15384616, 前往 0.15384616, 市委 0.14423077, >战役 0.13461539, 市民 0.13461539, 来到 0.125, 上海 0.125, 铁路局 0.115384616, 旗下 0.115384616] 南京 : [大学 1.0, 大屠杀 0.9218107, 市政协 0.6995885, 军区 0.5596708, 政协 0.4691358, 上海 0.4526749, 市长 0.4526749, 当选 0.43209878, 南京大屠杀 0.35390946, 市委 0.33744857, 南京市政协 0.31687242, 新华社 0.30452675, 特务 0.2962963, 来到 0.28395063, 日军 0.28395063, 江宁 0.26337448, 市民 0.2345679, 新街口 0.23045267, >本报 0.22633745, 国际 0.22222222, 南京大学 0.20164609, 缪瑞林 0.20164609, 位于 0.19753087, 曾任 0.19753087, 南京政协 0.18518518, 占领 0.17283951, 关于 0.17283951, 今年 0.16872428, 厦门 0.16460906, 长江 0.14814815] 拉萨 : [火车站 1.0, 新华社 0.91935486, 西藏 0.7580645, 市区 0.61290324, 本报 0.58064514, 召开 0.5645161, 海关 0.5483871, 城市 0.48387095, 拉萨火车站 0.4032258, 市委 0.38709676, 成都 0.37096775, 贡嘎 0.3548387, 开幕 0.32258064, 发布 0.30645162, 西藏拉萨 0.2580645, 会议 0.2580645, 机场 0.22580644, 闭幕 0.22580644, 隆重 0.22580644, 林芝 0.20967741, 举行 0.19354838, 开通 0.19354838, 营业部 0.19354838, 市民 0.17741935, 市场 0.17741935, 经济 0.17741935, 中心 0.17741935, 空气 0.17741935, 成为 0.17741935, 人民 0.16129032] 广州 : [上海 1.0, 恒大 0.7619048, 深圳 0.62637365, 军区 0.46886447, 北京 0.3956044, 铁路 0.36630037, 火车站 0.35531136, 日报 0.24908425, 广州恒大 0.23076923, 新华社 0.21978022, 一家 0.2014652, 本报 0.1978022, 海口 0.18681319, 第一 0.17948718, 开往 0.17582418, 警方 0.17216118, 前往 0.16849817, 金域 0.16117217, 松日队 0.15384616, 住在 0.14652015, 成都 0.14285715, 举行 0.13553114, 海关 0.13553114, 武汉 0.12820514, 广州火车站 0.12820514, 出差 0.124542125, 太阳神队 0.124542125, 飞往 0.124542125, 番禺 0.124542125, 城市 0.12087912] 南昌 : [本报 1.0, 江西 0.94, 铁路局 0.92, 江西南昌 0.76, 武汉 0.62, 市委 0.52, >北京 0.52, 南昌铁路局 0.52, 发展 0.5, 大学 0.36, 参加 0.36, 高新科技 0.32, 开往 0.32, 鹿心社 0.32, 新华社 0.28, 人员 0.26, 举行 0.24, 原本 0.24, 高校 0.24, 宁波 0.24, 上海 0.22, 合肥 0.2, 依旧 0.2, 火车站 0.2, 来自 0.2, 代表团 0.2, 全年 0.2, 居住 0.2, 创业 0.2, 符合 0.2] 北京 : [新华社 1.0, 本报 0.7119143, 举行 0.19384204, 上海 0.17831326, 时间 0.16385542, 铁路局 0.1394913, 西站 0.13226238, 青年报 0.12717536, 晨报 0.11700134, 市委 0.1145917, 地区 0.11218206, 召开 0.10200803, 城市 0.08299866, 目前 0.07951807, 来到 0.06961178, 军区 0.06827309, 国际 0.066398926, 中心 0.063453816, 北京时间 0.06184739, 人民 0.059973225, 工作 0.05863454, 地铁 0.057563588, 北京铁路局 0.056492638, 医院 0.055421688, 飞往 0.05381526, 首都 0.053547524, 中国 0.053547524, 其中 0.05274431, 今天 0.052208837, 卫视 0.05167336] 郑州 : [市委 1.0, 河南 0.7407407, 晚报 0.7407407, 大学 0.7037037, 电视台 0.69135803, 二环 0.6419753, 深圳 0.5925926, 地铁 0.54320985, 市民 0.4814815, 新华社 0.44444445, 本报 0.41975307, 郑州电视台 0.39506173, 河南郑州 0.39506173, 武汉 0.3580247, 郑州市委 0.34567901, 万能 0.32098764, 方向 0.28395063, 铁路局 0.27160493, 上海 0.27160493, 一卡通 0.27160493, 往返 0.25925925, 要求 0.25925925, 北京 0.24691358, 记者 0.24691358, 西安 0.2345679, 郑州晚报 0.2345679, 新闻 0.22222222, 一>家 0.22222222, 郑州 0.19753087, 广州 0.18518518] 贵阳 : [本报 1.0, 重庆 0.73333335, 新华社 0.46666667, 方向 0.43333334, 前往 0.4, 哥俩 0.4, 城区 0.4, 老家 0.33333334, 西安 0.26666668, 成都 0.26666668, 街头 0.26666668, 晚报 0.26666668, 无关 0.26666668, 杭州 0.23333333, 涉及 0.2, 以及 0.2, 市内 0.2, 网友 0.2, 郑州 0.16666667, 南宁 0.16666667, 长沙 0.16666667, 武汉 0.16666667, 摆摊 0.16666667, 市委 0.13333334, 昆明 0.13333334, 安顺 0.13333334, 来到 0.13333334, 争霸 0.13333334, 四强 0.13333334, 铁路 0.13333334] 天津 : [北京 1.0, 本报 0.56804734, 河北 0.53846157, 上海 0.52662724, 市委 0.4852071, 卫视 0.43786982, 女排 0.34319526, 东方 0.34319526, 大学 0.3372781, 浙江 0.32544377, 新华社 0.3195266, 滨海 0.2781065, 中国 0.26035503, 不理 0.18343195, 中>共 0.17751479, 人民 0.17751479, 考察 0.17751479, 青年 0.17159763, 重庆 0.16568047, 儿童 0.16568047, 天津卫视 0.16568047, 福建 0.1597633, 新区 0.147929, 宁夏 0.147929, 日报 0.14201184, 工作 0.14201184, 来自 0.14201184, 南部 0.14201184, 安徽 0.14201184, 中华老字号 0.14201184] 长沙 : [湖南 1.0, 湖南长沙 0.6567164, 本报 0.52238804, 成都 0.47761193, 方向 0.4477612, 北京 0.3283582, 来到 0.3283582, 海底 0.32089552, 新华社 0.30597016, 飞往 0.2835821, 晚报 0.26865673, 天心区 0.23134328, 重庆 0.21641791, 警方 0.20895523, 开往 0.20895523, 车票 0.20149253, 市委 0.19402985, 离开 0.19402985, 南方 0.19402985, 省会 0.17910448, 武汉 0.1716418, 世界 0.1716418, 上海 0.1716418, 火车站 0.1716418, 市民 0.15671642, 城市 0.14925373, 记者 0.14925373, 麓谷 0.14925373, 铁路 0.14179105, 交警 0.13432837]
时间: 2024-10-20 07:34:08