首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语言处理-Synonyms分析

语言处理-Synonyms分析
EN

Stack Overflow用户
提问于 2018-03-03 16:21:06
回答 2查看 180关注 0票数 1

我正在尝试开发一个web应用程序,它可以分析单个单词,它的同义词恰好显示在一堆段落中。累积单词及其同义词在段落中出现的次数。

目前我发现一些像twinword.com这样的应用程序接口,它们只在两个句子中做相似之处。有没有可以完成任务的API或工具服务?

非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2018-03-20 10:28:56

您可以尝试使用另外两个Twinword来获得您想要的内容。

步骤1:获取相关单词

使用,您可以获得同义词和相关单词。

例如,使用演示,单词"best“将返回以下关联及其相关性得分为"best":

代码语言:javascript
复制
{
    "unmatched": 2.5006557,
    "unparalleled": 1.8664826,
    "incomparable": 1.6736358,
    "unsurpassed": 1.6117903,
    "optimal": 1.576423,
    "supreme": 1.5223511,
    "superbly": 1.4789101,
    "superior": 1.3964652,
    "superiority": 1.3161669,
    "superlative": 1.3032479,
    "matchless": 1.3011634,
    "better": 1.2848812,
    "unrivaled": 1.2450347,
    "foremost": 1.2047551,
    "maximum": 1.1856474,
    "excellent": 1.1767814,
    "heyday": 1.0933546,
    "unpaired": 1.0249922,
    "optimum": 0.9539663,
    "superb": 0.9439568,
    "peerless": 0.92408043,
    "premier": 0.91121525,
    "ideal": 0.85982496,
    "splendid": 0.8591815,
    "nonpareil": 0.85686266,
    "well": 0.85620004,
    "apotheosis": 0.85186666,
    "unequaled": 0.82653475,
    "peak": 0.73392785,
    "main": 0.6999291
}

第2步:将段落减少为关键字计数

在此之后,您可以使用将段落解析为一个“词元”或“词根单词”数组。

代码语言:javascript
复制
The frogs hopped from rock to rock.

返回:

代码语言:javascript
复制
"lemma": {
    "rock": 2,
    "hop": 1,
    "frog": 1
}

第三步:在你的程序中进行搜索和统计

然后,这只是一个简单的匹配。

仅供参考:我在Twinword工作。

票数 1
EN

Stack Overflow用户

发布于 2018-03-03 16:31:54

Word2Vec就是这样一种技术。将单词转换为向量的神经网络,训练神经网络根据上下文将单词分组在一起。

其想法是,具有相似语义属性的单词在大量文本中共享可比较的上下文。您可以使用这样的模型来检索相似的单词。

这是一个使用预训练模型(source)的简单示例。请注意,该模型是为荷兰人训练的,恰好放在我的pc上(这些模型可以相当大)。

代码语言:javascript
复制
>>> from gensim.models import KeyedVectors
>>> word_vectors = KeyedVectors.load_word2vec_format("320/wikipedia-320.txt", binary=False) 

>>> print(word_vectors.similarity("auto", "auto")) #identity
>>> print(word_vectors.similarity("auto", "wagen")) #synonym
>>> print(word_vectors.similarity("dier", "hond")) #hyponym
>>> print(word_vectors.similarity("kaas", "schrijven")) #unrelated

1.0
0.78154475055  
0.26128426093  
0.0455340792091  

正如你所看到的,关系越强,得分越高

有关更多文档,请查看:https://radimrehurek.com/gensim/models/word2vec.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49082172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档