我们正在设计从信德语到英语的翻译项目,在信德语(巴基斯坦语/印度语)语言中,他们有很多单词,有双字或有空格,但有一个含义,如英语吃。这是两个字,但具有单一含义。我想设计一个程序来读取起始双字,在数据库中搜索它,如果找到意义然后放入并读取下一个双字,如果没有找到意思,则读取第一个单词并找到意义,如果找到含义则先读取后两个单词一个字。例如,我想这样做
这是简单的句子
我想吃芒果。 我希望PHP或visual basic.net将其分解为这种风格我想要
我
想要
要
吃
到
吃芒果
吃
芒果
在这个例子中,所有单词都以单一和双重方式读取。
我有一些提示
使用(i=0, i<=length of text, i++)
使用空格或标点符号的感知单词分隔 编码可能是
str=substr(text, i, 1)
如果str = =#34; &#34;或str =标点符号(空格或标点符号是单词分隔符) 但请记住,我们首先必须阅读前两个单词,以便在空格变为两个时阅读 回声或打印这样的dobule字。 单词阅读可能是这样的 字长(wrdlen)等于for循环的i变量,使用后当字由字符串构成时变为0
tillword = substr(text, i-wrdlen, wordlen)
这些是一些提示我被绞死了请帮助任何人。所以在上述提示的帮助下,我需要这些结果形式
我想吃芒果。你可能认为这种双字语言哲学来自任何你知道双语的双语可能包含单一含义,或者有时候单个单词意思更少,就像在英语中有&#34;到&#34;
答案 0 :(得分:0)
我不确定我是否正确理解,但是我希望能够根据多个单词短语而不是单个单词进行翻译。这有点类似于语言分析器在编译或解释时所做的事情。
实现此功能的一种简单方法是首先将句子分解为单词。在python中,这可以通过以下方式完成:
words = sentence.split(' ')
现在,您可以尝试通过循环并将它们存储在队列中来解析这些单词。诀窍是记住输入的内容并定义了规则。
让我举个例子。让我们说你的句子是&#34;吃芒果&#34;
您的语言翻译规则是(假设): 吃 - X
喝酒 - XZ芒果 - Y
所以你循环翻译并将它们输入队列。执行此步骤后,您的队列将具有
芒果
一
吃
到
然后您可以开始弹出元素。弹出的第一个元素是&#39; to&#39;。现在检查是否有以&#39;到&#39;开头的短语。如果是这样,将它存储在一个字符串中,然后转到下一个“吃”的元素。将其与带有空格的原始字符串连接起来。所以你得到了#34;吃#34;符合规则&#34;得到&#34; - &GT; X所以现在翻译并返回X. 或者,如果没有匹配,则将原始字符串&#34;翻译为&#34;返回它并使用新元素创建一个新字符串并继续。
希望这有帮助。