“单词正则表达式”(语义替换) - 任何示例语法和库?
Posted
技术标签:
【中文标题】“单词正则表达式”(语义替换) - 任何示例语法和库?【英文标题】:A "regex for words" (semantic replacement) - any example syntax and libraries? 【发布时间】:2010-09-18 17:22:44 【问题描述】:在给定程序语言的情况下,我正在寻找对单词而不是字符进行正则表达式样式转换的句法示例或常用技术。
例如,要跟踪复制,需要创建一个含义相似但单词选择不同的文档。
我希望能够简明地定义这些可以应用于文本流的可能转换。
例如。 “fast noun”改为“rapid noun”,但“go fast”。不会被改变(之后没有名词。 或者:“爱丽丝将唱歌曲”到“歌曲将由爱丽丝演唱”
我希望这可以在语法检查器中完成,例如检测被动语态。
这种语言处理的 AC# 实现会非常简洁,但我认为大部分工作都在制定正确的规则 - 保持规则清晰易懂似乎是一个起点。
【问题讨论】:
【参考方案1】:你可以试试Jason Rennie > WordNet-QueryData-1.47 > WordNet::QueryData
【讨论】:
【参考方案2】:开始研究的一个好地方是“Word Net”——它是一个语义词典,按相似的含义将单词组合在一起,并以有用的方式记录单词之间的关系。
利用 Word Net 语料库的软件项目有很多,其中一个可能是您需要的。
【讨论】:
感谢您的起点。您能推荐任何根据人工输入的规则更改文本的项目吗?【参考方案3】:如果您不依赖特定语言,Haskell 有 Aarne Ranta 的语法框架:
http://www.grammaticalframework.org/
它被明确设计用于为此类自然语言处理生成解析器等。
【讨论】:
链接已损坏。 GF的网址是grammaticalframework.orgAarne Ranta的网址:cse.chalmers.se/~aarne 显然链接坏了。谢谢!固定【参考方案4】:SIL 的CARLAStudio 的“计算机辅助相关语言适应”套件是一个很好的起点。或者 SIL 的 Adapt It。 SIL 拥有大量的语言分析软件,这似乎是您的发展方向。从不关心含义的正则表达式到可以处理语言分析的东西,这无疑是一个很大的飞跃。
【讨论】:
我怀疑我的问题表述有误,我会尝试了解我哪里出错了。我希望我会编写规则集,我正在寻找规则集的示例以及是否有定义它们的标准方法。【参考方案5】:如果您想要更强大的自然语言解析/转换功能,您可以尝试C# port of OpenNLP。
【讨论】:
【参考方案6】:我不知道您所讨论的用于英语语言处理的任何语法。您需要使用其中一种工具集(例如 Word Net)来创建自己的 DSL。
【讨论】:
以上是关于“单词正则表达式”(语义替换) - 任何示例语法和库?的主要内容,如果未能解决你的问题,请参考以下文章