当前位置:  开发笔记 > 编程语言 > 正文

使用同义词库的句子生成器

如何解决《使用同义词库的句子生成器》经验,为你挑选了1个好方法。

我在.NET中创建一个应用程序.

我有一个正在运行的应用程序名称http://www.spinnerchief.com/.它做了我需要做的事情,但我没有得到谷歌的任何帮助.我需要我的应用程序的功能结果,用户可以给出一个句子,然后用户可以得到相同的句子,但措辞不同.

这是我想要的一个例子.

假设我写了一句"Pankaj是个好男人".输出应类似于以下内容:

Pankaj是一个伟大的人.
Pankaj是一位出色的男士.
Pankaj是一个可以接受的人.
Pankaj是个很棒的家伙.
Pankaj是一位出色的男性.
Pankaj是个好人.
Pankaj是一位出色的绅士

LBushkin.. 7

要正确执行任何任意句子,您需要对源句进行自然语言分析.您可能需要查看SharpNLP库 - 它是一个免费的C#/ .NET自然语言处理工具库.

如果你正在寻找一种更简单的方法,你必须愿意在某种程度上牺牲正确性.例如,您可以创建一个触发词的字典,当它们出现在句子中时 - 用同义词中的同义词替换.这种方法的问题是确保用等效的词性替换单词.在英语中,某些单词可能是基于句子中的语境用法而成为不同的词性(动词,形容词,副词等).

您需要解决的另一个问题是(如果您没有使用NLP库).在大多数语言中,某些词性基于它们适用的主语(或句子的对象,说话者或时态)被共轭/修饰(动词为英语).

如果你想做的只是替换形容词(如你的例子),使用触发词的方法可能有用 - 但它不易扩展.在您做任何事情之前,我建议您明确定义问题域的要求和规则......并使用它来决定采用哪条路线.



1> LBushkin..:

要正确执行任何任意句子,您需要对源句进行自然语言分析.您可能需要查看SharpNLP库 - 它是一个免费的C#/ .NET自然语言处理工具库.

如果你正在寻找一种更简单的方法,你必须愿意在某种程度上牺牲正确性.例如,您可以创建一个触发词的字典,当它们出现在句子中时 - 用同义词中的同义词替换.这种方法的问题是确保用等效的词性替换单词.在英语中,某些单词可能是基于句子中的语境用法而成为不同的词性(动词,形容词,副词等).

您需要解决的另一个问题是(如果您没有使用NLP库).在大多数语言中,某些词性基于它们适用的主语(或句子的对象,说话者或时态)被共轭/修饰(动词为英语).

如果你想做的只是替换形容词(如你的例子),使用触发词的方法可能有用 - 但它不易扩展.在您做任何事情之前,我建议您明确定义问题域的要求和规则......并使用它来决定采用哪条路线.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有