标签: spintax

PHP Spintax处理器

我一直在使用这里看到的recurisve SpinTax处理器,它适用于较小的字符串.但是,当字符串超过20KB时,它开始耗尽内存,这就成了一个问题.

如果我有这样的字符串:

{Hello|Howdy|Hola} to you, {Mr.|Mrs.|Ms.} {Smith|Williams|Austin}!
Run Code Online (Sandbox Code Playgroud)

我希望将这些单词的随机组合放在一起,而不是使用上面链接中所见的技术(通过字符串递归直到花括号中没有更多的单词),我应该怎么做?

我在考虑这样的事情:

$array = explode(' ', $string);
foreach ($array as $k=>$v) {
        if ($v[0] == '{') {
                $n_array = explode('|', $v);
                $array[$k] = str_replace(array('{', '}'), '', $n_array[array_rand($n_array)]);
        }
}
echo implode(' ', $array);
Run Code Online (Sandbox Code Playgroud)

但是当spintax的选项之间存在空格时,它就会崩溃.RegEx似乎是这里的解决方案,但我不知道如何实现它具有更高效的性能.

谢谢!

php regex string spintax

5
推荐指数
1
解决办法
1531
查看次数

Spintax C#...我该如何处理?

Spintax允许您旋转各种单词和句子,例如:

{Hello|Hi} {World|People}! {C{#|++|}|Java} is an {awesome|amazing} language.
Run Code Online (Sandbox Code Playgroud)

大括号之间的文本将随机选择以形成不同的句子.

我自己可能想出一个解决方案,但我遇到的问题是嵌套.有时嵌套可能非常深.处理嵌套的可能解决方案是什么?

我无法收集所需的逻辑.

c# spintax

4
推荐指数
1
解决办法
2689
查看次数

Spintax Parser的正则表达式匹配性能问题

我正在编写一个应用程序,旨在以下列格式处理数千篇包含大量spintax的文章/条目:

{Hello|Hi} {World|There!}, how are you?
Run Code Online (Sandbox Code Playgroud)

然而,当我使用分析器运行应用程序时,我注意到处理Regex的部分占用了大量资源,我的应用程序最终因内存不足问题而崩溃.任何人都可以建议一种方法来改进我的代码或更好的解析spintax的方法吗?

public static String Spin(String text)
{
        Regex reg = new Regex(@"\{[^\{\}]*\}");
        Random rand = new Random((int)DateTime.Now.Ticks);
        while (true)
        {
            Match m = reg.Match(text);
            if (!m.Success) break;
            String[] parts = m.Value.TrimStart('{').TrimEnd('}').Split('|');
            int i = rand.Next(parts.Length);
            text = text.Substring(0, m.Index) + parts[i] + text.Substring(m.Index + m.Length);
        }
        return text;
  }
Run Code Online (Sandbox Code Playgroud)

c# regex spintax

4
推荐指数
1
解决办法
1036
查看次数

自动生成文章

这个问题是要学习和了解特定技术是否存在.以下是该方案.

我们将提供200个英文单词.软件可以添加额外的40个字,这是200的20%.现在,使用这些,软件应该编写对话框,有意义的对话框,没有语法错误.

对于这一点,我看着SpintaxArticle Spinning.但你知道他们做了什么,拿走现有的文章并重写它.但这不是最好的方式(是吗?请告诉我,如果它是好的).那么,有没有能够做到这一点的技术?可能是谷歌使用的语义理论吗?任何经证实的AI方法?

请帮忙.

math computer-science nlp artificial-intelligence spintax

2
推荐指数
1
解决办法
261
查看次数

VB.Net/C#Spintax有帮助吗?

任何人都可以给我一个关于C#/ VB.NET编程语言的spintax片段的例子.如果你不知道那是什么(spintax),基本上它是一种放置不同的字符串值然后随机选择一个的方法.例如:

{Hello|Hi|Greetings} my name is {Tom|John|Eaven} and I like {turtles|programming|ping pong}.
Run Code Online (Sandbox Code Playgroud)

它会选择{}将{}字符串中的字符串拆分为|的分隔符 所以它随机输出最后的字符串.

.net c# vb.net spintax

-1
推荐指数
1
解决办法
680
查看次数